Skip to Content
avatar image
Former Member

Condition in Receiver determination

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • avatar image
    Former Member
    Apr 11, 2012 at 05:00 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 11, 2012 at 05:53 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 11, 2012 at 06:30 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 11, 2012 at 07:56 AM

    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

    Add comment
    10|10000 characters needed characters exceeded