cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in complex mapping for Idoc

Former Member
0 Kudos

Hello gurus,

I have an XML file for ASN.  I’m using Idoc DELIVRY05 and I have also to prepare the packaging.  But I have a problem in my mapping.  I’m not able to put the Number of the Packaging in the Segment E1EDL44 (@identifier 1 and @identifier 2).

Input

Output  (Idoc Delvry05)

Case   @identifier  1

OrderNumber  1

OrderNumberItem  0001

OrderNumber  1

OrderNumberItem  0002

Case   @identifier  2

OrderNumber  1

OrderNumberItem  0003

OrderNumber  1

OrderNumberItem  0004

E1EDL24 – OrderNumber 1 OrderNumberItem  0001

E1EDL43 - OrderNumber 1 OrderNumberItem  0001

E1EDL24 – OrderNumber 1 OrderNumberItem  0002

E1EDL43 - OrderNumber 1 OrderNumberItem  0002

E1EDL24 – OrderNumber 1 OrderNumberItem  0003

E1EDL43 - OrderNumber 1 OrderNumberItem  0003

E1EDL24 – OrderNumber 1 OrderNumberItem  0004

E1EDL43 - OrderNumber 1 OrderNumberItem  0004

E1EDL37 - @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0001 @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0002 @identifier  1

E1EDL37 - @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0003 @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0004 @identifier  2

In the segment E1EDL44, OrderNumber and OrderNumberItem are correctly mapped, but never the @identifier.

For the other Segment, no problem, the mapping is ok.

Can someone help me with this mapping.

Thanks a lot

Jean-Claude Onderbeke

Accepted Solutions (1)

Accepted Solutions (1)

Bhargavakrishna
Active Contributor
0 Kudos

Hi Jean-Claude,

post the screen shot for better understanding.. i didn't get your exact requirement..

have you tested your mapping? if mapping is fine?

you mentioned the segment which will be there under data record only right? or the other.

you can ignore the segment field by passing some constant to it

say Constant " 1 " ----> segment in mapping.

hope it will helpful ..

Former Member
0 Kudos

Hello Krishna,

@identifier is the name of the field to identify the "Case", and 2 is the number.

In this file coming from our partner, we have per Pack a list of material, and for those material we have the Order Number.

In the Idoc used to create the notification (DELIVRY05) we have 2 levels, one for the delivry creation (Segment E1EDL24) and one for the packaging (Segement E1EDL37).

Those segments are independant.

In my exemple : 

I need to have one segment E1EDL24 per order Item.  (4 segment E1EDL24)

I need to have one segment E1EDL37 per pack (Case in my input file).  and Under this segment E1EDL37, I need to have One segment E1EDL44 per material in my "Case".

It works fine except that the Number for the pack is not correctly filled in the segment E1EDL44

For the moment, I have :

E1EDL24 – OrderNumber 1 OrderNumberItem  0001

     E1EDL43 - OrderNumber 1 OrderNumberItem  0001

E1EDL24 – OrderNumber 1 OrderNumberItem  0002

    E1EDL43 - OrderNumber 1 OrderNumberItem  0002

E1EDL24 – OrderNumber 1 OrderNumberItem  0003

   E1EDL43 - OrderNumber 1 OrderNumberItem  0003

E1EDL24 – OrderNumber 1 OrderNumberItem  0004

   E1EDL43 - OrderNumber 1 OrderNumberItem  0004

E1EDL37 - @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0001 @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0002 @identifier  2

E1EDL37 - @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0003 @identifier  (field is empty)

         E1EDL44 - OrderNumber 1 OrderNumberItem  0004 @identifier  (field is empty)


and I need to have

E1EDL24 – OrderNumber 1 OrderNumberItem  0001

     E1EDL43 - OrderNumber 1 OrderNumberItem  0001

E1EDL24 – OrderNumber 1 OrderNumberItem  0002

    E1EDL43 - OrderNumber 1 OrderNumberItem  0002

E1EDL24 – OrderNumber 1 OrderNumberItem  0003

    E1EDL43 - OrderNumber 1 OrderNumberItem  0003

E1EDL24 – OrderNumber 1 OrderNumberItem  0004

     E1EDL43 - OrderNumber 1 OrderNumberItem  0004

E1EDL37 - @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0001 @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0002 @identifier  1

E1EDL37 - @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0003 @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0004 @identifier  2

Only red data are wrong, the other are corrects.

Thanks a lot.

JC

Bhargavakrishna
Active Contributor
0 Kudos

Hi Jean-Claude,

can you post your mapping screenshot for better understanding..

i think you are missing something in mapping.

have you tested the scenario in Message mapping? if so check the result payload, and see whether values are populating..

if you want to use one to many function in your mapping, refer below link for detailed explanation of node functions with example.

http://www.saptechnical.com/Tutorials/XI/NodeFunctions/Page1.htm

Hope it will helpful..

Answers (2)

Answers (2)

PeterJonker
Active Contributor
0 Kudos

You posted the wanted result but can you tell us what is your actual result from the mapping.

I guess you need a one to many function and don't know how to use it correctly ?

As an alternative you can define a parameter direct under segment E1EDL37 which you can then use to map to the items.

identifier1 -> E1EDL37

                 ->    $identifier

$identifier -> E1EDL44

Former Member
0 Kudos

Thanks Peter,

I have put in my preceding answer the situtation and the expected situation.

I'll try to define a parameter under E1EDL37

Thanks a lot

JC

ambrish_mishra
Active Contributor
0 Kudos

Hi Jean-Claude,

I did not understand the INPUT with Case   @identifier  2. Can you please give the source data type screenshot and the business rule for the population of E1EDL44 segment.

cheers,

Ambrish

Former Member
0 Kudos

Hello Ambrish,

@identifier is the name of the field to identify the "Case", and 2 is the number.

In this file coming from our partner, we have per Pack a list of material, and for those material we have the Order Number.

In the Idoc used to create the notification (DELIVRY05) we have 2 levels, one for the delivry creation (Segment E1EDL24) and one for the packaging (Segement E1EDL37).

Those segments are independant.

In my exemple : 

I need to have one segment E1EDL24 per order Item.  (4 segment E1EDL24)

I need to have one segment E1EDL37 per pack (Case in my input file).  and Under this segment E1EDL37, I need to have One segment E1EDL44 per material in my "Case".

It works fine except that the Number for the pack is not correctly filled in the segment E1EDL44

For the moment, I have :

E1EDL24 – OrderNumber 1 OrderNumberItem  0001

     E1EDL43 - OrderNumber 1 OrderNumberItem  0001

E1EDL24 – OrderNumber 1 OrderNumberItem  0002

    E1EDL43 - OrderNumber 1 OrderNumberItem  0002

E1EDL24 – OrderNumber 1 OrderNumberItem  0003

   E1EDL43 - OrderNumber 1 OrderNumberItem  0003

E1EDL24 – OrderNumber 1 OrderNumberItem  0004

   E1EDL43 - OrderNumber 1 OrderNumberItem  0004

E1EDL37 - @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0001 @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0002 @identifier  2

E1EDL37 - @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0003 @identifier  (field is empty)

         E1EDL44 - OrderNumber 1 OrderNumberItem  0004 @identifier  (field is empty)


and I need to have

E1EDL24 – OrderNumber 1 OrderNumberItem  0001

     E1EDL43 - OrderNumber 1 OrderNumberItem  0001

E1EDL24 – OrderNumber 1 OrderNumberItem  0002

    E1EDL43 - OrderNumber 1 OrderNumberItem  0002

E1EDL24 – OrderNumber 1 OrderNumberItem  0003

    E1EDL43 - OrderNumber 1 OrderNumberItem  0003

E1EDL24 – OrderNumber 1 OrderNumberItem  0004

     E1EDL43 - OrderNumber 1 OrderNumberItem  0004

E1EDL37 - @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0001 @identifier  1

         E1EDL44 - OrderNumber 1 OrderNumberItem  0002 @identifier  1

E1EDL37 - @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0003 @identifier  2

         E1EDL44 - OrderNumber 1 OrderNumberItem  0004 @identifier  2

Only red data are wrong, the other are corrects.

Thanks a lot.

JC

ambrish_mishra
Active Contributor
0 Kudos

Hi Jean-Claude,

If you can provide the screenshot for source data type and mapping, I can help you with the solution.:)

Ambrish