FTP Adapter with Runtime OS Command before Message Processing

Hi PI Techies,
I have a confusion in using Sender FTP Adapter with Runtime OS Command before Message Processing.
Scenario is like this:
Ftp Adapter has to pick a file from FTP server after it checks that a Blank Marker file exists on PI server AL11 directory say "tmp directory".
For this I am using Runtime OS Command before Message Processing where a shell script will check the existence of Blank Marker file on PI server AL11 and if found , it exits the script and FTP Adpater will then pick the Actual Data File and Process it.
Now Confusion:
I am confused in technical execution of steps by FTP Adapter..
Whether FTP Adapter polling initiates the Interface or Runtime OS command checking the File existence will initiate the Interface?
May be its follish to you guys... but please answer ..
Regards,
Anurag

Hi,
I will take it other way as we need to process the Data File not Marker File ( its just for checking the Data File is completely written on FTP server).
Other way mean " Will Poll for Data.txt File and if  found then Runtime OS Command will do connect to FTP and check if Marker File exists, if yes then delete the marker file and read the actual Data File for processing.
Please let me know, if Marker File does not exists on FTP folder, will it still read the Data File or will it exit the Adapter execution?
Your help is much appreciated.
Regards,
Anurag

Similar Messages

  • Runtime OS command before Message processing

    Hi all,
    I have a scenario where the input file from a particular FTP server has to be moved to XI server and then process the message from there. For this I am trying to use "Runtime OS command before Message processing" My problem is that how do I define it in the normal adapter configuration i.e. File access parameters for the sender.
    My Query is:
    Now should I use the NFS protocol or the FTP protocol ie.in the File access parameters should I specify the directory from which the file needs to be processed after movement to the XI server or should I specify the FTP server details choosing the FTP protocols.
    Also provide me some links on how to configure using OS commands.
    Thanks & Regards,
    Nithiyanandam

    Hi,
    U can use NFS ...also for RUN Operating sysyrm command
    Try using RUN OPERATING SYSTEM COMMAND AFTER MESSAGE PROCESING and RUN OPERATING SYSTEM COMMAND BEFORE MESSAGE PROCESING.
    You just post ur output file in some folder(Target) , lets say /usr/sap/sapout/test/.and the shell script in this path /usr/sap/bin/convert.sh (use ur Rename logic here).
    Inside the File access parameters put target directory and filename scehme and for shell script give processing parameters as File construction mode , File type and OS Command and use a space after the shell script name and the %F.
    And for input can use it directly.
    For the shell script (which u will use to rename the file after processing) you can put anywhere inside /INTERFACE/XI/ but athe time you provide the pat it will be exactly matching as from where you are using the Shell Script and the file at the coressponding places. It shud be in XI. Thats it and u r done.
    Check out these links. First one will help you in acheiving want you want.
    /people/sameer.shadab/blog/2005/09/21/executing-unix-shell-script-using-operating-system-command-in-xi
    /people/michal.krawczyk2/blog/2007/02/08/xipi-command-line-sample-functions
    /people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
    http://help.sap.com/saphelp_nw70/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
    I hope this will solve your problem
    thanq
    krishna
    Edited by: krishnachitanya siddavattam on Mar 10, 2008 5:38 AM

  • File-FTP command before message processing

    Hi experts,
    my requirement is as follow :
    i have 5 files on my FTP server. All are named FILE_hhssmm.xml
    In the configuration of my CC out, i have put as specific file name to get picked 1*.xml
    I need a command line in the 'run operating system command before message processing' that renames one of the files as 1FILE_hhssmm.xml so that the files get picked one by one.
    I can not manage to do that, i only managed to write a batch file but i only can run it locally...
    please, any help would be greatly appreciated...
    Kindly,
    Jamal

    Hi
    I have been following this for a while (from other posts as well), you are trying quite hard to get this done
    I have couple of ideas...
    If you think that this is not going to work, then you can try another solution,
    - let the .bat file be scheduled by the scheduler of your OS (this is quite simple) say every 30 mins
    - make the .bat file move your input files from your current folder to a child folder
    - let XI poll the child folder, every 5 secs or so... anyway your scheduler will send the file only after every 30 mins
    - Now you need not rely on the OS command from the Fileadpater of XI
    My suspicion (though it is not documented anywhere in help, as far as I know) is that the OS command executes only if there is proper reading of the file (or its presence as per the configuration in adapter settings) & not per polling of the adapter. I infer this from your previous post. but your requirement is peculiar that though the file is present that itself has to have a different name - to be read by adapter...some kind of clashes ??!!.
    The problem could be something else also, but the above is a possibility as well..
    all the best
    Regards
    Vishnu

  • RUN OPERATING SYSTEM COMMAND BEFORE MESSAGE PROCESSING

    hi.
    just i want to know what is the purpose of run operating system command before message processing,after message processing under file sender adapter.
    waiting for your great answer.
    bye.
    regards.
    seeta ram.

    Hello Seeta,
    let me see if I give it using a simple scenario that I implamented : i nedd to transfer a very large file from one server to the other by XI.
    to save space and network traffic I use an OS command before picking up the file to run a zip command to zip the file.
    after I transfer the file to the target server I run another OS command after the transfer to unzip the file.
    now to your second question:
    the before Os command on the target server is used mostly for checks (make sure there isn't a file by that name or backing up existing data)
    and the after sender OS command is usualy for backing up or erasing existing files (cause it is done only after the first part was finished succesfully).
    Uri Lifshitz.
    p.s.
    there was a blog obout this titled "XI as a huge file mover"
    and you can see a description and my scripts at https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/03/additionaltipsforusingXIasahugefiletransfer%28withbatchscripts%29&

  • OS level command before message processing

    Hello
    I am getting the files from the SFTP server through the shell script and expecting to be processed by my File sender adapter.
    I have configured my File adapter which will poll the directory into which the shell script gets the file and it is scheduled at say 60 sec duration and i had configured OS level command before message processing.
    But when i monitored my communication channel and also my directory I found out that its not executing the OS level command. I tried dropping the dummy file into the directory. This time when checked in comm channel monitoring, it executes the OS  level command and gets the file from the SFTP server and adapter polls the SFTP file as well. But i don't want to use dummy file each time.
    Is there any way by which we can always make adapter to execute OS level command. I tried various options like Process Empty files etc etc but no luck.
    Thanks in advance.
    regards
    rajeev

    Rajeev
    How about placing a dummy file of 0 bytes, setting up the 'Handling of Empty Files = Don't create message', Processing mode = 'Test' and then writing a post operating command script as well, to move all the files to archive directory except the dummy file.
    Not a clean solution but just a thought.
    http://help.sap.com/saphelp_nw70/helpdata/en/e1/69a740aa053a13e10000000a155106/frameset.htm

  • Operating command before message processing

    Hi experts,
    i have a file to jdbc scenario.
    My problem is that i want to send files that are generated on a ftp seperately.
    To do so, i wrote a .bat script to rename the files the way I want, and then the CC takes the file under the specific name I specified.
    My script works locally, it renames correctly the files.
    But how do i execute my script before the message processing on the files of the FTP ?
    I entered the name of the script in the command line, but doesnt work, looks like nothing is launched.
    Can i launch my script on the FTP ?
    Kind regards,
    Jamal

    Hi
    Check these blogs
    /people/michal.krawczyk2/blog/2007/02/08/xipi-command-line-sample-functions
    /people/santhosh.kumarv/blog/2008/07/27/glimpse-at-os-command-yet-another-scenario
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/sap%252bxi%252bfile%252badapter%252bos%252bcommand%252bline%252bfeature
    Regards
    Vishnu

  • OS command before file processing in Sender File adapter

    Hi there,
    I'm having troubles running a os command from the sender file (NFS) adapter.  The batch file which I try to run is not getting executed at all.
    When I manually run the same batch file from the command prompt then it works perfectly.
    The OS command looks like this from the adapter config:
    myserver\xi\interface\in\dothis.bat
    I have also try with this notation
    G:\myserver\xi\interface\in\dothis.bat
    Please give me some tips how can I solve this problem, is there any way how can I debug the OS command? When I look at the adapter monitonr no errors are showed.
    Thanks for any tips.
    Roberto

    Hi all,
    The problem is solved.
    Issue: File Receiver Channel does not execute the OS Command before message processing.
    Reason: XI always expects an input file (in my case the sender communication channel) on the source folder. If no input files are found then the rest of the adapter configuration is not executed at all.
    In our scenario the OS command is responsible for retrieving the input files from a FTP server the adapter. SO XI will never trigger the OS Command.
    Solution: Place a dummy input file on the source folder , the sender adapter will always read in this file and put it back on the same location.(e.g. using a condition in the receiver determination).
    Thanks,
    Roberto

  • OS command before msg processing: In sender FTP

    hi all,
               i have a file-to-file scenario.Now i have to pick the latest file from FTP folder based on timestamp.All the files are named in yyyymmdd format .I came to know that i can run an OS command before message processing to delete the old files and keep the latest file in the folder.
    But i do know know how to write the script for this particular requirement.Can anybody please help me out with the code???
    regards,
    Nisheeta

    HI,
    If you want to delete filenames from Adapter use the following sample code:
    File adapter OS Command: D://server_dir//subdir//myCMDfile.bat %F
    Batch file:
    del %1 new_filename_with_path
    OR
    Please see the below links
    /people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
    OS Command on FTP
    OS command line script - Need help
    FTP - Run OS Command before file processing
    Hope this solves your problem.
    Regards
    Chilla..

  • FTP - Run OS Command before file processing

    Hi,
    I have a requirement wherein I need to FTP a file from XI to a folder in a FTP server . Now FTP Server is set up in such a way that I cannot put the file directly. Before transferring the file , I have to use CD ( change directory command ) to access a particular folder and then transfer the file. This means that I cannot give the folder information directly to TARGET DIRECTORY.
    To address this, I decided to use the feature "Run OS Command BEFORE file processing " . And wrote a command 'cd <foldername> .It is not working. Then I tried using "Run OS Command AFTER file processing "  and it also didnot work.
    Does anyone have any clue how can I address this requirement using FILE Adapter.
    thanks,
    rakesh

    HI,
    OS commands will be executed in XI server not in the FTP server. So first you need to connect into FTP server and then you need execute CD command.
    option 1) Get the absolute path ie direct path from FTP server so that you can directly connect to FTP server's specific directoty
    22) In this case , write the file into your XI server itself by NFS File Transport protocol. Then ftp this file from your XI server into FTP server using Shell Script.
    So write a shell script which will be executed in the XI server, inside this write a logic of tranfer of files with FTP protocol. This shell script is executed from the Reciever File adapter with the option OS command.
    Hope this helps,
    Regards,
    Moorthy

  • File Receiver Adapter:Run Operating System COmmand after message Processig:

    Dear All,
    I have gone through this link
    [http://help.sap.com/saphelp_nw2004s/helpdata/EN/e3/94007075cae04f930cc4c034e411e1/content.htm]
    But i have a problem.
    In the scenario which we have, File name is DYNAMICALLY GENERATED by a UDF
    I want to call the file at run time after message processing via Command Line and execute some os commands.
    But since the file name is Dynamic....How will i call the file at run time in Command Line:
    SYNTAX: %f(FileName)
    How will i specify the file name in the above syntax as the file name is Dynamic and not constatnt.
    Please Advice.
    Senthilprakash.

    Dear All,
    Yes just now i got the answer from this thread[OS command line script - Need help;
    Actually i have another doubt now
    In REVEIVER FILE ADAPTER:
    when we give Run Operating system Command After Message processing
    does the OS command get executed after the output file is placed in the Receiver folder/server or before its placed in the receiver folder?
    Regards,
    Senthilprakash.

  • ESB: inbound file and outbound ftp adapter with multiple directories

    Basically I want to scan directories and write new files ftp directories. I could figure out how to do that for one directory. However I need to scan multiple directories and ftp upload files contained in those directories to corresponding ftp directories. Number of directories and their names are only known at run time. All directories are under one parent directory, both locally and the remote ftp site. We can assume all ftp directories exist.
    I could not figure out how to this. Is this possible at all? Directory names seem to be only specified at design time, for both inbound file adapters and outbound ftp adapters.
    Pranab

    Chris, I am not really sure this is the right place to ask this question. But hopefully you might have something in your armour to help me out.
    My requirement is to configure an inbound File/FTP adapter to read from a Directory which can be known only at runtime. A webservice call returns the file name and network path of the file to be read, but that happens only during the run time. I guess one way possible is, you configure a File/FTP Adapter with a logical name for directory and set the physical directory path using the endpoint property. But in that case, I should know the Physical directory @ deployment time.
    I would like to know whether it is possible to manipulate the Endpoint property of an ESB Service (SOAP Service/Routing Service/Adapter Service) during runtime.
    So is there any way to get the enpoint property configured during runtime??? Otherwise dO you recommend some other solution for this use case???
    Any help would be appreciated.
    -Sudheer

  • OS command on sender channel before message Processing

    Hi all,
    I am trying run unix script on my sender CC before message processing it's not working ,but If I use the same command in the program RSBDCOS0,I can see shell script is working.
    I am just providing the path of the script and  and shell script name.Tried below option to check it runs but it  is not.
    /home/pd1adm/concur/get-concur.sh
    sh /home/pd1adm/concur/get-concur.sh
    Please help me out.
    Thanks,
    Madhu

    Please check the FILE permissions.
    I had the same problem long back at that time there was some file permission missing.
    Please ask your BASIS or UNIX team to check the permissions.
    Thanks
    Naresh N

  • FTP adapter with application acknowledgment

    Hello,
    I like to send a file with an FTP adapter to an "in" folder and configure a sender FTP adapter to pick up files from an "out" folder.  I'd like to us a BPM and have the BPM determine if the returning file is pointing to an error and send an alert.  This is my manual way to create an application acknowledgment.
    So my BPM needs a Receive, Send and then another Receive step.  Has anyone done this before?  Or is there some good documentation on this process?
    Thanks,
    Matt

    Some misunderstanding I guess
    I was explaining to use UDF to raise alert message, say for example using this
    Triggering XI Alerts from a User Defined Function
    Checking file for error should be based on the business logic used by the receiver system. XI won't understand in itself that the file has error. There must be some business requirement that should be checked.
    Regards,
    Prateek

  • Need to give file location in FTP Adapter at runtime

    Hi All,
    We r using FTP Adapter for fetching files from remote server, we have scenario where we need to give the location of file at runtime. Location may vary so the file location must be given at runtime. We r using SOA 11.1.1.3
    Thanks,
    RR
    Edited by: 800068 on Oct 4, 2010 11:19 PM

    Hi Oracler,
    Thanks for responding..
    I am able to give filename and directory dynamically. My scenario is i need t give the hostname, username and password dynamically .. How would i do that?
    Thank You...

  • Need help with runtime exe command

    Does anybody know how to get the command with double quotes to work with runtime exe?
    String cmd = s+" "+fileName;
    fin = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exe(cmd).getInputStream()));
    if my s is 'grep -i RTU', the fin would have correct value.
    but if my s is 'grep -i "RTU"', the fin doesn't have anything (nothing return from exe(cmd) ).
    I tried printing out the cmd, it looks fine ( grep -i "RTU" filename ).
    Even when I copy the print of cmd and execute it on unix prompt, it return correct value too.
    I also tried excaping double qoutes with backslash. Still doesn't work.
    Thank you so much in advance

    I tried with the exec(String[]) instead of
    exec(String).
    Still doesn't work.
    I'm using Java 2 SDK, Standard Edition Version
    1.3.1_02I am afraid I can't help. I can't duplicate your problem - I have no difficulty passing arguments with or without quotation marks using JDK 1.3. I just wrote a test to be sure, and it worked fine.

Maybe you are looking for

  • New problem with numbers

    when I open it up on my ipad the screen is blank, just the grey thatched background, anyone else have this?? I tried re-installing, no luck.

  • My 5G seems to stutter then freeze when plugged in

    Has anyone heard of this problem; While the 5G is plugged into the dock or the Alpine car unit (same type of connection as the doc), it will play for awhile then start to stutter ( stop and start ) for about a minute - then it will freeze. At which p

  • In Mail, no icon to save email as a Draft

    Since switching to a new computer with Lion, I'm bewildered by some things. In Mail, working on an email and then saving it as a Draft to work on later was simple. I can't figure out how to do it in the new Mail program. Here's what the Help menu say

  • HT1222 What if my phone is not in service than how can I update iOS 7?

    What if my iPhone is not in service than how can I update iOS 7?

  • BT Vision Error V04

    I currently pay 17.99 per month for BT Vision but whenever i try and watch anything through On Demand I am faced with error message V04 and I am unable to watch anything. I have reported this to BT on a number of occasions who say the error is due to