Dinamic Directory Path in Receiver File Adapter

Hi everyone,
I have a question for you.
How can I give a dinamic path to the target directory in a file to file scenario?
The scenario is like this:
I have to take only certain files from a source directory. The names of the files are like 'S10048796050.txt', when the four chars in the beginning (1004) are the company code.
With this code, I have to put the file in a different target folder.
Examples:
file with code 1004 --> p/xrt/universe/LOGISTICA/Conciliacion
file with code 1005 --> p/xrt/universe/SEVISUR/Conciliacion
etc...
The easiest solution is to create an interface for every company, but I'm trying to do it dinamically.
I only have SP14.
Any ideas?
Thank you very much.
I'll give points who can help me.

Hi,
Please try the follwing code in Java UDF. This will work.
Map map= container.getTransformationParameters();
String strFilePath ="";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey keyFileName = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String sourceFileName = conf.get(keyFileName );
if(sourceFileName.indexOf("1004") !=-1)
strFilePath = "p/xrt/universe/LOGISTICA/Conciliacion";
}else if(sourceFileName.indexOf("1005") !=-1)
strFilePath = "p/xrt/universe/SEVISUR/Conciliacion";
DynamicConfigurationKey keyFileName = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileDirectory");
conf.put(keyFileName, strFilePath );
return strFilePath ;
PS: Check the property Adapter-Specific Message Attributes -> Use Adapter-Specific Message Attributes , File Name in Source and File Path in Target Channels respectively.
Thanks
Amit
Reward points if solution helps

Similar Messages

  • Dynamic directory name in Receiving File adapter

    Hi,
    In File to File senario, In receiving system i want to create directory name dynamically. In my mapping there is a field called name, the directory name in the receiving system will be value in the name field. Any one can help me how to do this one...
    Thanks
    Rao

    Hello,
    Please follow the below to achieve the same.
    input - Store number,
    UDF
    String dynaname = input;
    DynamicConfiguration conf = (DynamicConfiguration) container
    .getTransformationParameters()
    .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION );
    DynamicConfigurationKey key = DynamicConfigurationKey.create(
    "http://sap.com/xi/XI/System/File","FileName");
    conf.put(key,dynaname);
    return "";
    UDF mapping
    Source[input]   -
    > UDF -->    Rootnode of target structure.           
    Hope it helps.
    best regards,
    raj.

  • Receiver File Adapter - Directory field - home directory

    How do I populate the Directory field in the receiver file adapter if I don't know the directory.  I want to use "home directory", but I don't know what that is.  I'm sending a file to a IBM i5 OS.

    I have already asked for the path.  This is the answer I got.
    Directory listings from FTP sessions are disabled.  We use IBM i5 OS for the FTP server because it's immune to exploits aimed at Windows and Linux based servers.  Since you can only "PUT" a file, it is analogous to a bank night deposit box (lots of companies can make deposits to this same metal box on the brick wall but none of them can use it to make withdrawals).

  • Specifying current directory in Receiver File Adapter

    Hi Experts,
    I have been configuring a receiver file adapter to place a file onto an FTP server. As per the information provided, as soon as I login to the FTP server, I have to place the file in current logged in directory. In this case, how can I mention this in file adapter as to use the current directory path to place the file? What should I enter in 'Target Directory' in File Access Parameters?
    Thanks,
    Dhawal

    Hi Praveen,
    Since file directory parameter is mandatory, my question is what should I enter in this parameter so that the file adapter will know that the file should be placed in the root directory itself?
    Regards,
    Dhawal

  • Target Directory & File Name parameters in Receiver File Adapter with ASMA

    Hi Experts..
    I have the following question....
    What am I suppose to inform in the Target Directory & File Name obligatory parameters in Receiver File Adapter if I am using ASMA to fill it? Is it any dummy value?
    Also, if you have any step by step guide/blog to forward on how to use ASMA in file adapter I will be greatful.
    Thanks in advance,
    Daniela

    You can give any dummy value in dir and file name... Just go through these blogs
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    /people/madanmohan.agrawal/blog/2009/05/20/combining-three-different-aspects-of-pi-asma-af-module-and-variable-substitution-in-one-shot

  • 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

  • The same filename from a sender to a receiver file adapter

    Michal has provided us with a brilliant <a href="/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14.  I guess a lot of people have been waiting to do this. However, I have a slightly different scenario. In this case, XI is used as a medium to transfer a PDF file from one directory to another directory. There is not transformation or mapping involved.
    The message is send by File Sender Adapter and received by File Receiver Adapter. Message type is created as a simply type hexBinary. The file is supposed to be picked up as a PDF and received as a PDF, retaining the same file name. As such, the file name is neither stored in the source structure nor the target structure.
    Once the PDF file is transfered into target directory, it should be able to be open by using Acrobat directly without further conversion.
    We might add a file name file into the target structure but would that rendered the PDF non-readable upon being received by the File Receiver Adapter?
    Any feedback is highly appreciated.

    Hi
    >>We might add a file name file into the target structure but would that rendered the PDF non-readable upon being received by the File Receiver Adapter?
    No, adding file name would not hamper the properties. You can name *.pdf or something else.
    For that matter any file pdf, word, .msg format etc can be transferred by this approach. We have tried it.
    Earlier to SP14 you cannot give the same name to outgoing file without writing a Adapter module. But things are easy with SP14.
    Cheers,
    satish

  • Sender_interface_name in Variable Substitution in Receiver File Adapter CC

    Hi,
    as per this page : http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
    it says:
    Variable Substitution (Target Directory/File Name Scheme)
    If you set the Enable indicator, you can enter variables for the Target Directory and File Name Scheme. Enter the names of the variables and references in the table.
    ●      Enter each variable that you reference in the Target Directory and File Name Scheme fields without the surrounding percentage sign under Name of Variables in the table.
    The variables can refer to attributes of the message header or elements of the message payload.
    ○       If the variables are to refer to an attribute of the message header, add the prefix message: to the name of the variable under Reference. You can specify the following attributes of the message header:
    sender_party, sender_service, receiver_party, receiver_service, interface_name, interface_namespace, message_id, message_id_hex
    Can we not access sender_interface_name and sender_interface_namespace are not mentioned in above list of variables.
    Is it not possible to access sender_interface_name or sender_interface_namespace as variable substitute parameters from within Receiver File Adapter Communication channel.
    thanks.

    >Shabarish Vijayakumar wrote:
    >>the sender interface details will always remain a constant
    >>so you can hard code the value, isnt it?
    Yes, i can hardcode, thats not a bad idea, i need to create then 3 different Reciever File Communication Channel objects, as I am dealing with 3 scenarios for which sender system and sender interface is different.
    >Shabarish Vijayakumar wrote:
    >>if you look at the mapping runtime constants, those are also for the receiver since the sender interface will always remain constant for any particular CC.
    >>http://help.sap.com/saphelp_nw04/helpdata/en/b3/9a2aeb24dc4ab6b1855c99157529e4/content.htm
    yes in this link you provided i can see..
    INTERFACE     Interface
    INTERFACE_NAMESPACE     InterfaceNamespace
    SENDER_SERVICE     SenderService
    RECEIVER_SERVICE ReceiverService
    RECEIVER_NAME     ReceiverName
    RECEIVER_NAMESPACE     ReceiverNamespace
    it seems both INTERFACE (,INTERFACE_NAMESPACE) and RECEIVER_NAME(,RECEIVER_NAMESPACE) are present, may be one is for sender, and another is for receiver.. may be if i use dynamic configuration, possibly my issue would be addressed.. correct me if i am wrong.
    thanks.

  • Receiver file adapter posts multiples for singel source files

    Hi,
    I am using wild character in my input source ftp adapter but my receiver file adapter is creating multiple duplicate files. I am not sure why this happens as QOS is set to "Exactly Once" with archive processing mode. I tried with delete mode and the same error occurs. We had no problems testing it in our Dev environment but in QA its acting so strangely...Any advise is appreciated..
    -Teresa

    Hi,
    2. Homany files you posted at oubound directory?
    1.             You said duplicate files at receiver side, is the files having time stamp? if so those are not duplicate files.
    Thanks,
    Satish.

  • Receiver file adapter command line

    hi,
    i am just wondering how to use command line on receiver file adapter.
    i am not clear how to use this.
    please modify on the following command!
    anyway, i have to call java application after put some files by receiver file adapter.
    cmd.exe %Fjava ./javacalltest
    it did not work..
    please guide me.
    Command Line
    An operating system command specified here is executed before or after a file has been successfully processed. The default value is an empty character string (no command).
    When the operating system command is called, the file name currently being processed can be specified with the following placeholders:
    %f (file name)
    %F (absolute file name including path)

    Hi Ogawa and Laurence,
    Have look at :: /people/michal.krawczyk2/blog/2007/02/08/xipi-command-line-sample-functions
    1)Windows batch Commands::
    http://labmice.techtarget.com/articles/batchcmds.htm
    2)Linux:
    /people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
    Note:: First try using the comands on O.S if they work then only use them in Adapters.
    Hope it will help.
    regards
    Piyush
    Pl:reward some points if it is usefull.

  • Receiver File Adapter - FTPEx: 550 Access denied

    Hi Experts,
    In my receiver file adapter scenario I'm getting 550 Access denied in RWB.
    I am a little confused here because I could access the FTP client from my desktop using the same User and Password informed in the Receiver CC. I also could drag and drop a file there.
    Here you have Detail Display in RWB, it seems that at least the user is working fine for PI also:
    Success: Connecting to FTP server "<FTP IP>"
    Success: Write to FTP server "192.168.10.85", directory "\Transportadoras\10326750000101\",   file "Nfe_teste.xml"
    Success: Transfer: "TXT" mode, size 8881 bytes, character encoding UTF-8
    Error: Attempt to process file failed with An error occurred while connecting to the FTP server '192.168.10.85:21'. The FTP server returned the following error message: 'com.sap.aii.adapter.file.ftp.FTPEx: 550 Access denied.'. For details, contact your FTP server vendor.
    Error MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: An error occurred while connecting to the FTP server '192.168.10.85:21'. The FTP server returned the following error message: 'com.sap.aii.adapter.file.ftp.FTPEx: 550 Access denied.'. For details, contact your FTP server vendor.
    Regards,
    Daniela
    Edited by: Daniela Machado on Aug 11, 2010 10:18 PM

    Hi Daneial,
    This is an issue due to any firewall or proxy between your Xi system and the FTP.In this case the direct logon
    works with same user but when XI tries to create file at runtime you get this error due to network issues.
    To resolve this contact your Basis/Network guys  and
    1. Set the permissions to FTP User you are using as 777 rights(full access to read , write and delete)
    2.If you have access to PI server, try to telnet /connect to ftp using command prompt (open ftp .....) the FTP server form there, you should see the same error there , inform this to your network guys.
    3.Clear all the files places already in the ftp (take backup) and test afresh after permissions are set by basis team.
    Regards,
    $rinivas

  • FTP Receiver File adapter  -- CRLF In output File in Windows environment.

    Hi All,
    Idoc to File : Receiver File adapter.
    I use the endseparator 'nl' and the output file is coming correctly with NFS and It is not working when we are doing with with FTP.
    Tested with NFS (Unix environment)
    I used the endseparator 'nl' and the output file is coming with CRLF.
    Tested with FTP (Windows environment)
    When I tested the same the output file is coming with LF.
    I tried by using the module "SAP XI Sample/ConvertCRLFfromToLF" which will convert from LFToCRLF.But it is serving my purpose.
    Can anyone please suggest how I can get the CRLF in the file while putting in the output directory which is in windows environment.
    Thanks
    Seema

    Do not mention endSeparator in content conversion parameters...by default XI puts newline as endSeparator
    It should work for NFS and FTP on Windows

  • Receiver file adapter not functioning

    Hi guys,
    We have developed some interfaces that are exporting some .txt files in ftp locations and therefore they make use of receiver file adapter. Although the receiver file adapter used to function properly some days ago, for some strange reason, it stopped receiving any files. This happens only in XI development system but not in XI production system. In XI development, in Runtime Workbench --> Communication Channel monitoring, I can see this communication channel's status as correctly configured and started, with a green sign on the right, but it is not responding when some files are sent to it, and therefore there are no output files in target directory.
    Any ideas?? It is urgent.
    Best Regards
    Evaggelos

    Udo,
    Hi Amit,
    I went into Message Monitoring for this interface and I can see all the messages for the last 24 hours that should be written into a file that have status "to be delivered".
    When I go into Details -->Audit Log  for a single message:
    2007-06-13 11:49:33 Success Processing child message of multi-message with message ID ff896d50-198a-11dc-cdfa-00145e694b16
    2007-06-13 11:49:33 Success Using connection File_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2007-06-13 11:49:33 Success Message successfully put into the queue.
    And in Message Data there is the following information:
    Status To Be Delivered
    Repeatable Yes
    Cancelable Yes
    Error Category  
    Error Code  
    Start 13.06.2007 11:49:33
    End  
    Sender Party  
    Sender Service TPBS_GR
    Receiver Party  
    Receiver Service TPBS_GR
    Interface http://famar.gr:LoyaltyDataMNSToSRS
    MI_LoyaltyDataMNSToGR_IB
    Quality of Service Exactly Once
    Message b2685674-7626-5141-bfa1-13155ad0d25a
    Reference  
    Conversation ID  
    Serialization Context  
    Direction INBOUND
    Message Type Recv
    Profile XI
    Connection File_http://sap.com/xi/XI/System
    Transport HTTP
    End Point http://fmgralxi01:50000/MessagingSystem/receive/AFW/XI
    Authorization  
    Sequential Number 0
    Number of Retries 3
    Failed 0
    Retries 300000
    Valid to  
    Persist Until 13.07.2007 11:49:33
    Schedule Time 13.06.2007 11:49:33

  • Problem: The same filename from a sender to a receiver file adapter - SP14

    Blog : /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    My Problem:
    The thing works for me and i am able to get my input files name as my output file name. But one thing i noticed is that in my target message, the field where i have mapped the code it always returns the value "null" but finally when the file is created i get the required result.
    My input file name is input.txt and i get the same name in my output file too.
    In sxmb_moni if i check DynamicConfiguration link i see the following
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!-- Response
    -->
    - <sap:DynamicConfiguration xmlns:sap="http://sap.com/xi/XI/Message/30">
    <sap:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFTPHost">10.25.116.98:21</sap:Record>
    <sap:Record namespace="http://sap.com/xi/XI/System/File" name="Directory">/input/test</sap:Record>
    <sap:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFileTimestamp">20060228T112200Z</sap:Record>
    <sap:Record namespace="http://sap.com/xi/XI/System/File" name="FileType">bin</sap:Record>
    <b><sap:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">input.txt</sap:Record></b>
    <sap:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFileSize">770</sap:Record>
    </sap:DynamicConfiguration>
    But when i check my mapped field i see
    <field3>BodyC</field3>
    <keyfield>02</keyfield>
    <field5>BodyE</field5>
    <field6>BodyF</field6>
    </Body>
    - <Trailer>
    <keyfield>03</keyfield>
    <b><field2>null</field2> -> Null value instead of input.txt</b>
    </Trailer>
    </ns0:MT_Putfile>
    The code i have used to map the field2 of the trailer is the following ....
    <i>DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileType");
    String valueOld = conf.get(key);
    return  valueOld;  </i>
    Any clues ?

    Gosh this is spooky
    Anyway i tried with that line of code but it throws me an error during activation ...
    Activation of the change list canceled Check result for Message Mapping mm_IS | http://t-systems.com/Shabarish:  Starting compilation  Source code has syntax error:  /usr/sap/TXT/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map387c7300a9ac11da9d280011256afae8/source/com/sap/xi/tf/_mm_IS_.java:104: cannot resolve symbol symbol : method getTransformationParameters () location: interface com.sap.aii.mappingtool.tf3.rt.GlobalContainer DynamicConfiguration conf = (DynamicConfiguration) container.getGlobalContainer().getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); ^ 1 error
    The code is :
    DynamicConfiguration conf = (DynamicConfiguration) container.getGlobalContainer().getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    //DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    //String valueOld = conf.get(key);
    String valueOld = conf.toString();
    return  valueOld; 
    Thanx Renjith so far .. but i hope this gets resolved (else i will loose my sleep thinkin abt the situation)

  • How to generate file name dynamically in receiver FIle adapter? Please help

    Dear Experts,
       I have a scenario where I need to generate output file with the name dynamically pulled from the XI payload.
       In receiver File communication channel I don't see any option where we can specify the XML path for the file name.
       For example:
       If my inbound XML structure (inbound interface) is like below:
       <filename>file123.txt</filename>
       <RootNode>
             <Element1>Product123</Element1>
       <RootNode>
      From this I need to pick the filename value and generate the output file with the same value.
      How can I achieve this? Please help!
    Thanks & Regards
    Gopal
    Edited by: gopalkrishna baliga on May 3, 2011 1:10 PM

    Gopal,
    You can use DynamicConfiguration class for this.
    You need to write UDF for this and with input of filename you want to set and map this UDF to the top level node.
    Refer the below famous blog from Micheal:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    You can also use Variable substitution to get value from payload, search SDN on this.
    --Divyesh Vasani

Maybe you are looking for

  • Error while running a Secured Application

    Hi all, we have created an application with a single page, which works fine when we run the same. But if security is enabled for the application, following exception is being thrown: <Mar 9, 2011 4:17:51 PM IST> <Error> <Deployer> <BEA-149265> <Failu

  • Import Error: The document was created with an unsupported version of Word.

    This is the message I get when opening up a Word doc from a cross-country client: *Import Error* The document was created with an unsupported version of Word. Unfortunately, he's out of touch for the next week so I have no idea which version he is us

  • HELP!!! WhErE iS tHe DeLeTe BuTtOn????

    where is the delete button in my ipod mini?

  • Cloning Panther fom PB to PM

    Hi, I did clone Panther (10.3.9) from my Powerbook (G4 12" 1,33Ghz) to my Powermac (G5 dual 1,8Ghz). It seems to work fine. Here is my question: Will it make any trouble because I did not use the original instalation DVD/CD wich came with the PM? Doe

  • Camera roll crashing

    Every time I try to scroll through my camera roll it crashes..how do I fix this?