on 01-29-2008 11:44 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.