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

Similar Messages

  • IDoc to IDoc - conditional receiver determination issue

    Hello All,
    We are using XI 3.0 and this is my scenario:
    Sender: IDOC from SAP system
    Receivers: There are 2 receivers (one SAP and one non sap system).
    I want conditional receiver determination based on the idoc field RCVPRN.
    Integration Repository: I imported standard SAP IDOC FIDCC2 into IR and it is in "urn:sap-com:document:sap:idoc:messages" namespace of my SWCV. I am not creating data types, message types or message interfaces as I want to use the IDOC type directly as the interface name in Integration directory.
    Integration directory: When I am creating receiver determination, I am getting a warning 'Message interface does not exist in any software components installed on this business system'. When I got to condition editor and want to choose the idoc field RCVPRN using XPATH, it is not showing the idoc structure.
    In SLD, the correct product is installed on my sender ABAP technical system, and correct SWCV (into which i imported the IDOC) is installed on my business system. I refreshed cache and cleared SLD cache in ID. Still i get the same warning 'Message interface does not exist in any software components installed on this business system'.
    How can i solve this issue? Any help is highly appreciated.
    Thanks,
    Chandra

    Hi Chandra,
    Can you check whether you have assigned or linked the SWCV with the Business system in SLD.
    Just go to SLD and open the SWCV and check if it is linked with the BS od the sender system.
    Since the sender is ABAP, you must have created the TS and BS using rz70, then see that that the SWCV is attached to the BS correctly. Under TS add the Product and then the corresponding SWCV.
    Also check one thing: are u selecting the correct Communication component, under which the Interface is present.
    Lastly if these doesnot work: In Integration Directory, Go to Environment-> Clear SLD Data Cache. Then try once again.
    Cheers,
    Souvik
    Edited by: Souvik Chatterjee on May 16, 2011 3:39 PM

  • 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

  • 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

  • Receiver Determination Condition and XPATH

    Hi Everyone,
    I have a receiver determination with conditions and can not figure out why one thing is working, and the other isn't.
    As suggested in the following forum post, XPATH and RECEIVER DETERMINATION, I had to do the following to my XPATH expression to make it work.  The full xpath expression is this:
    (/p1:RenExtract_MT/Detail/CompanyCode = 9740)
    where
    p1 = http://company.com/xi/fin/
    but whenever I put in a condition it could not find a receiver.
    Hoewver, when I did this:
    //CompanyCode
    it worked.
    I did everything through the condition editor, many times, and didn't type anything in myself.  Is there a length limitation or something (I removed some data in here, the expression is really longer!).
    Any ideas?
    Peter

    Hi Peter,
    I do not have an explanation for this wired behaviour.
    But I can assure your, that your working solution, the //something expression is a good one and not inferior to a solution using an explicit, absolute path.
    Why is that: I can remember some benchmarks, where the //something expression always outperformed the other one.
    Regards
    Gregor

  • 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

  • Receiver Determination, condition to select receiver doesn't extract values

    Dear all!
    I have SAP PI 7.1
    I am facing problem in Receiver Determination while using Condition to select receiver based on the values in the payload.
    I need, if Identificador = 1 then receiver BC_1 and if Identificador = 2 then the receiver BC_2
    My payload has the value:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:p1="http://pruebas.endesa.es/AME4S_2">
      <soap:Body>
        <p1:MT_WS_SENDER_Q>
          <IDENTIFICADOR>1</IDENTIFICADOR>
          <OBJECT_ID>7600000009</OBJECT_ID>
        </p1:MT_WS_SENDER_Q>
      </soap:Body>
    </soap:Envelope>
    But, the trace shows following:
    <Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:MT_WS_SENDER_Q/IDENTIFICADOR </Trace>
    <Trace level="2" type="T">......extracting values found: 0 </Trace>
    I tried with double quotes, simple quotes, without quotes...
    I tried too with a Receiver Rule (with context) and local rule with xpath....
    Can someone please advise?
    Thanks in advanced!!

    Hello,
    /p1:MT_WS_SENDER_Q/IDENTIFICADOR = 1
    Can you try //p1:MT_WS_SENDER_Q/IDENTIFICADOR = 1 ? I'm sure I read it somewhere here in SDN regarding the xPath difference for stateless and stateless XI 3.0 compatible version is an additional /. It's worth to try
    Hope this helps,
    Mark

  • Condition Receiver determination

    Hi,
    I have a input structure something like this...
    RECORD
    HEADER 1..1
       H1
       H2
       H3
    ITEM1  ( 1...Unbounded)     
       I1
       I2
       I3          
    ITEM2 
       I1
       I2
       I3     
    ITEM3
       I1
       I2
       I3          
    I have 2 receivers for this scenario, based on I2 value ( 2nd field of Item segments), I need to by pass this information to corresponding receiver. Something like if I2=A then map the message to Receiver1 and of I2=B then map the message to Receiver2. an we achieve the same in XI. If yes, can you guide the same.
    Note: I have two different mappings for the two receivers.
    -Esha

    Thanks for the quick reply....I have 2 receivers configured in Receiver determination, say R1 and R2.
    I dont have any conditon on R1 system. But for R2, based on some value from input message it should be routed to corresponding interface mappings. I have placed a condition in Interface determination.
    NOte: I have two mappings ( 2 interface determinations) for R2 itself.
    I have tried with the same condition stuff with RD and ID..but still its not working. only my R1 stuff is working...did I miss anything here? Can you help me out.
    -Esha

  • 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

  • Receiver determination Condition. XPATH suggestion

    Hi All,
    I got a condition to put in receiver determination like..
    Condition 1 --> System_A
    //ZORDER03/IDOC/E1EDKA1(PARVW='LF')/ILNNR = SA       AND
    //ZORDER03/IDOC/E1EDKA1(PARVW='LF')/PARTN = 0000050570      AND
    //ZORDER03/IDOC/E1EDKA1(PARVW='WE')/LIFNR = 1433            AND.
    It it satisfies above condition, message should goto System_A
    Condition 2 --> System_B
    //ZORDER03/IDOC/E1EDKA1(PARVW='LF')/PARTN # 0000050570      AND
    //ZORDER03/IDOC/E1EDKA1(PARVW='WE')/LIFNR # 1433           
    The values will be coming differently for E1EDKA1(PARVW='LF')/ILNNR like XMl,KNF,DHD,File etc apart from 'SA'.
    It is working correctly only for 'SA', not working for remaining values.
    Is there any simple way to insert this conditions? Kindly suggest.
    Thanks
    Deepthi.

    Hello,
    Kindly check the below condition, assuming PARVW, ILNNR, PARTN are under same parent node i.e. E1EDKA1:
    For System A:
    //ZORDER03/IDOC/E1EDKA1[( (PARVW = 'LF') and ((ILNNR = 'SA') or (PARTN = '0000050570'))) or ((PARVW = 'WE') and  (LIFNR = '1433'))]  EX
    For System B:
    //ZORDER03/IDOC/E1EDKA1[not (((PARVW = 'LF') and ((PARTN = '0000050570'))) or ((PARVW = 'WE') and  (LIFNR = '1433')))] EX
    -Rahul

  • Conditional Receiver Determination

    Hi Friends,
    From Proxy i send a field to XI. Using JDBC lookups i have mapped in such a manner that if the content of the particular field exists in the Oracle Table i send the incoming field content to receiver field.
    But incase the field doesn't exist in the table i am mapping some constant to the target field so that can need to identify during receiver determination. If the particular constant is received then i need to call a different Comm Channel -- mail adapter and trigger an email.
    In normal cases the Com Chn with JDBC adapter will be the receiver.
    One input file to XI -- but based on validations two diff C channels has to be used .
    I am trying to use enhanced receiver determination at Receiver determination.
    But where to check the content of the target
    field ?
    Please tell me how to do this.
    Regards
    Ramesh

    HI
    You are using Enhanced receiver determination. In this you dont get option to select receiver. As here you can select while mapping
    http://help.sap.com/saphelp_nw70/helpdata/EN/43/a5f2066340332de10000000a11466f/content.htm
    Option to select receiver service will come under standard receiver determination.
    Now to satisfy the requirement. you have done multi mapping right ? then you have 2 target message and hence two message interfaces. You can use enhanced receiver determination and there you will be having more than one mapping in Receiver determination which will carry service name. Set the condition for this constant there and let the mapping execute. Use appropriate names for the service in mapping. This will work only difference here is instead of receiver determination you can pass service name from mapping.
    Thanks
    Gaurav
    Edited by: Gaurav Bhargava on Oct 25, 2008 3:30 PM

  • Receiver determination Condition on Payload

    Hi,
    We are working on File - RFC - MQ Asynch -Synch Scenario without using the BPM.
    I will pick the file, and Based on file name I will get the MQ information, and pass the data to that MQ.
    For EX:-
    File name [ test_123], RFC returns the MQ name is Test_123.
    File name [ Test_234], RFC returns the MQ name is Test_234.
    File name [ Test_345], Rfc returns the MQ name is Test_345.
    File name also I am getting dynamically.
    So my question is, how can I maintain the condition on receiver determination.
    I think sender payload we can't maintain the condition.
    Is there any chance to maintain the condition on receiver payload...
    Please give me the solution.
    Thanks,
    Anu.

    You'll have a set of possible receiver Business Services?
    Also, is the RFC used just for looking up the mq name?
    If that's the case, I'd recomend using rfc lookup in the mapping + dynamic configuration for dynamic determination of the mq.
    If it won't meet your requirements, then I'd say rfc lookup + enhanced receiver determination.
    Avoid the async/sync bridge (it seems unecessary here, given that the sole purpose of the rfc is to return the file name).
    Regards,
    Henrique.

  • XI - Receiver Determination Condition not working

    I created a Condition on my Receiver Determination to stop some messages from being sent based on a field in our message.
    It works when using some test tools (workbench, SOAPUI, etc) but not when coming from our MDM system.  The beginning of the input message looks like what is listed at the bottom of this message(and it works).
    But when coming from MDM the one node looks like this  - there is no colon ( after the xmlns.
                   <YMDMB_CREMDM xmlns='http://intel.com/MDM/BUPA/Vendor'
    without the colon ( the condition does not work;  with the colon it does work.
    the sending system is not able to add the colon. 
    Does anyone know why the colon matters and what we can do to get around it in XI ??
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Receiver Grouping -->
    <YMDMB_CREMDM xmlns:='http://intel.com/MDM/BUPA/Vendor' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <IDOC BEGIN='1.0' xmlns=''>

    below is the beginning of the XSD from the IDOC (it is custom but based on a SAP one  - just added a few fields)
    I also put the start of the input message below that.
    also to make sure I was clear, if all we do is change this node of the input message by adding a colon after the xmlns everything works.
                   <YMDMB_CREMDM xmlns='http://intel.com/MDM/BUPA/Vendor'
    thanks
    begging of XSD from IDOC
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <xsd:element name="YMDMB_CREMDM">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element name="IDOC" type="YCREMDM.YMDMB_CREMDM" />
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
         <xsd:complexType name="YMDMB_CREMDM.E1BPADTTX">
    here is beginning of input message
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Receiver Grouping -->
    <YMDMB_CREMDM xmlns='http://intel.com/MDM/BUPA/Vendor' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <IDOC BEGIN='1.0' xmlns=''>

  • Conditional Receiver Determination Through Integration Scenario

    Hi
    My question is "Is  it possible to generate conditional receiver detrmination through integration scenario?"
    If yes then how?
    Thanks and Regards
    Sami

    Hi Biplab,
    Yes , there is lots of modification in PI 7.1. and we start using it, you will come to know. In this TechEd at banglore , i did hands on the Mapping and it was really good experience, When i started configuring ID, i came to know some powerful ways, and yes i am really looking forward to working on it. Actually, as you know when we configure everything in ID, it becomes complicated, that is rectified thr and also some additional features. Pretty faster than PI 7 we using. also configuration in some extend is automated, we doen't need to bother to configure some of the steps :).
    Also you must know that, it added a concept of ESR for IB. Just have a look on some of the PPT for PI 7.1 and you feel it :).
    Aashish

  • 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

Maybe you are looking for

  • SATA DRIVES NOT SHOWING IN SYSTEM PROFILER

    Hi. Thanks for reading this. I found out that my SATA drives do not appear in my System Profiler. I am running OS 10.4.7 on a PowerMAC G4 Dual Gig 2002 Quicksilver with 3 hard drives: - TWO 250 GB SATA Drives (Both partitioned into 3 sections: 132 GB

  • Problems with iTunes Version 6

    Please forgive me if this is a repeat of any kind. I searched on this issue and received way too many responses (mostly irrelevant!). When I try to launch certain radio stations in Version 6. It is sometimes difficult to even bring th station up. I s

  • Acrobat 11 extraction

    I can't get acrobat 11 standard to extract and load

  • Data Pump data compression

    We are seriously looking to begin using data pump and discovered via a metalink bulletin that data pump does not support named pipes or os compression utilities (Doc ID: Note:276521.1). Does anyone know a work around for this or have experience using

  • Neo4 Ultra Plat. / Opty 175 / Corecenter 2.0.2.1 errors on boot :(

     Heya., Been running my Neo4 Ultra Plat. since they first came out. This is a PCB v1.0. Thought i'd pop a Opty 175 in it and test drive it. It's running the latest 1D bios and all the most recent drivers. It's really odd Corecenter installs fine and