cancel
Showing results for 
Search instead for 
Did you mean: 

mapping 2 messages into 1 using BPM

Former Member
0 Kudos

hello

I have a BPM tha recieve 2 messages, and combine them into 1 message. I would like to know how can I map the 2 messages into 1.

more over, is there a way to decide the value of the attribute for the mapping? (for example, if in one of the messages I have attribute value=4, and when mapping it I want 4 to be translated to write Mr. if the value was 3, I would like the value to be Miss, etc.

Thanks

Kfir

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

You can use a receive step in a loop to receive two messages that come one after the other, or you can also define a correlation to receive the two exact 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 2: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 1 to Mr, 2 to Miss etc. but this is another question and a long answer. You can find more information here:

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

Regards,

Gökhan

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Kfir.

As I understand your requirement, you want to combine two messages into one.

If both of 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 the two 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 both of 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.

I think this would give you an idea.

Regards,

Hari.

Former Member
0 Kudos

Hi,

Go through this link

[Collect Multiple IDocs to File using BPM|http://saptechnical.com/Tutorials/XI/CollectMultipleIDocs/Collect1.htm]

Regards,

Suraj Kumar

Edited by: Suraj Pabbathi on Jan 29, 2008 8:20 AM

Former Member
0 Kudos

Hi,

Go through this link.

[http://saptechnical.com/Tutorials/XI/CollectMultipleIDocs/Collect1.htm|http://saptechnical.com/Tutorials/XI/CollectMultipleIDocs/Collect1.htm]

Regards,

Suraj Kumar

prateek
Active Contributor
0 Kudos

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

Regards,

Prateek