Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Enhanced Receiver Determination

Hi all,

we are doing a scenario where we need to determine receivers at run time. I refered this blog, Illustration of Enhanced Receiver Determination - SP16 and make seperate IM as well as Message mapping.

Mapping 1:

Source --> Receiver Determination

Test:

[ Receiver Determination|http://koekce.com/XI/2.PNG|Please click here!!! ]

Mapping 2:

Source --> Target 1

The logic is map if the source values has Id =111

Test:

[ Target Mapping A|http://koekce.com/XI/3.PNG|Please click here!!! ]

Mapping 2:

Source --> Target 1

The logic is map if the source values has Id =222

Mapping 2:

Source --> Target 1

The logic is map if the source values has Id =333

My scenario working fine for this outbound structure:

<MT_multi >
   <root>
      <object>
         <id>111</id>
         <point>a</point>
      </object>
      <object>
         <id>222</id>
         <point>b</point>
      </object>
   </root>
<MT_multi>

[SXMB_MONI|http://koekce.com/XI/1.PNG|Please click here!!!]

But not for multiple Objects with more than one identical id values. For example. :

 
<MT_multi >
   <root>
      <object>
         <id>111</id>
         <point>a</point>
      </object>
      <object>
         <id>222</id>
         <point>b</point>
      </object>
     <object>
         <id>111</id>
         <point>a</point>
      </object>
   </root>
<MT_multi>

It sends just once to Service A and to Service B instead of sending twice to Service A and once to Service B.

Can anyone please suggest me what or where should be done to resolve this?

replied

HI,

In Receiver Determination, it will definitely call Service A and Service B only one time. Even the Object IDs for Service A are for multiple times.

It will send all the Objects having IDs 111 in single transaction to service A and single shot to service B.

If you wish to call the service A multiple times then you have to go for BPM to call the Send step in loop based on multiple IDs 111.

Conditional Editor will just determine the Receivers only one time and will pass accordingly.

Here you have created 2 IM, thus service B also recognized ..else if you have common IM then only Service A or Service B will be recognized.

Thanks

Swarup

0 View this answer in context

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question