Archieve File in File Adapetr

Hi xi gurus,
My Scenario is File(xml) --  to -- Proxy
After the file is picked up from the directory,i must archieve the file in to another folder.
In the adpter i had given the option archieve and the directory the file to be archieved.
But iam gettion error in communication chaneel that the file cannot be archieved.
Let me know if iam missing anything here.
Thanks
Sri

Hi Sri,
Please make sure that the file adapter has been configured properly, please refer to SAP link below: [http://help.sap.com/saphelp_nw04/Helpdata/EN/e3/94007075cae04f930cc4c034e411e1/content.htm]
At the same time, also go to see the error message from your communication channel monitoring using link [http://<host>:<port>/mdt/channelmonitorservlet]
Hope it helps.
Regards,
Lim...
Edited by: Ruslim Chang on Feb 26, 2009 2:18 AM

Similar Messages

  • Making more archieve file while refreshing materialised view

    Hi experts,
    i have created a materialised view and index on that, while refreshing it is making more archive files,
    how to stop making archieve while refreshing the Materialised view.
    i also opted nologging option on that,

    Hi experts,
    i have created a materialised view and index on that, while refreshing it is making more archive files,
    how to stop making archieve while refreshing the Materialised view.
    i also opted nologging option on that,

  • Linking of archieved file to clearing document

    Hello Gurus,
    In my scenarion an image is already archived and details of the image is going to stored in z-table by third party development(archieve id of the document will also be stored in this table). My requirement is to link that image to the clearing document.
    How to link the archieve id of the z-table with the clearing document so that it will appear in tcode fb03 (which happens automatically when we archieve document from sap).
    Thanks and Regards,
    Saurabh Chhatre

    hello ,
    see the fellowing sample program.
    create object l_alink.
        link-sap_object = 'BKPF'.i think , its BO of Fb03
        link-object_id      = ur FI document objkey.
        link-archiv_id = 'AP'."'VM'. "u need to check ur alink settings.
        link-arc_doc_id = l_tlinks-doc_id+10(32).---.from ur ztable.
        link-ar_object  = 'GLACCR'.--->from your cnfig.
        move l_tlinks-file_name to link-filename.--->file name in that archiev link.
        call method cl_alink_connection=>insert
          exporting
            link   = link
          exceptions
            error  = 1
            others = 2.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                     with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.
    regards
    Prabhu

  • HOW to retrieve PURCHASE ORDER DATA from archieve file and print a report

    Dear all
    1) I have retrieve purchase order data from archived files.
    2)  print purchase order data and created pdf file.
    VIJ.............
    Moderator message - Please ask a specific question - post locked
    Edited by: Rob Burbank on Apr 28, 2009 12:00 PM

    Dear all
    1) I have retrieve purchase order data from archived files.
    2)  print purchase order data and created pdf file.
    VIJ.............
    Moderator message - Please ask a specific question - post locked
    Edited by: Rob Burbank on Apr 28, 2009 12:00 PM

  • Could not archieve file after processing error in Rwb of sender adapter

    Till today afternoon it is running fine.
    The rpocess here is we will keep the files in FTP site. and pi polls and places the files in NFS Mount server AL11(FILE/STAGING).
    Now these file will be process from FILE/STAGING to FILE/PROCESS in al11 .
    Then proxy get trigerred and sends the data to sap where workflow will be trigerred.
    now the issues file is getting polled from ftp and placed in file/staging folder perfectly.
    Then the file needs to be moved to file/process folder using file adapter. here the issue is coming
    error is as shown below
    Time Stamp  Message ID  Explanation 
    Could not archive file '/FILE/Staging/20100517112845_140011140001.tif' after processing
    com.sap.aii.af.service.util.transaction.api.TxManagerException: Unable to commit transaction: The transaction has been rolled back: com.sap.engine.services.ts.transaction.TxRollbackException
    I had done the cache refresh still the problem persists.

    HI,
    1. check whether you have authorization for write access.
    2. Check the path provided for process.
    3. Ensure both the staging and the process paths are different.
    Thanks,

  • File Adapetr: File is not picking from File directory

    Hello,
    Issue: we are facing issue with file sender adapter like file is not picking from source file directory.
    Scenario: FTP1>PI>FTP2
    1. SAP PI sender communication channel will pick the file from FTP1 and process to PI file server (NFS)
    2. from PI file server (NFS), file will process again to FTP2
    So while picking the file, it shows following error:
    Could not process due to error: java.lang.IllegalStateException: Error during RETR epilogue: com.sap.aii.adapter.file.ftp.FTPEx: 451 Transfer aborted. Broken pipe
    Conversion of file content to XML failed at position 0: sun.io.MalformedInputException
    Processing started
    this issue occur after we migrate the PI server from hpunix to aixunix.
    Best Regards,SARAN

    Hi,
    check the FCC parameters, fieldfixedlength option would be used when the exact length of field is constant in the Sender, In the FCC the fieldfixedlength parameter carries the length of the each.
    Check out Michal's blog on content conversion for all your doubts :The specified item was not found.
    Kindly check the below links for further assistance.
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/frameset.htm
    regards,
    ganesh.

  • How to find the location of java class files at runtime?

    Does anyonw have an idea how to get the file name of a java class given the binary name?
    I mean how can I get the file name for my class myPackage.myClass?
    I am looking for a function which takes "myPackage.myClass" as input and returns
    "c:\\javaprojects\\myPackage\\myClass.class".
    I tried to do it with the LassLoader class but it did not work. Does anyone have an idea if the Java core API already has a function which does that?
    Thanks, Bernhard

    Hi ,
    It is a simple SAMPLE code , you think and build a logics to handle all classes.
    Try this sample, It doesn't handle the inner classes you put logic to handle the logics for inner classes.
    The inner class format is it contains the character $ in the File location but inside the code you put "." instedad of "$" you to find out or put trials.
    package pkg1;
    import java.io.* ;
    import java.util.* ;
    import java.util.zip.* ;
    public class ClsB {
         private static Vector clsPaths ;
         public static Vector getPaths() {
              if( clsPaths == null ) {
                   String paths = System.getProperty( "java.class.path" ) ;
                   // In linux or solarise use the following
                   // StringTokenizer st = new StringTokenizer( paths , ":\n" ) ;
                   StringTokenizer st = new StringTokenizer( paths , ";\n" ) ;
                   clsPaths = new Vector() ;
                   while( st.hasMoreTokens() ) {
                        String path = st.nextToken() ;
                        File f = new File( path ) ;
                        if( f.exists() ) {
                             try {
                                  f = f.getCanonicalFile() ;
                                  clsPaths.add( f ) ;
                             }catch( IOException ioe ) { }
              return clsPaths ;
         public static String findClassPath( String fullClassName ) {
              Vector v = getPaths() ;
              for( int i = 0 ; i < v.size() ; i++ ) {
                   File f = ( File ) v.get( i ) ;
                   String path = findIn( f , fullClassName ) ;
                   if( path != null )
                        return path ;
              return null ;
         static boolean isJar( File jar ) {
              if( jar.isDirectory() )
                   return false ;
              try {
                   ZipFile zf = new ZipFile( jar ) ;
                   return true ;
              } catch ( ZipException ze ) {
                   // It is not a jar file
                   // you handle this
              } catch ( IOException ioe ) {
                   ioe.printStackTrace() ;
              return false ;
         static String findIn( File dirOrJar , String clsName ) {
              if( isJar( dirOrJar ) ) {
                   // It is something different because the class inside the jar file
                   // Simply I return the jar file location and the entry name ,
                   // but you put action what you want
                   if( isInsideJar( dirOrJar , clsName ) ) {
                        // All archieve file using the path separator is '/'
                        return dirOrJar.getPath() + "!" + clsName.replace( '.' , '/' ) + ".class" ;
              } else {
                   File f = new File( dirOrJar , clsName.replace( '.' , File.separatorChar ) + ".class" ) ;
                   if( f.exists() ) {
                        return f.getPath() ;
              return null ;
         static boolean isInsideJar( File jar , String clsName ) {
              try {
                   ZipFile zf = new ZipFile( jar ) ;
                   // All archieve file using the path separator is '/'
                   ZipEntry ze = zf.getEntry( clsName.replace( '.' , '/' ) + ".class" );
                   return ( ze != null ) ;
              } catch ( ZipException ze ) {
                   ze.printStackTrace() ;
              } catch ( IOException ioe ) {
                   ioe.printStackTrace() ;
              return false ;
         public static void main(String[] args) {
              System.out.println( findClassPath( "pkg1.ClsB" ) );
              System.out.println( findClassPath( "pkg1.pkg2.ClsA" ) );
    }

  • Reg:File adapter archive Directory

    Dear team,
    Our requirement is to read a csv file from a directory and archive the file in archive folder specified in the file adapter.
    If any exception is caught,then we need to read the archieve file from archive directory rename the archive file with source file name and place it in source directory.
    On the receive activity we are able to get the source file name and source file directory.
    <receive name="Receive1" createInstance="yes"
    variable="Receive1_Read_InputVariable" partnerLink="fileRead"
    portType="ns1:Read_ptt" operation="Read">
    <bpelx:property name="jca.file.FileName" variable="srcFileName"/>
    <bpelx:property name="jca.file.Directory" variable="srcDrFolder"/>
    How to get the archive file name and archive file directory from the receive activity so that we can store in local variables.
    Pls do help.
    Thanks

    Hi,
    Another way you can accomplish your scenario. Instead of deleting or archiving in beginning just move the file from inbound to archive location after business flow completion.
    In case of error, the file will remain at original position as moving operation is at the end.
    First read the file using read operation, then at the end create a file adapter with sync read operation. Change the entries in .jca generated with below sample.
    Sample jca file.
    <endpoint-interaction portType="SynchRead_ptt" operation="SynchRead">
    <interaction-spec className="oracle.tip.adapter.file.outbound.FileIoInteractionSpec">
    <!-- Below properties are dummy except Type , it will be changed in runtime -->
    <property name="SourcePhysicalDirectory"
    value="srcdir"/>
    <property name="SourceFileName" value="abc.txt"/>
    <property name="TargetPhysicalDirectory"
    value="targetdir"/>
    <property name="TargetFileName" value="abc.txt"/>
    <property name="Type" value="MOVE"/>
    </interaction-spec>
    Then,in you bpel flow at the invoke for sync read add these two properties.
    <bpelx:inputProperty name="jca.file.SourceFileName"
    variable="varInputFileName"/>
    <bpelx:inputProperty name="jca.file.TargetFileName"
    variable="varArchiveFileName"/>
    <bpelx:inputProperty name="jca.file.SourceDirectory"
    variable="varInputDirectory"/>
    <bpelx:inputProperty name="jca.file.TargetDirectory"
    variable="varArchiveDirectory"/>
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Durga

  • File Adapter Module - Help

    Hi
    For a file adapter I had enabled the option <b>Archieve File</b> in my communication channel. So the system will put the file in the archieve folder after it is read. My requirement is to check if the file already exits in the archieve folder or not. Any means of checking it? or shud i make use of adapter modules? If yes kindly point some helpful tips on the same.
    Kindly fwd any useful doc to [email protected]
    regds
    prabhu

    Prabhu,
    The os command in the file adapter should exists in the XI server only.
    Whatever command you provide in the Adapter will result in the SID+"ADM" user id exectuing this command at the oS level of your XI server.
    So this script should exist on the XI server.
    Now, if the archive directory is on the FTP server you will have to connect to the FTP server from the script and check if the file exists and then do the needful.
    Check this blog out for executing Scripts on file adapters,
    /people/sameer.shadab/blog/2005/09/21/executing-unix-shell-script-using-operating-system-command-in-xi
    Regards
    Bhavesh

  • File processing in FIle adapter

    Hi,
    i have configured Sender File Adapter (FTP) in my scenario which picks the file from FTP folder and sends to JDBC.
    now i have 2 flat files in my FTP (yesterdays and todays). file names are test_07062010 and test_08062010.
    now my requirement is while processing the files, my file adapter has to process first file as test_07062010 and then test_08062010. but now it is processing first test_08062010 and then test_07062010. due to this yesterdays data is overwriting on todays data in Database.
    i know we have some option in file sender adapter (NFS)...but i need to do with FTP file sender...please let me know how to proceed further.
    Thanks in Advance.

    Hi Praveen...thanks for reply
    my communication channel is active all the days. but sometimes due to PI server down or some maintance we will stop channels.
    that time file will not pick by file sender and it will be in FTP.then next day one more file will generate in FTP. 
    So my proble is while processing these files my sender file adapetr is processing todays file first and then yesterdays.due to this yesterdays data is overwriting on todays data.
    can you tell me how to handle that in file adapter.

  • 3 Source directories in Sender File. How to set 3 Archive Directories?

    Hi guy's,
    I have scenario File to IDOC where from 3 source directories the XML has to be taken and processed. I used Advanced Selection for Source File in one communication channel.
    For each source directory, there is an archive directory but in the field Archive Directory of the Communication Channel, there is possibility to put only one directory.
    How can I put 3 archive directories in one sender File communication channel?
    Kind regards,
    Danijela Zivanovic

    You need to have different CCs for keeping archieve files in different directories.
    Similar thread can be found at
    Multiple Archive Directory
    Rehards,

  • Mulitple Detail record values in file adapter

    Hi,
    How shall I pick up a file in sender file adapter which is having two different record identifiers for their detail records. My structure is
    Header - Record identifier is HDR
    Detail - Record identifier is 10 and 30
    Trailer - Record identifier is TRL
    While configuring File adapetr I am unable to pick up Detail records with 30 because my Detail.KeyFieldvalue is only equals to 10. I know I can have a work around of picking up all the records and then in map distinguish all the different record types but I am interested in picking up all the detail records having different record identifiers.
    thanks .

    Rakesh
    Just an Idea..If you can make your source structure as
    Header
    Detail1
    Detail2
    Trailer
    Then you can give Detail1 key as 10 and Detail2 Key as 30. I think its just matter of getting records and assigning to target structure, guess i think it might work
    Just my 2 cents

  • How file adapter has to pick .stub file???

    Hi guys,
    Sap system is generating a .stub file.if that file exist then only adapter will send the data to pi.
    Can we have some settings in Sender File Adapter where in we can Put check condition for .STUB file.
    I mean, If .STUB file is present in ECC directory only than PI will Pick the File.
    If .STUB file exist, we need to pick some other file.
    If we want to go with unix script, From were we need to get that unix script file. and were we need to use .in file adapetr or some were else??
    --> Do you have any example script? If yes, please share.
    --> is there advance function in Sender File Adapter to pick that file?
    please advice
    Regards,
    Naren
    Edited by: Narendra Surepalli on Oct 17, 2011 8:20 AM

    Naren
    with "Run operating system command before message processing" you can call a script on your server.
    The script can check if there is a file .STUB exist on server or not.
    You can serch for unix commands for check if file exist.
    One example:
    test -e $file_name && echo "file exists"
    from http://www.unix.com/unix-dummies-questions-answers/5361-how-check-if-file-exist-not.html
    You can check others as well.
    Regards
    Raj

  • Purging Log files

    Hi
    I am working on creating a shell scripts to delete old log application log files . Could someone help me what are the log files to be purged in an oracle applications.
    Currently I am purging
    udump/bdump/adump directory old files
    $APPLCSF/tmp,log and out directory old files
    tmp files in utl_file_directory
    Two weeks old archieve files
    Is there anything i am missing out.... in apache side .
    Thanks
    Rajan

    For Concurrent Manager log files, it is recommended you use "Purge Concurrent Request and/or Manager Data" concurrent request with "Entity = ALL" parameter.
    For other log files, check Note: 274666.1 - Cleaning An 11i Apps Instance Of Redundant Files
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=274666.1

  • ARCHIEVING PRODUCTION ORDERS

    Hi,
       This is regarding the archieving the production ordrs.
    I had create the fresh materials & took out the mrp run for that.I had converted the planned order to production order.
    Now I want to archieve that production order.I had used the "SARA" transaction for archieving.
    Maintained the variant (prod.run),now when i try to run the "DELETE" function.there is no any archieved file prisent or no selection.
    Note - I had tried it out by using deletion flag & TECO both.
    Hoping reply earilier,
    Manish.

    hi
      CO78 is the start of the Archive process.  We are not using Archiving yet but the initial process fits the bill for what we need to do as mentioned in the original note.
    Decide the range of orders you want to delete.  This range will be used in the program variant. Note that we will be running CO78 many times because of the number of orders involved. 
    Running CO78 calls program PPARCHP1 and this involves the use of a Variant where the parameters for selection etc. are set. 
    First of all, create the variant via SE38 for PPARCHP1. 
    Enter details for number range, order type, plant and set deletion flag. Flag Detailed log and set this to go to Spool when running. Save the variant. You can also force the job to run in background at this point (which I would recommend) via menu line Variant --> Attributes.  Also here you can flag order number, order type and plant to be required fields. 
    Run CO78
    Press the first button - deletion flag/deletion indicator.
    Choose the variant you have just created.  Press "Maintain" to update the selection range on subsequent runs. Save changes and return to initial screen.
    Press Start date to set date and time for job to run as per any background job. Icon will turn Green.
    Press Spool Params to set save output in Spool Q rather than print immediately. Icon will also turn Green.
    Press Execute and job can be tracked via SM37.
    Details of deleted orders and errors will appear in the Spool.
    Rerun as many times as you need with relevant order ranges till all required orders are deleted.
    -ashok

Maybe you are looking for