FTP adapter Condition based Posting files to multiple FTP Accounts

All,
I have a scenario where files should be posted to multiple accounts of a FTP server.
Based on sales organisation field in the idoc i need to send the files to different account folders of a FTP server.
For example if sales org is 4250 send the file to account 'ABC' of FTP server, if sales org is 2134 send file to account 'CDE' of the same FTP server.
ABC and CDE are two different folder accounts of the same FTP server.
Keerthi

Hi,
By using 3 ways we can achieve this
1. By writing OS script
2. By creating 2 receiver communication channels, 2 Receiver Agreements and configure the Receiver determination based on conditions.
3. By using dynamic configuration, by writing UDF in the mapping.
you can get the dynamic configuration code in this link
http://wiki.sdn.sap.com/wiki/display/XI/CombiningthreedifferentaspectsofPIinoneshot
But that is not enough, you need to provide the directory dynamically for this you have to use below statement.
DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","Directory");
Regards,
Venkata Ramesh

Similar Messages

  • 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

  • Share airport disk file between multiple user accounts

    I am attempting to share my original airport disk file between the users on this computer. When I setup file sharing With Accounts the original file can no longer be seen.
    I have an existing file, I just want other users to access that same file.
    How can this be done?

    I am attempting to share my original airport disk file between the users on this computer. When I setup file sharing With Accounts the original file can no longer be seen.
    I have an existing file, I just want other users to access that same file.
    How can this be done?

  • How can i share files across multiple user accounts?

    I have four user accounts on the same iMac and I'd like to be able to view the files within each account.  When I try access one of the other three accounts through Finder, the folders have red minus signs on them.  If I try to open one, I get an error message about not have the right authorities.  However, I've given all four user accounts administrator access.  Thanks.

    Thanks for the response.  Do I change the rights by opening the folder, clicking "Get Info" and chaning the permissions to "write and read?"  If so, I did that.  Is there anything else I need to do?

  • How to pickup files from multiple directories

    Hi all,
    How to pickup files from multiple directories and send it to two different folders at target
    Ex:
    files\xi\us\US.txt
    files\xi\uk\UK.txt
    i need to pick up the above mentioned two files and send it to the following paths
    app1\files\us\download\US.txt
    app1\files\uk\download\UK.txt
    US.txt has to goto US folder and UK.txt has to goto UK folder only
    Regards

    Hi,
    To pick form multiple folders, select Advanced Mode for file selection in file adapter..
    there u can specify directory name/file names
    Refer
    /people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter
    To put those files at multiple folders write a command line arguments for this.. go through this weblog...
    /people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
    XI/PI: Command line sample functions
    /people/michal.krawczyk2/blog/2007/02/08/xipi-command-line-sample-functions
    Hope this will help you....
    Regds,
    Pinangshuk.

  • Pricing condition without posting to accounting

    Hello,
    Currently the system config is:
    AR00  (discount)  = 50
    EWT (Tax statistical) - 10% = -5  ( needs to be statistical as per SAP)
    Total Credit   = 50 ( Pricing didnt take EWT )
    Pricing copied into Biling and posted correcty into Accounting
    We want to copy EWT value into a dummy cond called Z000
    Step 10   AR00    (discount)  == 50
    Step  50  EWT (Tax statistical - 10%)  = -5
    step 80    Z000 (copy of EWT) = 50 to 50  = 5 ( but we want this to be non statistical and at the same time no accounting key and no accrual key) - so that the value doesnt get copied into accounting
    Step 100   Total Credit = 45 (This is correct as per pricing ) and make sense for the Cust Ser Rep.
    Can any one help on how to achieve the Z000 condition technique in pricing w/o having account key and accrual key? Is it possible
    Does this make sense in FI as the EWT tax condition is already getting posted correctly in acoounting and we didnt want to touch it.
    So we are trying to achieve this if possible by having no accounting entry? is it possible
    Thanks for the help
    Points will be awarded for the help
    Regards
    SK

    Hello Anupam,
    Actually the EWT condition is posting the values correctly into accounting.
    Know for me to caculate the net value and populate it in the netvallue field I need the condition to be non statistical.
    If I make it non statistical, it give me a currency error and I check SAP OSS and they said that EWT condition in SD has to be statistical.
    SO know the option left is replicate this value into a condition which doesnt post to accoutning so that the pricing will pick it up and update the net value. But remember no posting to accoutning as my statistical condition is already doing it.
    This being said was trying to check if we can have condition without accoutning or accrual key or if we need to have somehting then how can we make sure that they dont post to accoutning.
    Thanks
    SK

  • 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

  • Receiver File adapter: dynamic folder name based on file name

    Hi there,
    is it possible to set up one communication channel that will use different target folders based on file name?
    E.g.
    File abcdef will be saved to /root/abcdef/abcdef or /root/abcdef/abcdef.txt
    File xyz will go to /root/xyz/xyz or /root/xyz/xyz.txt
    I know I could use Sender/Receiver Service, Interface/namespace or data from message for variable substitution but could not find an easier solution for this scenario than to create multiple communication channels.
    Thanks.

    If you haven't a message mapping, then you can create only an interface mapping with an abap mapping.
    In your abap mapping:
      DATA l_record type mpp_dynamic.
      l_record-namespace = 'http://sap.com/xi/XI/System/File'.
      l_record-name = 'FileName'.
      l_record-value = "your filename"
      dynamic_configuration->add_record( l_record ).
      l_record-namespace = 'http://sap.com/xi/XI/System/File'.
      l_record-name = 'Directory'.
      l_record-value = "your directory ".
      dynamic_configuration->add_record( l_record ).
    Afther that, you must activate Adapter Specific Message Attributes (directory and/or filename) in your target communication channel .
    Regards,
    Carme.

  • Picking files from multiple folders based on name send to destination folde

    Hi,
       I want to pick multiple files from multiple folders with one root folder. Based on file name I want to send it to diffirent folders. No need to go for message mapping. Can anyone suggest me.
    Thanks & Regards,
    Prasad Kotla.

    Hi Prasad,
    to pick the files from multiple source directory, can use "Advance Selection for Source File" in Sender CC.
    If you wand to develop a Scenario without Message mapping, develop a scenario as "Sender as Virtual receiver"
    This option is available in Sender agreement, just give the dummy name for Msg Interface and Namespace, Name defined should be same in Rec Agreement.
    Develop only: Sende CC, Receiver CC, SA, RA
    No need to develop ID and RD as no mapping is involved.
    If u want to send the files to different folders of receiver side, just develop the adapter module which changes the directory based on the sender filename.
    If the sender and receiver directory is same than check the "adapter specific Msg Attribute"  and "directory" checkbox in both the sender and receiver CC. in this case no need to develop Custom module for changing the directory. files will be automatically placed in the path they were picked from  sendor directory
    appreciate if useful
    regards,
    chandra shekhar

  • Adapter file sender doesn't split file into multiple message

    Hi everybody.
    We are in PI 7.0 SP10.
    In adapter file sender, I want to split a file into multiple file.
    We use protocole "file content conversion"
    in the field "recordset per message", I put the value 10 to test.
    The file content 30 records .
    The result we have is the treatment is not split into multiple message .
    The treatment is made but with one message.
    I need  to treat big files.
    Is there some one who have an idea  why t doesn't work ?
    Thanks in advance for your help.
    Regards
    Edited by: Eric  KOralewski on Jun 25, 2009 3:14 PM

    Hi,
    have you specified recordset name......if not, then specify it.............
    in recordset structure, specify like RECORD,1 and not RECORD,*
    again test your scenario......if still your file data is not getting split, then ask your basis guys to do a full CPACache refresh using PIDIRUSER..........your basis guys will know how to do it..........then again test your scneario............
    Regards,
    Rajeev Gupta

  • How to write file into multiple directories by using file adapter?

    i need to write my file into multiple directories,i able to do in single directory.But i need to write to muliple directories.Please help me out.Thanks in advance.

    If you are passing the values at runtime then you can loop it and and invoke the file adapter in loop by dynamically passing the value in invoke properties for "File Directory and File name" etc.

  • How to pick the multiples based on file size

    Hi All,
    my sender file adapter needs to pick up 5 files based on file size.
    for example 1file size is 500kb,2nd file size 300kb,3rd file size 400kb, 4file size 100kb and 5file size 600kb.
    here my requirement is, my file adapter needs to pick in the below order like 5th file,1st file,3rd file 2nd file and 4th file.
    means based on file size, i need to pick up my file adapter.
    could you please ang inputs on this requirement.
    Thanks & Regards,
    AVR

    Hi AVR,
    for case 2:
    1. At specific time each day  "23:58:00" hours ,count the number of files in directory say "c:\apps\acm".
    2. sort the files on basis of their size.
    3. place the files one by one after definite  time interval (more than polling time of the sender communication channel).
    in target directory say "c:\apps\acm1" from where PI server  picks up the files for further processing. The file with smallest size is placed last.
    4. In this case you need to ensure all files are present in the directory "c:\apps\acm" before "23:58:00" hours.
    for case 2  java code
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    public class sortFilesOnSpecificTime {
    * @param args
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try
    * In Unix/Linux OS, dir1="/usr/apps/test"  etc
    int pollingInterval=10,sleepTime=1*60;
    String dir1="c:\\apps\\acm";
    String dir2="c:\\apps\\acm1";
    File fread=new File(dir1);
    File fwrite=new File(dir2);
    if(fread.canRead()==false)
    System.out.println("error: "+dir1+" does not have read permission. Program Terminates.");
    return;
    if(fwrite.canWrite()==false)
    System.out.println("error: "+dir2+" does not have write permission. Program Terminates.");
    return;
    String fileNames[],fileNamesOut[];
    long fileSize[];
    int i,j;
    byte b[];
    int t=4;
    Calendar cal;
    int hour24,min,fileCopyHour=23,fileCopyMin=58;
    long waitSeconds=1,currentTime=0;
    while(t>0)
    cal = new GregorianCalendar();
    hour24 = cal.get(Calendar.HOUR_OF_DAY);     // 0..23
    min = cal.get(Calendar.MINUTE);             //0..59
    System.out.println("current time="+hour24+":"+min);
    /*loop unless time reaches a specific predetermined value
    * predetermined values are provided by values
    * fileCopyHour=8,fileCopyMin=30 i.e say 08:30 hours
    currentTime=(hour24*60+min)*60;
    waitSeconds=(fileCopyHour*60+fileCopyMin)*60 - currentTime;
    if(waitSeconds>0)
    * in case you wanna to make this thread sleep for
    * say sleepTime(10) minutes before it checks the files once again
    * because looping continuously causes wastage of CPU cycles.   
    Thread.sleep(waitSeconds*1000);
    //read list of files
    fileNames=fread.list();
    if(fileNames.length;=0)
    * time is up but there are no file
    * in dir1 to copy. Then this program
    * goes to sleep for some time and
    * checks only at 11:55 hours. That is
    * end of the day
    continue;
    fileSize=new long[fileNames.length];
    fileNamesOut=new String[fileNames.length];
    //read their sizes
    for(i=0;i<fileNames.length;++i)
    fileNamesOut<i>=fileNames<i>;
    fileNames<i>=dir1+System.getProperty("file.separator";)+fileNames<i>;
    fileSize<i>=new File(fileNames<i>).length();
    System.out.println(fileNames<i>+" size="+fileSize<i>);
    //sorting on basis of file size descending order
    long value;
    String temp;
    for(i=1;i<fileSize.length;++i)
    value=fileSize<i>;
    temp=fileNames<i>;
    for(j=i-1;j>=0 && fileSize[j]<value;--j)
    fileSize[j+1]=fileSize[j];
    fileNames[j+1]=fileNames[j];
    fileSize[j+1]=value;
    fileNames[j+1]=temp;
    //now copy files to dir2
    b=new byte[512];
    for(i=0;i<fileNames.length;++i)
    System.out.println(fileNames<i>+" size="+fileSize<i>);
    for(i=0;i<fileNames.length;++i)
    File f=new File(fileNames<i>);
    FileInputStream in=new FileInputStream(f);
    FileOutputStream out=new FileOutputStream(dir2+System.getProperty("file.separator";)+fileNamesOut<i>);
    int len=0;
    while(2>1)
    if((len=in.read(b))<0)
    break;
    out.write(b,0,len);
    in.close();
    //delete files after copying from dir1
    f.delete();
    out.close();
    //put each file after polling interval is over
    Thread.sleep(pollingInterval*1000);
    catch(Exception e)
    e.printStackTrace();
    The code runs in infinite loop. You need to run them in command line in DOS environment as you indicated that you OS is WIN XP.  I have a few print statements which I kept for debugging, you can safely remove them and run the codes. This code is independent of the Operating System you are using. Only change is required in values of "dir1","dir2", timings and file count, which I think you can take care easily.
    Hope this solves your problem.
    regards
    Anupam

  • To pick files from multiple directory in FILE ADAPTER

    Hi all,
    Is their any settings or adapter configuration parameters to be used  to pick  the files from multiple directory .

    Hi,
    You can only specify one directory on the communication channel. The advance selection allows the selection of different files within this directory.
    Therefore you will need a communication channel for each directory you wish to pull files from.
    (Just looked at the blog and see it is possible after all - I'm on the wrong SP)
    Kind regards
    Colin.
    Message was edited by:
            Colin Bickell

  • ESB/File Adapter - XML files containing multiple messages

    Hi,
    In all the examples on file adapters I read, if files contain multiple messages, it always concerns non-XML files, such as CSV files.
    In our case, we have an XML file containing multiple messages, which we want to process separately (not in a batch). We selected "Files contain Multiple Messages" and set "Publish Messages in Batches of" to 1.
    However, the OC4J log files show the following error:
    ORABPEL-12505
    Payload Record Element is not DOM source.
    The Resource Adapter sent a Message to the Adapter Framework which could not be converted to a org.w3c.dom.Element.
    Anyone knows whether it's possible to do this for XML files?
    Regards, Ronald

    Maybe I need to give a little bit more background info.
    Ideally, one would only read/pick-up small XML documents in which every XML document forms a single message. In that way they can be processed individually.
    However, in our case an external party supplies multiple messages in a single batch-file, which is in XML format. I want to "work" on individual messages as soon as possible and not put a huge batch file through our ESB and BPEL processes. Unfortunately we can not influence the way the XML file is supplied, since we are not the only subscriber to it.
    So yes, we can use XPath to extract all individual messages from the XML batch-file and start a ESB process instance for each individual message. But that would require the creation of another ESB or BPEL process which only task is to "chop up" the batch file and start the original ESB process for each message.
    I was hoping that the batch option in the File adapter could also do this for XML content and not only for e.g. CSV content. That way it will not require an additional process and manual coding.
    Can anyone confirm this is not supported in ESB?
    Regards,
    Ronald
    Message was edited by:
    Ronald van Luttikhuizen

  • Save file in multiple directories using receiver file adapter?

    Hi,
    Is it posible to save file in multiple directories using receiver file adapter?
    Regards,
    Ashish

    Well, there is a round about way to do that -
    The idea is to use multi mapping. 1:n mapping
    1) Map ur message to 2 different record set nodes. Since you want to use the same file both the mapping will look exactly the same. make sure that the filepath and filename are a part of the output payload message
    2) In the file adapter config. make sure the the file name and file path are from these payload fields. You can use a context object to refer these fields. Voila...the files are created in the 2 direcoties you mentioned.
    of course the simplest way is to route the same message to 2 business systems/services and write them out using 2 ccs.,
    Arvind R

Maybe you are looking for

  • Can't sync Palm with Mac through iSync, only syncs with Palm Desktop

    I have an older Palm Tungsten T3 that I use basically only to run a medical application that I need at work (ePocrates, which has its own conduit and auto-updates itself with hotsyncs). I haven't tried to sync it to my Mac for a long time. I use iCal

  • BlackBerry Media App isnt working- Phone needs to be restarted in order to view new media

    I recently realized that my BB 8520 isn't showing any new media I add onto my phone (for example when I take a photo with the camera or download a video it doesn't show when I go into my Media on my phone) I have to perform a battery pull and restart

  • Java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path

    hi, i am trying to connect to an oracle 8.1.7 database from my application running on tomcat 4.0.3 / jdk1.4 /windows nt. using the thin jdbc-driver (classes12.zip) everything works fine. when i try using the oci8-driver, i get an error-message saying

  • Reports9i Builder does not create Graph for Web Source

    Hi I installed the new 9iDS and I'm trying to create a jsp page with a graph. If I create a graph in the paper layout it will run in paper layout only. After checking the web source code there is no <rw:graph ... > tag. If I try to insert the graph i

  • PR to PO auto convirsion

    I am having 1 purchase requisition with 10 items and out of that 5 items are belongs to some scheduling agreement and 5 items are not from any contract. Now when I run run transaction ME59N I want the differentiation between value contract items and