cancel
Showing results for 
Search instead for 
Did you mean: 

Condition in Receiver determination

Former Member
0 Kudos

Hi All,

We have a receiver determination which is using orders Idoc as the sender service interface.

For one scenario, the Idoc data is coming as text, there is no xml conversion config done in PI, no message mapping used and the same data is getting passed to the third party.

Now we have developed a new scenario, which would be using the same receiver determination as the sender SAP system, service interface i.e. orders Idoc is same.For this interface there is a condition to be set in receiver determination on RCVPRN ( say RCVPRN = "A") to route the message to that particular partner.and this scenario is receiving Orders xml and message mapping is done.

so therefore, for 1st receiver the condition is RCVPRN != "A" and for 2nd receiver the condition is RCVPRN = "A",

but on runtime, when the receiver determination tries to execute the conditions, it doesnt generate the xpath expression in case of receiver 1 as PI is receiving the text file, that's why message getting failed in that step saying " No service found for the party".

As a solution to this can we put only 2nd condition in receiver determination saying RCVPRN = "A", then route message to partner 2.

and check the last checkbox in RD, which says if no receiver found, route message to partner 1.

Could you please provide your valuable inputs that if this will work or in this case as well, RD will try to first generate the xpath expression to evaluate condition, and will fail because of text input.

Thanks in advance,

Ruchi

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member184681
Active Contributor
0 Kudos

Hi,

Answering your question: "If No Receiver Is Found, Proceed as Follows" = "Select the Following Receiver" of the Receiver Determination object will meet your requirement perfectly. For now. But in case of further enhancements to the scenario, you should expect further complications. Also, bear in mind that your IDoc as a flat file (without conversion to XML) is not really interpreted by PI as an IDoc. As a result, you can consider creating a dummy sender interface as mentioned by Zameer Farook

Keeping these scenarios as two separete ones give you better perspective for future enhancements and developments. This is the option that I would recommend for your requirement.

Hope this helps,

Greg

zameerf
Contributor
0 Kudos

How does the IDoc text data come into PI? via file adapter? if so you can use a dummy message interface for this scenario and go ahead with IDoc as message interface for the second scenario.

-Zameer

Former Member
0 Kudos

yes it will work - RCVPRN = 'A' in case of ORDERS IDOC msg mapping and no receiver is found, put system for text file scenario.

For a better design if in the text file scenario, the data is coming in text format, then the service interface definition can be changed from ORDERS idoc to a custom service interface with the WSDL of ORDERS idoc imported as an external definition to run your text file scenario. then the ORDERS idoc scenario can be using the ORDERS IDOC as sender interface and then multiple routing conditions done using RCVPRN field in conditional receiver determination.

former_member214364
Active Contributor
0 Kudos

Hi Ruchi,

your configuration will work well if you maintain condition for 2nd receiver in ID and direct failed condition messages to 1st Receiver.

current config server your purpose But how you would configure if you have same IDOC to new receiver scenario in future?

Regards,

Jag