cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Problem SAP PI 7.1

christian_pichler
Participant
0 Kudos

Hello!

I am struggling with a sales order mapping:

My source and target structure:

My source data (just the content of fields KdNr, Auftrag, Posnr, Artnr, Liefermenge as an example):

01,1000,1,100,A,10

02,1001,1,100,A,10     -> KdNr "02" and Auftrag "1001"

02,1001,2,200,B,10     -> also KdNr "02" and Auftrag "1001" but pos. 2 of the order

03,1002,1,100,A,10

04,1003,1,100,A,10

05,1004,1,100,A,10

My goal:

a) 1 Recordset per KdNr (customer number) and

b) if a source Recordset has 2 or more positions (like 02,1001,1,100,A,10 and 02,1001,2,200,B,10) these positions should be mapped together in one Recordset in the target message.

So the output should be:

Recordset 1 with 1 position

Recordset 2 with 2 positions

Recordset 3 with 1 position

Recordset 4 with 1 position

Recordset 5 with 1 position

Does anyone know how to solve this problem?

Thanks in advance and all the best for 2015!

Regards

Christian

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Christian,

Happy new year to you too..

Regarding your issue:

a) 1 Recordset per KdNr (customer number) and

For achieving this you can use use one as many node fuction.Means you can produce as many recordset as there are kdnr.

b) if a source Recordset has 2 or more positions (like 02,1001,1,100,A,10 and 02,1001,2,200,B,10) these positions should be mapped together in one Recordset in the target message.

For achieving this you can compare kdnr of diff recordset and if values are same then you use collapse context function and produce result.


Hope this helps!!!!


Regards

Naveen

christian_pichler
Participant
0 Kudos

Hi

former_member184720
Active Contributor
0 Kudos

Hi Christian,

You can try below mapping.

Apply a remove context on kdNR and Auftrag -> concat->sort>split by value(value change) -> collapse context -> recordset(Target)

For the fields under recordset :

You have to use sort by key(after concat from the above logic) and format by example

For Position :

position(source)-> remove context ->

                                             formatebyexample     -> position (target)

Recorset mapping ->

For fields under Position :

Similar to the fields under Recordset.

Let me know if it is not clear, will try and share some screenshots whenever i can.

christian_pichler
Participant
0 Kudos

Hi