Controlling File Adapter

Hi All,
   How can i control a file adapter. I want file adapter start picking the files, only if it sees a empty control file.
How can i achive it?
Thank you
Ganges Leaves

Hi Ganges,
<i>How can i control a file adapter. I want file adapter start picking the files, only if it sees a empty control file.</i>
Is it mean, the file size is zero.. If so , there will not be any message in XI..
I think, are you looking for a Scheduler for File Adapter ? As of now, there is no direct mechanism to achieve that.. But there are External Schedulers available in the Market.. For e.g RedWood etc...
http://www.redwood.com/index2.html
Hope this helps,
Regards,
Moorthy

Similar Messages

  • XI Sender file adapter - How to process data and control files.

    Hello all,
       I have the following requirement to fulfill: I am using an FTP client (XI Sender file adapter) to retrieve data from an FTP site. To make sure I am not picking up a data file that is currently being written to, 2 files are actually present on the FTP site (for each data file):
    1. abc.ctrl (control file with no data in it. Indicates that the data file has been completely written).
    2. abc.dat (actual data file).
      I want the file/ftp connector in XI to retrieve the data file (abc.dat) only if the control file (abc.ctrl) is present. After the processing of the data file is finished, both files (.dat and .ctrl) should be deleted.
      Is there an elegant and robust way to accomplish this?
    Thanks for your help.

    Hi Yves,
    in my opinion there's no problem with files currently being written in combination with a polling file adapter because the final file name should be available only when the file is transferred completely. I'm using different file sender adapters very often and never had any problems. After picking up the files I move them to the corresponding archive folders mentioned in the adapters so that a second processing cannot occur.
    Regards
    Ralph

  • Can I control  filenaming when archiving  files using the file adapter?

    Hi folks,
    Is there anyway to control the filename used when the File Adapter writes out to an archive?
    Second question, I also need to be able to pass a "filename" to the adapter from an "input file." Is there a way to do this in the file adapter?
    Sincerely,
    lpac

    Hi,
    I have done that with the ftp adapter. In the .xsl file I wrote the following after the <xsl:stylesheet version="1.0" ....> tag:
    <xsl:variable name="INFILENAME" select="ehdr:getRequestHeader('/fhdr:InboundFTPHeaderType/fhdr:fileName','fhdr=http://xmlns.oracle.com/pcbpel/adapter/ftp/;')"/>
    <xsl:template match="/">
    <xsl:variable name="OUTFILENAME"
    select="ehdr:setOutboundHeader('/fhdr:OutboundFileHeaderType/fhdr:fileName', $INFILENAME, 'fhdr=http://xmlns.oracle.com/pcbpel/adapter/file/;')"/>
    <opaque:opaqueElement>
    <xsl:value-of select="/opaque:opaqueElement"/>
    </opaque:opaqueElement>
    </xsl:template>
    </xsl:stylesheet>
    To use this with the file adapter, you would have to wirte file where is written ftp.
    Hope this helps,
    Zaloa

  • Can we control the triggering of sender file adapter

    Hi,
    Can we control the tiggering of Sender file adapter with option of Run OS command before message processing
    This option is available in Sender communication channel, what are the limitations of this option?
    My actual requirement is to see the target folder whether it is empty or not, if empty then I can trigger the interface.
    For this I want to write shell script whihc execute at OS level to check whether the target is empty or not, But the constraint is will this can control the triggering of sender adapter.

    Hi Sekhar,
    I guess this can help you control the file pick up.
    If your shell script works well then using the same you  can modify the filename or its extension if the target folder is empty.
    Say in the sender file adapter you set the source-filename as "inbound_*.ready". Now when originally the source file is dropped into the source folder (by any other process) let it be named as "inbound_001.pending" and your script will change the file name to "inbound_001.ready" if the target directory is empty. I dont think you need to use the pre processing OS command for this.
    Does it make any sense?
    Regards,
    Suddha

  • Can I use a schema with no targetnamespace with the file adapter?

    I am loading a file using a file adapter configured to use an xsd from a third party, the third party controls the xsd and incoming xml and does not have a targetnamespace defined in the xsd or xml.
    When I define a file adapter for it the wizard indicates that I need to fix the xsd by adding a namespace. I dont have control over the xsd or xml as they are an external party.
    I think I can hand edit the wsdl and change the import statement that requires a namespace to an include statement with no namespace.
    Have you run into this before? Will that work?
    Thanks,
    John

    Hi John,
    Did we get any solution for this ?
    Even in our case, the third party controls the xsd & incoming xml message. Both does not have a targetnamespace defined. The file adapter wizard indicates that we need to fix the xsd by adding a namespace. As a workaround, we manually added the target namespace to xsd and created file adapater. Now the question is how do we automatically add the name space in xml message as well, so that it can be parsed by BPEL process
    thanks
    Yj

  • Flat File to Flat File Scenario using File Adapter

    Hi Experts,
                    In my scenario, requirement is Flat File to Flat file through File Adapter in PI. At sender end, we would need to use Sender File Adapter (NFS) and receiver end we would need to use Receiver File Adapter (FTP). File would be coming as a encrypted format, and the file needs to be sent in encrypted format.
                    Any idea how to proceed with this requirement would be helpful.
    Thanks and Regards
    Soumya

    Hi Soumya,
    You need to choose the FTP in the "transport protocol" option. Then in the FTP connection parameters choose the option Connection Security and assign the value "FTPS for control and Data Connection". Then the "Command Order" will show up below that option and you could leave the default value itself. If you are using Public private key certificates of X.509 then you could choose the option "Use x.509 certificate for client authentication" and assign the values to the "keystore" and "certificate & private key" fields.
    Note: To use the FTP with SSL you need to add the CA certificate to the TrustedCAs keystore view.
    Regards,
    Vishnu.

  • File adapter configuration parameter for "hexadecimal conversion"

    (File adapter for XI 2.0)
    Does anybody know the exact File adapter configuration parameters for reading a file with hexadecimal control characters as seperators. My file has
    3 types of seperators - i.e "2F", "05" & "0D2F"
    Eg: xml.fieldSeparator= "2F"
    When I specify this the file is getting split into fields
    at all the seperators in the file. I guess I am not using the right format in my defination ?
    Dorai

    Is there any special format for reading a file containing hexadecimal control characters?
    The file to be processed has hexadecimal separators:
    Field Delimiter        : '09' or '05'
    End of record delimiter: '0A' or '25'
    End of Table delimiter : '07' or '2F'
    Initially i would like to read the file into XI as it is i.e without any split by using "xml.fieldFixedLengths= "
    However, everytime I process the file(with hexadecimal contol characters), I have noticed that my file is getting split, even when I did not specify anything for field separator(i.e when i used fixed field length).
    Thanks,
    Dorai

  • File adapter : Do not poll if directory does not exist

    Hi people !
    I have a BPEL process that takes files as Input messages.
    I use a file adapter to do that.
    It works well but I would like to avoid polling the directory if it does not exist, do you know how to control if the directory actually exists ?
    Here is the File Adapter configuration :
    <jca:operation
    PhysicalDirectory="PhysDir"
    ActivationSpec="oracle.tip.adapter.file.inbound.FileActivationSpec"
    PhysicalArchiveDirectory="ArchiveDirl"
    DeleteFile="true"
    IncludeFiles=".*\.xml"
    PollingFrequency="30"
    MinimumAge="0"
    OpaqueSchema="false" >
    </jca:operation>
    Even if the directory does not exist, the process endlessly tries to poll that directory.
    Thanks in advance,
    Romain.

    I do agree with you that the directory should exist because the adapter was configured to poll on that directory !!
    Nevertheless, I would like to know how to control its existence before polling...
    Romain.

  • FILE ADAPTER ERROR IN FTP

    Hi,
    Iam getting the following error in sender file adapter:
    Could not process due to error: com.sap.aii.adapter.file.ftp.FTPEx: 550 *** ERROR *** NO BATCHES FOR TRANSMISSION
    Could anyone help me in this.
    Thanks &Regards,
    Y.Raj

    Hi Raj,
    1. Check whether the user you are using has access control i.e Read/Write Access from the folder in FTP server..
    2. Check it at OS level by directly pasting or pick the files..
    3. From SAP end check the user credientials provided in the file adapter i.e username of the FTP server and the Password of the FTP server it is case-sensitive.
    4. Try to give the exact path from where the file is to be picked and reactivate the scenario.
    5. what is the file size of the file that is going to be picked from the ftp server.
    6. Then finally check in Communication channel monitoring detailed log what is the error it was coming and check the log in XI server you can clearly notice the error.
    Even some times it will access at OS level but not through the server for this reactivate the adapter and provdie the user credentials and the path once again..
    regards,
    Kishore.

  • Sender File adapter Pooling interval & file Size issue

    Hi ALL,
    I have a file size of 400 MB to be picked to be the sender file adapter i am facing issue that the system is unable to even pick the file and place in the Q for Processing.
    1)we have no mapping no content conversion ....only pick the file from one loaction and place it in 3 different locations with 3 different names ...can any one help me in solving this .. ? the best workable method to achive this .
    2) this file is getting created once in a day .say 2 PM .so i can give the poll intravel to 24 hours ..but some times ..the file creation in server gets delayed ..but they cont wain for the next 24 hour to come for processing the file ..so my query is can we reduce  the poll intravel for 2 PM till  3PM hour for some 3 times ..and once it reches 3PM  it can poll as usual with a gap of 24 hour time ..
    thanks
    RK

    Hi Rupash,
    >>I have a file size of 400 MB to be picked to be the sender file adapter i am facing issue that the system is unable to even pick the file and place in the Q for Processing.
    Never use File adapter for picking large file (maximum size which I have seen it to work successfully is 200 MB)
    Instead go for Java proxies. Check this forum post for the discussion:
    Java proxy to use XI as a file mover
    Also if you want some more info on Java proxies refer these blogs and articles:
    /people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    >>this file is getting created once in a day .say 2 PM .so i can give the poll intravel to 24 hours ..but some times ..the file creation in server gets delayed .
    You can do a availability time planning refer these links for more information:
    Planning Availability Times
    http://help.sap.com/saphelp_nw04/helpdata/en/45/06bd029da31122e10000000a11466f/content.htm
    Controlling a Communication Channel Externally Locate the document in its SAP Library structure
    http://help.sap.com/saphelp_nw04/helpdata/en/45/0c86aab4d14dece10000000a11466f/content.htm
    Regards
    Suraj

  • Sender File Adapter always "Polling interval started" without complete

    Hi,
    I have problem with sender file adapter suddenlty the status from Communication Channel Log monitoring always with polling started without completed.
    4/25/11 11:40:33 AM   Polling interval started. Length: 10.0 seconds
    4/25/11 11:40:23 AM   Polling interval started. Length: 10.0 seconds
    4/25/11 11:40:13 AM   Polling interval started. Length: 10.0 seconds
    4/25/11 11:40:03 AM   Polling interval started. Length: 10.0 seconds
    Normal :
    4/25/11 11:41:50 AM   Polling interval started. Length: 10.0 seconds
    4/25/11 11:41:50 AM   Processing finished successfully
    4/25/11 11:41:50 AM   Processing started
    4/25/11 11:41:40 AM   Polling interval started. Length: 10.0 seconds
    4/25/11 11:41:40 AM   Processing finished successfully
    4/25/11 11:41:40 AM   Processing started
    I have tried to stop and start the channel but still no luck. This problem only happen for this particular communication channel others channel is working fine.
    Please advise other solution before i need to restart the java engine since this in the production environment. The problem is some of the process was delayed because this issue. CC was delayed to pickup the file.
    Thank You in advance.
    FL

    Hi Abhistek,
    Thank you for your correction. It was typo.
    Which assumption is correct ?
    1. All 3 instance running together in the same time ?  or
    2. Either 1 of the instance running once time manage by clustering setting.
    Example :
    15:01:00   ---> A
    15:02:00  -
    > A
    15:03:00  -
    > B
    15:04:00   -
    > B
    Currently :
    15:01:00   -
    > A    
    15:01:00   -
    > B (lock)
    15:02:00  -
    > A
    15:02:00  -
    > B (lock)
    It seems all 3 instance lose control from clustering ?
    Regards
    FL

  • FCC in receiver file adapter

    Hi,
       My scenario is proxy to flat file(FCC). The incoming structure has following format:
    Header1
    Item1
    Header2
    Item1
    Item2
    Item3
    Header3
    Item1
    Item2
    Control
    Each Header can have multiple item fields. The last line is control record.
    So the structure is like :::::        header, item, item, item, header, item u2026.., control.
    what configuration should be done in FCC?
    Thanks in Advance.
    Regards,
    Miten

    Hi,
    Please check some links on FCC
    Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
    Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
    File Receiver with Content Conversion
    Content Conversion (Pattern/Random content in input file)
    NAB the TAB (File Adapter)
    Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
    Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
    How to send a flat file with various field lengths and variable substructures to XI 3.0
    Content Conversion (Pattern/Random content in input file)
    NAB the TAB (File Adapter)
    File Content Conversion for Unequal Number of Columns
    Content Conversion ( The Key Field Problem )
    The specified item was not found.
    File Receiver with Content Conversion
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    Regards,
    sainath

  • File adapter with empty files!

    Hi guys,
    My scenario is: File -> XI (BPM) -> JDBC
    Under BPM I have a fork with two parallel receivers correlated and two sender file adapters for that. Those senders also have file conversion (.seq file to XML).
    My problem is: in case of files coming empty, is it possible that senders file adapter generates error during file conversion? And/or generates errors during correlations?
    If so, "I wouldn’t like", because after receive these two files I have a switch to check if the file(s) coming empty and a control step to terminate the process in case of true. But this only works if no errors have occurred on the earlier steps!
    At this moment I can’t test it, so I’m asking If anyone has faced an issue like this one?
    Thanks in advance,
    Ricardo.

    Hi,
    Which SP are you on?
    Before Sp19 on XI 3.0 and SP10 on Pi, Empty Files are ignored by XI. The file adapter picks the file and if it is a empty file ( a zero byets file ) the file does not create a message at all for the file.
    From Sp19, the file adapter has options that allow you to decide how to process the empty file. You can create an error message etc.
    Regards
    Bhavesh

  • SOA Suite 11g File Adapter End Of Line problem

    I am using a file adapter to read(using an NXSD to convert from flat file to XML) a file do some filtering and then write the file in the original format using the same NXSD.
    The records in my file are separated by End Of Line. i.e. each line is one record.
    I created a fixed length NXSD and it picks up '${eol}' as the cellSeparatedBy attribute.
    When I read the file, it reads fine for both Unix(LF) and PC(CR+LF) formats. But when I write it automatically takes unix format most probably because the server is running on a Unix machine.
    Now the problem is that when I receive a flat file in PC format, the output comes as Unix format. The end system can not process it.
    So, I tried using '&#xD;&#xA;' (Equivalent to CR+LF) instead of '${eol}' as the value of attribute cellSeparatedBy. With this it is not able to read the file at all, if I keep it only '&#xA;' then it reads. It seems that while reading FIle Adapter automatically converts the file to Unix format first and then reads it with unix EOL.
    As a work around I separated the NXSD for read and write, keep read NXSD with '${eol}' while keeping write NXSD as '&#xD;&#xA;' then my problem is solved but now I have two NXSDs to maintain.
    What I want to know is if there is a way I can use the same NXSD and still be able to write the file in PC format. May be some attribute or switch in NXSD which I dont know of to control the value of ${eol}?

    Hi Daniel,
    you can try to use this adapter module:
    localejbs/SAP XI Sample/ConvertCRLFfromToLF
    http://help.sap.com/saphelp_nw04/helpdata/en/32/43d84072378031e10000000a1550b0/content.htm
    Hope this help.
    Francesco

  • Sender file adapter dropping last column during content conversion

    I am trying to process a flat file with pipe delimited data, but when the last column of the file is empty the file adapter ignores the column, causing issues with the subsequent mapping program.  For example, if the file contains the following data..
    1||three|
    ... the converted content produced is...
       <column1>1<column1>
       <column2/>
       <column3>three</column3>
    My mapping is expecting that <column4/> also be delivered in order to function properly.  The fields are all defined in record.fieldNames, and if there is any data present following the third pipe it is assigned correctly to the column4 element.  I have also experimented with setting missingLastFields to "add", and tried explicitly specifying endFieldSeparator to 'nl' with no success.
    Is there anyway to control this behavior in the communication channel, or is my only option to to account for it within the mapping by using mapWithDefault function for every field that appears at the end of a record?

    Nataliya,
    Ensuring that the element is populated during the mapping appears to be the only way to account for this.  Therefore, whenever mapping the last column of a record set, I just made sure to use the MapWithDefault function in case the last field of the record is empty.  It's a little extra manual effort, but it appears to be working fine so far.  I was hoping for a better answer myself.

Maybe you are looking for