Showing results for 
Search instead for 
Did you mean: 

Mapping issue - if value matches on of several conditions

Former Member
0 Kudos

Hi champs,

I have a mapping in PI 7.1 of an invoice-xml to a INVOIC02-idoc.

I am mapping the invoice sums to E1EDS01-segments and just want to map five of several qualifiers. So I have set up a mapping for the qualifier field SUMID that just maps those five qualifiers, and map the SUMME-field from inbound message as it is.

Now it shows that our vendors send more than those five qualifiers I have in my mapping. Since I don´t have any control of the SUMME-field all seven values get mapped into the Idoc (generating seven E1EDS01-segments), but only the five segments with my mapped SUMID get the SUMID-field. So I get in total seven E1EDS01 segments in which I get only the SUMME in two of them.

So my question is: Are there any pretty ways to handle this kind of mapping issues besides using a lot of equalS, if and or?

I would like to be able to say (in as simple a function as possible) that if qualifier in field A is X, Y or Z then map the value in field B to SUMME. How do I do that? BTW I am not a java-programmer so advanced java-codes are not a good way for me to handle it.



Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Write an UDF with this code:

public void <UDFNAME>(String <FieldName>,Container container){

If (<FieldName> == "X" || <FieldName> == "Y" || <FieldName> == "Z"){

return <FieldName>;



Edited by: spantaleoni on Mar 16, 2011 4:04 PM