cancel
Showing results for 
Search instead for 
Did you mean: 

single xml to multiple idoc

Former Member
0 Kudos

Hi Experts,

need your advise on my issue. here is the background:

i have a NON-SAP source that is sending data to PI (SOAP via XML format). In PI the receiver is structured to use existing iDOC structure. the original design was, source will be sending transaction and PI to generate single iDOC. now the requirement have changed. the source, will now be sending multiple transaction (on the same XML file) identified by the header segment  E1WVINH

If you noticed i have changed the occurrence to 1,unbounded to parse multiple header. here is my Message mapping:

when i test using the payload with multiple header segment:

the result did not generate as expected as it seems to be generating single iDOC still:

can you please help me and let me know what have i done wrong with this? thanks a lot!

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Expert,

this is what i have done today, i redesign the message mapping to use the actual iDOC as is (so that i can modify the occurrence value from signature..juts found out the external define object does not allow to change the occurrence)

from here when i test  using the current payload to pass on 2 Header segment, was able to see below:

when i tried to run the test on RWB, i got this error:

can you help me with above error? did i miss something?

jyst an update, i was able to figure out the problem with the payload.now i got successful test. but i was expecting of 2 idoc nmber. the result generate 1 idoc with hjust a subtree. .. am i doing it wrong ?

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Jun,


Jun Rey Magbanua wrote:

Hi Experts,

need your advise on my issue. here is the background:

i have a NON-SAP source that is sending data to PI (SOAP via XML format). In PI the receiver is structured to use existing iDOC structure. the original design was, source will be sending transaction and PI to generate single iDOC. now the requirement have changed. the source, will now be sending multiple transaction (on the same XML file) identified by the header segment  E1WVINH

Map E1WVINH -> removeContext -> Idoc. In your previous screenshot, Idoc is mapped to Idoc.

Regards,

Mark

Former Member
0 Kudos

Hi Mark,

tried your, but been getting error . it seems to have problem with "required" segments. should i still proceed with the original mapping after mapping the header (source) to iDoc segment (target) ?

thansk!

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Jun,


tried your, but been getting error . it seems to have problem with "required" segments. should i still proceed with the original mapping after mapping the header (source) to iDoc segment (target) ?

thansk!

This is the tricky part, changing 1..1 to 1..unbounded would always require context manipulation. As with best practice, first disable all nodes (with mapping only) on the same level as EDI_DC40 and then start working downwards e.g after finishing all fields in EDC_DC40 , test via test tab. If okay, then enable E1WVINH, disable all children (with mapping), rewrite mapping logic -> test. If okay, enable one child and so on etc

Regards,

Mark

former_member186851
Active Contributor
0 Kudos

Hello Jun,

Please post what your getting in Queues of both source and target Idoc node.

Former Member
0 Kudos

Hello Jun,

In signature tab of your message mapping, please make the occurrence of target to 1..unbounded. It should work then.

Regards,

Souvik

Former Member
0 Kudos

Hi Souvik,

which filed should i need to modify to 1..unbounded? from previous screenshot, it has been set to that Occurrence.

thanks!

Former Member
0 Kudos

Hello Jun,

Please go to the following tab marked in red.

Over there, go to target and change the occurrence.

Former Member
0 Kudos

Hi Souvik,

i am having problem of modifying the occurence. ca you share me how to modify it? from my GUI it is disabled.

former_member186851
Active Contributor
0 Kudos

Hello Jun,

Since its imported message I doubt you can change it.

Just check whether your in edit mode.

Former Member
0 Kudos

Hey, you need to modify it in edit mode

Former Member
0 Kudos

Hi,

objects imported via External definition mode cannot modify the occurrence.  so what i did is use the actual iDoc as is, from there i was able to modify the occurrence.

below contains my latest update