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

Similar Messages

  • Receiver determination based on the filename of the incoming xml file

    hi folks,
    is it possible to base the receiver determination from the filename (pattern) of the incoming xml file?
    suppose, if the filename is partner1.xml, then the receiver determination has a condition of partner1.  in this case, the message is received by partner1.
    any advise please?
    thanks!
    -lex

    Hi Lex,
    You can use Enhanced Receiver Determination for this. Do your normal mapping from source to target. And another mapping for the receiver determination. In that mapping you can use the UDF for Dynamic Configuration and set the filename as the receiver service name.
    Use the following blog for Enhanced Receiver Determination:
    /people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16
    This blog explains the usage of Dynamic Configuration:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Regards,
    Sanjeev.

  • 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

  • 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

  • Content based routing in receiver determination.

    hi,
            how to do content based routing in receiver determination based on value of  of a variable of target structure?
    Miten.

    ths is what you are looking for
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

  • Content based receiver determination with Seeburger AS2 adapter

    We are planning to use the Seeburger AS2 adapter on our XI 3.0 installation to post custom XML documents to XI from external business partners.  The problem we have is to do the receiver and interface determination based on the xml message type that is submitted.  How can we identify what is the name of the root xml node (which is representing the message type that was submitted to us) during the receiver determination and specify conditions for the receiver determination based on this?  We can not use the Seeburger Classifier module here as this is only determining the mapping name to be used for an EDI conversion but can not handle any type of XML message.

    Rudy,
    I think the easiest way would still be the ReceiverDetermination and creating an XSD that contains the main important TAGs from the different messages.
    That should allow you to test for the existing of certain important TAGs or check the value of some TAGS.
    I don´t know about aedaptive-adapters, but I don´t think that they are Drummond-Certified. Check out...
    http://www.drummondgroup.com/html-v2/as2-companies.html
    Without this certification, a lot of your partners might not allow you to use this adapter if you wanna make AS2 with them.
    Greetings
    Stefan

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

  • Extended Receiver Determination problem

    Hi,
    I am making use of extended receiver determination to send 1 source to multiple target systems. When I was testing so that the interface would just send to 1 target system while still making use of the extended receiver determination, I got the following error CO_TXT_OUTBINDING_NOT_FOUND and "No receiver agreement found". The red flag error occurs during Technical Routing and when I checked the details SOAP Header -> Main, I found that the following:
    Sender Service: ServiceA (correct)
    Sender Interface: InterfaceA (correct)
    Sender namespace: NamespaceA (correct)
    Receiver Service: ServiceB (correct)
    Receiver Interface: InterfaceA (wrong)
    Receiver namespace: InterfaceA (wrong)
    It seems that extended receiver determination was able to successfully determine the receiver service but fail in determining the correct receiver interface and receiver namespace. Does anybody know why this happen and how to correct the problem?
    Some investigation that I already done:
    1.) I temporarily changed the extended receiver determination to a standard receiver determination and specifying the 1 target system explicity without changing any other object in both IR and ID as well as using the same test file. The result is that this worked and the file was sent succefully to my intended target system. This tells me that the problem might either be in the extended receiver determination or in the message mapping or message interface Receivers. Also, this means that all the other objects in ID for this interface is configured correctly.
    2.) I tried hard coding the target system as a constant in the message mapping for the Receivers message type and still make use of the extended receiver determination and I got the same problem mentioned above.
    3.) I tried deleting the receiver determination, activating the changes, re-create the object and activate it and I still got the problem
    4.) I tried checking sxi_cache and everything is up to date and correct
    Any suggestions is highly appreciated.

    Elbert,
    I you are doing only standard receiver determination only and using certain condition you are sending to different targets. If yes check this url:
    /people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
    Can you please put the payload after message mapping and the xpath condition you mentioned. or if you are doing enhanced receiver determination please check this:
    Re: Error in enhanced receiver determination
    ---Satish
    Edited by: Satish Reddy on Jun 23, 2009 9:08 AM

  • 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

  • Another question about receiver determination

    Hi friends
    Can we add a new receiver to the list of receivers in the  receiver determination , based in some condition only for this new receiver.
    Let us say we have the message 1 sent to receiver_1 and receiver_2 no matter what , but the message 1 should only be sent to receiver_3 according to some conditions.
    my question if I can only put condition for the receiver_3 receiver determination , or do i have to write a UDF for mapping of the receiveres.
    Thanks

    Can we add a new receiver to the list of receivers in the receiver determination , based in some condition only for this new receiver.
    yes you can add list of the receivers in the receiver determination , based on  some condition .
    my question if I can only put condition for the receiver_3 receiver determination , or do i have to write a UDF for mapping of the receiveres.
    dont need to write any UDF's . u have to use Context Object/X-Path for REC3 in rec.det
    for ex: field1 = 1000 -> rec3
       field1 =900 ->rec1
    Edited by: bhavanisankar.solasu on Feb 10, 2012 3:48 PM

  • Context object in Receiver Determination

    Hi,
    I am trying to use context object in receiver determination for routing messages to different receivers. From help document , I know that certain context objects are already present. Can we create our own context object in ESR and how?
    I am using PI7.1
    Thanks,
    Neelansha

    Hi Neelansha,
    You can create a context object for only a request message(source), i.e, if you have a very deep nested structure then
    you can use context objects which contains the XPath expression of your request message.
    Can we create our own context object in ESR and how
    For steps to  create- go to  context object - create new-->select type (int,string..)-
    go to your   source Service  interface-click on context obj tab-select the element to which you want to assign the context obj  name
    refer activities mentioned in this help link
    http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/frameset.htm
    /people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
    please note that you have to choose interface pattern as  Stateless (XI 3.0 Compatible) ,otherwise you will not be able to see the context object in Receiver determination editor.
    I found the  standard  context objects  very useful and i think we can  sometimes avoid using the dynamic configuration
    i have used the file name  context object  in  expression editor in receiver determination to create a condition for routing the messages to two different Business services.
    Regards,
    Srinivas

  • What is context objects and how we can use it Receiver Determination

    hi,
    i have situation here a idoc is triggered into the xi and i need to use the conditions in the receiverdetermination in that condition i need to use  context object how i can use it? and what is the difference it makes and why i need to use it?
    thanks in advance
    Amaresh

    HI,
    Context objects are alternative to XPATH expressions. It is like macros in other programming langugage. If you define this , you can use this object in the receiver determination while doing conditional receiver determination
    For more-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/content.htm
    /people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
    Regards,
    Moorthy

  • Condition check (based on sender file name) at receiver determination step

    Hi,
    My scenario is File to AS2 (Sender side file adapter and receiver side AS2 adapter)
    We have 5 customers, but the source location is same to pick the files, Here we are not using any ESR objects.
    Based on the source file name PI need to determine to whoom this file need to send at receiver determination step
    Craeted objects
    1 Sender CC,
    1 Sender agreement,
    1 Receiver determination
    5 Interface determinations
    5 Receiver agreements
    5 Receiver CCs.
    Could you please provide me your valuable inputs.
    Thanks
    Ramesh

    Hi Venkataramesh,
    I understand your scenario as, picking files (different file naming standard for different target customer) from one source folder. Based on file name, that payload should be sent to corresponding target customer. You have mentioned u201CHere we are not using any ESR objectsu201D. I can see two reasons for this decision
    1. PI is used to route the messages, i.e., no need to transform the payload. OR
    2. Files can binary files like PDF, ZIP, JPG, GIFu2026
    Now I can see two possible solutions
    1.     Simple solution, as proposed by u201CPrabhu Rajesh Janardananu201D, make it into 5 different scenarios  (5 sender channels).
    2.     Bit complex solution, only one sender channel, using extended receiver determination
    Step 1:- In Sender File channel check u201CAdapter u2013 Specific Message Adapteru201D in Advanced tab. File Name should be checked.
    Step 2:- In Receiver Determination, Select Type of Receiver Determination as u201CExtendedu201D. http://help.sap.com/saphelp_nwpi711/helpdata/en/48/ce2a423a8e5430e10000000a42189b/frameset.htm
    Step 3:- Do a Graphical Mapping (use it Operation Mapping in Receiver Determination).
    Step 4:-
    Source and target of graphical mapping will be same (below), because you donu2019t want to access input payload (it can be XML, flat file, JGP, GIF and you donu2019t have its structure).
    <Receivers>
       <Receiver>
          <Party agency="" scheme=""></Party>
          <Service></Service>
       </Receiver>
    </Receivers>
    Step 5:- Write a UDF in Graphical mapping as below. http://help.sap.com/saphelp_nwpi71/helpdata/EN/43/03612cdecc6e76e10000000a422035/frameset.htm Pay attention to method declaration
    public String Determine_Receiver( Container container) throws StreamTransformationException
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(u201Chttp://sap.com/xi/XI/System/Fileu201D,u201CFileNameu201D);
    String valueOld = conf.get(key);
    //Put your logic here
    if (valueOld.equal(u201Cuser1u201D)) {
    return u201Cuser1u201D;}
    if (valueOld.equal(u201Cuser2u201D)) {
    return u201Cuser2u201D;}
    if (valueOld.equal(u201Cuser3u201D)) {
    return u201Cuser3u201D;}
    Step 6: Now use this UDF to map to u201CReceiveru201D and u201C Serviceu201D.
    This solution need more fine tuning.
    Regards,
    Raghu_Vamsee
    Edited by: Raghu Vamsee on Jan 8, 2011 5:56 PM

  • Reg. condition based receiver Determination

    Hi,
        I need to send the records to two systems based upon the value
    For Ex. All the material group record letz say (1,2,3,4,5,6) Shuld go to Receiver1 and only the records which belongs to material grp shud go to Receiver2.
    I am trying using Condition based Receiver Determination
       For Receiver 1 :-
                  I didnot give any condition.Coz all the records have to go to Reciver1.
       For Receiver 2 :-
                     I have written the condn in the Interface determination
                i.e) Material Group = 2.
    But  All the records are going to these two receivers.I have tried everything.
    Thanks in advance
    Regards
    Anandan

    Anandan,
    Similar situation has worked for me. Please check the condition you have mention in Interface Determination.
    In the Interface determination you need to have 2 inbound interfaces. Specify the respective condition for each inbound interface.
    Example: if the Response field has the value as "Success" or "Failure" the message has to go to first interface. The message has to go to second interface only if the response is "Failure". so you can provided following condition in the interface determination:
    <b>Condition 1:For first inbound interface</b> (/p1:MessageType/RecordSet/Response = F) OR (/p1:MT_RESPONSE_FROM_PS_BI/RS/Response = S)
    <b>Condition 2:For second inbound interface</b> (/p1:MessageType/RecordSet/Response = F)
    The above condition has worked for me. Hope this would be helpful to you.
    Regards,
    Sridhar

  • Multiple targets using extended receiver determination

    Hello,
    One quick question related to extended receiver determination
    for same receiver 4 conditions exists.
    at the same time 3 can become true.
    will the extended receiver determination has the capability to create 3 records for the same receiver depending on the condition?
    if cond1 -->> target1
    if cond2 -->> target1
    if cond3 -->> target1
    if cond4 -->> target1
    ( I am using ext interface determination so that my message inputs to receiver determination is also many )
    but now when  I execute, its executing only first condition n generating records generated with the first condition only.
    regards,
    nikhil.

    im using extended receiver determination n giving 4 diff conditions as inputs to the receiver.
    however, thanks...
    answer is you can do it
    its working

Maybe you are looking for