Multiline in receiver determination

Dear all,
my payload is like this:
<item>
      <WERK>PLANT_A</WERK>
      <RCODE>99</RCODE>
    </item>
    <item>
      <WERK>PLANT_A</WERK>
      <RCODE>0</RCODE>
    </item>
    <item>
      <WERK>PLANT_A</WERK>
      <RCODE>0</RCODE>
    </item>
Only if WERK is like PLANT_A  AND RCODE is 99 then he should send
the message else he should ignore it automatically.
So in this message are three recipes in one message to the same plant,
but only one got an error.
I also marked multiline in XPath editor, but he does not send a message, but
stop the complete message.
My conditions
/rfc:PROCESS_MESS_GET_RETURN_CODE/MSHD/item/WERK = PLANT_A   AND
/rfc:PROCESS_MESS_GET_RETURN_CODE/MSHD/item/RCODE <> 0
I also tried:
/rfc:PROCESS_MESS_GET_RETURN_CODE/MSHD/item[WERK='PLANT_A']/RCODE='0'
with operatro EX, but it also doesn't work.
Is it possible with a normal receiver determination or do I have to use the extended version?
Thanks
Regards
Chris

Thanks for your replies.
I finally made it like this:
/rfc:PROCESS_MESS_GET_RETURN_CODE/MSHD/item[RCODE>0]  EX
AND
/rfc:PROCESS_MESS_GET_RETURN_CODE/MSHD/item/WERK =  "PLANT_ID"
This seems to work even with multiline payloads
Regards
Chris

Similar Messages

  • Receiver determination step in the BPM and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM has a send step which contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog->  /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure   ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    HI,
    In receiver determination step selctthe multi line container element.in container editor create the one element with type as receiver and select the check box.
    A Receiver Determination step returns set of receivers configured for the output abs interfaces in the directory and puts it into receiver which is a multiline container receiver element
    Regards
    Chilla

  • Multiline Check in Receiver Determination

    Hi All,
    Can anyone explain me the exact functionality of the multiline checkbox in receiver determination.
    Lets say I have the following input message
    <node1>
           <value>21</value>
    </node1>
    <node1>
           <value>22</value>
    </node1>
    <node1>
           <value>23</value>
    </node1>
    I want the receiver to be determined only if the value is 23, does multiline has anything to do with this.
    Regards,
    Varun.

    Hi,
    In conditional receiver determination when you check multiline that signifies that you are expecting
    1. the values of the field to be multiple and selecting multiline you consider the bunch of the values to be in one array of string.
    2.And when you put the condition to check for a specific value it checks in the whole array whether ant element of the array matches with the condition.Like the condition(23) IN the array or not.
    So your query is similar.You can do with this.
    cheers,
    Abhishek.

  • "receiver-determination" step and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog-> /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    Receiver Determination step will return all receivers that are configured in Integration Directory, for that particular message interface, having the BPM as the sender service.
    So, more than one receiver may return. Hence you need to define the receiver container as a multiline container.
    Here you go with explanations- for Receiver Determinations in BPM-
    http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm

  • How does Receiver Determination Step in BPM work?

    Hi,
    I'm still in trouble with the Receiver determination step in the BPM...
    Normally, when you use the send step, it sends the message in the flow context. Am I right, when I suppose, that when you put the receiver determination step before this send step, the send step sends the message in the context of the receiver determination - that means: if in the Integration Directory, there is receiver determination (with some conditions) and these are matched with the message in the send step, the send step sends it into the receiver, that is defined for the condition and not in the flow context... Right?
    Please, write me just your experiences and not links to the documentation. I read it all, but... :O(
    Thanx 4 your help, Peter

    Hi Peter,
    The receiver determination step is used to get a list of receivers for a subsequent send step.It makes a call to the receiver determination you configured in the Integration Directory and returns the receiver list.
    Here you specify the send context and the multiline container element for the receiver list.
    The send context is a string.The send context can have any string value and depending upon the condition in recvr determination you can route to multiple receivers.
    Regards
    Priyanka

  • Receiver Determination Step in process (not in directory)

    I get a little confused about the receiver determination step when i doing the process design
    i have looked through the example:
    http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm
    1.does it mean that
    when i get the ReceiverList, it will execute the process
    according to the receivers in ReceiverList.
    If the receivers is not in ReceiverList, the process will not send the message to these receivers
    2.In the example, what is the "ResponseList" used for?
    Thank you very much

    >>>>> the Receivers step calls the receiver determination that you configured in ID and gets the list of receivers into the multiline container element 'receiver list'
    so where to use the receiver list"? used in directory?
    >>> which example ?
    http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm

  • Receiver Determination Step in S/A Bridge

    Hello,
    we have done a Process with S/A Bridge. In the S/A Bridge we have to call different target systems with the same interface and send all results togehter back to the caller.
    For this we open a S/A Bridge, after this we do a receiver determination step and open a block with dynamic sequence. In the block we want to call the different systems synchronous. For the sender step we defined the receiver list.
    This process ends with errors. It looks like the receiver determination step find no receivers (our test with no receiver determination step works for one target system). We have defined a multiline container element (receivers) of type receiver.
    Where can we see, if the container element receivers contein entries and is the receiver determination step allowed into an S/A Bridge?
    Thanks
    Stefan

    Hi Stefan,
    That is very basic I don't know if that will help you:
    Try first going to transaction 'swi1' in the ABAP part and watch the container there. If not, you can try with the <b>end to end</b> monitorization in the <b>Run Time Workbench</b> (http://<yourserver>:50000/rwb/index.jsp)
    Regards
    Gonzalo

  • 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

  • Check-box "Multiline" in receiver condition

    Hi,
    Inside a Receiver Determination, it's possible to define a condition in order to allow (or not) the sending to a service.
    In the "Expression Editor" windows, what is the rule of the <b>check-box "Multiline"</b> ?
    Because when I use it and when I don't use it, I have always the same result.
    Regards
    Mickael.
    P.S: I'm in XI 3.0 SP11.

    Hi Mikael,
    The purpose of this field is to notify the condition builder that the XPATH expression is going to return more than one line. So if you're XPATH is looking up for instance a customer name and this field occurs 3 times the result of the XPATH will be:
    Name1
    Name2
    Name3
    When the operator is for instance "=" then all these values will be checked for a match.
    More information about this can be found at the link below:
    http://help.sap.com/saphelp_nw04/helpdata/en/ab/13bf7191e73a4fb3560e767a2525fd/content.htm
    Kind Regards,
    Ramon Boekel

  • Regarding receiver determination problem in IDOC-XI-XML file scenario

    Dear All ,
    In IDOC-XI-xml file scenario , I have configured SLD , IR . But in ID , after file adapter , reciever agreement configuration when I am doing receiver determination configuration I am not able to insert mapping program in configuration overview of receiver determination as I am not getting "New Specific" option in mapping .
    Can anybody suggest what could be the reason behind this .
    Thanks in Advance
    Prabhat

    Hi PRabhat,
    In RCVR determination, you need to select the party & service (as appropriate) save the obeject
    then refresh the configuration overview of recr det.
    then you can see the partner/service
    then you can open it & add the necessary objects.
    Regards
    Vishnu

  • How to get a dynamic receiver determination based on a table an SAP PI ABAP Stack

    Hello folks,
    currently I get stuck dealing with a problem about the receiver determination. Let me first describe the Problem: We are using to different SAP ERP- backend system in our test enviroment. But only of this systems is marked as current "actuall" test system. Every once in a while we need to switch between these two systems and mark the other one as the actual test system.
    This is the point were it get's a little bit time consuming for me: We have about 50 interfaces were I need to change the receiver from test system A to test system B or vice versa. So I thought about creating a more dynamic way to determine the actual test system:
    Therefore I have created a table on the ABAP stack of our PI (7.31 double stack) with just one field that holds the current test system. Now I would like to create a dynamic receiver determination where I call the RFC-function RFC_READ_TABLE. But how can I acess a table from the grapchical mapping of the pi which is stored on the PI?
    Is there mybe another fundamental way to retrieve the actuall test system within the mapping?

    You can go for enhanced receiver determination, where in you can determine the receiver system using a graphical mapping.
    Now in that graphical mapping, use the standard function " RFC Look up" and make a call to bapi and get the actual receiver system.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40b64ca6-b1e3-2b10-4c9b-c48234ccea35?QuickLink=index&…
    Step by Step guide to Explain Enhanced Receiver Determination - Application Server Infrastructure - SCN Wiki

  • No receiver found in Receiver Determination

    Hello Experts,
    Sub: Calling integration process (which in software component1) from sender service interface_Out (which is in another software component2) in Receiver Determination Fails.
           There are two software components, S/W C1,  S/W C2,
            In  S/W C1,->
            Integration process (IP1)created in S/W C1, with name space NS1,
            Service interface1(abstract) SI1 with message type MT
            In S/W C2,->
            Sender service interface2 SI2(outbound) with message type MT with namespace: NS2
    (MT message type, in both service interface holding the same,
    used SI1 In receive step in IP1.
    Interface Determination from BS2,SI2,NS2<->   IP1,SI1(No mapping).)
    In Receiver Determination,
    Business system BS2;
    Sender Service Interface: SI2;
    Name space: NS2, 
    In Receivers  :  IP1
    Problem is :  do not find this receiver.
    I have to call this process, like this.  Please help on this.
    Use case is:
    single Soap request is coming, many application are using the same using common Receiver determination( which in S/W C2), 
    Now i have to use the same receiver determination to send this message in IP1 which is in SW C1;  
    -> any alternative solutions for this                      
    Thanks,
    Deviprasad.

    hi,
    when you use Integration Process the configuration in the ID must be
    Receiver Determination 1:
    Sender System: XXX
    Enterprice Services (outbound)
    Namespaces
    Target System: Integration Processes
    No Mapping requiered in Interface Determination
    Line:
    Receiver Determination 2::
    Sender System: Integration Process
    Enterprice Services (Abstract)
    Namespace
    Target System: YYYY
    No Mapping requiered in Interface Determination
    Sender Agreement=1
    Receiver Agreement=2
    Interface Determination=2
    Communication Channels=2
    Take in mind that in the Interface determination you have to define as receiver structure the Service Interface (Enterprice Service in PI7.1) type Abstract. if you cant select it delete all filter in the popup qhen you have to select the Inteface in the reciver structure.
    Check the Integration PRocess if you define the SI_XXX_abs in the reciver step.
    check all changes in the ESR were activated
    Check this out and let me know
    Edited by: Rodrigo Alejandro Pertierra on Sep 3, 2010 2:42 PM

  • Multi Mapping using condition & Dynamic Receiver determination – Used XSLT Mapping

    Dear Experts,
         I am struggling to identify an error on the Technical Routing. Firstly according to my scenario, I receive an XML file with multiple PO's and I have to split the file to 2 different target messages. and also according to the source payload I have to send the file to 2 different receivers. first receiver is ABAP Proxy to the back end system and the 2nd one is to a file location. I have used XSLT to split the message into 2 target message type and I have used a XSLT mapping for receiver determination. Does any one have any idea of what I am doing wrong.
    Note: some time I will only be able to fill in on target message.
    I have attached my XSLT message split mapping with this post, please let me know if you have further question.
    Your help is more appreciated.
    Advance Thanks,
    Pradeep
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
      <xsl:variable name="vFlag"/>
      <xsl:variable name="vPONUM" select="POTRACKING/Lines[1]/PONumber"/>
      <xsl:template match="/">
        <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
          <ns0:Message1>
            <ns1:MT_Tracking xmlns:ns1="http://www.findel-education.co.uk/axapta">
              <xsl:for-each select="POTRACKING/Lines">
                <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
                  <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
                  <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
                </sap:call-external>
                <xsl:if test="$vFlag = 0">
                  <Lines>
                    <DDate>
                      <xsl:value-of select="DespatchDate"/>
                    </DDate>
                    <PONumber>
                      <xsl:value-of select="PONumber"/>
                    </PONumber>
                    <POLine>
                      <xsl:value-of select="POLine"/>
                    </POLine>
                    <QTY>
                      <xsl:value-of select="Quantity"/>
                    </QTY>
                    <VendorMaterial>
                      <xsl:value-of select="VendorMaterialNumber"/>
                    </VendorMaterial>
                    <AccountRef>
                      <xsl:value-of select="AccountReference"/>
                    </AccountRef>
                    <ConsignNumber>
                      <xsl:value-of select="ConsignmentNumber"/>
                    </ConsignNumber>
                    <CarrierURL>
                      <xsl:value-of select="CarrierURL"/>
                    </CarrierURL>
                    <ConsignURL>
                      <xsl:value-of select="ConsignmentURL"/>
                    </ConsignURL>
                  </Lines>
                </xsl:if>
              </xsl:for-each>
            </ns1:MT_Tracking>
          </ns0:Message1>
          <ns0:Message2>
            <ns2:MT_Tracking xmlns:ns2="http://www.findel-education.co.uk/ecc/ax/po/ftp">
              <xsl:for-each select="POTRACKING/Lines">
                <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
                  <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
                  <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
                </sap:call-external>
                <xsl:if test="$vFlag = 1">
                  <Lines>
                    <DDate>
                      <xsl:value-of select="DespatchDate"/>
                    </DDate>
                    <PONumber>
                      <xsl:value-of select="PONumber"/>
                    </PONumber>
                    <POLine>
                      <xsl:value-of select="POLine"/>
                    </POLine>
                    <QTY>
                      <xsl:value-of select="Quantity"/>
                    </QTY>
                    <VendorMaterial>
                      <xsl:value-of select="VendorMaterialNumber"/>
                    </VendorMaterial>
                    <AccountRef>
                      <xsl:value-of select="AccountReference"/>
                    </AccountRef>
                    <ConsignNumber>
                      <xsl:value-of select="ConsignmentNumber"/>
                    </ConsignNumber>
                    <CarrierURL>
                      <xsl:value-of select="CarrierURL"/>
                    </CarrierURL>
                    <ConsignURL>
                      <xsl:value-of select="ConsignmentURL"/>
                    </ConsignURL>
                  </Lines>
                </xsl:if>
              </xsl:for-each>
            </ns2:MT_Tracking>
          </ns0:Message2>
        </ns0:Messages>
      </xsl:template>
    </xsl:stylesheet>

    Hi Hareesh,
    Please find my determination in the XSLT below, I am using enhanced receiver determination.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" xmlns:p1="http://sap.com/xi/XI/System" xmlns:ns="urn:sap-com:document:sap:idoc:messages" version="1.0">
      <xsl:variable name="vFlag"/>
      <xsl:variable name="vAX" select="0"/>
      <xsl:variable name="vSAP" select="0"/>
      <xsl:variable name="vBoth" select="0"/>
      <!--  <xsl:variable name="vPONUM" select="POTRACKING/Lines[1]/PONumber"/>-->
      <xsl:template match="/">
        <xsl:for-each select="POTRACKING/Lines">
          <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
            <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
            <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
          </sap:call-external>
          <xsl:choose>
            <xsl:when test="$vFlag = 0">
              <!--          <p1:Receivers>
                <Receiver>
                  <Service>
                    <xsl:text>BS_AXAPTA_TST</xsl:text>
                  </Service>
                </Receiver>
              </p1:Receivers>-->
              <xsl:variable name="vAX" select="$vAX + 1"/>
            </xsl:when>
            <xsl:when test="$vFlag = 1">
              <!--          <p1:Receivers>
                <Receiver>
                  <Service>
                    <xsl:text>BS_ECQCLNT300</xsl:text>
                  </Service>
                </Receiver>
              </p1:Receivers>-->
              <xsl:variable name="vSAP" select="$vSAP + 1"/>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
        <xsl:if test="$vSAP &gt; 0">
          <xsl:if test="$vAX &gt; 0">
            <xsl:variable name="vBoth" select="$vBoth + 1"/>
            <xsl:variable name="vSAP" select="0"/>
            <xsl:variable name="vAX" select="0"/>
          </xsl:if>
        </xsl:if>
        <xsl:if test="$vBoth &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_AXAPTA_TST</xsl:text>
              </Service>
            </Receiver>
            <Receiver>
              <Service>
                <xsl:text>BS_ECQCLNT300</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
        <xsl:if test="$vAX &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_AXAPTA_TST</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
        <xsl:if test="$vSAP &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_ECQCLNT300</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
      </xsl:template>
    </xsl:transform>

  • File name based routing in Receiver determination

    Hi experts,
    I have a requirement to do receiver determination based on file names which are dynamic.To put it clearely, i will be having two files in my source File location and i need to route it based on the file name to two target systems.
    The file name are like Month(changes everymonth)_TargetSys1 and month_targetSys2.
    I dont need any conversions ,so i am not using any IR objects.
    To pick files i kept *.txt in sender channel, and in receiver determination  condition i was trying to use context object called 'Filename'.But it doesnt work asthe file name changes every month.
    Is there any option to take substring from the input file name (say targetSys2 from month_targetSys2.) and put it as a condition for receiver determination.
    There is not DT or structure of the incoming file , as there are no modification to be done with the content.
    Regards,
    Anika

    you need to have the structure in case you want to route it via the xpath.
    Else another option is to code the enhanced receiver determination and using a java mapping with dynamic configuration read the filename and then dynamically create the receiver determination.
    http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/content.htm

  • How many Receiver determination in File to SOAP scenario

    Hi,
    I am trying a File -SOAP-File scenario, where file will be send to PI asynchronous. BPM is configured to receive the file and
    call the web services and get the response (Synchronous call) .After that BPM send the file asynchronous to File via FTP .
    It is basically asynchronous/ Synchronous bridge scenario.
    To do this I have  have configured the BPM  & created 3 Communication channel . 1 sender (File) & 2 receivers ( SOAP & File)
    But i got confused in Receiver determination. How many Receiver determinations do we require in this step?  2 or 3. If 3 how they will look like. I believe Interface determination is same as Receiver determination. I am suing Business System to send & recv the file.
    Points will be rewarded for suitable answer.
    Thanks

    hi,
    You require 3 receiver determinations.
    one from File to BPM(XI)..
    another from BPM to SOAP and other from SOAP to FILE.
    This is exactly the same scenario.
    RFC Scenario using BPM --Starter Kit
    Thanks,
    Vijaya

Maybe you are looking for

  • How to migrate Mail & Contacts from backup disk of old PPC iMac (10.3.9) to new iMac (10.8.1)?

    How to migrate Mail & Contacts from backup disk of old PPC iMac (10.3.9) to new iMac (10.8.1)?  The Firewire disk is connected and have been able to copy across document folders etc, but Migration Assistant doesn't find the disk so that method no goo

  • SerialConnectionException in SerialDemo

    Hi, all. I have a problem with SerialDemo application. I use gnu.io package instead javax.comm package. SerialDemo can list my COM ports but when I choose Open Port, it's has an exception occurs. It's SerialConnectionException. I don't know why this

  • CallResponder|Datagrid|delete item from Database

    Hello guys, I succeeded to display datas from database inside the DataGrid using the CallResponder, but until now I still don't know how can I access to the data that already stored in column in the DataGrid ! the DataGrid Structure is (id, login, pa

  • "Dispatchers" parameter in dedicated mode

    Hello, I've noticed that the "dispatchers"' parameter in dedicated mode looks like this (on 10.2.0.1.0 db) : dispatchers=(PROTOCOL=TCP) (SERVICE=sidXDB) What is the SERVICE parameter for, and why is it set to this default value in dedicated mode ? Is

  • Opening new tab cause page to freeze

    Hi, I'm using Safari 4.0.3 on Windows Vista. I am unable to create a new tab without crashing the page. Does anyone have any tips? Many thanks.