Condition editor in Receiver Determination

Hi,
How to check for the XPATH value for null, My scenario is i have to assign the receiver depending upon the XPATH value and i need to assign a receiver if the node does not exist.
thankx,
Shree

Hi Shree,
Use EX - Exists function in the Receiver Determination.
for more-
http://help.sap.com/saphelp_nw2004s/helpdata/en/67/49767669963545a071a190b77a9a23/frameset.htm
Hope this helps,
Regards,
Moorthy

Similar Messages

  • 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

  • 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

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

  • Other ways to maintain conditions in the receiver determination

    Hello Guru's,
    are there other ways to maintain condition in the receiver determination? i'm filtering idocs coming-in from a certain business system going out to a particular receiver system using XPATH (RCVPRN in the IDOC) from the receiver determination..... however, this is well easy to maintain if there are only 5 values to filter, but now i'm already maintaining 100+ values in the condition which made me think not its not already a good solution.
    i've already thought of using ERD's as another approach, but this Receiver determination object is being used also by other SCV's and scenarios as well which i think will make confusion to other solution owners as they will not have visibility in my SCV.
    Any thoughts/suggestions/recommendation/comments will be highly appreciated.
    Thanks so much!

    >
    Allerin wrote:
    > Hello Guru's,
    >
    > are there other ways to maintain condition in the receiver determination? i'm filtering idocs coming-in from a certain business system going out to a particular receiver system using XPATH (RCVPRN in the IDOC) from the receiver determination..... however, this is well easy to maintain if there are only 5 values to filter, but now i'm already maintaining 100+ values in the condition which made me think not its not already a good solution.
    >
    > i've already thought of using ERD's as another approach, but this Receiver determination object is being used also by other SCV's and scenarios as well which i think will make confusion to other solution owners as they will not have visibility in my SCV.
    >
    > Any thoughts/suggestions/recommendation/comments will be highly appreciated.
    >
    > Thanks so much!
    guess you already have tried the only two solutions
    1. xpath evaluation
    2. Enhanced RD
    On a maintenance front xpath eval vs ERD, is a tough call to take unless that your routing logic is complex in which case ERD would be a better option.
    I guess it would be a call for you to take and figure which is much simpler and easy to maintain and most of all readable

  • Problem with condition editor in Interface determination

    Hi,
    I have 5 receivers for an interface. There are some conditions based on which the message should be processed.
    one of my condition is:
    If field A = CIT* and (field B != IDP or field C != IDP*) then message should be processed to a particular InterfaceMap(Messaeg Map).
    I am facing problems when giving the condition with != in the condition editor of InterfaceDetermiantion.
    When I send a message that is not satisfying the above condition, even then an output file with 0kb is getiitng created. But in this case, the condition should obstruct the message going to Message mapping.
    I thought this could be the problem with != operator in condition editor.
    Can any one suggest if there is any other way that i can proceed.
    Thanks in advance,
    Minisha.

    Hi Suraj,
    Thanks for the suggestion.
    But it didnt work for me.
    Even when i give empty-message handling to ignore, the empty file is getting generated.
    Not even the condition is working.
    I tried only giving (field A u2248 CIT* AND field B != IDP EX ), which should work in this case. As expected, the message is not processed beyond this as the condition is false. But problem is when i tested with other testfile with which the condition given is true, still the message is not being processed. it is now completely obstructing the message even if the condition is true.
    Thanks,
    Mnisha.
    Edited by: Minisha Uthaman on Sep 10, 2009 4:12 PM

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

  • Receiver determination based on target msg???

    Hi All,
    Is it possible to do a receiver determination based on some field present in target msg. I know I can do the same if the field is present in source msg with the condition editor in receiver determination. But this will not help my scenario. I need to find the receiver based on a field in target msg. Is it possible?? If so, can u pls explain it???
    Thanks & Regards,
    Jai Shankar.

    Jai,
    Am on Sp14 and have not had the chance to try it out.
    but, <b>I dont think you will need a extra Receiver Determination for the Enhanced Receiver Determination.</b>
    What I understood out of that blog was that the  Interface mapping between Source Interface and Receiver Interface  will determine the receiver. So, you fill in the reciver service field with the actual receiver and this value will be taken as the receiver.
    The Receiver Interface will be taken from the SAP basis SWCV.
    http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/frameset.htm
    Regards,
    Bhavesh
    Regards,
    Bhavesh

  • Receiver Determination: Contextobject to choose when BPM sendcontext

    Hi everybody,
    I set the send context in BPM on a send step. I want to use the condition editor in receiver determination.
    Which contextObject is to choose in the condition?
    There are so many. I searched the help and found nothing suitable.
    Thanks
    Regards
    Mario

    Try Out Path In receiver Determination Expand the Source structure ...And Select the Appropriate Field on which You want to place the condition..
    If you want to use Context Object You need to create It In Integration Repository based out of message Interface and then Use it over here.
    Hope This Helps
    BR
    Sainath
    Edited by: Sainath Chutke on Jan 23, 2009 1:44 PM

  • Regd. Receiver determination when we have 1Bsystem&1Bservice

    Hi All,
    I am trying to do reciever determination based on one element in the input Message.
    Its works fine if i set a condition and based on that send it to one of the business Services
    But i have one business system and one business service and i have to route the message based on some feild in input as i said above.
    In reciver determination condition .. i found we can assign only Bservices as target.Cant we give Business service there ?
    If not ,does it mean Receiver determination condition works only for business services.
    What are the possible solution to my problem as i have to route to either the business sys or the service which i have.
    your inputs will be valuable
    Srini

    Hi All,
    Thanks for your inputs ,infact after seeing the services titile in the condition editor in receiver determination i thought its only for business services.
    But as you all suggested its possible to select business systems also.
    Services include both Business service and systems.
    Thanks once again
    Regards,
    Srinivas

  • 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

  • Receiver Determination and Interface Determination Condition conflict in ICO

    Hi,
    I found a strange issue today while configuring two receivers using the Receiver and Interface Determination conditions.
    Sender - Proxy Service
    Receiver1 - ReceiverA
    Receiver2 - ReceiverB
    Receiver Determination Condition : When Field1 = 100, message should flow to ReceiverA and ReceiverB
    Interface Determination Condition (ReceiverA) : When Field1=100 and Field2=50 message should flow to a specific interface in ReceiverA
    There is no Interface Determination condition for ReceiverB, for all messages having Field1=100, it should go to ReceiverB.
    Test Scenarios:
    1) Field1=100, Field2=50 : Message flows successfully to ReceiverA and ReceiverB
    2) Field1=100, Field2=89 : Message fails to process from ECC itself throwing Interface Determination not found error. Ideally this is a positive scenario for ReceiverB and it should send the message to ReceiverB without any errors. But, this did not happen in this case
    I tried the same by configuring the conditions completely in Receiver Determination itself without using the Interface Determination, it worked perfectly fine. But, just wanted to understand that if this is an expected behavior.

    Hi Sherin,
    As there are two receivers Receiver A and Receiver B.You need to create two bussiness components and two communcication channels for two receivers and one Reciver Determination, two Interface Determination,two Receiver Agreement.In Receiver Determination you need to keep the below and condition.
    In the above screenshot the two receiver are Receiver B and Receiver C and Field 1 is Key_Value and Field2 is Emp_ID.
    If the Key_Value=100 and Emp_ID =22 then the message should go to both the receivers B & C by keeping the following AND condition
    If the Key_Value=100 and Emp_ID is not equal to 22 then the message should go only to Receiver B by keeping the following condition
    You need not keep any condition in Interface Determination just create 2 Interface determination for two receivers.
    Hope this helps you.
    Thanks,
    Durga.

  • Receiver Determination conditions

    Hi All
    We have a scenario where a IDOC is trigerd in the ecc system and multiple IDOC is send to the XI system. Only when a certain field is 3  char or 5 char or 7char long should the file be dumped on the server. Is is possible to have a condition in the receiver determination to say if the field is between 100 and 999 or between 10000 or 99999 or between 1000000 and 9999999 to only create the files?
    Any help will be appreciated.

    hi,
    Its quite easy to achieve this requirement.
    You can edit the xpath in the Recv. Determination and then in combination with xpath standard functions achieve this.
    have a lo0k at my blog - Customise your 'XPATH' Expressions in Receiver Determination
    Also for xpath functions ref: http://www.w3schools.com/Xpath/xpath_functions.asp

  • ** XPath condition not work well in Receiver Determination.

    Hi,
    My scenario is having 3 receivers. I have 'Student' is the data type. I use the same data type for Source & Target Message Types. Requirement is I have to send
    1) only records which are having SCOURSE = 'BE' to receiver 1
    2) only records which are having SCOURSE = 'MCA' to receiver 2
    3) only records which are having SCOURSE = 'MBA' to receiver 3
    My Input.xml file contains the following records.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:THIRD_MT_OB xmlns:ns0="http://ganesh_third">
       <STUDENT_INFO>
          <ST_ID>10020</ST_ID>
          <SNAME>Raja</SNAME>
          <SCOURSE>BE</SCOURSE>
          <SFEES>3000</SFEES>
          <SMARKS>1200</SMARKS>
       </STUDENT_INFO>
       <STUDENT_INFO>
          <ST_ID>10021</ST_ID>
          <SNAME>Ram</SNAME>
          <SCOURSE>MCA</SCOURSE>
          <SFEES>3000</SFEES>
          <SMARKS>1200</SMARKS>
       </STUDENT_INFO>
       <STUDENT_INFO>
          <ST_ID>10022</ST_ID>
          <SNAME>Ram</SNAME>
          <SCOURSE>MBA</SCOURSE>
          <SFEES>3000</SFEES>
          <SMARKS>1200</SMARKS>
       </STUDENT_INFO>
    </ns0:THIRD_MT_OB>
    I set the Xpath condition in the Receiver Determination Step and add the 3 receivers for against the conditions.
    Our problem is, If we send the single record in the input file, the corresponding receiver is selected correctly and we get the output file for that receiver. But, if we send the all combination of records (MCA,BE,MBA) 3 receivers are selected and the 3 output files we get. But, the three files are having the all records (MCA,BE,MBA). Instead, we want the first file should only have MCA record,  the 2nd file should only have BE record and finally the 3rd file should only have MBA record. That means each receiver should receive only one record for the above input.
    Friends, I though it will work for the 'XPath Expression' against receivers in the Receiver Determination Step. But, it didn't work. (Records are not split up)
    How do achieve this, friends?
    Could you kindly help me to solve this problem.
    Kind Regards,
    Jeg P.

    If you are trying to split you input msg and send it  to 3 different receivers using conditional receiver determination then it will not work. Once a condition is meet in the receiver determination then the entire msg is forwarded to the corresponding receiver, that is why when you have a single row in your input file which results in a single msg in XI the conditional receiver works. Now when you have multiple rows in your input file still only one msg is being created in XI for all the rows currently so all the conditions are being meet and the msg is forwarded to all the receivers.
    If you are using FCC in the sender side then use the "recordset per msg" parameter to consider each row of your input file as a separate msg in XI and the rest will automatically fall in place.
    Cheer's

  • Receiver Determination-Condition not working

    Hi all,
    It is simple iDoc to File scenario.  I have two receivers based on a condition in the receiver determination.  I am getting all data into both receivers without executing the condition. 
    Below is the condition.  Any idea why this is not being executed?  Thanks for your help.
    (/ZGENERIC_OUTBOUND01/IDOC/Z1GENERIC_SDATA/SDATA = '1C')
    (/ZGENERIC_OUTBOUND01/IDOC/Z1GENERIC_SDATA/SDATA = '1B')

    >   <?xml version="1.0" encoding="UTF-8" ?>
    > - <ZGENERIC_OUTBOUND01>
    > - <IDOC BEGIN="1">
    > - <EDI_DC40 SEGMENT="1">
    >   <TABNAM>EDI_DC40</TABNAM>
    >  ......
    >  ......
    >   </EDI_DC40>
    > - <Z1GENERIC_SDATA SEGMENT="1">
    >        <SDATA>1C</SDATA>
    >   </Z1GENERIC_SDATA>
    > - <Z1GENERIC_SDATA SEGMENT="1">
    >        <SDATA>1C</SDATA>
    >   </Z1GENERIC_SDATA>
    > - <Z1GENERIC_SDATA SEGMENT="1">
    >        <SDATA>1B</SDATA>
    >   </Z1GENERIC_SDATA>
    >   </IDOC>
    >   </ZGENERIC_OUTBOUND01>
    You cannot have both the conditions in same IDOC at the same time. Like here in the above example you have 1C & 1B both, so in this situation it will not work.
    Just for testing either remove 1C or 1B and then test. I am sure it will work.
    You cannot send the same payload at the same time based on two different conditions to 2 different receivers except you put 'OR' in your conditon for 1C & 1B. But in this situation message will go to both of the receivers which you don't want here.
    Regards,
    Sarvesh

Maybe you are looking for