3/2/2020 Sender File Adapter Frequently Asked Questions - Process Integration - Community Wiki
Welcome to the new version of SAP Community Wiki: Learn What's New? and what has changed.
Pages / Process Orchestration - Process Integration - Exchange Infrastructure / FAQ - Main page
Sender File Adapter Frequently Asked Questions
Created by Grzegorz Glowacki, last modified by Kenny Scott on Jan 24, 2012
Sender File Adapter Frequently Asked Questions
Many questions arise in SDN about some popular capabilities of the Sender File Adapter in SAP PI. I have decided to collect
them in a single FAQ blog to give answers to all the users that require some help with common problems with this adapter. In
addition to reading this blog, make sure that you refer to SAP Help for this adapter whenever you have questions about a
certain parameter:
http://help.sap.com/saphelp_nwpi71/helpdata/en/44/658abd344a4de0e10000000a1553f7/frameset.htm
Questions answered:
1. I want to access a certain directoryI want to access a certain directory from SAP PI as a source for my interface.
Neither is it an FTP server, nor a local directory on PI's server. How should I proceed?
2. I want to make sure my file is completely written before PI starts processing it. How can I do this?
3. I want to put my file into an archive directory once it is processed. What should I do?
4. My sender system creates a simple trigger files once it is done writing to the interface basic file. How can I work with
trigger files in PI?
5. My sender system creates multiple source files for different levels of data structure. What are PI capabilities to
processed the normalized data from several flat files?
6. It sometimes happens that my sender file adapter gets blocked, because it finds an erronous file. How can I have other
files processed, even if one particular file causes a processing error?
7. Can I use a single sender file communication channel to collect files from multiple directories?
Answers:
Q1: I want to access a certain directory from SAP PI as a source for my interface. Neither is it an FTP server, nor a
local directory on PI's server. How should I proceed?
A: Do not be fooled by the name of Transport Protocol in the Communication Channel ("File Transfer Protocol - FTP"). You
can use the "File Transfer Protocol (FTP)" of the file adapter not only to connect to external FTP servers, but for any external
server you need to collect files from. All the settings are just similar to connecting to an FTP server: type your server's IP
address or domain name, the required port (21 by default) and security settings, if required. Remember to make sure your
server is accessible (in terms of network connectivity) from PI's server and your port is open in the firewall. See this blog from
Michal Krawczyk for a few ways to test the connection for your desired source server:
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/28325
Q2: I want to make sure my file is completely written before PI starts processing it. How can I do this?
A: Whenever using the sender file adapter, you need to make sure that you only collect files that are already completely
written by the sender system. In the simplest case (from PI's point of view), your sender system can write a temporary file
under a temporary file name, and change the name once it is done writing to it. But what if your sender system cannot ensure
it going that way? You can use the "Msecs to Wait Before Modification Check" parameter of sender file adapter. It means that
PI waits some time from first finding the file, until reading and processing it later, and the file is only processed if it had not
changed over the waiting period. For instance, set the parameter like below if you want PI to wait 5 seconds and then make
sure the file is complete:
https://wiki.scn.sap.com/wiki/display/XI/Sender+File+Adapter+Frequently+Asked+Questions 1/5
3/2/2020 Sender File Adapter Frequently Asked Questions - Process Integration - Community Wiki
Q3: I want to put my file into an archive directory once it is processed. What should I do?
A: Use the "Archive" Processing Mode on the Processing tab page of your sender channel, then type your desired Archive
Directory. When using the "File Transfer Protocol (FTP)", it is crucial to mark the "Archive Files on FTP Server" checkbox. If
the indicator is not set, the files are archived in the Adapter Engine file system, so you will not see them in your FTP server
once they are processed. The use of "Add Time Stamp" checkbox is intuitive - PI will add processing timestamp to the name
of your file.
Q4: My sender system creates a simple trigger files once it is done writing to the interface basic file. How can I
work with trigger files in PI?
A: In most cases, setting the "Msecs to Wait Before Modification Check" parameter of sender file adapter should be enough
to make sure that sender file is done writing to a file (see Q2). But what if you cannot set a proper value for this parameter,
because you do not want to wait for ages, but on the other hand your sender writes the file slowly? Have no fear, if only the
sender system can create a trigger file. The trigger file is a simple (sometimes even empty) file that indicates that the original
file is written completely and can be processed further. Usually it has an identical file name as the original file, except for the
extension.
Working with trigger files is quire simple, there are just three steps to follow:
1. Define an additional file in File List parameter, let us call it "TriggerFile".
2. Specify the part of your file name that needs to be replaced to get the name of the trigger file as the value of
TriggerFile.namePart parameter. For instance, assuming your original file's extension is .csv and trigger file's extension
is .trg, use the value ".csv"=".trg". Both files must be placed in the same directory and have their names almost
identical (except for the part you define here).
3. Set the TriggerFile.optional parameter value to NO. Thanks to this, your message will not be processed if the trigger
file does not exist.
Note that you can have access to the trigger file content during message mapping (although this might not necessarily be
required in your case). You also need to be aware that every time your original file starts to be processed, but no trigger file
exists yet, message processing will be canceled with an error message.
https://wiki.scn.sap.com/wiki/display/XI/Sender+File+Adapter+Frequently+Asked+Questions 2/5
3/2/2020 Sender File Adapter Frequently Asked Questions - Process Integration - Community Wiki
Q5: My sender system creates multiple source files for different levels of data structure. What are PI capabilities
to processed the normalized data from several flat files?
A: You can use the "Additional File(s)" checkbox and the details box that appears once you mark the checkbox on the
"Source" tab page of your sender communication channel. First, specify the list of additional files in the "File List" field. For
instance, you can have Items and Conditions files in addition to Header (main) file. The names you specify here are only
some identificators that you use while defining parameters in the box below. There, you can for example make certain files
obligatory or optional, or set their encoding.
As a result, you will get access to contents of all your files in the message mapping. For further details, see this help
document:
http://help.sap.com/saphelp_nwpi71/helpdata/en/44/692ab8a4b633eae10000000a1553f6/content.htm
Q6: It sometimes happens that my sender file adapter gets blocked, because it finds an erroneous file. How can
I have other files processed, even if one particular file causes a processing error?
A: Have your erroneous files moved to an archive directory. Once they are moved there, other files will be processed, so your
scenario will not get blocked with a single faulty file. On the Processing tab page of your sender CC, mark the Archive Faulty
Source Files checkbox and provide an archive directory location in the "Directory for Archiving Files with Errors". You can
additionally mark the "Add Timestamp" checkbox if you want to append processing timestamp to your file names.
Q7: Can I use a single sender file communication channel to collect files from multiple directories?
A: Of course you can, and this is really simple. On the Source tab page of your sender channel, in addition to typing the
"Source Directory" and "File Name", mark the "Advanced Selection For Source File" checkbox. Then, in the details box that
appears, type a directory and file name scheme in each line, as required. The settings depicted in the screenshot below will
result in files being collected from root directory, as well as "one" and "two" folders. Files with .txt extension will be processed
in each case.
Remember that all your files from all locations need to conform to the same file structure to be processed correctly.
https://wiki.scn.sap.com/wiki/display/XI/Sender+File+Adapter+Frequently+Asked+Questions 3/5
3/2/2020 Sender File Adapter Frequently Asked Questions - Process Integration - Community Wiki
xi_faq bc-xi-con-fil
5 Comments
Baskar Gopalakrishnan
Very well compiled with all possible requirements. Nice work and practically helpful. Good Job Greg
Unknown User (sxr52fx)
Hi,
Regarding the file archiving under the processing mode, if I select the Add Time Stamp option, how do I then get
the name of the new file in the archive directory (since the file will now be having a time stamp) or the time stamp
that is used for archiving during runtime?
Essentially I need to get the archived file name with the archive time stamp in the archive directory mapped as part
of an IDoc created so that the file can be used as an attachment for the document that will be posted in SAP.
Former Member
Hi,
For archiving files, I have set the processing mode as Archive and has mentioned the archive directory, then too
sometimes it happens that my file gets processed i.e reach to the receiver but has not reached to the archive
directory and remains in the input directory. Due to this the file is picked again and then it gets successfully
archived second time. But due to this erroneous behaviour, the receiver system receives the same file twice which
causes duplicate payments possibility on their side.
Kindly suggest.
Former Member
We have same issue, did you finally have a fix for it?
https://wiki.scn.sap.com/wiki/display/XI/Sender+File+Adapter+Frequently+Asked+Questions 4/5
3/2/2020 Sender File Adapter Frequently Asked Questions - Process Integration - Community Wiki
Rohan Jain
Hello,
I have configured sender file channel to collect files from multiple directories like below. But channel is picking file
from only directory '/ecc/webshoppk/L397_2_in', NOT from another directory '/ecc/webshoppk/L397_in'.
Could someone please help us why this is happening
Regards,
Rohan
Privacy Terms of Use Legal Disclosure Copyright Trademark
Cookie Preferences
https://wiki.scn.sap.com/wiki/display/XI/Sender+File+Adapter+Frequently+Asked+Questions 5/5