cancel
Showing results for 
Search instead for 
Did you mean: 

E1EDKA1 Mapping Pattern Issue - ILNNR

JuanDK78
Participant
0 Kudos

I am having the following mapping issue with SAP PI 7.3, can someone verify if there is a mapping patter issue in their system of if I am missing something.

Mapping Type: Graphical

Task: EAN Number from for Supplier in segment E1EDKA1

Issue: IF the first segment E1EDKA1 does not have a field ILNNR, then the mapping pick the wrong E1EDKA1 segment.

The IDocs has the following Structure:

E1EDKA1-AG

- PARTN: 11111

E1EDKA1-LF

- PARTN: 1

- ILNNR: 9999001060240

E1EDKA1-LS

- PARTN: 1

- ILNNR: 8888001060500

Mapping:

/ns0:Order/ns2:SellerSupplierParty/ns2:Party/ns1:EndpointID=ifWithoutElse(stringEquals(/ORDERS05/IDOC/E1EDKA1/PARVW, const(value=LF)), /ORDERS05/IDOC/E1EDKA1/ILNNR, keepss=false)

The Context of PARVW and ILNNR is IDOC level.

But the result is 8888001060500 instead of 9999001060240. which correstpond to E1EDKA1-LS and not E1EDKA1-LF.

If I add a field ILNNR to E1EDKA1-AG then the correct value is returned.

Any brilliant input? is this and issue? or I am doing something wrong.

I have attached a sample ORDERS05 IDoc for you to try it out your self.


Accepted Solutions (1)

Accepted Solutions (1)

JuanDK78
Participant
0 Kudos

This is the winner guys:

With PARVW Context to IDOC and ILNNR context to E1EDKA1.

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi,

As Sagarika Mishra suggests, I also think PARVW and ILNNR are set to an incorrect context.

Cheers,

Edu

Former Member
0 Kudos

Hi Jaun,

Check if the below mapping helps. Please set the Context of PARVW and ILNNR is E1EDKA1 level, it will definitely solve your issue.

Best Regards,

Sagarika Mishra

JuanDK78
Participant
0 Kudos

Sorry Guys but I  have tried the remove content after the If w/o else and after the PARVW and ILNNR fields.

The issue remains, if you notice the attached queues, the issue seems to be in the indexes on the queues since the first E1EDKA1 segment does not have a ILNNR field.

I have also tried adding a context with split by value, but without luck.

rajasekhar_reddy14
Active Contributor
0 Kudos

i created one dummy mapping and see below results

JuanDK78
Participant
0 Kudos

The Value you should get is the the one ending with LF, that pattern does not work

zameerf
Contributor
0 Kudos

Did you try my suggestion above?

You can see the display queue below

Former Member
0 Kudos

Please try using remove context.

Please apply the below mapping, it may help you to resolve the issue.

Best Regards,

Sagarika Mishra

rajasekhar_reddy14
Active Contributor
0 Kudos

Just inject remove context after if then function, it works, i tested in my system

zameerf
Contributor
0 Kudos

Did you try using remove context after If condition?

Check if the below mapping helps.