on 03-01-2006 3:32 AM
Hi,
I have a scenario to split one source message from legacy application to multiple target messages(different message types/interfaces) based on a value in one of the KEY fields.
ORDER1 ORDERITEM1 KEY FIELD... -> MESSAGE INTERFACE 1
ORDER1 ORDERITEM2 KEY FIELD
ORDER3 ORDERITEM1 KEY FIELD -> MESSAGE INTERFACE 2
I have read in the doc that this is possible without BPM, but didn't explain quite clearly. The doc says i need multi mapping, but unable to figure out how to map one KEY element of source message to TWO different nodes(different message types).
Any ideas??
Thanks
one idea is to use xslt mapping to split source message type into multiple target messages types. for more information check this link:
http://help.sap.com/saphelp_erp2005/helpdata/en/83/2200cb50d345c793336d9a1683163e/frameset.htm
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nathan,
For the theorotical info on 1:N split, I would suggest that you go through these links,
http://help.sap.com/saphelp_nw04/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/42/f3b31d48fb1bc8e10000000a11466f/content.htm
Regards,
Bhavesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi bhavesh,
thanks for the info. the real issue is, i hv two different target message types, and hence two different target message interfaces. so making 1..N or 1..unbounded of one/or both message interfaces is going to help.
File(multiple records) need to be split based on a key field, to DIFFERENT target message types and message interface. For e.g. if keyfield value is "A", the record should be mapped to message type "ABC" and if the key field value is "B", the record should be maped to message type "DEF". (so, after split, i expect many messages of message type "ABC", and many messages of "DEF")
Hope it's clear now.
thx
p.s.: i'll certainly award points...
Hi nathan,
The solution that I suggested earlier will work fine with your scenario also.
Your Message Mapping will contain all the destination message types ( 2 in your case) and the mapping program that will map the source to target on the conditions you want.
Likewise, your interface mapping will contain all destination interfaces ( 2 inbounc in your case).
When doing your Interface Determination, just select RB_SPLIT or EXTENDED and select the mapping program. the inbound interfaces will get automatically listed when u select EXTENDED or RBSPLIT and select the mapping program.
Do try this and revert back for any queries.
Regards,
Bhavesh
HI,
If you are using Idoc Adapter , you need to use BPM to Split the messages. Currently SP14 supports multimappings for only J2EE based Adapter.
Just go thru following link for more-
http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
Hope this helps..
Regards,
Moorthy
HI Nathan,
Check the documentation for nw2004s also.
http://help.sap.com/saphelp_nw04s/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
Regards,
Moorthy
Hi Nathan,
MultiMapping does not work with an IDOC adapter. The reason being that IDOC adapter resides on the ABAP engine.
But, there is a wrok around to it. Have you tried the concept of Packaging. Just see OSS NOTE 814393. it has the details on how to do Packaging.
Packaging is a concept where the IDOC ouccrence is changed to 0 to unbounded. Now, when you send your IDOC from XI, it is sent as a single IDOC, but when it reaches r3 it will be split into multiple IDOCs.
Go through the note and get back for any queries.
Regards,
Bhavesh
Hi Nathan,
This scenario you are trying can be done using CONDITIONAL RECEIVER DETERMINATION and RB SPLIT
To do this without using a BPM.
1. Create your mapping program that will map the information from the source file
into the destination idoc. This has to be a 1:N split. Just make sure that the destination message type and message interface are are of occurrence N.
2. Also, you will have 2 destination interfaces and 2 interface mapping, one for the IDOC and one for the mail.
Now, there are a few essential steps in your configuration,
1. In the receiver determination, specify the 2 receiver systems, one for your IDOC and the other for your MAIL.
2. Now, you will have a condition window. Just type the condition on the basis of which the receiver has to be determined for the mail and the idoc business system. Just remember that the condition can be specified only for the source message.
3. In the Interface Determination, you have an option called RB CLASSIC and RB SPLIT. To do a 1:N split, you will have to do a RB_SPLIT.
Thus, your solution can be devised without a BPM also.
Regards,
Abhy
Hi Nathan,
This is possible <b>without BPM if you are on SP14 or above.</b> TO split 1:N Mapping, this is what you will have to do,
1. In your message mapping, make sure that the <b>source message has an occurence of 1</b> and <b>destination message occurence is made to unbounded (n).</b>
2. in interface mapping, make sure <b>source interface has an aoccurence of 1 and destination interface has an occurence of N or unbounded.</b>
now, in your configuration scenario, in your <b>interface mapping</b>,you will have an option called <b>RB_CLASSIC or STANDARD</b> selected by default. To do a 1:N mapping without BPM, <b>just select the other option RB_SPLIT or EXTENDED</b> and now, select your corresponsing interface mapping program and your 1:N mapping is done.
Hope this helps,
DO let me know if u have any further doubts,
Regards,
Bhavesh
PS do award points for useful answers
Message was edited by: Bhavesh Kantilal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.