Sender File Adapter - Dynamic Filename?

Dear All,
I have a simple requirement to retrieve a file named "XXX_ddmmyy" from an FTP site. The FTP site administrator will place a new file everyday. The date is part of the filename.
I can find a lot of information on how to set the Filename for a "Receiver File Adapter", but none about dynamically setting of the filename for a "Sender File Adapter".
Can you help please?
Kind Regards
Farshad

Hi,
You have mentioned over here that the requirement is to get the file "XXX_ddmmyy" from an FTP site.
Is that site strictly for keeping files related to your requirement only or lot of other files are also being placed???
If its strictly related to your requirement then you can use the filename "*.extension" and set the processing mode as "delete" so that once the File Adapter picks the file it will be automatically deleted.
But here disadvantage is that the file wont be no longer present in FTP site once it is picked by File adapter.
Thanks,
Lekshmi.

Similar Messages

  • Configure Sender File adapter dynamically

    Hi,
    I need to configure the sender file adapter dynamically. Ex: I will be providing the src dir , file name etc dynamically. I think this is not possible using module because module gets executed after file is picked (in my case file dir and file names need to be determined dynamically). I even don't won't to use directory API for craeting my file sender comm channel. Is there any other way to achive this.
    Regards,
    Rakesh

    Hi Rakesh,
         what is the Operating system of the PI server? Could you please kindly explain what conditions determine filename and source directory? I do not think there is anyway you can determine src file and dir names dynamically in PI.
    Here is what you can try.
    PI server is on windows system u need batch file. If its on unix or Linux you need scripts. Now what you have to do is place all files in a directory. Here the script/batch file will run continuously in background. Once it gets files it will rename files based on file content or file name then move them in different directories as per your conditions. your interface must have multiple communication channels and sender agreement (with diffrent parties) which will pick up those files from these directories.
    The name of directories will be fixed in each channel.
    regards
    Anupam

  • How to get the filename in mapping when using sender File adapter?

    hi Experts,
       I have scenario where XI reads the input file using Sender file adapter.
       The file name is configured in the communication channel.
       In my message mapping it is possible to read this file name?
    Thanks
    gopal

    Hi Gpoal,
    Use Dynamic Configuration - /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Regards,
    Geetha

  • Dynamic file Directory : Sender File Adapter

    Hi all
    In one of our interface development ,at  we require a dynamic Directory path at the sender file adapter ..
    ex :
    path = Root/A/B/C
    filename = test.txt
    now in Root Directory, Folder & subfolder  " A ( B ( C )))  are dynamic.
    Subfolder "C"  wil contain the source file..
    Will it possible...with Z module development..??
    Regards,
    Ashutosh

    hi,
    if you want your directory name dynamically from Payload, you can use the option variable substitustion;
    For example follow below procedure:
    1)in the Target directory name --> /%dir%
    2)go to advanced tab and check for the variable substitution option(enable),
    3)variable name:dir
       Reference:Payload:mt_filetest,1,name,1
    according to the given details in the communication channel your  payload should be like this
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:mt_filetest xmlns:ns0="urn://filetest">
       <name>madhav</name>
    </ns0:mt_filetest>
    now  directory is created with the name of madhav (Dynamically according to the payload directory name is created).
    Note: points if it is useful
    Thanks
    Madhav

  • FileName in Sender File Adapter Module

    Hi Folks,
    In my sender file adapter have written a module to read the picked file name. The protocol used is NFS.
    Notice that the file name read in the module has the absolute path, including the directory path. E.g The file name xyz has to be picked from source directory
    XIServer\Outbound. In the module when I retrieve the file name, it comes up as
    XIServer\Outbound\xyz. Is this expected behaviour?
    I was expecting just the file name<xyz> to be retrieved.
    Thanks,
    Anand

    HI,
    Create an UDF and write this code.
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key =
    DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName;
    in Adapter u will have Adapter specific parameters check the file name check box.
    Using this UDF u will get the file name at target side.
    Regards,
    Phani.

  • Sender file adapter - filename containing  *  does not work

    Hi All,
    I am doing simple file-file scenario wherein my filename is something like
    MATMAS05_XI20070911-150159-088.xml 
    there are many files having similar kind of  name which are supposed to be picked
    so simply I can go on writing <b>MATMAS05_XI*.xml</b> in filename
    it is not working.. communication monitoring gives error <i>Error occurred while connecting to the FTP server "10.25.117.237:21": java.lang.NullPointerException</i>
    But  when I use character '?' then it works fine - '?'  placeholder for each extra character
    I am on SP 20.My adapter is configured properly. FTP server working fine with '?' or simple filename. So bit confused why it is not working with *
    Are there some BASIS settings which have to be in place to work it out with * ?
    All your inputs are welcome !!
    Thank You,
    Mugdha kulkarni

    Hi
    this error is not related to multimple files or sending with the * char.. you can use it
    see the below link
    /people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter
    The error related to the server connection.. also check the ip address is correct or not you configured correctly or not..
    also clarfity the correct error description ..
    Chilla

  • Vaildating File name with the data in the file using sender file adapter

    Hi,
    Below is the scenario
    1)       Pick up files from a FTP server, the file name is dynamic, how do I put dynamic name in sender file adapter?
    2)       Determine if the user correctly named the file based on data in the file.
    a.       File naming structure that we will be concerned with is <company_code><accounting_time_period>.<extension>
    b.      The company code and the time period in the file name have to match the data in the file.
    i.      For example.  If the file name is 1001_200712.csv and the data in the file is for company code 1005, time period 200712, the file is incorrectly named.  Both values must be correct.
    How do we do this?

    Hi Sachin,
                    As Rightly said by Krishna, You can not put Dynamic name in sender File Adapter .You have to provide the name of the file like "*.txt" in Sender Adapter and at runtime you can access this file name by using following UDF:
    DynamicConfiguration conf  = (DynamicConfiguration) container
      .getTransformationParameters()
      .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String valueOld = conf.get(key);
    return (valueOld);
    As now you have picked up the file name at runtime.
    Now concatenate source file fields Company_code and Accounting_timeperiod using "_" as delimiter in properties.Also concat the extension .Now you have required file name.
    So using EQUALS standard function ,compare it with File Name fetched at runtime using above given UDF, and pass result as you desire to process further or not or to raise Alert to resend the file.
    Thanks & Regards,
    Anurag Garg
    You can validate this file name in Mapping itself.

  • Read uniquely named file. Sender File Adapter unsuitable for synchronous

    Hi All,
    We have a requirement to read a specific file that has a unique name based on a transaction ID. The transaction ID will be passed from the source application.
    The communication is required to be synchronous. There could be multiple requests/files generated and present at the directory at any given time but each corresponding to a specific transaction ID. If the file is not yet generated for that transaction ID we return back an error to the calling system.
    I think we can not use Sender File Adapter - because of the dynamic naming and also because we have to return a synchronous response back depending on the file availability. i.e. We can not have a defined pattern in the file name nor can we specify a wild card as there could be more than one files in the location.
    In theory we could use the File Sender adapter to read all the files in the directory and a BPM with correlation set based on the transaction ID and let the process wait for the request. But as far as possible I want to avoid this unnecessary wait or extra demand on the system. More so because the files could get big.
    If I were using a tool like SAP Business Connector or webMethods then I would I used a readFile Java service and given it a filename to return the required bytes in a synchronous read.
    Is something like this possible in XI? If someone has written a synchronous Java to read file can they share the code? Or do you suggest I write a ABAP server proxy to read the file?  The problem however will be how do we map the data to a XML within the code.
    All suggestions welcome. There has to be a simple and effective solution to this mundane requirement !
    Wishing all SDNers a bright start to this new year,
    Thanks,
    Charu
    Message was edited by:
            Charu Kulkarni
    "The transaction ID will be passed from the source application so we know what file to pick"

    Hi,
    You could make the scenario a little simple and avoid custom development if the logic can be put into scripts(out of XI).
    Say all the files are coming into a directory called D1.
    Here, you could use a script to arrange all these in an order (say ascending) and move the first file into another directory D2.
    The sender file adapter would poll this directory D2. The adapter can have a wild card character for the filename field now.
    Once the file is in XI, you could check this against the transactionId present(I am not sure how you get this though!), and determine whether to send a mail, or to send a file back.
    Here, I have assumed that there is somekind of order present in the files placed in the directory D1.
    Again, this is just a suggestion.. I might be wrong with all the assumptions.
    Regards,
    Smitha.

  • Getting File Name (Sender File Adapter )

    Hi EveryBody,
    I need to capture only the the FileName in to the outbound xml that is present in the filepath of XI server.
    I checked:
    Adapter Specific Message Attributes:
    Checked box on --> 1)Set Adapter Specific Message Attributes
                                 2) File Name
    And my dt IS OF TYPE :
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_DMS_FINAL>
       <Header>
          <FileName/>
       </Header>
    </MT_DMS_FINAL>
    Now i put the File into the path , i donot need any content of file in XML , only needed the file name.
    i tried above config and it says mapping error, but i test it"s running good with the test tab.
    i guess file picked up by Sender file Adapter is not matching witj the outbound interface ?? is it so ?
    advice. i see in the sxmb_moni that only the content not in xml structure is displayed.
    srini

    Refer to the blog that i asked you to go thru. It has no input fields. It accesses the file name through the Dynamic Configuration. Provides the same as output. Its just a java function without any input parameter. Create an UDF and deleted all the arguments(even "a").
    Code:-
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName; 
    Oops sorry, i guess i forgot to provide the blog link. Anyway its here:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Regadrs,
    Sanjeev.
    Edited by: Sanjeev Shekhar Singh on May 30, 2008 2:12 PM

  • Multiple Exclusion Criteria[Exclusion Mask] in Sender File Adapter

    Hello All,
    I have a requirement to specify multiple exclusion criteria in the 'Exclusion Mask' property of a Sender File Adapter, i.e. I need to pick up files that correspond to 111*.txt from a specified source directory, but I would also want to exclude specific individual files that go by the following names:-111ACC.txt, 111INV.txt & 111PUR.txt.
    I have tried the following - Specified 111*.txt in the 'File Name' field and in the 'Exclusion Mask' field specified ACC, INV & PUR - the exclusion criteria separated by commas. But this does not seem to work. All the 111* files are getting picked up.
    Have gone through a couple of weblogs that deal with exclusion masks, but they do not talk about multiple exclusion criteria.
    Is there any other way I could accomplish this?
    Thanks,
    Anand

    Hi,
    Try this config.
    Give  *.txt in filename. and Directory as <YourDir>
    In exclusion mask give 111ACC.txt
    Below this there will be a table. Add two Entries
    Dont add anything to FilenameMask.
    Directory ->FileNameMask--->ExclusionMask
    <yourDir>->--->111INV.txt  
    <YourDir>->--->111PUR.txt
    Try this and get back.
    Regards,
    Sudharshan
    Message was edited by:
            Sudharshan Aravamudan

  • Which file fails in sender file adapter

    Hi.
    Is there a place in the monitoring landscape, that can tell me the filename of a file, that fails in a sender file adapter (lets say I receive files with filename *.txt).
    The file adapter uses content conversion.
    Right now, the RWB only tells me that something went wrong in the content conversion. The filename would be nice for people working in a CCC to forward to second level support!
    Regards...
    Peter

    Hi,
    In the sender file CC..
    Check the option filename and filetype under the adapter specific attribute so  that the payload will have the filename too...which make the life easy...
    Regards
    San
    Remember to set the thread to solved when you have received a solution there is a Way.

  • .xls ,.xlsx, .xlsm in sender file adapter

    hi guys,
    I have written an adapter module to read an excel file in sender file adapter...
    if the input file comes as .xlsx or .xlsm wll it be able t read the same?
    or do i have to change anything in the module code?
    filename in sender cc is filename.*
    Regards,
    Teja

    Hi Gurus,
    How can we download data from SAP internal table to Excel file in .XLSM format?
    file is having macros and header, i need to append the values from internal table to the excel file from 6th row(5 rows contains header).
    when i try to use " gui_download " FM , status message in sap shows as no.of bytes transfered! but , while oppening the file it is showing currupted.
    When i try to use OLE Method it is creating the file in xlsx format in stead of xlsm.
    can any one please guide me how to proceed!!
    Regards,
    Balaji

  • Sender File Adapter : File Name Determination

    Hi All,
    My Scenario :
    1) Im my scenario i need only the "FileName" of the File when picked up by the Sender File Adapter.
    2) Rest Content of the File need not be in the XML file format.
    Now what i did was developed "File Adapter Module " to get the "FileName" when picked up by the Sender File Adapter.
    Outcome : When i put the developed module at first and put the file in specified folder allowint the Sender file Adapter to pick up. Now Everything is fine working when one kind of File is placed as per my Content Coversion paramaters.
    Actual : My Client would place file of any kind (.jpeg -> Mostly , gif ) i need to get only the file name in the Outbound interface , which i would split it further to my Target Interface.
    How could i achieve this , when i took away this content conversion , in sxmb_moni it shows error.I need only the filename in the Outbound not the Content , moreover the hit is i donot know what could be content of my file as it could be different and varing , so i could not set particular content conversion paramters:
    Second Question:
    Now my outbound XML interface looks as below when i test with a file , with proper content conversion paramerters:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <MT_DMS_FINAL>
    - <Record>
    - <Row>
      <FirstName>2323_eer_rtr</FirstName>
      </Row>
      </Record>
      <FileName>d:\mdmtest\srinivaS\padusrini.txt</FileName>
      </MT_DMS_FINAL>
    Well i have designed in my MI only FirstName , how to capture this element "FileName" which i can use it in mapping , if i have to write any UDF to capture it ,please guide me.
    thx in advance for u r help
    with regards
    Srini

    Hi Guys ,
    Can i use File Content Conversion for .pdf document , my pdf doc content is not known, means it"s a complete info doc.I may get .jpeg any picture or drawing.
    I thought i can use below file content conversion paramters:
    Document Name : MT_DMS_FINAL
    RecordSet Name : Record
    RecordSet Structure : Row,*
    Row.fieldNames - FirstName
    Row.fieldSeparator - ;
    Row.processFieldNames - fromConfiguration
    Row.additionalLastFields - ignore
    Row.missingLastfields  -  ignore
    Now i put a pdf doc of unknown content , and my assumption was some set of charater would be dumped in  XML and rest would be ingonered which is least bothered part in my scenario , unless i get the filename from runtime ot Adapter module developed
    But in RWB CC monitoring i see below error :Error: org.xml.sax.SAXParseException: Illegal XML character:  &#xb;.
    Any views on this , can any one help me out with the above requirment. Hope u guys got wat am trying to put out here
    thx in advance for u r help
    with regards
    Srini

  • Required Changes in FCC Paramenters for Sender File Adapter.

    Hi
    I am Doing File-File Scenario.I am using FCC in the Sender File Adapter. I have defined the structure as below.
    My Source Structure
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Source xmlns:ns0="http://city.net/filecopy">
       <Message>
          <Id>123</Id>
          <Head>
             <Id>123</Id>
             <Filename>test.xml</Filename>
          </Head>
          <Body>Helloworld</Body>
       </Message>
    </ns0:MT_Source_FILE>
    So for the above structure, I have defined the FCC Parameters as
    Document Name: MT_Source (Message Type)
    Document Namespace:http://city.net/filecopy(Namespace)
    Recordset Name: Message (root node)
    Recordset Structure: Message,1,Head,1
    Recordset Sequence: Ascending
    Recordsets per message:1
    Keyfield Type: string
    In the Table Rows I have defined
    Message.fieldFixedLengths: 3,10
    Message.fieldNames: Id, Body
    Message.fieldSeparator: ,
    Message.endSeparator: 'nl'
    Head.fieldFixedLengths: 3,8
    Head.fieldSeparator: ,
    Head.endSeparator: 'nl'
    Head.fieldNames: Id, Filename.
    My Input Text file
    123,Helloworld
    123,text.xml
    I am Getting Output as
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_Source xmlns:ns="http://city.net/filecopy">
    - <Message>
    - <Message>
      <Id>123</Id>
      <Body>HelloWorld</Body>
      </Message>
    - <Head>
      <Id>123</Id>
      <Filename>test.xml</Filename>
      </Head>
      </Message>
      </ns:MT_Source>
    I should get Body field after Head Structure as in the Source Structure, So Please what changes do I need to do in the Parameters Specified above to get the desired Output.
    So How should I define the FCC Paramenters For Sender File Adapter ?
    Any Help Would be Appreciated.
    Regards,
    Varun

    Hi Everyone,
    I could Succeed to some extent.
    I have defined the parameters as follows
    Recordset Structure: Message,*,Head,1
    Key Field Name: KZ
    Key Field Type: integer
    In the table, I defined the Parameters as
    Message.fieldFixedLengths:1,3
    Message.fieldNames:KZ,Id
    Message.keyFieldValue:1
    Message.keyFieldInStructure:ignore
    Message.fieldSeparator:,
    Message.endSeparator:'nl'
    Head.fieldFixedLengths:1,3,8
    Head.fieldNames:KZ,Id,filename
    Head.keyFieldValue:2
    Head.keyFieldInStructure:ignore
    Head.fieldSeparator:,
    Head.endSeparator:'nl'
    Message.fieldFixedLengths:1,11
    Message.fieldNames:KZ,Body
    Message.keyFieldValue:3
    Message.keyFieldInStructure:ignore
    Message.fieldSeparator:,
    Message.endSeparator:'nl'
    My source text file
    1,123
    2,123,test.xml
    3,Hello World
    my output is
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_Source xmlns:ns="http://city.net/FileCopy">
    - <Message>
    - <Message>
      <Id>123</Id>
      </Message>
    - <Head>
      <Id>123</Id>
      <Filename>test.xml</Filename>
      </Head>
      </Message>
      </ns:MT_Source>
    I got the output almost correct except I am not getting the value in the Body
    Any help would be appreciated.
    Please correct me If I am wrong.
    Regards,
    Varun
    Edited by: Varun on Sep 2, 2008 12:06 PM
    Edited by: Varun on Sep 2, 2008 12:15 PM

  • Sender File Adapter- Incrementing the counter in file name

    Hello,
    We have a requirement to read a different file name with every read. Every subsequent file would have a numeric counter updated when we receive it, we need to read that file as the directory would hold the previous files as well.
    File structure :- EP<counter>.txt ; so first file would be EP001.txt, next one would be EP002.txt.
    How could i do this in Sender file adapter, as there is no variable substitution available like receiver file adapter.
    I cannot use wild card characters as the directory would contain previous files as well and we ned to pick the latest file.
    Regards

    Hi,
    >>How could i do this in Sender file adapter, as there is no variable substitution available like receiver file adapter.
    Yes true this is not available in sender channel
    >>I cannot use wild card characters as the directory would contain previous files as well and we ned to pick the latest file.
    You can use EP* as the filename and use processing mode as Set to Read-Only
    Regards
    Suraj

Maybe you are looking for

  • I went from an iphone 5 to an iphone 5s and NONE of my new or older photos in PhotoStream will sync to my PC. WHY?

    Before I switched from a 5 to 5s, my photos has stopped "streaming" to my PC.  I would get every other photo and then just random photos would be added to the MyPhotoStream folder on my PC when I was connected to wi-fi... Now that I got my iPhone 5s,

  • Restore Library After Power Surge

    3 days ago an electric storm shorted out my computer. When I turned the computer on the following day, my iTunes library was corrupted. The songs that I had on my hard drive remained intact (seemingly). When I tried to File>Import all of the folders

  • Norrow images in project

    Frankly I'm new to Element.  I have v 8.0 (sat on my floor a while) and just loaded it.  I'm trying to pull in video files that I took with my Canon FS300, but when I do, they appear in what I believe is 4:3 versus the 16:9 and the images are narrow

  • How to assign an xpath query result to a variable

    I have a problem that I'm having trouble solving. I need to conditionally run a query based on the results of another query. Both are XPATH queries using extract. I can't seem to get it work as an IF...THEN; so I tried to assign a variable to the val

  • Found Fix for "unexpected-end-of-file" error for Photoshop

    NOTE: You will lose all layers (this process flattens the image, but it's better than nothing). You need to have Adobe Illustrator installed (you could get a trial version or something if you don't have it). I was using Windows 7 when I did this, so