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

Similar Messages

  • How to keep same sender file name for receiver mail attachement

    Hi,
      i am working with File to Mail scanario. There i want to pick a flat file from native file system and then send it as email attachment. Now i am able to send the file but the flat is getting converted as an xml file. is there any method to keep the same sender file name and type for receiver mail attachment. i am not using any mail package. i am using XI payload and keep attachments.
    Thanks in advance.
    -Siva

    Hi,
    Yes,With out using the mail package u can send the Mail Attachments to the receiver side,
    In that case no need of Integration Repository objects.
    Chck this links.
    /people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure
    /people/community.user/blog/2006/09/07/email-reporting
    /people/community.user/blog/2006/09/08/email-report-as-attachment-excelword
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
    /people/michal.krawczyk2/blog/2005/11/23/xi-html-e-mails-from-the-receiver-mail-adapter
    If u dont get ur requirement then let me know ur Mail id i will send u a Doc.
    Regards,
    Phani
    Reward points if Helpful

  • Configure receiver file name as Sender file name

    Hi All,
        In PI7.1.  We have scenario(file to file). Here the sender system send multiple files and In the receiver system we need to populate the same filenames as Sender file Names.
    Could you please let me know is there a configuration to have Receiver file schem name As like sender file names.
    Thanks in Advance,
    Naga.

    Hi Naga,
    This can be achieved using either variable substitution or Dynamic Configuration by enabling Adapter Specific Message Attributes in sender and receiver file channels.
    If the sender file name and receiver file name needs to be exactly same then just check Adapter Specific Message Attributes in advanced tab of both sender and receiver channels. Check on File Name under that.
    Lot of help over this is already available in sdn, kindly serach and you will get lot of helpful blogs and wikis
    Regards,
    Gautam Purohit
    Edited by: Gautam Purohit on Apr 16, 2010 11:26 AM

  • Receiver determination step - Send context

    Hi Experts,
    I have understood from SAP library and others threads that send context in the receiver determination step is used to send value for the conditions we have added in ther receiver determination and fetch only receivers those satisfy the cretiria.
    Please validate whether my understand is right or not?
    If its correct, then my question is can we populate this value dyanmically, say field value from another message.
    Please clarify.
    Thanks,
    Kar

    Check if the below link is of any interest to you:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/46/8015de950e6be3e10000000a155369/frameset.htm
    From the link:
    Condition: when the AirlineID field in the message payload has the value LH, then the message is
    forwarded to the receiver business system BUS_100. A context object of the same name from the ES
    Repository is used to access the AirlineID field in the message.
    It talks about normal receiver determination as against the receiver determination step (of BPM) which you want....

  • Accessing the sender file name in the response email

    Hi,
    I have an asynchronous proxy scenario wherein I am calling an outbound proxy within an inbound proxy.
    Basically a file is sent from an external partner and response is sent back to them if there are any errors. Also email notification will be sent and that email should include the sender file name so that they can know which file is erroneous and can resend that file after making changes. Any help will be appreciated.
    Many Thanks.

    Hi,
    Have a look just two threads below yours !!
    File recr Adapter : How to set target directory based on sender interface ?
    See "Adapter-Specific Message Attributes" for a Sender File Adapter
    http://help.sap.com/saphelp_nw70/helpdata/EN/e3/94007075cae04f930cc4c034e411e1/content.htm
    I suppose your flow is:
    1. File -> PI -> proxy_req     (request)
    2. proxy_resp -> PI -> Mail   (response)
    Thanks to "Adapter-Specific Message Attributes" ofr a Sender File Adapter, you will be able to store filename in DynamicConfiguration and then you will able to use a UdF to catch the source file and provide it somewhere in your proxy_req.
    After for the returned flow "2. proxy_resp -> PI -> Mail   (response)", your proxy_resp has to returned to PI the filename providen with the 1st step.
    And then, In PI you will be able to send by email the source filename.
    Regards.
    Mickael

  • Part of sender File name at the receiver side?

    Hello All,
    My requirement is like this.
    iam picking the file from FTP server and place the file in another FTP server with out mapping.
    I need to use part of sender file name to create the receiver side along with current date.
    for example.
    sender side file name : LM01000008.txt
    recevier side file name need to generate : LM01dd/mm/yyyy
    Please let me know how to achive this.
    i tried with the blog given below, but partial file name is not possible with that blog.
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417100)ID0229698450DB11989196758750510369End?blog=/pub/wlg/6400
    Thanks and Regards,
    chinna

    Hi Chinna,
    Use this code
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMMdd");
    String timestamp = dateformat.format(new Date());
    String newfilename=fileName+timestamp+".txt";
    // change to new file name
    conf.put(key, newfilename);
    return "";
    Regards
    Suraj

  • Search Based on Native File Name

    Hi Experts,
    I am working on an application that is talking to UCM through CIS.
    I want to search content items based on Native File Name.
    Please tell me how to search Content Items based on Native File Name ?
    Help Please!!!!!
    thanks

    Hi
    Search query should be : dOriginalName <matches>`term`
    it can be <matches> or <substring > operator depending on the requirement you have to do the search part .
    Thanks
    Srinath

  • Send port with same file name as receive

    I have a filename "abc.docx". I need to create a send port where I should set the file name in a such a way that I should have the same file name as received.
    I have set the filename in the send port as "%SourceFileName%" but it does not seem to be working.
    How to set the send port to have the same file name as received by the receive port? Send location should hold the same file name

    could you please also mention what is happening when you set
    %SourceFileName% .  what kind of output filename are you getting then when used %SourceFileName%
    ?  incase if you are not getting any file at all in the output, then its not the issue with %SourceFileName%
     macro.
    Please mark the post as answer if this answers your question. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Error dynamic File Name in Receiver File Adapter

    Hi all,
    Dynamic file name for Receiver file Adapter Problem
    my multi mapping look like this in design mode
    messages
         message1
              SD01_E
                   FileName
                   row
         message2
              SD02_E
                   FileName
                   row
    by processing the xml look like this:
    <ns2:SD01_E xmlns:ns2="urn:lsv.de/SAP/XXX">
    <FileName>L40SA939.xiConstant</FileName>
    - <row>
    or
    <ns2:SD02_E xmlns:ns2="urn:lsv.de/SAP/XXX">
    <FileName>L40SA939.xiConstant</FileName>
    - <row>
    in file receivere adapter  i have try this but it dos not work
    payload:SD01_E,1,FileName,1
    Error:com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 0(:main:, row:1, col:0)
    is there any way to have access to Filename  in different root elements??
    regards
    Ralf

    Hi Ralf,
    i think, you need for each XML msg (each different root element) a new adapter -> a new IF determination, new rec agreement and a new channel.
    Regards,
    Udo

  • Dynamic file name in receiver channal

    Hi, All,
    I would like to set dynamic file name in receiver channal. My xml payload will be like this:
    <file_name>file1.txt</file_name>
    <text_content>balabala......</text_content>
    I would like to output an text file which text content will be the value of <text_content>, file name will be the value of <file_name> in the xml payload.
    Is there anyone could help me?
    Helpful answer will be surely awarded. Thanks
    Yang

    Please look at the below description from help.sap.com. You can use the below steps to name the file from a value in the payload. You would have to use File Content Conversion to insert the value of the <text_content> in the file.
    Variable Substitution (Target Directory/File Name Scheme)
    If you set the Enable indicator, you can enter variables for the Target Directory and File Name Scheme. Enter the names of the variables and references in the table.
    ●      Enter each variable that you reference in the Target Directory and File Name Scheme fields without the surrounding percentage sign under Name of Variables in the table.
    The variables can refer to attributes of the message header or elements of the message payload.
    ○       If the variables are to refer to an attribute of the message header, add the prefix message: to the name of the variable under Reference. You can specify the following attributes of the message header:
    sender_party, sender_service, receiver_party, receiver_service, interface_name, interface_namespace,
    message_id (message ID with hyphens, for example 9fbe1ff1-9a0d-11d9-8665-cbf10a126331)
    message_id_hex (message ID in hexadecimal format, for example 9fbe1ff19a0d11d98665cbf10a126331)
    For example, if you want to specify the interface name from the message header in the target directory or in the file name scheme, enter message:interface_name as the reference.
    If one of the message attributes contains characters that are not permitted in a file name, for example \, /, :, *, ?, ", <, >, |, then these characters are replaced by an underscore ("_").
    ○       If the variable refers to an element in XML schema, add the prefix payload: to the information under Reference. The reference then comprises a pseudo path description in the form of a comma-separated list with the schema namea,na,nameb,nb,....
    namea,nameb,...corresponds to the element name and na,nb,... corresponds to the occurrence of the element name at the respective level in the document.
    The description begins at the root of the document and ends at the respective element.
    To reference the element that is in bold in the example, the following expression is used: payload:root,1,e1,1,e2,2
    The parser searches for the first occurrence of the root element at the first level. It then searches for the first occurrence of e1 at the second level and for the second occurrence of e2 at the third level. The content of the last element (u201CExample Valueu201D) is set as the value for a specified variable.
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
      <dummy>
         <e1>
            <e2>Data_1</e2>
            <f/>
            <g attr="abc">text</g>
            <e2>Data_2</e2>
         </e1>
      </dummy>
      <e1>
         <e2>illegal/value</e2>
         <f/>
         <g attr="abc">text</g>
         <e2 attr="fghij">Example Value</e2>
      </e1>
    </root>
    Thanks
    Praveen M

  • Receiver Determination Step For Synchrnous Send  in BPM

    Hi,
    How to use BPM Receiver Determination step for a synchronous send step?
    My scenario is to send a request to multiple receivers synchronously and get the response.How can i achieve this using Receiver Determination step in BPM.
    Regards
    Divia

    Hi Sreedivia,
    As far as use of synchronous message is concern with receiver determination step, it wont allow you to use Abstract Synchronous message interface in it.
    Even you cannot give multiple receivers without specifying any condition while creating Receiver determination  in integration directory.
    Regards,
    Sami.

  • BPM - Do we need receiver determination step between trans and sync send?

    Hi Gurus,
    I have a 1:1 transformation step followed by a sync send step. The transformation step is executing fine. While the sync step is executing, I am getting an error says 'No receiver determination found'.
    While I am executing this sync step in a separate, it is working fine.
    Do I need to have 'Receiver determination step' between Transformation step and Sync send step? I think so. Can somebody confirms this?
    Thanks for your kind help.
    Kalyan

    Hi,
    I think there is no need of a Receiver determination step in the BPM.
    You should have a proper receiver determination in configuration for this BPM scenario. (i.e) A receiver determination from BPM to the service configured for the synchronous interface.
    Regards,
    P.Venkat

  • Condition based on source file name - PI 7.1

    Hi Friends
    I have an file2file interface without any mapping requirement , source is sending  .csv files and I need to post those source files to two target systems in which each target system have two directories where I need to post based on few conditions and here are my queries.
    1. As mapping is not required I guess File Content Conversion is also not required as I simply pick and drop the .csv files into target - please confirm.
    2. One of the condition is :  source file name will be XXXX-AABB-C-XXXX-XXX-XXX.csv , here SAP PI has to read the company code (AABB) to determine the target system. Z001 and Z007 should be sent to TARGET1 & All other files will be sent to Target2.
    3. 2nd Condition : SAP PI has to read the type of file indicator (C). The files will be sent to the following target application directories:
    Simulation files (indicator = S): /interfaces/XXX/simulation
    Production files (indicator = P): /interfaces/XXX/inbound/
    Please kindly provide your ideas/solutions .
    Regards
    Suman.

    Hi Suman,
    If the Target is two different locations, then i guess you need to have two receiver Channels. Please check the below thread for details:
    Re: Genrate file in 2 different locations
    Incase of different directories in same server, you can check out this link:
    Dyanamic Configuration at receiver file adapter determine target directory
    kanan

  • Sender File adpater to Pick Two files at a time based on the file name

    Hi Everyone,
    I have a scenario where I need to pick two files at a time using file adapter where the two files names have a common string in between their names.For example , the file names can be sets like
    H123.txt and L123.txt
    H345.txt and L345.txt.
    Now how do we handle this in the File Adapter ?

    Anu,
    Two approaches.
    1.     Use BPM: use a collect pattern to pick those files: L and H files , use multi mapping to merge those files and map to IDoc. Constraint is that there must be a mandatory correlation field in both the files. Say a same po id  in L and H file.
    2.     Use an Adapter module with additional files option in file Adapter. Operate on the Main payload and attachment inside your module code to get a combined contents of both files and proceed.
    Module is preferable in terms of performance, but maintenance is difficult. Deployment after each changes, transport issues, etc.
    BPM is resource intensive, but easy to maintain, transport.
    Choose based on your requirement.
    Regards,
    Sudharshan N A

  • Consistency check error in sender file content conversion

    Dear Experts,
    I am trying one simple File to File scenario in which i have only fields 1>salesorder_number 2>Description
    I created a txt file with line items "100,crudeoil" with file name as salesorder.txt
    In the sender file adapter i have configured the file convertion paramenters as follows:
    Document name : mt_salesorder_sender  
    Document namespace : http://se.com.sa/sec-sa-qax          "Namespace of message type
    Recordset Structure : document,*
    document.endSeparator : 'nl'
    document.fieldSeparator: ,
    document.fieldNames : salesorder_number,Description
    So after this if i run the scenario In file adapter i am getting the error like "Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'document.fieldFixedLengths' or 'document.fieldSeparator' is missing Consistency check: no. of arguments in 'document.fieldFixedLength' does not match 'document.fieldNames' (0 <> 2) "
    Please let me know where i am going wrong.
    Regards,
    Santhosh

    Hi,
    please maintain the order as
    Recordset Structure : document,*
    document.fieldNames : salesorder_number,Description
    document.fieldSeparator: ,
    document.endSeparator : 'nl'
    Rgds
    joel

Maybe you are looking for