Receiver Determination -- Expression Editor is empty

Hi all,
Scenario is the following:
SAP (RFC) sends data to XI (3.0), XI sends it to Oracle DB (stored procedure)and gets back the return-message from Oracle, then forwards it to SAP (RFC). (Inbound Synchronous). Everything works well.
Now I'd like to add just a condition to the existing  Receiver Determination and here's my problem:
Receiver Determination --> Conditions --> Left Operand --> Expression Editor (there's no structure, everything empty!) I've even refreshed xi cache etc. No success!
Could you please help me? All kind of suggestions / documentation are welcome!
Thank you in advance!
Greetings from NC
Khaled

Hi all,
Thank you very much for your suggestions. FYI, I've done the followings:
- Did clear SLD cache and 'Complete Cache Refresh' (TA:sxi_cache).
- Did insert manually an xPath expression --> getting errors.
- Did add the SWCV of Sender to the Receiver and vice versa (in SLD) --> so there's a link between both.
Still not working and getting the message in Integration Builder: "Message interface no longer exists in the Integration Repository."
I'll appreciate any further suggestions.
Have a good time!
Regards
Khaled

Similar Messages

  • Receiver Determination - condition editor

    Hi,
    I have a receiver determination which receives files and the filename determines where the file is sent/routed. I am using the condition editor for this functionality and need some help. The filename contains the following format 'xxxxxx010xxx20070101.out' where xxx represents different codes depending on the extraction. I used the following in the condition editor:
    ++++++010* I understood each + to represent a character. This is not working, any ideas?
    Thanks,
    Leanne

    you can utilize XPATH functions in your conditions to acheive the same.
    Try to take the help of the following weblog and maybe the string functions of xpath to achieve your results.
    ref:
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    http://www.w3schools.com/xpath/xpath_functions.asp#string

  • Condition receiver determination: Condition Editor

    Hi,
    I have to ruote the message to multiple receivers based on source filed value. 
    1) If FIELD-A = 1 or 2 or 3, we have to send it to RECEIVER-1
    root/FIELD-A = 1 or root/FIELD-A = 2 or root/FIELD-A = 3 = RECEIVER-1
    2) If FILED-A # 1 or 2 or 3 (anything other than 1,2 and 3), we have to send it to RECEIVER-2
    3) No matter what the FIELD-A value (1,2,3,4, anything), we have to send it to RECEIVER-3
    I have configured it in condition receiver determination:
    Conditions 1 and 3 are workign fine, but how do I make condition-2 work?
    I have tried to give root/FIELD-A # 1 or root/FIELD-A # 2 or root/FIELD-A # 3 = RECEIVER-2, It didn't work, even if the value is 2, message is being send to RECEIVER-2.
    How define 2nd condition in condition editor?
    Thanks in advance,
    Riya Patil

    Hi Riya,
    Please give following condition and check.
    (/BOL[(Revision != '1'and Revision != '2' and Revision != '3')]) EX
    Also if you are not able to see Message type in XPATH, please check if that software component is present in corresponding technical system of source busniess system in SLD.
    Once you see messagetype in XPATH, just select corresponding Revision Field in XPATH Editor and give above condition. Operator should be exists.
    Let me know if you face any issue.
    -Gouri

  • Receiver Determination Condition Editor - How to base xpath on index

    Say source message is an IDOC which has the E1EDK14 segment repeated:
    example:
    E1EDK14-QUALF=006
    E1EDK14-ORGID=01
    E1EDK14-QUALF=007
    E1EDK14-ORGID=02
    I need to route this to System1 if ORGID=01 where corresponding QUALF=006 and System2 if ORGID=02 where corresponding QUALF=006.
    Regular condition as follows does not work because it does not take into account that the two fields should be on the same index. Following routes it to both because ORGID=02 exists as well when QUALF=006 though on different index.
    (/INVOIC02/IDOC/E1EDK14/QUALF = 006 AND /INVOIC02/IDOC/E1EDK14/ORGID = 01) - System1
    (/INVOIC02/IDOC/E1EDK14/QUALF = 006 AND /INVOIC02/IDOC/E1EDK14/ORGID = 02) - System2
    How to incorporate the index in the condition so that above logic goes to a particular system when the corresponding QUALF and ORGID on same index (or node occurence) only satisfies?

    Hi
    This has to work (this is the syntax)
    /INVOIC02/IDOC/E1EDK14<QUALF = 006>/ORGID = 01  (or any value)
    the < angular brackets > have to be considered as square bracktes [ ]
    the editor does not represent sqaure brackets correctly in the code above
    other additional info for trials
    you can try giving single quotes etc (like '006')
    first make it work for a direct condition, then try the above with similar syntax
    Regards
    Vishnu

  • Receiver Determination conditon issue

    Hello All,
    I have a scneario where I need to send only Division type A, scenario is IDOC to File
    IDOC
    Filed1 <J>  
    Field1 <A>
    Filed1 <C>
    </idoc>
    When I see in SXMB_MONI I see all the records in the payload in receiver determination (Where the receiver determination condition executed).. And the output file contains Field value J instaed of A.. I mapped IDOC to Row in MM.
    AS I understood by using receiver determination condition editor we will eleminate the unnecessary records and foward to MM??
    Please give your suggestions.
    Thanks
    Rajeev

    > IDOC
    > --
    > --
    > Filed1 <J>  
    > Field1 <A>
    > Filed1 <C>
    > ..
    > ---
    > </idoc>
    >
    > When I see in SXMB_MONI I see all the records in the payload in receiver determination (Where the receiver determination condition executed).. And the output file contains Field value J instaed of A.. I mapped IDOC to Row in MM.
    You should filter out the unnecessary records( in your case non-A ones ) via your Message mapping.
    >
    > AS I understood by using receiver determination condition editor we will eleminate the unnecessary records and foward to MM??
    The receiver determination condition helps to decide whether to send the data to receiver based on the incoming data payload field coming in the msg.
    Lets say, you have defined a condition in RD as _field1 = A _ , so every msg which contain even a single Field1 as "A" will go to the receiver system.  If there is not even a single "A" for field1, the msg wont go to the receiver system.
    Let us know if you still have some doubt about RD condition.
    Pooja Pandey
    Pooja Pandey

  • XPath Expression at Condition Editor in Receiver Determination

    Hi,
      I have a fixed length flat file coming in into which I have to look at the first line's 4th to 7th positions. Based on that if it is "1234" then I need to route it to the receiver else I will ignore in the receiver determination.
    Example input file -
    M 0123456789ABCDEFGHIJKL
    PR0123456789JIDFJDIFJD0244
    PA0123456789JFDJF9384384K
    We have module configuration where we are converting this to a line value pair something like this -
    <?xml version="1.0" encoding="utf-8"?>
    <ns:GMTLog xmlns:ns="http://sap.com/xi/GMStoreConnectivity">
        <Line>
            <Value>M 0123456789ABCDEFGHIJKL
            </Value>
         </Line>
          <Line>
            <Value>PR0123456789JIDFJDIFJD0244
            </Value>
          </Line>
           <Line>
            <Value>PA0123456789JFDJF9384384K
            </Value>
          </Line>
    </ns:GMTLog>
    When I tried to test my xpath in xpath tester it is working fine with the below xpath expressions -
    1. /ns:GMTLog/Line[Value][1] --> This returned the first record completely
    2. substring(/ns:GMTLog/Line[Value][1], 4, 4) --> This returned exactly what I am expecting "1234"
    But the above 2 are not working in condition editor.
    May I know the exact xpath expression to be used in this case to route the message to receiver when 4th to 7th position is "1234".
    Thanks a lot in advance.
    Regards,
    Sarat

    Good day. Can I please have some clarity on what I need to correct on my Receiver expression test.
    For the number of instances of the Summary segment, I am required to identify and test the Summary amount of SUMME if this is more than 5.00 (a currency amount). SUMME is a string so I thought I should convert this to a "number" value to test it.
    Also ensuring that SUMME is checked when the SUMID is equal to 011.
    Now I hope part of my solution below is correct, but the test of the field value is not being done.
    Please help.

  • Receiver determination wildcard in condition editor

    Hi experts,
    I have a question regarding the condition editor for receiver determinations on PI 7.1. I have an xpath expression on the left side and I need to have a condition on the right side that includes a certain pattern.
    One example:
    p1:myDocument/element = 1A2B*
    There I would want to read the xml element "element" and redirect to a certain communcation component if the value of 'element' starts with 1A2B.. regardless if its 1A2B3 or 1A2BC and so on.
    Is that possible? I tried like in the example to use * as a wildcard, but that didn't work.
    Any help would be appreciated.

    It should not be = operator ....it should be Contains Pattern Operator
    Refer: http://help.sap.com/saphelp_nwpi71/helpdata/EN/67/49767669963545a071a190b77a9a23/content.htm
    Regards,
    Abhishek.

  • 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!

  • How to compare two fields in condition editor in receiver determination

    Hello,
    Is it possible to compare to fields frrom the source in the condition editor of Receiver Determination?
    Because on the right hand operand we can specify only constants right and not the source field.
    For eg: If field1 != field2 then Reciever =  Receiver1
    Thanks,
    Loveena

    In standard receiver determination while defining the condition, you can only specify an element from the message payload using expression editor to create an expression for the left operand and you must specify a fixed value in the right operand, against which the value of the element will be compared at runtime. You can use only these (=,, ,EX) operators. So the functionalities are limited.
    so you have to use Enhanced Receiver Determination, In this Instead of creating the receivers in the receiver determination manually, you assign an Interface mapping to the receiver determination and this returns a list of receivers at runtime.
    refer this wiki for more details
    http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=133562771

  • 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

  • Xpath expression in Left and Right operand for Receiver determination

    Hi Experts,
    Is it possible to use an Xpath expression in both the Left and Right operand inside the Receiver determination e.g.
    (/Message/line/IDNumber = /Message/line/IDNo)
    Any help will be appreciated.
    Thank you,
    Brendon

    in standard receiver determination you  can only specify value for the right operand.
    that is  one of the reasons you go for enhanced receiver determination
    as mentioned in the sap help
       If you are using the condition editor to define receiver determinations or interface determinations, you can only use the expression editor to create an expression for the left operand. You must specify a value for the right operand.

  • Failed Receiver Determination on empty file

    I have seen suggestions matching the solution I have tried, but it is not working in my scenario.
    The scenario is an empty CSV file inbound to 3 receivers.  In the standard receiver determination,  I created a context condition for the 'SAP system' receiver, which uses RFC adapter.  The condition is:  'Sourcefilesize not equal 0'.  For an empty file, the 'SAP system' receiver should not be selected because it has mapping to the RFC structure.   The other 2 receivers are SFTP and file, and the client requires they receive the empty input file.
    I see the file size is captured in the dynamic configuration in the MONI:
    namespace:  XI/System/File.....name="Sourcefilesize">0<SAP:record...
    The error is: Problem while determining receivers using interface mapping:  Error while determining root tag of XML: BOM / charset detection failed.
    The system is PI 7.1, the sender comm channel is Advantco with namespace override and content conversion.  I have tried using file type 'binary' and type 'text', with UTF-8 encoding - results in the same error either way.  
    The file is coming from an external vendor - I do not believe they will make any changes to it, so hopefully this can be resolved in PI. 
    All suggestions are appreciated.  Thank you.

    Hareesh and Osman, thank you for your replies.
    I should have pasted the entire message.  When testing in the IB, it fails in receiver determination..
    ""Error when determining the receiver: Problem while determining receivers using interface mapping: Error while determining root tag of XML: BOM / charset detection failed Error while parsing an XML stream: &#39;BOM / charset detection failed&#39""
    Only the SAP system RFC receiver has message mapping - the SFTP and file receivers do not.  (I have changed only namespace and system names in screen below)
    Receiver determination -
    Interface Determination XXXX_D
    Interface Determination Archive_D
    Interface Determination SAP system

  • Condition editor in receiver determination does not show payload fields

    Hi !
    We are trying to create some conditions for the receiver determination in a RFC->XI->File scenario, but when we open the condition editor, under the XPATH option we do not set any payload fields to create conditions!!
    Any clues?
    Thanks,
    Matias.

    Hi,
    Check in SLD if your software component is installed on your business system and then clear SLD cache in ID.
    You will see interfaces assigned to your business system and also the payload fields in condition editor
    Thanks,
    Beena

  • Condition "not containing" expression  in Receiver Determination

    Hi guys,
    I have one interface which processes files with lines compossed by two fields, an identificator, and a data field.
    Inside the data field, i have a row of characters and I want to create this condition in the receiver determination:
    If Data contains text "e6212" then, receiver is X
    If Data does not contain text "e6212" then, receiver is Y.
    I know how to create the first condition, but not the second. Could anybody help me? Thanks in advance!

    Hi,
    The condition editor contains 'Contains Pattern (CP)':
    You use this operator to query a string with a pattern. You can use the following characters for this:
    ·        + for any single character
    ·        * for any string
    *mploymenttaxdeclarat+on annualemploymenttaxdeclaration.
    please read more here:
    http://help.sap.com/saphelp_nw04/helpdata/en/67/49767669963545a071a190b77a9a23/content.htm
    regards
    Vijaya

  • X-path expression in Receiver determination

    Hi,
    I am working on JDBC to SOAP interface using BPM in PI7.0.
    I am trying to use the XPath function in creating a condition in my receiver determination to route messages to two different business systems. My issue is that i could not find the JDBC message structure in x-path expression.
    Any one please can help me on this.
    Thanks In Advance!

    Hi,
         For x-path expressions in the receiver determination, you would not be able to choose the sender structure fields like you would do normally. You would have to provide the x-path manually, starting from the root node upto the required field.
    Regards

Maybe you are looking for