cancel
Showing results for 
Search instead for 
Did you mean: 

Split one message to multiple

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

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

bhavesh_kantilal
Active Contributor
0 Kudos
Former Member
0 Kudos

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...

bhavesh_kantilal
Active Contributor
0 Kudos

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

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Nathan,

Where you able to do your split?? Do let us know.

Regards,

Bhavesh

Former Member
0 Kudos

hi bhavesh,

i was out of town for sometime so didn't finish up this multimapping. The message is splitting, but i want to use Idoc adapter. When i use Idoc adapter it errors out. The documentation doesn't talk about idoc adapter. Is this supported at all...

any ideas

thx

moorthy
Active Contributor
0 Kudos

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

moorthy
Active Contributor
0 Kudos

HI Nathan,

Check the documentation for nw2004s also.

http://help.sap.com/saphelp_nw04s/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm

Regards,

Moorthy

bhavesh_kantilal
Active Contributor
0 Kudos

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

Former Member
0 Kudos

we also had this issue, we ended up using BPM. The reason being, even if you use packaging, still it has to go thru Idoc adapter and it is not supported.

HTH.

Former Member
0 Kudos

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

bhavesh_kantilal
Active Contributor
0 Kudos

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