cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver determination for Split Message - Bulk message handling

0 Kudos

All,

I have a scenario where MATMAS message is split to multiple receivers via multi mapping 1:n; the split is based on plant specific data, all works fine the mapping splits the message perfectly.

The problem I have is in configuring the receiver determiniation. I have put conditions based on plant specific data the message should be distributed to the appropriate receiver. At runtime the MATMAS message received is treated as a bulk message and it produces mutiple sub-documents however in my case if the MATMAS has 3 plant specific data the data is send to all the 3 receivers instead of sending just one message per plant to the appropriate receiver.

Its IDOC to File scenario on XI 3.0, SP20.

Receiver Determination:

/MATMAS05/IDOC/E1MARAM/E1MARCM/WERKS = 'xxxx' -> send to XXXX_receiver

/MATMAS05/IDOC/E1MARAM/E1MARCM/WERKS = 'yyyy' -> send to YYYY_receiver

Though the receiver determiniation splits the message by plant it could be that a material is maintained for both xxxx and yyyy plants and in this case both should receive the message but the contents would be different. The problem I have is both messages are delivered to both receivers.

I appreciate those who have taken the time to read the thread and thank you all in advance supporting with advices.

/ Saj

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos
Though the receiver determiniation splits the message by plant it could be that a material is maintained for both xxxx and 
yyyy plants and in this case both should receive the message but the contents would be different. The problem I have is both 
messages are delivered to both receivers

If you are getting xxxx and yyyy in the same message and the same message (including xxxx and yyyy) is being sent to both the receivers....while you want to segregate the message into msg_xxxx and msg_yyyy then you ahve to implement the logic in the Interface Determination (in actual terms your mapping program should be defined such that one passes only xxxx data and the other passes only yyyy data)....i hope that i am talking relevant to your req.

Regards,

Abhishek.

0 Kudos

Are you suggesting that I have seperate mapping programs for each scenarios - this may be a possibility but I have around 30 plants and will have maintenance overheads of having seperate message mappings as a first thought.

Also may be because my receiver determination will apply the same condition with different plants I will have the same problem that multiple receiver conditions are satisfied and thus would lead to the same problem and also if I put additional logic in the mapping then the output of mapping may not satisfy and get mapping errors.

/ Saj

former_member200962
Active Contributor
0 Kudos
Are you suggesting that I have seperate mapping programs for each scenarios - this may be a possibility but I have 
around 30 plants and will have maintenance overheads of having seperate message mappings as a first thought.

Not a good option to have 30 different mapping programs

try to implement a single 1:N mapping program which will take care of producing the relevant target elements based on the source fields (for xxxx, yyyy, zzzz etc).....

Regards,

Abhishek.

0 Kudos

1:N mapping is already done so I already get what I want from a mapping perspective but the problem is in the directory (atleast this is what I feel) its about handling this Bulk messages and distributing it to the right receiver after the mapping when calling the file adapter, there is nothing like "conditions" I can define in the receiver agreement.

The blog by Jin Shin is pretty much my scenario, however here he has two seperate messages in the 1:N split, in my case the split produces identical message format but with different contents.

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

/Saj

Answers (2)

Answers (2)

0 Kudos

Please find attached the source xml before transormation used for the xpath that I have indicated in my original message. From the below message E1MARCM-BESKZ differs on each plant and also has a corresponding warehouse view E1MLGNM where for example LHMG1 value differs for each warehouse.

<?xml version="1.0" encoding="UTF-8" ?>

- <MATMAS05>

- <IDOC BEGIN="1">

- <E1MARAM SEGMENT="1">

<MSGFN>005</MSGFN>

<MATNR>000000000001002201</MATNR>

<MTART>ZFGS</MTART>

<MATKL>1111003</MATKL>

- <E1MAKTM SEGMENT="1">

<MSGFN>005</MSGFN>

<SPRAS>E</SPRAS>

<MAKTX>AA Ni-MH Rechargeable Batteries</MAKTX>

</E1MAKTM>

- <E1MARCM SEGMENT="1">

<WERKS>4911</WERKS>

<BESKZ>F</BESKZ>

</E1MARCM>

- <E1MARCM SEGMENT="1">

<WERKS>4912</WERKS>

<BESKZ>X</BESKZ>

</E1MARCM>

- <E1MARCM SEGMENT="1">

<WERKS>5020</WERKS>

<BESKZ>E</BESKZ>

</E1MARCM>

- <E1MARMM SEGMENT="1">

<MEINH>CS</MEINH>

</E1MARMM>

- <E1MLGNM SEGMENT="1">

<LGNUM>020</LGNUM>

<LHMG1>2020.000</LHMG1>

<LETY1>E2</LETY1>

</E1MLGNM>

- <E1MLGNM SEGMENT="1">

<LGNUM>023</LGNUM>

<LHMG1>2323.000</LHMG1>

<LETY1>E2</LETY1>

</E1MLGNM>

- <E1MLGNM SEGMENT="1">

<LGNUM>024</LGNUM>

<LHMG1>2424.000</LHMG1>

<LETY1>E2</LETY1>

</E1MLGNM>

- <E1MVKEM SEGMENT="1">

<VKORG>4900</VKORG>

<PRAT1>X</PRAT1>

</E1MVKEM>

- <E1MVKEM SEGMENT="1">

<VKORG>5000</VKORG>

<PRAT1>/</PRAT1>

</E1MVKEM>

</E1MARAM>

</IDOC>

</MATMAS05>

so in this example above:

Receiver 4911 (WERKS) should receive:

F + 2020 (BESKZ + LHMG1)

Receiver 4912 (WERKS) should receive:

F + 2323 (BESKZ + LHMG1)

Receiver 5020 (WERKS) should receive:

F + 2424 (BESKZ + LHMG1)

The problem is all these 3 messages are delivered to all the 3 plants thus making it 9 messages delivered in total as against 3.

/ Saj

Former Member
0 Kudos

Hi,

Can you please give us an example when all recievers should receiver, when one should receive along with sample xml, so that somebody can help you out building the xpath.

Regards,

---Satish