cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Issue in populating correct target node

Former Member
0 Likes
2,843

Hi Experts,

Interface : XML to idoc.

Since i want to generate multiple idocs from single xml file, i am using multi mapping.

My SAP PO version is 7.5, somehow node functions removeContext and collapseContext are not working as expected.

So i have created udf and used. Reference: https://blogs.sap.com/2015/11/07/node-functions-as-udf-in-sap-pi/

Based on 1 unique value from sender records.. idocs should be generated.

Below is structure :

Mapping for ZOTC_DELVRY01:

Mapping for Z1DLHEADER:

Mapping for Z1DLITEM:

Fields :

Z1DLHEADER:

ShippingPoint

NGBSSD

Z1DLITEM:

Material

SAMPLE data used :

Record1 : ShippingPoint: SS01, NGBSSD: SH0001, Material: A

Record2 : ShippingPoint: SS01, NGBSSD: SH0001, Material: B

Record3 : ShippingPoint: SS02, NGBSSD: SH0002, Material: C

Record4 : ShippingPoint: SS02, NGBSSD: SH0002, Material:D

As per my requirement Idocs should be formed based on NGBSSD values.

Expected output from above sample data: 2 idocs should be formed.

1st idoc :

Header should have values from Record 1

Item should have Material A & Material B

2nd idoc :

Header should have values from Record 3

Item should have Material C & Material D

Current Output:

2 idocs are forming.

1st Idoc :

Header has values from Record1

Item has : Material A & Material B

2nd idoc with :

Header has values from Record1

Material C & Material D in line item.

Issue:

For 2nd idoc Header values are wrongly populated in test tab.

FYI:

when i do DisplayQueue for Z1DLHEADER i am generating correct output. but in test tab not getting correct values.

Please somebody help me with this.

Regards

Ankyy

View Entire Topic
Ryan-Crosby
Active Contributor
0 Likes

Hi Ankky,

Do you have an example mapping for one of the header fields that is getting incorrect values and also a screenshot of the mapping?

Regards,

Ryan Crosby

Former Member
0 Likes

Please check the test data.. highlighted part should have different values (Ie SS02).

whereas in display queue i an getting correct output.

Regards

Ankita

former_member190293
Active Contributor
0 Likes

Hi Ankita!

And what are the mappings for SHIP_POINT and EXT_DELIVERY?

Regards, Evgeniy.

Former Member
0 Likes

For now rest of all the fields are mapped 1:1 (direct field mapping)

Regards

Ankyy

Ryan-Crosby
Active Contributor
0 Likes

Direct field mapping means that your header contexts don't match the header field level values because you are generating 2 header level nodes but passing 4 sets of header field level data. You have condensed the header nodes to 2 but retained the 4 unique values using direct mapping but for that header field level you also need to use collapse context to restrict to the unique values.

Regards,

Ryan Crosby

Former Member
0 Likes

I used formatbyexample and issue got resolved.

Regards

Ankyy