File adapter validate file checking directory for files

Hi Gurus,
We have requirement. There are 3 directories (Processing, Error and Archive)in the Source side.SAP PI need to pick up a file called "abc.txt" from the processing tab.
But there is a condition.
1. If "abc.txt" file exists in the "Error" directory then Not process the interface.
2. If there is no "abc.txt" file in the "Error" directory then validate the file "abc.txt" in the "Processing" directory. If the file is not according to the validation rule then move the "abc.txt" file to the "Error" directory and then stop the processing.
3. if the above two conditions are ok then move the "abc.txt" file to "archive" directory and send the file to PI.
Please help me to achive this requirement.

Hi Kevin,
You need to use the option of "advanced selection for source file" in the source tab of  sender comm. channel.
chk this link :-
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
/people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter
hope its of some help
Regards,
Rohit

Similar Messages

  • File adapter - how to make shure a file is complete for sender/receiver?

    Hi everybody,
    I want to use the file adapter and a question arises for both sender and
    receiver:
    On the sender: How does the PI know when a file is complete for reading?
    Can this be a problem (PI starts reading the file when it is not complete?)
    On the receiver: How does the receiver know when a file written by
    PI is complete? Does PI support some kind of write to tmpfile then rename
    schema?
    Thanks for any suggestions
    Best regards
    Stefan

    Hi Stefan,
    On the sender: How does the PI know when a file is complete for reading?
    Can this be a problem (PI starts reading the file when it is not complete?)
    Yes, it could be a problem: Have a look at below from help.sap
    Advanced Mode
    To specify additional parameters in the adapter configuration, set the Advanced Modeindicator.
    ●      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 Protocoland then made an entry under Recordsets per Message that splits an input file into several messages.
    This parameter is applicable only for the File adapter. If you enter a value in this field when configuring the sender FTP adapter, it will have no effect.
    Regards,
    Carlos

  • How to set a root directory for file management in web application

    Is it possible to set a default root directory for file management for a web application ?
    We would upload some files and store them in the web server.
    When we write the uploaded files without any path, the files are written in the config directory into the jdeveloper embedded oc4j directory.
    When we write the uploaded with a relative path ("/somedir/filename"), the files are written in C:/somedir/filename.
    We would like that all file management with relative path into the web application refer automatically to a given root directory (for example defined in web.xml).
    Is it possible ?

    I'm using the standard upload in adf faces.
    The problem is not during upload. This is managed in a temporay directory defined in web.xml. The problem is for writing the file that was uploaded (upload give us an inputStream we have to write somewhere, eventually after unzipping).
    Here is an example of our current code.
    if (mimeType.equals("application/x-zip-compressed") |
    mimeType.equals("application/zip")) {
    File destZipFile =
    new File(rootDirectory + "/" + parametersDirectory +
    "/" + uploadedFile.getFilename());
    BufferedInputStream isZipFile =
    new BufferedInputStream(uploadedFile.getInputStream());
    FileOutputStream fosZipFile =
    new FileOutputStream(destZipFile);
    BufferedOutputStream bosZipFile =
    new BufferedOutputStream(fosZipFile, BUFFER);
    // read and write until last byte is encountered
    while ((currentByte = isZipFile.read(data, 0, BUFFER)) !=
    -1) {
    bosZipFile.write(data, 0, currentByte);
    }

  • File Adapter does not process the same file twice

    SOA: 11.1.1.4 (non-HA).
    I have a file adapter that triggers when a new file gets to a directory; the file is not deleted after the process triggers.
    The process is supposed to call other services via a mediator and if any remote fault happens it should rollback automatically and re-trigger with the same file at the next polling interval.
    I have literally 3 scenarios:
    1). The file gets picked up once, the process fails and the file is never picked up again.
    Msg in log: The file : /xx/xx/xx/abc.xml is being ignored as it has already been processed
    2). If the mediator only routes to one service after the file gets picked up, it works as expect (that is rollback and restart at the next polling interval). If it has more than one sequential routing rule, I see the same error as above.
    3). File does not get picked up EVEN if I "touch" or rename the file.
    Msg in Log:
    File Adapter ProcessName Poller enqueuing file for processing :/xx/xx/xx/abc.xml
    File Adapter ProcessName Ignoring File : abc.xml as it is already enqued for processing.
    I have already checked, there is no permission issue.
    This is what my .jca file looks like:
    <adapter-config name="getFile" adapter="File Adapter" wsdlLocation="getFile.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/FileAdapter" UIincludeWildcard="*"/>
    <endpoint-activation portType="Read_ptt" operation="Read">
    <activation-spec className="oracle.tip.adapter.file.inbound.ScalableFileActivationSpec">
    <property name="DeleteFile" value="false"/>
    <property name="MinimumAge" value="5"/>
    <property name="SingleThreadModel" value="true"/>
    <property name="PhysicalDirectory" value="/xx/xx"/>
    <property name="Recursive" value="false"/>
    <property name="PollingFrequency" value="20"/>
    <property name="IncludeFiles" value=".*"/>
    <property name="UseHeaders" value="true"/>
    <property name="MaxRaiseSize" value="5"/>
    <property name="ListSorter" value="oracle.tip.adapter.file.inbound.listing.TimestampSorterAscending"/>
    </activation-spec>
    </endpoint-activation>
    </adapter-config>
    Thanks for looking into it in advance.
    Any help with the error messages will be appreciated.

    You have to use MOVE operation, if there is any remote exception occured, then move the file to someother folder and again move back to the same folder where the file pickup will start.
    In that way you will be use the same file picked up next time when the polling happens.
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Vijay

  • File Adapter: Is it possible to track files?

    Hello XI community,
    I've a scenario where the sender and receiver is the file adapter using NFS. When XI picks up the inbound file from a certain directory with a wildcard name like "T_xxx*" is there any chance to see the original name? In addition I'd like to know how to find out the relationship between the inbound filename and the outbound name which is actually created from the file adapter like "xxxxx_timestamp.xxx". The files I'm using are binaries so I don't use the file content in anyway. They are just passed through XI. But I'd like to track the files to be able to know which input file belongs to which output file. Maybe some of you know where to see this.
    Thanks in advance
    /Michael

    Hi once emore:
    take a look at this document:
    https://websmp201.sap-ag.de/nw-howtoguides
    -> exchange infrastructure -> how to Create Modules for the J2EE Adapter Engine
    it may help you:)
    Regards,
    michal

  • File adapter didn't read the whole file

    Hi folks,
    we use the file adapter since 1 year and in the majority of cases it works fine. But sometimes the file adapter didn't read the whole file. In SAP we are missing some parts. Funnily enough in this cases he archive the whole file and not only the executed parts . Know anybody whats the reason of this effect and how we can solve it?
    Kind regards Johann M.

    Johann
    I think you miss understood me/I didn;t explain myself very well....
    If you take the file that doesn't work/process correctly, can you replicate the issue where the whole file is not copied across.
    If you can, you should be able to extend the FTP/File adapter trace file to find the cause if this issue.
    Log onto Visual Admin.
    &#61680;     Services
    &#61680;     Log Configurator
    &#61680;     Locations
    &#61680;     Choose the location (Java package) and the tracing level (severity)
    (for example, com.sap.aii.adapter.file)
    &#61680;     Root Location > com > sap > aii > File
    &#61680;     Set the severity and choose Copy Severity to Subtree
    Run interface and then check the trace file - remember to switch this back to Error...

  • When importing files, my view window to search for files is really small, how do I make it bigger so I can actually search for files?

    When importing files, my view window to search for files is really small, how do I make it bigger so I can actually search for files?

    How big this is depends on the size of your screen. On a 13" it is really small. But you can improve things a bit. Click the green button to make the import window fill the screen.
    Drag the area between the file list and the preview area up or down to increase one or the other:

  • Dynamic update to Inbound Directory for File Adapter Read

    I've seen references to others asking similar questions but never a good answer.
    I have a process that outputs files into daily dated directories. In other words, my Inbound Direct name is dynamic. I would like BPEL to be able to pick up these files but the Directory Spec for the inbound file adapter seems to be set at design time (or in the case of a Logical Directory Deployment time).
    The directory names are in YYYMMDD format. So it would be:
    importdir/YYYMMDD
    for each day.
    Is there a way I can monitor an entire subtree, or have some event that triggers the directory name to be updated (for instance, a process watches the parent directory and kicks off when a new directory is created), or any other method I can inform the FileAdapter to begin polling a different directory.
    Thanks.

    Hi,
    Look at this document : [Oracle JCA Adapter for Files/FTP|http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10231/adptr_file.htm#CIAFJCCE]
    Romain.

  • How to validate a Particular Directory or file path in Presentation server.

    Hi SAP gurus,
    I am having a requirement where I want to download a file into the Presentation server.
    The file path to download will be provided in a parameter.
    What I want to do is to throw a message to the user if He/She provides a wrong Directory or File path.
    For example :
    Say the user is providing the file download path as " E:\test.txt", but there is no "E" drive or such directory in the presentation. So in this case I should be able to check the wrong Directory provided by the user and throw some message to the user saying there is no such Directory present. Please give a proper directory or similar messages.
    I have found a FM: PFL_CHECK_DIRECTORY but i am not able to use it properly.
    So do you have any FM or any method and its explanation to fulfill my requirement .

    Do it this way:
    tables:
      spfli.
    parameters:
      p_file type rlgrap-filename          " File name
                       obligatory.
    Data:
      t_final_data like table of spfli.
    at selection-screen on value-request for p_file.
    call function 'F4_FILENAME'
       exporting
         program_name        = syst-cprog
         dynpro_number       = syst-dynnr
         field_name          = ' '
       importing
         file_name           = p_file.
    at selection-screen.
      data:
        lw_file  type string.              " File Path
      lw_file = p_file.
    select * from spfli into table t_final_data.
    CALL FUNCTION 'GUI_DOWNLOAD'
       EXPORTING
         filename                        = lw_file
       tables
         data_tab                        = t_final_data.
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
      if sy-subrc <> 0.
        message 'File not found' type 'E'.
      endif.
    With luck,
    Pritam.

  • Adapter moduler in file adapter receiver - get Target Directory from param

    Hi everybody,
    We are in PI 7.1
    I need in an adapter module (file adapter receiver) to access to the Target Directory comming from parameters
    I foound the code in a weblog
    /people/sap.user72/blog/2005/07/15/copy-a-file-with-same-filename-using-xi
    Here is the code I found
    public ModuleData process(
              ModuleContext moduleContext,
              ModuleData inputModuleData)
              throws ModuleException {
              Object obj = null;
              Message msg = null;
              try {
                   Channel ch = new Channel(moduleContext.getChannelID());
                   obj = inputModuleData.getPrincipalData();
                   msg = (Message) obj;
                   XMLPayload xmlpayload = msg.getDocument();
                   String path = ch.getValueAsString("file.targetDir");
                   if (!path.endsWith("
    ") && !path.endsWith("/"))                    
                             if(path.indexOf("
    ")!=-1)
                                  path+="
                             else
                                  path += "/";
                   if (xmlpayload != null) {
                        convert(xmlpayload.getContent(), path);
                   inputModuleData.setPrincipalData(msg);
              } catch (Exception e) {}
              return null;
         private void convert(byte[] bs, String path) throws Exception {
              String bs_out = new String(bs);
              String filename =
                   bs_out.substring(
                        bs_out.indexOf("<FileName>") + 10,
                        bs_out.lastIndexOf("</FileName>"));
              bs_out =
                   bs_out.substring(
                        bs_out.indexOf("<Base64>") + 8,
                        bs_out.lastIndexOf("</Base64>"));
              byte bb[] = com.sap.aii.utilxi.base64.api.Base64.decode(bs_out);
              File f1 = new File(path + filename);
              FileOutputStream fos = new FileOutputStream(f1);
              fos.write(bb);
              fos.close();
    The object Channel come s from the package import com.sap.aii.af.service.cpa.Channel;
    The jar is in the build path (com.sap.aii.af.service.cpa.jar);
    When I write in NWDS
    Channel ch = new Channel(moduleContext.getChannelID());
    NDWS gives me an error "Cannot instantiate the type Channel".
    Can somebody help me about that, please?
    Does that code dosn't work in pi 7.1?
    Thanks in Advance for your help.
    Best Regards.
    E. Koralewski
    Edited by: Eric Koralewski on Feb 3, 2011 1:40 PM

    > When I write in NWDS
    > Channel ch = new Channel(moduleContext.getChannelID());
    > NDWS gives me an error "Cannot instantiate the type Channel".
    it should be:
    Channel ch = (Channel) LookupManager.getInstance().getCPAObject(CPAObjectType.CHANNEL, moduleContext.getChannelID());
    (taken from sample module ConvertCRLFfromToLF)
    http://help.sap.com/javadocs/pi/pi711sp03/index.html?com/sap/aii/af/service/cpa/Channel.html
    Edited by: Stefan Grube on Feb 3, 2011 2:02 PM

  • Sender file adapter - Can I use *.xml for the file name

    Hi Gurus,
    I have some interfaces where I need to pick the file from a directory. The name of the file will have Data<i>time stamp</i> as the naming convention. Can I use *.xml to pick up my files from this directory?
    The help.sap.com documentation says that we can use this naming convention.
    <b>
    &#9679;      File Name
    Specify the name of the file that you want to process. The name can contain placeholders (*, ? (placeholders for exactly one character)) so that you can select a list of files for processing.
    </b>
    I tried using *.xml for my file name in the communication channel, XI is not picking up this file.
    Please let me know if you have the solution.
    Thanks
    Kalyan

    Murthy,
    Thanks for the reply.
    I am using GuildFTP tool as my FTP server. In this tool, all the permissions were given for the file to pick up.
    The status of the file is good.
    Where in the file adapter configuration I have to select 'Read-only'?
    The file adapter is working perfect with the exact name of the file.
    Thanks
    Kalyan

  • External OS command script in file adapter - return value check possible?

    Is it possible to check return value of external OS script execution which is called in the file adapter? We want to see the result in the adapter monitoring. The documentation says: "Message processing is independent of any errors that occur during the execution of a configured operating system command."

    Hi Sanjay ,
    Seems possible : Try this :
    /people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
    Regards ,

  • Search network directory for file JS CS3

    I need to enhance a javascript that I created a while back, by adding the functionality to search a network drive for files.
    I have been able to test for file exists on one of the volumes, but the other volume hasn't got the same stucture and needs a recursive search that drills down directories. and then back out to start the next set of folders.
    Has anyone had call to do this themselves, and if so, could you please point me in the right direction?
    Many thanks

    Thanks for that Mark.
    Every time I searched I didn't include 'recursive' and ended up with loads of discussions to choose from - yet I used the word in my question. I'm obviously working too hard!
    Problem solved now, many thanks.
    Andrew

  • File Adapter gets error while deleting the file

    Hi,
    We are running on PI 7.0 SP6. I built a simple integration scenario where a file is picked up from a certain directory on the server (PI server itself) and get processed according to some mapping rules and again put to an other directory. I used the file adapter for picking and putting the file with 2 different communication channels.
    My integration works fine. File is picked up processed and put into its new location.
    But the file adapter cannot work in archiving or deletion mode. So the file (to be picked up by PI) remains in its original location.
    I am getting the following error:
    Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/File##com.sap.aii.adapter.file.File2XI.deleteFile(FileHandle)#J2EE_GUEST#0####18a971f3338011dbcde800145e69a8d4#XI AF File2XI[:EBI:File_from_EBI_to_EXS]##0#0#Error#1#com.sap.aii.adapter.file.File2XI#Java###Deleting of file failed - cannot proceed#1#E:
    SCENARIOS
    EBITOEXS
    RFID
    GELEN
    tagdata22082006035719.xml#
    #1.5#00145E69A8D4005B0000004700000A6400041BC49A1D56D3#1156431120046#/Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/File##com.sap.aii.adapter.file.File2XI.processFileList()#J2EE_GUEST#0####18a971f3338011dbcde800145e69a8d4#XI AF File2XI[:EBI:File_from_EBI_to_EXS]##0#0#Error#1#com.sap.aii.adapter.file.File2XI#Plain###File 'E:
    SCENARIOS
    EBITOEXS
    RFID
    GELEN
    tagdata22082006035719.xml' - deleting after processing failed - retry#
    I tried everything but upgrading to a higher SP level and will do so unless anyone has an other suggestion.
    Thanks a lot,
    Murat Gölcü
    [email protected]

    Hi,
    These are a few things you can do:
    Check the permissions of the folder where the file is being Placed. (it will mostly have only read permission, this is what i could understand from your explanation)
    If you are doing Content conversion, please can you just remove it and see if the XML file is getting generated.
    Also, please check if it's picked up by any other application when you place it on the server.
    Regards,
    Abhy

  • 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.

Maybe you are looking for

  • JMS Topic - Deliver to only one Durable Subscriber

    Hi, Is it possible to put a message onto a topic but only have it delivered to a single durable subscriber? I realise this breaks the rules of what a topic is but this is for a scenario where a single subscriber has errored when processing the origin

  • How to activate Generic Object for Services (GOS)

    Hi, I'm trying to find a way to activate the GOS (the little toolbox that appears in some transactions like ME21N and ME23N). The strange thing is that in my system landscape, the GOS toolbox appears in the development system but only on one client.

  • How to implement Excel like functionality using Table?

    I have a requirement to implement excel like functionality in a table, i.e when I update the amount in the first row and tab out, the values in the rows below should get affected. Could any one suggest idea how to get this done?

  • Green Screen Video not working audio working

    Hey everyone I just installed imovie 09 and I'm having issues with the green screen effect. I know it's probably one button that I can't find, but never the less I need some help. I followed the instructions to the T to use the effect and I even made

  • Exporting image sequence (tga filetype)

    Hello, I'm using Apple® Motion 5.1 on Apple® OS X 10.9.1 Mavericks. I can only export a project as image sequence with the following filetypes: DPX Image JPG Image OpenEXR Photoshop® File PNG Image TIFF File How I can export the project as TGA filety