XPath Error in Receiver Determination

Hi All,
I hav an outbound message coming out of ERP (Non IDoc). I have to route the message based on the field DESTINATION in the message. The payload in the SXMB_MONI is as follows.
<?xml version="1.0" encoding="utf-8" ?>
<nr1:OLabelling_OB xmlns:nr1="http://cpe.com/cpe_ftp_wms/Labelling/OL">
<Label>
  <b><DESTINATION>XXXX</DESTINATION></b>
  <PRPRORD>0001005683</PRPRORD>
</Label>
</nr1:OLabelling_OB>
In the receiver determination, I hav chosen the XPath button and given the following value
<b>/nr1:OLabelling_OB/Label/DESTINATION</b>.
This doesn't work. i had also tried giving the namespace and the prefix as
<b>nr1</b> <b>http://cpe.com/cpe_ftp_wms/Labelling/OL</b>. but that dint help either.
If i remove the condition, then it is working fine.
Any help in this regard?
Thnx in Advance.
Anil

I had activated and checked......it was not getting displayed.......
But i checked the xpath rules and used a work around solution for this. as per the xpath rules if i enter xpath as //DESTINATION, it picks up the DESTINATION field from anywhere in the document. and that worked.
Thnx for ur help so far...
anil

Similar Messages

  • XPATH condition in receiver determination.. Sum one of the filed

    Hi,
    This is my input payload.
    segment "Record" will be coming multiple times.
    <ns:MT_Account xmlns:ns="urn:com.statement">
    -<BalanceRecs>
      - --<Record>
    <field1>CUA</field1>
    <field2>0.00</field2>
    <field3>324612.28</field3>
    <field4> LTD</field4>
        -----<numRecs>0</numRecs>
    </Record>
      --- <Record>
    <field1>CUb</field1>
    <field2>0.00</field2>
    <field3>324612.28</field3>
      <field4> LTD</field4>
      <numRecs>2</numRecs>
    </Record>
      --- <Record>
    <field1>CUc</field1>
      <field2>0.00</field2>
    <field3>324612.28</field3>
       <field4> LTD</field4>
    <numRecs>0</numRecs>
      </Record>
    </BalanceRecs>
    Requirement:
    I need to calculate the sum of field "numrecs".
    If the sum is 0, then pass to BPM(IP_BPM)
    If the sum is > 0 then pass to System B.
    I tried using the below blog from shabarish..
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    /p1:MT_ActBalance/BalanceRecs/BalanceRecord[sum(numRecs) = 0] EX        --> BPM
    /p1:MT_ActBalance/BalanceRecs/BalanceRecord[sum(numRecs) > 0] EX        --> SystemB
    Is there anything im missing .. kindly suggest.
    Thanks
    Deepthi.

    Hi Mark,
    It is working only for one receiver.
    i mean
    <numRecs>0</numRecs>
    <numRecs>0</numRecs>
    <numRecs>0</numRecs>
    The message is going correctly when the sum value is 0. ie to BPM.
    <numRecs>0</numRecs>
    <numRecs>2</numRecs>
    <numRecs>0</numRecs>
    OR
    <numRecs>2</numRecs>
    <numRecs>0</numRecs>
    <numRecs>0</numRecs>
    When I pass the above payloads, it is going to both the receivers.
    Since the total is 2, it should go only to systemB
    Any idea?
    This is working perfectly for enhanced receiver determination. I dont want to use enhance version for this simple case.

  • Reg: Error at Receiver determination

    hi friends
    i have designed a scenario for JDBC to RFC and while testing that scenario at configuration part i found the error that  "receiver determination is not found"  i also tested with file to file scenario and found the same error . can anyone suggest how to overcome this error and what might be the error.
    with regards
    sharmista

    Hi Dadapure sharmishta,
    Have you provided any conditions in the receiver determination? In that case make it sure that the condition is getting satisfied. Also check if all the objects are activated. Check the sxi_cache for cache related issues.
    Thanks and Regards,
    Sanjeev.

  • Reg:'XPATH' Expressions in Receiver Determination

    Hi All,
    My scenario is an IDoc type.
    Structure:
    ZABCD
    IDOC
    TEST1
    FIELD1
    FIELD2
    TEST2
    FIELD3
    FIELD4
    Condition:
    (field1 = "500" OR field1 = "800" ) AND (field3 = "EZTU" OR field4 = "BLKB")
    I am trying to achieve the above condition  through own XPATH expression in Receiver determination.
    Can anyone help me out in this.
    Thanks in Advance,
    Lavanya .B

    I have just simulated your structure in XML Spy
    <ZABCD>
         <IDOC>
              <TEST1>
                   <FIELD1>500</FIELD1>
                   <FIELD2></FIELD2>
              </TEST1>
              <TEST2>
                   <FIELD3>EZTU</FIELD3>
                   <FIELD4>BLKB</FIELD4>
              </TEST2>
         </IDOC>
    </ZABCD>
    and the XPath is /ZABCD/IDOC/TEST1[FIELD1 = '500' or FIELD1= '800' and /ZABCD/IDOC/TEST2[FIELD3 ='EZTU' or /ZABCD/IDOC/TEST2[FIELD4 = 'BLKB'
    consider that thread does not show the some character, so, put a ] after 800,'EZTU' and 'BLKB' if i put it the blog consider as a link everithing between [     ]
    I mean
    '800']
    'EZTU']
    'BLKB']
    refer to this link: /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    Edited by: Rodrigo Alejandro Pertierra on Sep 15, 2010 10:46 AM
    Edited by: Rodrigo Alejandro Pertierra on Sep 15, 2010 10:49 AM

  • Using substring in the XPATH expression for Receiver Determination

    Hello, I need a little help please.  In my receiver determination, I have a condition and I need to do a "not like" check.   Basically, if the first three positions of the source field does not start with a specific code, then I need to execute the condition.   The condition editor does not support a "not like" operand, so I went to the XPATH expression editor.  I tried to used the XPATH substring function to get the first three characters and then do a "not equal" operand, but it doesn't appear to work.  There are not any runtime errors, but the condition is not executing.  Any ideas on this?  Does the XPATH expression support the substring function?

    Hi Jesse,
    Can you please explain what is the meaning of http:// in the statement
    /p1:PRODUCT/MATNRhttp://not(substring(.,string-length(.) - 2) = '123')
    Please explein, I am having same issue. It is not working here.In My case it is
    /p1:ORDERS01/IDOC/E1EDP01/E1EDP19/IDTNR[http://not(starts-with(.,\"D\"))]
    also tried with
    /p1:ORDERS01/IDOC/E1EDP01/E1EDP19/IDTNR[http://not(starts-with(.,'D'))]
    Thanks in advance!

  • Alert to Error in Receiver determination mapping

    Hi everyboy.
    Im using a mapping to decide the receiver determination (ReceiverDetermination - http://sap.com/xi/XI/System).
    I can´t configure an alert when the mapping fails.
    How could I do that????
    Thanks a lot

    Hi Christian,
    As per my understanding you are using extended receiver determination by creating an interface mapping in between your outbound interface and standard receiver interface of SAP BASIS.Do you mean to say that if source data doesnot fulfill the condition to determine any receiver.If so, then I believe in SXMB_MONI we can find the error as unable to determine receiver.Since it belongs to mapping so it will be executed in Integration engine.
    create an alert category in ALRTCATDEF
    Define Alert Rule in RWB -> Alert Configuration
    Select the our own Alert Category
    Click to Add Rule and activate the corresponding rule
    Regards,
    Nutan

  • Error in receiver determination - Client proxy to IDOC using PI-IS

    Hi,
      I am using client proxy to send the order acknowledgement from SCM to R/3 , I am getting below error
    <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    I am using the standard SAP message interface in the sproxy.
    Also I am getting error in Proxy generation "Logical port template not determined" "LPT could not be created without DT".
    Thanks,
    Menaga

    <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
    The above error occurs due to:
    1) You have configured a wrong receiver service in the Receiver Determination
    2) You have configured the correct receiver but the cache is not updated
    So check if the receiver service exists and the cache is updated.
    Also I am getting error in Proxy generation "Logical port template not determined" "LPT could not
    be created without DT".
    Check if you get any lead from this thread:
    Failed to time to generate proxy - TRX SPROXY
    Does it mean that you have no proxy generated and you are testing??....if yes then you will get the above error (NO_RECEIVER_CASE_ASYNC).
    Regards,
    Abhishek.

  • Error in Receiver Determination

    Hi,
    I am getting this error in the intergration engine, please help. 
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Receiver Identification
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">CX_RD_PLSRV</SAP:Code>
      <SAP:P1>Problem evaluating a condition: Exception CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include: CL_SWF_RLS_CONDITION==========CM00Q, line: 160).</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error when determining the receiver: Problem evaluating a condition: Exception CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include: CL_SWF_RLS_CONDITION==========CM00Q, line: 160). Problem evaluating a condition: Exception CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include: CL_SWF_RLS_CONDITION==========CM00Q, line: 160). Exception CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include: CL_SWF_RLS_CONDITION==========CM00Q, line: 160). Exception CX_SWF_RLS_OPERAND_MISSING occurred (program: CL_SWF_RLS_COMPARISON=========CP, include: CL_SWF_RLS_COMPARISON=========CM002, line: 63). Exception CX_SWF_RLS_OPERAND_MISSING occurred (program: SAPMSSY1, include: , line: 0). Exception CX_SWF_EXP_EVALUATE occurred (program: CL_SWF_EXP_EXPRESSION=========CP, include: CL_SWF_EXP_EXPRESSION=========CM027, line: 38). Exception CX_SWF_EXP_EXPRESSION occurred (program: CL_SWF_EXP_EXPRESSION=========CP, include: CL_SWF_EXP_EXPRESSION=========CM01Z, line: 520). Exception CX_SWF_EXP_EXPRESSION occurred (program: CL_SAI_SWF_RULE_ENGINE========CP, include: CL_SAI_SWF_RULE_ENGINE========CM00S, line: 42). Problem when processing the XPath expression /MBGMCR02/IDOC/E1BP2017_GM_ITEM_CREATE/[normalize-space(STGE_LOC)]</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Dear Ravi Kanth,
    As for as my knowledge its shows the Exception: Operand Missing CX_SWF_RLS_OPERAND_MISSING occurred,
    Plz check in your condition in detemining Receivers used proper operands.
    Best Regards
    Praveen

  • XPATH condition in Receiver Determination in PI 7.1

    Hi all,
    I'm doing a Inbound 850 Scenario (no BPM involved)...based on the condition for (/LIST/S_ISA/S_GS/S_ST/S_BEG/D_353 = 00) its should either create ORDERS.ORDERS05 or create ORDCHG.ORDERS05 if (/LIST/S_ISA/S_GS/S_ST/S_BEG/D_353 = 04)...I'm giving the condition in interface determination and multiline selected in the Xpath editor
    I'm using PI 7.1 and irrespective of the condition it always creats Orders.Orders05, I have 2 receiver agreements also for both receiving interfaces...
    Any solution on how to debug?
    Thanks,
    Srini
    Edited by: Srinivas Davuluri on May 12, 2009 10:56 AM

    I forgot to give the prefix...mistake from my side

  • XPATH problem in Receiver Determination

    Hi Experts, I get stucked in the XPATH expression in the Receriver Determination(RD) :
    The input xml (default namespace settting) is like this :
    <?xml version="1.0" encoding="UTF-8" ?>
    <MT_XML_SENDER xmlns="http://test.com">
    <LAST_NAME>Bryant</LAST_NAME>
    <FIRST_NAME>Kobe10</FIRST_NAME>
    </MT_XML_SENDER>
    In the RD, I tried serveral XPATH expressions :
    /MT_XML_SENDER/LAST_NAME = Bryant
    /MT_XML_SENDER/LAST_NAME = "Bryant"
    /MT_XML_SENDER(LAST_NAME = \"Bryant\") EX
    But in every case, the PI always told me it could not find the receiver, I don't know what to do........
    (BTW,if I remove the condition, PI could work as desired, so it is 100% related to XPATH setting)
    Thanks very very much!!!!!
    Ray

    You probably noticed by yourself, but in the Condition Editor, it is necessary to set the namespace to a prefix and then create the XPath expression based on that prefix. i.e.
    /p1:MT_XML_SENDER/p1:LAST_NAME
    And on the prefix definitions, you set it to your namespace:
    p1 http://test.com
    Easiest way to do it is to go through the message structure, though, since it will fill the prefix automatically as per the definition in the message type in repository.
    Best regards,
    Henrique.

  • Runtime error in Receiver determination

    Hi All,
    While testing my configuration in ID, it shows an Runtime error message "Message is incomplete. No Sender found".
    Note: I testing for a File to Idoc Scenario.
    Regards,
    Nithiyanandam

    Hi,
      <i> <b>Message is incomplete. No Sender found".</b></i> -- I guess you are not selected the Sender Service,Interface,Namespace and Receiver service in Header section.Before RUN the test configuration you need to check that have you choosen the proper sender and reciver in Header section.
    Hope it will helps to you, Check it out the same and try to test the configuration.
    Cheers
    Veera

  • Xpath condition in Receiver Determination

    Hi  Gurus -
    I want to implement a condition, For QUALF=01 AND ORGID=ORG1, then only it should go to some receiver and otherwise some other Receiver.However when i implement this using context object/Xpath, The condition happens to be true which should not be true for following structure as No segment contain "QUALF=01 AND ORGID=ORG1".
    It happens to be true probably because one of the QUALF=01 and one of the ORGID=ORG1, however i doesnt want like that
    - <E1EDK14 SEGMENT="1">
      <QUALF>01</QUALF>
      <ORGID>ORG2</ORGID>
      </E1EDK14>
    - <E1EDK14 SEGMENT="1">
      <QUALF>02</QUALF>
      <ORGID>ORG1</ORGID>
      </E1EDK14>
    - <E1EDK14 SEGMENT="1">
      <QUALF>01</QUALF>
      <ORGID>ORG2</ORGID>
    Expert opinions are invited.
    Regards.
    Jeet,

    Hi Jeet,
    Your Condition should be as
    <b>/p1:ORDERS05/E1EDK14/QUALF=01 AND /p1:ORDERS05/E1EDK14/ORGID=ORG1</b>
    and not as <b>(/p1:ORDERS05/E1EDK14[QUALF="01" and ORGID="ORG1"] EX )</b>
    To acheive this,
    1. Go to condition editor in the RD
    2. Insert a new expression clicking on the + button at the top left.Now u will find the operation AND between the two condition
    3. In both the condition line select the respective XPath of the node and specify the matching condition.
    It should look like..
    Left Operand                                     OP    Right Operand
    /p1:ORDERS05/E1EDK14/QUALF       =           01                   AND
    /p1:ORDERS05/E1EDK14/ORGID        =          ORG1                 
    Regards
    San

  • Xpath expression in Receiver Determination

    Hi All,
    I have a condition where i need to check if WERKS is containg any value starting with IT , then i need to send this IDOC to the target.
    I tried to used the following expression \MARCM\WERKS = IT* in RD , but its not workin when i am sending an IDOC with value as IT03 or other values startign with IT .
    Any idea how to deal with such an issue...
    Regards
    Vinay P.

    Hi,
    Instead of
    \MARCM\WERKS = IT*
    Use
    \MARCM\WERKS ~ IT* 
    [dobule(~)]
    double(~)
    for your help
    http://wiki.sdn.sap.com/wiki/display/XI/XpathConditioninReceiverDetermination
    regards
    Ramesh

  • Using Xpath in Receiver Determination for greater than 500

    Hi,
    I am trying to use Xpath in the receiver Determination step and I want to check a field which is at item level and comes multiple times(0-unbounded) greater than 500.I tried with different options per SDN blogs,Xpath functions,but still I couldn't able to get what i am trying.I want to process the message when "quantity" is greater than 500,else I want to ignore the message with no errors.
    I gave like this    /p1: /LIST/item[quantity>499]     EX
    item loop is 0-unbounded and I need to check for every quantity.I selected the check box multi line as well.
    I played around different options,but still did not get what I am looking for.
    please suggest in this regard ,how I need to give the expression.
    Thank you,
    Sri

    Hi,
    For validating that the item field is occuring more than 500 times you need to choose the
    2.The exact XPath would be in your case *(/p1: /LIST/itemquantity[499]EX)*
    This means if the 500 th occurance of the item exists then the condition satisfies that is always true for 500 and above occurance of the item.
    Please revert if the suggestion proves to be helpful.
    cheers,
    Abhishek.
    Edited by: Abhishek  Paul on May 6, 2010 10:55 PM
    Edited by: Abhishek  Paul on May 6, 2010 11:02 PM
    Edited by: Abhishek  Paul on May 6, 2010 11:08 PM

  • Receiver determination - Xpath expression problem with count

    I am working with a scenario where I pick up records from a JDBC connection and if the number of records I pick up is less than a certain number I want to call a webservice.  If it is greater than the number I want to write out a file to be processed by a different process on the receiving end.  I have created the receiver determination condition with the following conditions:
    (/p1:MT_HOG_Data/row[count(row) > 3] EX)
    (/p1:MT_HOG_Data/row[count(row) <= 3] EX)
    The integration is always processing the second condition no matter how many records come in.  I have tried with and without the multiline option.  Can anyone help with this?
    I have searched through the forum and checked the following links without any resolution:
    http://wiki.sdn.sap.com/wiki/display/XI/XpathConditioninReceiverDetermination
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/ab/13bf7191e73a4fb3560e767a2525fd/frameset.htm
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    I can't find any examples where a count of records is checked in the expression editor.  Thanks in advance for any help.

    You can not use the EX operator in that case, because that is used only for node existence checks, not for value checks.
    Do you have a row number in your structure ? Then you could write the xpath expression with that counter tag and value
    Example: you want to send to receiver A if count > 3, else to B:
    you set  /rowNumber EQUAL 4 for sender A
    and /rowNumber NOT EQUAL 4 for sender B
    The condition is applied to the whole document. If one of the node/values are true for that condition, then the whole condition is set to true.
    Problem with that is that the second condition also will be true because nodes for that condition will be found
    better would be to have a rowcount tag in the structure. If that is not possible, you can use the "Enhanced Receiver determination" where you can define a mapping which determines the receivers. There you can do anything complicated you want.
    CSY

Maybe you are looking for

  • Account assignment for Movement type 561

    Dear Professionals Hi, I am new to SD. Pls give me ur advice. In my environment, MB1C:"Enter Other goods Receipt" -> Journal: "dr.Inventory/cr.COGS" (Movement type: 561) VL01N:"Outbound Delivery Create" -> Journal: "dr.Inventory/cr.COGS" (Movement ty

  • Viewing Multiple screens

    How do I see 2 screens side by side?

  • Return receipt for the purchase order through mail

    Hello Friends, Can anybody tell me How to receive the return receipt for the purchase order through mail.

  • User home directory at /var/imap is unavailable

    We're running a single 10.5.7 server and recently migrated our mail to a new location from the default /var/imap and var/spool/imap. Since that time, I've been seeing the following log entries pop up when a user attempts to log in to the mail server.

  • MSO image sequence issue

    Hello, I've been having some issues with some MSO image sequences in my article. I have a few autoplay MSO image sequences that works perfectly in the desktop viewer, but won't seem to play on the iPad. I have Adobe Content Viewer v32.4.2. The weird