cancel
Showing results for 
Search instead for 
Did you mean: 

problem mapping node IdocToFile

Former Member
0 Kudos

Hi experts,

I want send data in outbound file only when :

( Stock_libre > 0 or Qte_cde > 0 ) and Type Site = 'B'

My mapping looks OK but when I test, mapping is never ended.

Here is my mapping :

and here is my inbound file for test :

<?xml version="1.0" encoding="UTF-8"?>

<ZSTOCKS01>

   <IDOC BEGIN="1">

      <EDI_DC40 SEGMENT="1">

         <TABNAM>EDI_DC40</TABNAM>

         <MANDT>111</MANDT>

         <DOCNUM>0000000000082393</DOCNUM>

         <DOCREL>740</DOCREL>

         <STATUS>30</STATUS>

         <DIRECT>1</DIRECT>

         <OUTMOD>2</OUTMOD>

         <IDOCTYP>ZSTOCKS01</IDOCTYP>

         <MESTYP>ZSTOCKS</MESTYP>

         <SNDPOR>SAPDEV</SNDPOR>

         <SNDPRT>LS</SNDPRT>

         <SNDPRN>DEVCLNT111</SNDPRN>

         <RCVPOR>PI_ND_01</RCVPOR>

         <RCVPRT>LS</RCVPRT>

         <RCVPRN>DPICLNT001</RCVPRN>

         <CREDAT>20141021</CREDAT>

         <CRETIM>104932</CRETIM>

         <SERIAL>20141021104932</SERIAL>

      </EDI_DC40>

      <ZE1ROUTAGE SEGMENT="1">

         <ANITA>X</ANITA>

      </ZE1ROUTAGE>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F002</SITE>

         <TYPE_SITE>B</TYPE_SITE>

         <STOCK_LIBRE>       0.000</STOCK_LIBRE>

         <STOCK_TOTAL>       0.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>          9.63</PRMP_SITE>

         <VALO_STK_TOTAL>         0</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F003</SITE>

         <TYPE_SITE>B</TYPE_SITE>

         <STOCK_LIBRE>      69.000</STOCK_LIBRE>

         <STOCK_TOTAL>      69.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>         52.00</PRMP_SITE>

         <VALO_STK_TOTAL>      3588</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F050</SITE>

         <TYPE_SITE>A</TYPE_SITE>

         <STOCK_LIBRE>      90.000</STOCK_LIBRE>

         <STOCK_TOTAL>      90.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>          9.63</PRMP_SITE>

         <VALO_STK_TOTAL>     866.7</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F101</SITE>

         <TYPE_SITE>A</TYPE_SITE>

         <STOCK_LIBRE>       2.000</STOCK_LIBRE>

         <STOCK_TOTAL>       5.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>         45.95</PRMP_SITE>

         <VALO_STK_TOTAL>    229.75</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F102</SITE>

         <TYPE_SITE>A</TYPE_SITE>

         <STOCK_LIBRE>       0.000</STOCK_LIBRE>

         <STOCK_TOTAL>       0.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>          9.63</PRMP_SITE>

         <VALO_STK_TOTAL>         0</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F103</SITE>

         <TYPE_SITE>A</TYPE_SITE>

         <STOCK_LIBRE>       0.000</STOCK_LIBRE>

         <STOCK_TOTAL>       0.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>          9.63</PRMP_SITE>

         <STOCK_SAV>       1.000</STOCK_SAV>

         <VALO_STK_TOTAL>         0</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>      9.63</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121590</CODE_ARTICLE>

         <SITE>F105</SITE>

         <TYPE_SITE>A</TYPE_SITE>

         <STOCK_LIBRE>       0.000</STOCK_LIBRE>

         <STOCK_TOTAL>       0.000</STOCK_TOTAL>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         52.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>20.00</TAUX_TVA>

         <PRX_VENTE_HT>         24.92</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.90</PRX_VENTE_TTC>

         <PRMP_SITE>          9.63</PRMP_SITE>

         <VALO_STK_TOTAL>         0</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121600</CODE_ARTICLE>

         <SITE>F002</SITE>

         <TYPE_SITE>B</TYPE_SITE>

         <STOCK_LIBRE>   59143.000</STOCK_LIBRE>

         <STOCK_TOTAL>   59203.000</STOCK_TOTAL>

         <DATE_LIV>11/07/2014</DATE_LIV>

         <QTE_CDE>      12.000</QTE_CDE>

         <PRIX_ACHAT>         53.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>0.00</TAUX_TVA>

         <PRX_VENTE_HT>         29.80</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.80</PRX_VENTE_TTC>

         <PRMP_SITE>          8.87</PRMP_SITE>

         <STOCK_SAV>    1519.000</STOCK_SAV>

         <VALO_STK_TOTAL> 525130.61</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>  13473.53</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

      <ZE1STOCK_D01 SEGMENT="1">

         <CODE_ARTICLE>000000000015121600</CODE_ARTICLE>

         <SITE>F003</SITE>

         <TYPE_SITE>B</TYPE_SITE>

         <STOCK_LIBRE>    6171.000</STOCK_LIBRE>

         <STOCK_TOTAL>    6371.000</STOCK_TOTAL>

         <DATE_LIV>11/07/2014</DATE_LIV>

         <QTE_CDE>       0.000</QTE_CDE>

         <PRIX_ACHAT>         53.00</PRIX_ACHAT>

         <CODE_DEVISE>EUR</CODE_DEVISE>

         <TAUX_DEVISE>  1.00</TAUX_DEVISE>

         <TAUX_TVA>0.00</TAUX_TVA>

         <PRX_VENTE_HT>         29.80</PRX_VENTE_HT>

         <PRX_VENTE_TTC>         29.80</PRX_VENTE_TTC>

         <PRMP_SITE>          2.11</PRMP_SITE>

         <VALO_STK_TOTAL>  13442.81</VALO_STK_TOTAL>

         <VALO_STK_DISPO>         0</VALO_STK_DISPO>

         <VALO_STK_SAV>         0</VALO_STK_SAV>

         <DATE_EXTRACTION>20/10/2014</DATE_EXTRACTION>

      </ZE1STOCK_D01>

   </IDOC>

</ZSTOCKS01>

Why this is not OK ? What's wrong with my mapping ?

Thanks

Accepted Solutions (0)

Answers (2)

Answers (2)

nabendu_sen
Active Contributor
0 Kudos

Hi Guz,

Give it a try like below.

Keep the Context of the Source fields to <ZE1STOCK_D01>.

If SplitBYValue not required, remove it or you may try after createIf.

Regards,

Nabendu.

Former Member
0 Kudos

Hi,

I already have tested with Keeping the Context of the Source fields to <ZE1STOCK_D01>

And I try with and without SplitByValue.

My mapping is ended, but no rows was sended.

I think I have to use RemoveContexts, but when I use it, mapping never ends.

nabendu_sen
Active Contributor
0 Kudos

Check the Display Queue at createIf function. Is it showing only Blue SUPPRESS?

Former Member
0 Kudos

Here is the display Queue at createif function :

Lines  and  should be sent but no rows were sended

former_member184681
Active Contributor
0 Kudos

Based on your receiver-side structure definition, you just cannot use SplitByValue at this place. With your current development, you will either create one Data node (if first source node complies to all conditions), or none. Connect the And function directly with CreateIf, this should be fine based on the screenshot above.

Regards,

Grzegorz

former_member184681
Active Contributor
0 Kudos

Maybe it is also useful for you to review the queues and contexts concept of graphical mapping. Have a look at my blog here: Then you should be able to experiment with the context change functions yourself and finally have your problem solved.

Regards,

Grzegorz

Former Member
0 Kudos

I have already tested to connect the And function directly with CreateIf. Its' the same, no rows were sended.

I think I had tu use RemoveContext function, but when I use it mapping never ends.

former_member184681
Active Contributor
0 Kudos

If you use RemoveContext, you will lose all the information about the segments to be suppressed and all preceding logic makes completely no sense. Just my point of view

former_member184681
Active Contributor
0 Kudos

Hi Guz Man,

First of all, it doesn't make any sense to use RemoveContexts right after CreateIf -> the first function will remove all the Suppress values created by the latter. If you need to adjust the contexts, do it at the level of source fields of your mapping. Here is how I would implement it:

Stock_libre Greater ( 0 ) Or

Qte_cde Greater ( 0 )

                                             And     CreateIf -> Data

Type_Site EqualsS ( "B" )

In your particular case, I believe you also have to change the context of all three source fields to one level higher than default.

Regards,

Grzegorz

Former Member
0 Kudos

Hi,

I have deleted RemoveContextes after CreateIf, and I have changed the context of all three source fields to one level higher than default.

But when I test, my mapping never ends.

former_member184681
Active Contributor
0 Kudos

Try testing the mapping step by step, this will help you determine which step causes the endless loop, and the step just before will tell you the inbound queue and if something is wrong there.

Regards,

Grzegorz