SAP PI 7.3.1 File Adapter - Select file based on content

Hi all,
I have a scenario where I need to process a file differently based on the content within the payload.
For example a file called File_IS,xml is sent to a folder that PI is polling. Within this file is a field <TYPE> which I want to use to determine whether the file should be used  . I have two mapping scenarios that each have a file sender communication channel polling for the same file name "File_IS.xml" .  This is because a message will come from a 3rd party with the same file name but the content can be different meaning different mapping scenarios are required.  IF Com_Channel_1 sees the File I only want it to be picked up if say <TYPE> = 'A' - if not then Com_Channel_1 should do nothing with this file.  Similarly Com_Channel_2 should only use the file if <Type> = 'B'. 
Scenario:
File_IS.xml       -> File sender 1  -> <TYPE> = 'A'  - Pick up file - do mapping - archive.  <TYPE> <> 'A' - do nothing and leave file in folder
                      ->  File sender 2  -> <TYPE> = 'B'  - Pick up file - do mapping - archive.  <TYPE> <> 'B' - do nothing and leave file in folder
Is the above possible at all ?
Thanks for your time.
Best Regards.
Gary

Hello,
In case content of input files are different (for both the scenarios) even then also u can use one file sender channel. Check below approach:
Interface Determination condition
Thanks
Amit Srivastava

Similar Messages

  • Error in Receiver File adapter using File content Conversion

    Hi,
    I am getting the following error in the receiver file adapter.
    Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'statement.fieldFixedLengths' or 'statement.fieldSeparator' is missing
    I am using the below parameters for FCC:
    Recordset Structure - statement
    statement.endSeparator - 'nl'
    statement.fieldSeparator - '0X09'
    statement.fieldNames -xblnr,wrbtr,newbs,kostl,newko,prctr,xref1,rke_wwfud,rke_wwst3,blart,bukrs,bldate,budat,gjahr,monat,ctype,waers,bktxt,posnr,wbs_element,mwxkz,businessplace,businessplace,c_waers,c_wrbtr,g_ctype,g_waers,g_wrbtr,h_ctype,h_waers,h_wrbtr,trade_id,lob,sgtxt,zuonr,reason_rev,ldgrp,tcode,lifnr
    ignoreRecordsetName - true
    Please let me know where i am going wrong.
    Thanks,
    Aparna

    Hi Aparna,
    I feel the problem in your content conversion parameters is with
    statement.fieldNames and ignoreRecordsetName
    When you are confirguring receiver file adapter for file content conversion the above one is not required. Please refer below link for details on configuring content conversion in file adapter
    [http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm]
    Hope this helps !!
    Regards,
    Amit

  • File Adapter or File  Transport which one will give more performance

    Hi all,
    File Adapter or File Transport which one will give more performance ? in OSB?
    Which one to select any one did performance analysis?
    Thanks
    Phani

    Why don't you just go read some benchmarks?
    http://www.barefeats.com/mbpp18.html

  • Sender File Adapter with file conversion

    Hi guys,
    I’m using a Sender File adapter with file conversion. The message to be processed has a structure with fixed lengths and in your content are some values that needs to be ignored.
    An example:
    value1  <b>value2</b>  value3…
    I want to ignore <b>value 2</b> but I can’t find a parameter for that! Do I need to define dummy fields on my data type and ignore those fields during mapping? Or there is a specific parameter for that?
    Thanks in advance,
    Ricardo.

    hi,
    there always is another way:)
    you can import the whole line to one field
    and cut it inside the adapter module
    (then you can define start and stop of the substring that you need to use)
    but of course it's not standard even though it's quite easy to achieve in java
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Can File Adapter Select Based on File Age?

    Is there a way to configure a File Sender communication channel to only pick up files that are at least 10 minutes old (been in the sending directory for that long)?
    I want to avoid anything requiring an external process (ie. temp directory or outside scheduler moving files).
    Thanks,
    Keith

    Hi Keith,
    Do you mean, if the input file is still being written by some applications the File adapter is supposed to wait for the application before processing?
    If so, you have the option Msecs to Wait Before Modification Check
    Msecs to Wait Before Modification Check
    Enter the number of milliseconds that the adapter must wait before it checks whether the files have been changed.
    This parameter is not available if you have selected File Content Conversion as the Message Protocol and then made an entry under Recordsets per Message that splits an input file into several messages.
    From SAP Help.
    Regards,
    Jaishankar

  • Receiver File Adapter - Create File on another SAP System

    I am working on a project that includes this requirement:  PDF files to be copied from a third party company via SFTP to a directory on our ECC system.
    We have worked out the sender side config, and the transfer of the files into PI works fine via SFTP.
    However, the PDF files are ending up in a directory on the PI system and not on our ECC system as expected.
    The receiver communication channel is set up as follows:
    Party = blank
    Communication Component = communication component of the ECC business system
    Adapter type = File
    ('Receiver' is ticked)
    Transport Protocol = File System (NFS)  (etc)
    Target directory = /tmp   (using this temporarily for testing)
    I would have thought using the ECC business system would mean the files would end up on that system, but instead they end up on the /tmp directory on the PI system.
    We are not permitted to use FTP between our SAP systems, so I can't go with that option.
    I've searched for help on this and only see conflicting and vague statements about whether the NFS protocol can or can't be used for transfer to another SAP system in the landscape. 
    Any suggestions and help on the above, and the best method of transferring the files to the end SAP system would be very appreciated.
    Regards,
    Christine

    remember that NFS means that it is referring to a file system on PI server.
    What you could do is mount a space on SAP PI onto SAP ECC so that ECC will be able to access the files on SAP PI.
    Guess that should solve the problem.

  • File adapter - archiving files after successful processing & errors

    Hi All
    In sender file adapter, I understand that we can archive files after processing them.
    After successful processing, we can archive the file, and if there are any errors, we can archive the file in a different folder (all files resulting in errors during processing are archived in a seperate folder).
    Now, see this scenario.
    My file is successfully picked up, processed and posted to receiving sap system thru proxy.
    But, if there is any application specific error (ex: duplicate id), because of which this data cannot be processed in the receiving system, how can i move the file which is archived in successful messages folder to the folder where we archive error messages?
    Is it possible?
    This is required because, when there are these kind of errors with incorrect data, we want the corresponding file to be archived in the folder where erred files are archived.
    Please let me know how we can achieve this.
    Many Thanks
    Chandra

    in file sender CC, thr is option to archive and error file store also..
    1)under processing mode - archive.. give the path thr..
    2) To archive source files where a permanent error occurred during processing, select Archive Faulty Source Files
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/658abd344a4de0e10000000a1553f7/frameset.htm

  • File adapter validate file checking directory for files

    Hi Gurus,
    We have requirement. There are 3 directories (Processing, Error and Archive)in the Source side.SAP PI need to pick up a file called "abc.txt" from the processing tab.
    But there is a condition.
    1. If "abc.txt" file exists in the "Error" directory then Not process the interface.
    2. If there is no "abc.txt" file in the "Error" directory then validate the file "abc.txt" in the "Processing" directory. If the file is not according to the validation rule then move the "abc.txt" file to the "Error" directory and then stop the processing.
    3. if the above two conditions are ok then move the "abc.txt" file to "archive" directory and send the file to PI.
    Please help me to achive this requirement.

    Hi Kevin,
    You need to use the option of "advanced selection for source file" in the source tab of  sender comm. channel.
    chk this link :-
    http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
    /people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter
    hope its of some help
    Regards,
    Rohit

  • File adapter: Additional files option and Archive option

    Hi all!
    I configure file adapter to take file with two additional files. Additional files is optional. Also I configure to processing mode to archive.
    So when I put all three files in folder everything works fine - all files are archived.
    Problems begins when I put not all additional files for example:
    1) when I put one main file and the <b>FIRST</b> additional file, files are archived, in communication channel monitoring i see error in message java.lang.NullPointerException, but message with payload transfers to IE successful.
    2) when I put one main file and the <b>SECOND</b> additional file, the main file archived, the SECOND  file <b>NOT</b> archived and stayed in source directory. In CC monitoring I see error message java.lang.NullPointerException, but message with payload transfers to IE successful.
    Please provide me with some solution, because I need to archive all files.
    Maxim.

    in file sender CC, thr is option to archive and error file store also..
    1)under processing mode - archive.. give the path thr..
    2) To archive source files where a permanent error occurred during processing, select Archive Faulty Source Files
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/658abd344a4de0e10000000a1553f7/frameset.htm

  • File Adapter: Dynamic file name

    Hello,
    I would like to use a filename like this:
    Name.<DOCNUM>.Direction.<Timestamp>
    For DOCNUM I use variable substitution. Works fine.
    For <Timestamp> I need a different format as the timestamp function
    in file adapter create. So I try to set up my timestamp in mapping like
    dynamic file name:
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "Timestamp");
    conf.put(key1, a);
    Input a is date function which creates my desired timestamp format. In file adapter I try this:
    Name.%DOCNUM%.Direction.%Timestamp%
    or
    Name.%DOCNUM%.Direction.Timestamp
    or
    Timestamp
    all doesn't work for Timestamp.
    So is there a possibility to configure a dynamic filename like this???
    Is there a possibility to access dynamic configuration variables in dynamic filename except
    the known for filename and directory??
    thanks
    chris
    Edited by: Christian Riekenberg on Mar 10, 2009 4:02 PM
    Edited by: Christian Riekenberg on Mar 10, 2009 4:05 PM

    your file name needs to be
    Name.<DOCNUM>.Direction.<Timestamp>
    dont use variable substitution. use only dynamic configuration and set the file name
    introduce a logic that will create the string
    Name.<DOCNUM>.Direction.<Timestamp>
    eg. String filename = "Name" + var_docnum + "Direction" + var_timestamp;
    then use the dynamic conf code to set the file name and use adapter specific properties in you adapter to retrieve it.
    Ref:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm

  • File Adapter: picking files from multiple directories

    Hi all,
    In a sender file communication channel with Transport
    Protocol FTP, There are 2 parameters for Picking up the file
    called Source Directory and Filename. If I want to pick the
    files from 2 or more directories, What needs to be done.
    Or is it possible to do so ?
    Without making duplicate interfaces what else can be done ?
    Regards,
    Vijay

    Actually it is possible to select files from different folders for sender channel. It is available with SP14.
    I just copy following description from help.sap.com
    Advanced Selection for Source File
    If you want to set an exclusion mask for the File Name specified above, or if you want to specify multiple directories using a file name mask and exclusion mask, set the Advanced Selection for Source File indicator.
    ¡        Specify an Exclusion Mask for the file name specified above.
    Example
    You want to process all files that have the extension '.txt', but want to exclude all files that begin with the letter 'a'. To do this, enter .txt for File Name, and a for Exclusion Mask.
    ¡        You can enter additional specifications for source directories, file names, and exclusion masks in the table. This data is processed in addition to the details specified above.

  • XI Receiver file adapter : Dyanmic File PATH

    Hi,
    Appreciate if someone could help me on the issue below:
    I have a receiver File adapter with a dynamic target directory as per below:
    Target directory: /test/YYYY/MM/DD
    the value for YYYY (Year) , MM (Month) and DD (Date) will be the date when the file being transfered from the sender.
    Appreciate if someone could help me to achieve this. I know we can use the variable substitution however it doesn't allow us to set a systems field such as sy-datum.
    Cheers,
    ZAB

    Hi,
    Populate this value in your payload , and then use Dynamic File Name concept of File Adapter.
    The dynamic filename generation concept is as follows.
    In your filename field. just give a variable with % symbols. (eg: %file% ).
    Now, under the option Variable Name Substitution, you can give how the value has to be created.
    It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
    For the former, your give
    message:interface_name ,etc
    and for the payload part you give,
    Payload: "your element root which u wanna acecss"
    Just check this link out,
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    And read the contents under variable substitution and it will help you understand the concepts better.
    If you have any clarifications, do get back,
    Regards,
    bhavesh

  • File adapter:  Receiver File Content Conversion problem.. XML to CSV..!!

    Hi,
    I am facing some problem in FCC for Receiver adapter. It has to convert from XML to CSV File.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:PaymentFull_Target xmlns:ns0="http://sdn.com/Payment">
    - <RECORDSET>
    - <Header>
      <LineItem>1</LineItem>
      <SaleNumber>102</SaleNumber>
      <TransNumber>105</TransNumber>
      <Store>1326</Store>
      <variant>Z6</variant>
      <TransType>NEW</TransType>
      <Adjustm_Type />
    </Header>
    - <Header>
      <LineItem>2</LineItem>
      <SaleNumber>102</SaleNumber>
      <TransNumber>105</TransNumber>
      <Store>1326</Store>
      <variant>Z6</variant>
      <TransType>NEW</TransType>
      <Adjustm_Type />
    </Header>
    - <Header>
      <LineItem>3</LineItem>
      <SaleNumber>102</SaleNumber>
      <TransNumber>105</TransNumber>
      <Store>1326</Store>
      <variant>Z6</variant>
      <TransType>NEW</TransType>
      <Adjustm_Type />
    </Header>
    </RECORDSET>
    </ns0:PaymentFull_Target>
    Output File is coming only with lineitem values , remaining fields are not coming.
    *1,2,3*
    FCC Used...
    RecordSet Structure -- Header
    Header.fieldNames -
    LineItem,SaleNumber,TransNumber,Store,variant,TransType,Adjustm_Type
    Header.fieldSeparator-----   ,
    Header.endSeparator-----    'nl'
    Did I miss anything.. any idea whats going wrong?
    Thanks
    Deepthi

    Hi Deepthi,
    Mention the occurrence of header in Recordset
    You specify like this:
    Recordset: Header, *
    Header.fieldSeparator : u2018Field Separatoru2019
    -->For FCC on Receiver side you donu2019t have to mention the field names.
    -->The u2018endSeparatoru2019 parameter needs to given for substructure only
    Check this links:
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    /people/shabarish.vijayakumar/blog/2007/08/03/file-adapter-receiver--are-we-really-sure-about-the-concepts
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    Rgds,
    Akhila

  • Sender File Adapter: Flat file content conversion to "multileveled" XML

    Hi all,
    I would like to do following conversion with file adapter:
    - Input flat file schema:
    A...
    B,,,
    C:::
    - Desired XML form:
    <mesage>
      <A>
        <B>
          <C>:::</C>
        </B>
      </A>
    </message
    >
    All found examples (internet or XI documentation) do offer only "flat" XML option:
    <mesage>
      <A>...</A>
      <B>,,,</B>
      <C>:::</C>
    </message>
    Does anybody have an idea ?
    Thanx and regards
    Jurica

    File Adapters content conversion does not supprot such a nested strucutre currently.
    The only format supported is the one shown in ths link,
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    Either write a module that will do this conversion or Change the datatye for the source to the format shown in help.sap.
    Regards
    Bhavesh

  • Sender File Adapter with file conversion  Multimapping

    Hello all,
    i have to use multimapping with the file sender adapter
    XML for multimapping ist like this
    ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:KVNR_Senden_MT xmlns:ns1="urn:lsv.de/SENDER">
             <Inhalt>
                <KE/>
                <VF/>
                <BBNRAB/>
                <BBNREP/>
                <VERNR/>
                <ED/>
                <FEKZ/>
    in File adapter
    DocumentName Messages
    RecordsetName  Inhalt
    Recorset Struc Inhalt,20
    Inhalt.fieldFixedLength 4,5,6.....
    Inhalt.fieldNames        KE,VF,.....
    but were can I generate Message1?????
    any Hints?
    regards
    ralf

    sorry but the message tags will not be add dynamically
    i have change an existing message mapping 1:1 with file content conversion
    into a multimapping.
    by changing into multimapping the message was surrounded with
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>.......
    no changing in File Adapter an in the IE there was an error
    com.sap.aii.utilxi.misc.api.BaseRuntimeException geworfen: RuntimeException in Message-Mapping transformatio~.
    if i added the stuct
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>.......
    by hand and it works???
    so i think i had to add
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>.......
    to the file content conversion but i don't know how to do it???
    Ralf

Maybe you are looking for

  • Difference between LIV and Normal Invoice document

    Hi Guys, What is the difference between an LIV invoice and a normal FI invoice document. Are the entries different or something. In which cases do we go for LIV invoicing. thanks srik.

  • Dont want to have 2 PR if the delivery date is the same in MD04

    Hi Guys, I want to avoid the splitting of a PR . Example: Demand of 100 on the 10/08/2011.=> Req of 100 created when MRP runs. The next week the demand changes to 50 on the 14/08/2011 and 50 on the 10/08/2011. Because of the lead time the delivery st

  • Apple Notes not sending notes to Gmail

    Previously when I created a note in Apple Notes, it would sync to my MacBook, iPad, iPhone and the new note would also be sent to my Gmail account. I've since upgraded to Mavericks on my MacBook on iOS 7 on my iOS devices. Notes are still syncing acr

  • String Binding in  plsql

    Hi All, I have two table, the first table(emp) contains few columns LIKE eno, ename etc. with some data. In my second table(eval1) I have one column which holds column names of first table ex. ename. How can I get the column value of first table base

  • Can I use Read table

    Can I use read table instead of multiple select & loop statements. Any one please give me the sample code ..how to do it. Thanks in advance