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=''>

Similar Messages

  • 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

  • Enhanced Interface Determination - does not work!

    Hi guys,
    well i have a scenario where i have done a multi mapping where MT_TYPSCH is generated for each new value which occurs in one special source field.
    <NO>1</NO>
    <NO>2</NO>
    <NO>3</NO>
    ..so three MT will be generated.
    Now i would like these messages devided to different Business Services where each one has on FTP-CC to write a file with a certain filename, e.g. File1.txt, File2.txt, File3.txt.
    Therefore i thought i use different receivers in Receiver Determination with using Conditions and pointing to a value in field with XPATH. So depending on field <NO> the message should be routed to the given receiver targets.
    I surely use the enhanced Interface Determination because i use multi mapping.
    But when i run test, i receive 3 files with different names but same content. For me the receiver determination is not working that good.
    Can someone help me on this?!
    source:
    <ZBC0>
    <IDOC BEGIN="">
    <EDI_DC40 SEGMENT="">
    <ZBC0 SEGMENT=""> 0...9999
    <NO>1</NO>
    <TYPE>1B20-6</TYPE>
    <SPEC>152J</SPEC>
    </ZBC0>
    <ZBC0 SEGMENT="1">
    <NO>2</NO>
    <TYPE>1B20-6</TYPE>
    <SPEC>152J</SPEC>
    </IDOC>
    </ZBC0>
    target:
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_TYPSCH> 1..1
    <TYPSCHRecordSet> 1..1
    <TYPSCHDetailsStruc> 1..unbounded
    <FELD1/> {represents content of <No>}
    <FELD2/>
    <FELD3/>
    </TYPSCHDetailsStruc>
    </TYPSCHRecordSet>
    </MT_TYPSCH>

    Hi Mario,
    ok here is my requirement.
    We get ONE IDoc in which several items are listed. These have one field <NO> which can have the values 1,2 and 3. Depending on this value the items should be collected and written to different files on FTP.
    My approach is that i divide all the items in mapping in different Message Types. This MT should be routet to different business services which has one CC to write on FTP.
    To get the items with e.g. <NO>1</NO> i took condition in reciever determination using xpath. ((/ZBC21/IDOC/ZBC21/NO = 1).
    So depending on the mapping everything runs - in my point of view but the different messages are not routed to the different services to write them to different files.
    Source
    <ZBC0>
    <IDOC BEGIN="">
    <EDI_DC40 SEGMENT="">
    <ZBC0 SEGMENT=""> 0...9999
    <NO>1</NO>
    <TYPE>1B20-6</TYPE>
    <SPEC>152J</SPEC>
    </ZBC0>
    <ZBC0 SEGMENT="1">
    <NO>2</NO>
    <TYPE>1B20-6</TYPE>
    <SPEC>152J</SPEC>
    </IDOC>
    </ZBC0>
    target:
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_TYPSCH> 1..1
    <TYPSCHRecordSet> 1..1
    <TYPSCHDetailsStruc> 1..unbounded
    <FELD1/> {represents content of <NO>}
    <FELD2/>
    <FELD3/>
    </TYPSCHDetailsStruc>
    </TYPSCHRecordSet>
    </MT_TYPSCH>
    The output should be files with content of items depending on field <NO>.
    file1.txt (all items with <NO>1</NO>)
    file2.txt
    file3.txt
    I hope i made it clearer!
    br

  • Receiver determination doesn't work for same IDoc type but in differentSWCV

    hi guys,
    we have an emergency now. Receiver determination doesn't work for same IDoc type but in different SWCV.Please check below for detail.
    1. The process flow is : R/3 IDoc -> XI -> Third party system
    2. In previous release R13, IDoc ORDERS05 was imported and used in XI and software component version is R13. And receiver determination was created.
    3. Now, in new release R17, IDoc ORDERS05 was imported from R/3 to XI again and software component version is R17. And in R17, the receiver determination created in R13 was used for both old interface(R13) and new interface in R17.
    Then we encountered the problem, both interfaces doesn't work now, even we deleted the receiver condition(In R13, IDoc ORDERS05 was sent to system A, and in R17 IDoc ORDERS05 was sent to system B, RCVPRN was used as an condition).
    Does anyone encounter this problem? really need and appreciate your help.
    -Eddie

    information from monitor:
    Status     Sender               Service Sender Namespace                         Sender Interface
    reschedul  XXXCLNT100     urn:sap-com:document:sap:idoc:messages   ORDRSP.ORDERS05
    columns for "Receiver Service","Receiver Namespace", "Receiver Interface" are blank
    And then double click records in monitor, go into detail information...
    Normally there's lots of setps existed, such as
    Inbound Message ( CENTRAL )
    Receiver Identification
    Interface Determination
    Receiver Grouping
    Message Branch According to Receiver List
    Technical Routing
    Call Adapter
    But now there's only one setp -
    "Inbound Message ( CENTRAL )" existed, no any another setp..., and payload in inbound message looks good.
    And in SMQ2, I checked the queue information, found there's an error - "An exception occurred that was not caught." No any other detail information for this error.

  • 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

  • IDoc TO File: Receiver Determination did not find any receivers at all

    Hi,
    We have IDoc to file scenario, where based on attributes present in IDoc we have configured different receivers.
    Everything was working fine and files were getting created based on the receiver determination criteria.
    But there is one change done in custom IDoc to re position the attributes.
    Idoc before changes was having NAME1 and NAME2 above KATR6 and KATR7 and after change it looks like below:
    So there is no change in segment and no change in mapping but the attributes KATR6 and KATR7 are used to determine the receiver.
    Cache refresh is done for both ESR and ID. I have re - entered the receiver determination criteria just to ensure that change should reflect.
    But still when I am triggering outbound IDoc from ECC to PI, the transaction is getting errored out with below error:
    "ErrText": "Processing error = Receiver Determination did not find any receivers at all",
    Can any one providee some idea what could be the reason and what is the right approach to resolve this issue.
    Thanks,
    Vertika

    Hi Krupa,
    I have marked your answer as helpful answer and delete of metadata wasn't required.
    Reload works . But thanks for your suggestion.
    Thanks,
    Vertika

  • Error: com.sap.engine.interfaces.messaging.api.exception.RetryControlException: Receiver Determination did not find any receivers at all

    Hello,
    I have an issue configuring a simple File Adapter Content Conversion, it will be great to give me some support as I'am new in the PO Environment.
    Iam reading a flat file and trying to write into an XML in the same FTP server
    I have a 1 to 1 Mapping as follows
    And my Content Conversion at Sender side Looks like this
    After running the configuration Iam getting following error message
    Error: com.sap.engine.interfaces.messaging.api.exception.RetryControlException: Receiver Determination did not find any receivers at all
    My System is the SAP Netweaver Process Intgration 7.4 single Java stack
    Do you have any idea how to fix this issue?
    Many thanks in advance
    Khadim

    Hi evrybody
    I have enabled the tracing of ICO and have seen that my payload for the message mapping is ok,.
    <ns:hartgeldbest_ERP_KT xmlns:ns="http://xxxxxx.de">
    <Recordset>      
    <header> 
         <gesellschaft>03</gesellschaft> 
         <filiale>000</filiale>
         <satzart>11</satzart>
         <datum>00000000</datum>
         <kennzeichen>1</kennzeichen>
    </header>
    </Recordset>
    </ns:hartgeldbest_ERP_KT>
    The issue is on detrmining the RECEIVER in the Main-XML
    <sap:Main xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sap="http://sap.com/xi/XI/Message/30" versionMajor="3"versionMinor="1" SOAP:mustUnderstand="1">
    <sap:MessageClass>ApplicationMessage</sap:MessageClass> 
    <sap:ProcessingMode>asynchronous</sap:ProcessingMode>
    <sap:MessageId>ae41678e-da87-11e3-cd0f-0000006831a2</sap:MessageId>
    <sap:TimeSent>2014-05-13T10:16:43Z</sap:TimeSent>
    <sap:Sender> 
    <sap:Party agency="http://sap.com/xi/XI" scheme="XIParty"/> 
    <sap:Service>CC_Hartgeldbest_File2Idoc</sap:Service>
    </sap:Sender>
    <sap:Receiver> 
    <sap:Party agency="" scheme=""/> 
    <sap:Service/>
    </sap:Receiver>
    <sap:Interface namespace="http://xxxxx.de">hartgeldbest_KT_async_out</sap:Interface>
    </sap:Main>
    Is it possible that the receiver is overwritten due to the Content Conversion? Because if I set my Message Protocol to "File" the receiver determination will work.
    Any idea?
    Thx
    Khadim

  • I have 4s iPhone , I download the iOS 7. Now the front receiver microphone is not working , please help me that how to fix the problem.

    I have 4s iPhone , I download the iOS 7. Now the front receiver microphone is not working , please help me that how to fix the problem.

    I live in South Africa, and I had the same problem with my iPhone 4.
    After weeks of frustration and swearing, I was in the process of restoring my phone to a previous iOS. To do that you need to turn the "Find my iPhone" option off, since i turned it off, my problem was solved. No need to repair anything or revert back to old iOS.
    ***** that i cant use Find my iPhone, but atleast i can use my phone.

  • OR condition not working correctly in SQL

    I am adding the folling condition to a sql statement and
    AND (status_code IS NULL or status_code <> 'T'
    or (status_code IN ('A','B','C','D') and TRIM(order_type) NOT LIKE '%9999')
    or (status_code IN ('A','B','C','D') and order_type IS NOT NULL)
    or (status_code NOT IN ('A','B','C','D')))
    but the or condition work...
    if i change it too
    AND ( (status_code IN ('A','B','C','D') and order_type IS NOT NULL) )
    then this portion of the OR condition work but when I use the OR condition something weird is happening that the condition not working... and i dont see a record that meets that condition...

    Hi,
    It's not the "trim" that implies "not null", but rather the fact that:
    - "not like" operator works only on non-null values and
    - "not like" operator disregards null values.
    Consider this:
    test@ORA92>
    test@ORA92>
    test@ORA92> l
      1  with x as (
      2    select null as y from dual union all
      3    select 'a9999' from dual union all
      4    select 'bxx' from dual
      5  )
      6  select * from x
      7* where y not like '%9999'
    test@ORA92>
    test@ORA92> /
    Y
    bxx
    1 row selected.
    test@ORA92>
    test@ORA92>Here, trim function was not used, but still the first row (that had null for y) was not returned. That's because Oracle disregarded the first row for comparison and out of the next two rows, it returned the third row because it satisfied the condition.
    As for your query, do the following conditions hold true:
    1. if status_code is null      - show the row regardless of order_type
    2. if status_code <> 'T'       - show the row regardless of order_type
    3. if status_code in (a,b,c,d) and order_type is not null and order_type ends with something other than 9999 - show the row
    4. if status_code in (a,b,c,d) and order_type is null                           - do not show the row
    5. if status_code in (a,b,c,d) and order_type is not null and it ends with 9999 - do not show the row
    6. if status_code is anything other than (a,b,c,d)                              - do not show the rowpratz

  • Add Interface mapping to Receiver Determination is not possible

    Hello,
    I create some scenarios from R\3 to BW and R\3 to File.
    When I want to add Interface mapping to Receiver Determination is not possible.
    Not to choose from list and not with copy and paste.
    Any ideas?
    Regards
    Elad

    Hi Elad,
    Just check whether ur interface mapping that u defined in IR is activated properly or not.It will be present in the hit list as soon as u click the help button of the interface mapping of the interface determination in the ID.
    Regards,
    Prasanthi.

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

  • Xpath condition not working for determining receivers

    hello all
    am writing a xpath expression for a simple structure
    <doc>
       <status>
       <id>
    </doc>
    status is attribute field.and will have value 'error' and some other value for no error. I want to choose one receiver if error and other receiver if no error
    so I wrote an xpath expression
    /Doc[@status='Error']   EX    --> Error receiver
    count(/Doc[@status='Error']) = '0'   --> no error receiver
    it was working couple of days ago but suddenly stopped working
    whats going on? thx
    mike

    But xpath is not working properly..
    Are you using this in the condition editor of Interface Determination (it should not be a cause of concern though)
    Can you confirm that the condition that you have specified is proper ....does it work when you specify only one condition?
    Regards,
    Abhishek.

  • 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

  • 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

Maybe you are looking for

  • Free goods , contract, creating order

    Hello SAP Prof, 1. what is the diff b/w Free goods and Bonus buy? 2. What is Rental Contract and service contract? 3. How can we create our own order , ( we can copy std order.)  But plz tell me how to create order with copy controls in detail.

  • The document does not have a valid format.

    I created a special format document when I had Pages '08. I needed the proportions of the document to match the special paper on which the document would be printed so I created a special size for my document rather than 8 1/2 x 11. If I remember rig

  • Some clients not receiving SCEP definition updates

    I have a collection for some of our application servers that is used in conjunction with an ADR to deploy the SCEP definition updates. 12 of the servers in this collection recently had the SCCM 2012 R2 client installed on them. (The collection has a

  • Premiere Pro CS4 Crashes After Photoshop edit.................

    hi, whenever i edit and save a .psd file from my timeline premiere crashes in the middle of updating the .psd file... can anyone help? thnaks Kb

  • Is iWeb a substitute for Adobe Contribute

    Someone developed a business website for me 12 years ago. For the past ten years I have been using Adobe Contribute to update/modify that website. However, once I installed OS 10.10 Yosemite, Contribute would crash upon opening. I contacted Adobe Con