cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC merge in one Batch.

Former Member
0 Kudos

Hi Experts,

There is one scenario :

Multiple Idoc will be sent in One batch, the IDoc number will be different, as 1,2,3,4,5,6,..................

My requirement is here that on XI system, I have to create One idoc for this Batch, the batch number is also exists in the every Idoc data, which is same for one batch.

Regards,

Study SAP

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi

Hi,

You can use a receive step in a loop to receive multi messages that come one after the other, or you can also define a correlation to receive multi messages you want to map together(ie. map the messages that have the same purchase order number).

Afterwards define a transformation step to define a mapping of those. You need to use a message mapping that defines a n:1 mapping; you can set the number of messages to be mapped in the "Messages" tab of the message mapping. Then map the fields as you like and use it in your transformation step.

At last, you may use value mapping to map

http://help.sap.com/saphelp_nw04s/helpdata/en/0f/80243b4a66ae0ce10000000a11402f/frameset.htm

Using N:1 multimapping

/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi

The other condition can be handled easily using standard functions - equals, constant, if

If all the messages have the same structure, then, in BPM, you can use a while loop which contains the receive step followed by the container step into which the messages will be collected. You can use "APPEND" option in the container step. After the while loop, use a transformation step and then followed by the send step.

Now for the loops, you can go with a Time-Dependent, Message-Dependent or Payload-Dependent Loops. Now, that depends on your business requirement.

For this scenario to work, you need to create a correlation, for which incoming messages should have one field in common and also should contain the same value. Else, it would fail.

If that is not the case, then in the correlation, define a constant and set it's value to 1 for all the messages. This will make it work.

Check out the Integration Processes BPMPatternCollectTime, BPMPatternCollectPayload, BPMPatternCollectMessage under the http://sap.com/xi/XI/System/Pattern of the SAP BASIS Software component.

/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm

Regards

sandeep

If helpful kindly reward points

Former Member
0 Kudos

Check this blog...

/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm