cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI mapping question

0 Kudos
288

Hi guys,

I have the following mapping requirement: here is a piece of the source and the target structure:

In the source structure, I have multiple E1EDP01 lines with multiple E1EDPT1 and E1EDPT2 segments. Each E1EDP01 line results in a invoiceline in the target.

In the target structure, I have to map the registration_info in the target if there is a E1EDPT1 segment with TDID=ZSN. If there is, then there can be 1 or more E1EDPT2 segments in that E1EDPT1 segment. For each E1EDPT2, I have to create a registration segment in the target and map TDLINE for serial-number.

How do I accomplish this?

View Entire Topic
0 Kudos

The logic for EE1EDP01 is direct with invoiceline in target.

For registration_info use logic : if(without else) TDID equalsS ZSN(constant), input of then will be E1EDPT1. Output of IF to registration_info

For TDLINE use logic :

Here we need to use useOneAsMany

First, Copy the same IF(without else) logic used above.

Map it to first input of useOneAsMany.

Map 2nd input of useOneAsMany to E1EDPT2.

Map 3rd input of useOneAsMany to E1EDPT2 as well.

Output of UseOneAsMany will again to another IF (without else) , then input will be TDLINE, output will map to registration segment.

0 Kudos

Hi nikhil_sudan1201_83,

Thanks for your answer, but unfortunately, I still cannot get this to work:

The logic that you suggested for creating the registration_info works. The only modification I did was to change to context of TDID to E1EDP01.

But I am still struggling with the registration part. This is what I created.

TDID again in the context of E1EDP01.

But this one is throwing an error in the useOneAsMany: No value found in function useOneAsMany. The first queue must have one, and only one value in each context.

If you have any suggestions, you are welcome!

0 Kudos

hi e.brood,

I have updated the mapping. hope this works.

PS: sorry I couldn't test this mapping myself.

0 Kudos

Hi nikhil_sudan1201_83

Thanks for thinking along with this problem! Really appreciate that...

But unfortunately, this does not work: it is throwing the following error: No value found in function useOneAsMany. The first queue must have one, and only one value in each context] in class