cancel
Showing results for 
Search instead for 
Did you mean: 

Idoc invoice qualifier mapping scenario

tahir_z
Contributor
0 Kudos

Hi,

I have a mapping as below and want to map qualifers in in each segment to target structure. In below source code there are two E1EDP01 segmentes but have different POSEX type. At the same time they have subnode called E1EDP19 with same qualifier. How to take first POSEX:000010's qualifer of E1EDP19. ?

Im using useoneasMany function but don't know how to seperate two same qualifer as their root posex number.

Source

<E1EDP01 SEGMENT="1">

  <POSEX>000010</POSEX>

  <MENGE>1.000</MENGE>

   <E1EDP02 SEGMENT="1">

                <QUALF>001</QUALF>

                <BELNR>54321</BELNR>

    </E1EDP02>

    <E1EDP19 SEGMENT="1">

                 <QUALF>010</QUALF>

                 <IDTNR>A12345678</IDTNR>

     </E1EDP19

</E1EDP01>

<E1EDP01 SEGMENT="1">

  <POSEX>000020</POSEX>

  <MENGE>1.000</MENGE>

   <E1EDP02 SEGMENT="1">

                <QUALF>001</QUALF>

                <BELNR>54321</BELNR>

    </E1EDP02>

    <E1EDP19 SEGMENT="1">

                 <QUALF>010</QUALF>

                 <IDTNR>A12345678</IDTNR>

     </E1EDP19

</E1EDP01>

Target

- <E1EDP19 SEGMENT="1">

       <QUALF>010</QUALF>

       <IDTNR></IDTNR>

       <IDTNR_EXTERNAL></IDTNR_EXTERNAL>

       <IDTNR_GUID></IDTNR_GUID>

  </E1EDP19>

this is repating node

Thanks in advcance

Tahir

Accepted Solutions (1)

Accepted Solutions (1)

tahir_z
Contributor
0 Kudos

Thanks for fast responses. The target should look like below.

<LIN>  // From POSEX = 10

       <QUALF>001</QUALF>  

       <BELNR>21938</BELNER> 

<LIN>

<LIN>  // From POSES = 20

       <QUALF>001</QUALF>  

       <BELNR>1212</BELNER> 

<LIN>

As you can see same qualf from different E1EDP01 line item.

My rule basically should be like this

Source: E1EDP01(POSEX=10) -> E1EDP19(QUALF=001)-> BELNR to Target: LIN->BELNR

Source: E1EDP01(POSEX=20) -> E1EDP19(QUALF=001)-> BELNR to Target: LIN->BELNR

Each E1EDP01 line can have same QUALF as you know.This is what i coulndt resolved. If there would be a key value inside E1EDP19 childnode which match to E1EDP01 rootnode. Then i may extract the value.

Thanks in advcance

Tahir

ambrish_mishra
Active Contributor
0 Kudos

Hi Tahir,

Assuming you have mapped E1EDP01 to LIN

Map QUALF in target to constant 001

For BELNR, check E1EDP19-QUALF(context E1EDP01) EQ 'specific value', map IDTNR(context E1EDP01) to BELNR. use IFWithoutElse, map with default.

Rest should align itself.

Ambrish

tahir_z
Contributor
0 Kudos

Thank you Ambrish, that worked for me.

Regards

Tahir

Answers (2)

Answers (2)

ambrish_mishra
Active Contributor
0 Kudos

Hi Tahir,

E1EDP01 are line item segments and E1EDP19 is a child segment. Depends upon how you are populating the target. Can you share your target structure and rule for the parent node and subsequent fields.

Ambrish

former_member184789
Active Contributor
0 Kudos

Hi,

Could you elaborate on how will the target will look like. Is it such that target E1EDP19 will be created as many times as different Qualifiers are there. This can be done by having Split by value(Value Change) but please explain in detail. Also where will you map POSEX in target?