Why XI picks an Empty File ?

Hi Gurus,
I have a  case where i am getting a set of small files in a group to process in XI.As some time few files are comign with size ZERO bytes but the name is as per the XI standard.So XI picking the file for processing even if archiving in the archiving folder but i am unable to see those in SXMB_MONI and also alert configuration is unable to catch this .
Can any one suggest how to solve this type of problem ?
Thanks,
Satya Jethy

Raj,
As described below from  help.sap.com
     Handling of Empty Files
Specify how empty files (length 0 bytes) are to be handled.
○       Do Not Create Message
No XI messages are created from empty files.
The files are processed according to the selected processing mode.
For example, if the processing mode is Delete, empty files are deleted in the source directory.
○       Process Empty Files
XI messages are created with an empty main payload.
The files are processed according to the selected processing mode.
○       Skip Empty Files
No XI messages are created from empty files.
Empty files are skipped and remain in the source directory.
I donot find these options available in Sender File Adapter. Do you know if this is available in PI 7.0 SP9 or am i missing something.
Thanks
Pradeep

Similar Messages

  • Empty file receiver - file adapter

    Hello,
    Scenario: File->XI->File.
    In my scenerio, I am using Java mapping to name the target filename and creating text file that is later sent to FTP, in that way I don't have to use content conversation, to save performance...
    I am on PI7.1 version so I have checked the options (Processing Parameters) for empty file handling in Sender/Receiver file communication channels.
    Issue:- Though the target file is created but it always contain 1 byte(NULL character). Any ideas??
    Thanks
    Anshul

    > In my scenerio, I am using Java mapping to name the target filename and creating text file that is later sent to FTP, in that way I don't have to use content conversation, to save performance...
    >
    The java mapping is genarating output as text file,right??have you tested your java mapping in NWDS or eclipse,because when you test in Operation mapping you will get error for text file,because it is not well formed.
    if your java mapping genarating text files perfectly then file content conversion not required at all,just give file name in Communication channel.
    > I am on PI7.1 version so I have checked the options (Processing Parameters) for empty file handling in Sender/Receiver file communication channels.
    >
    Why you have selected  empty file handling??it is not required.
    > Issue:- Though the target file is created but it always contain 1 byte(NULL character). Any ideas??
    >
    >
    unselct empty file handling test your interface with real data.
    let me know your issue.
    Regards,
    Raj

  • Empty file picked although file have lot of data in file adapter SAP PI

    Hello All,
    We are facing the weired behaviour of SAP PI file adapter channel.
    In without mapping Scenario of 7.31
    At some time whole file is archived properly in archive folder but in SAP PI log we can see the file size 0 bytes.
    And at received side empty file will be sent.
    But in actual there is lot of data in the file.
    The same file triggered next time then it working fine.archived and sent as it is.
    So can anybody help me for this ?what is the issue why sometime file with no data is  picked by PI?
    If file is pick up by PI before it is written completely by third party then is it possible that archived file will have all data as it although processed empty ?
    Thanks in advance,
    Anant

    Hi,
    Thanks for reply.
    I know this is common issue of file picking before completing the process of file writting and also i can use Msec to wait before modification check for avoiding this but
    my question is how the archived folder have the file with all data that sender is sending.
    So is it possible that empty file (before compete writting )is picked up by sap pi and then after completing the picking process it will archive the file that is completely written by third party in source folder.
    In other way file picking & File archiving is separate process means file that is picked is not archived but once pi processed the file then it will again check the source folder and archive and delete the same file.
    Thanks
    Anant

  • FTP problem: empty file being picked up

    Use case:
    - I am writing a file with the FTP adapter to a remove FTP server
    - Another application polls the folder where I put my file
    - The application picks up the file and processes it
    Problem
    - The moment that the FTP adapter starts writing, the other application recognizes the (empty) file and picks it up
    - The application processes only the empty file
    Questions
    - Is there a way to block the other application from picking up the file?
    - What is a best practice for this situation?
    - Is there a way to implement some type of handshake?
    - Will I also have this problem when another application writes a file to a folder where a BPEL file/ftp adapter is polling?
    Thanks,
    Jan Willem

    Another common practice is to give the file an extra extension while ftp upload is in progress:
    upload.xml.tmp
    Then after the upload finishes it should be renamed.
    And another (!) practice is to upload two files:
    upload.xml
    upload.upl
    upload.upl only contains the filename of upload.xml, have upload.upl only uploaded when upload.xml is finished. let your adapter poll for upl files instead of xml files, and read out the contents of the upl file.

  • Why can I not empty my deleted files in the trash?

    Why can I not empty my deleted files in the trash using the instructions provided?

    http://www.thexlab.com/faqs/trash.html

  • Process empty file : file (fcc) to rfc

    Hi Experts,
    I have a scenario where. I have to process files and send it to rfc..
    file to rfc scenario...
    now basically.. when the file is empty the content conversion does not produce any payload and throws error..
    can u pls help me in this?

    Hello,
    The problem is that XI will pick up th file with empty payload.. but as there is no content in the file...
    the content conversion cannot be done
    The content conversion will still be done except that it will not output anything. To do this, set your recordset occurrence to * instead of 1
    http://help.sap.com/saphelp_nwpi711/helpdata/en/44/6713ec3f914ddee10000000a1553f7/content.htm
    and mapping throws error...
    Since there is no output, the mapping will really throw an error. What you can do is to place a dummy structure, you can use a two-step mapping to do this, in your operation mapping use Java Mapping as your first mapping and in the second mapping, your actual mapping graphical mapping e.g
    1.) Read the inputstream and then check if there is a structure. If there is a structure, the Java mapping just passes it to the outputstream. If it is not, then Java mapping will write the dummy structure into outputstream. (Java Mapping)
    2.) Output from 1 is passed to Message Mapping
    Can you tell us the reason why empty files are needed to be processed? Because this adds overhead in the AE.
    Hope this helps,
    Mark

  • Empty file to process in customer J2EE adapter module

    Hi All,
    if i give an empty text file to a sender communication channel, then no message is generated by XI.
    i want to generate a dummy XML if empty file is given.
    so is it possible to make a customer-specific J2EE adapter module - then deploy it - then if in sender comm channel this adapter module is written before SAPAdapter module, then should XI generate a dummy XML for this empty file.
    i am asking this because i developed a J2EE adapter module, then deployed it, then tried to invoke it  from sender comm channel but this J2EE adapter module is not getting invoked - this i can tell because i have written the following lines only in Java class process method:
    <i>Message msg_audit = (Message)inputModuleData.getPrincipalData();
    AuditMessageKey amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
    Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                                 return inputModuleData;</i>
    but still in the audit log only 3 messages of entire file content converted to XML format, empty doc so no sending of message and deleting of empty file are coming.
    <b>Can anybody suggest whether is it possible to process an empty text file to generate a dummy XML in sender communication channel in XI.</b>
    Thanks,
    Rajeev Gupta

    Hi All,
    When i write this code:
    try
                                                                obj = inputModuleData.getPrincipalData();                                                  
                                                                msg_audit = (Message)obj;
                                                                amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
                                                                Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                       <i>File f = new File("/components/XITEMP/sample/PWC/check.txt");                                                            
                                                                          if (f.canWrite())
                                                                                         PrintStream ps;
                                                                                         FileOutputStream fos =new FileOutputStream(f);
                                                                                         File f1 = new File("/components/XITEMP/sample/PWC/check1.txt");
                                                                                         ps = new PrintStream(fos);
                                                                                         if (f1.exists()==false)
                                                                                              f1.createNewFile();                                                                    
                                                                                         ps.println("Testing");
                                                                                         ps.close();
                                                                                         fos.close();                                                            
                                                                               else
                                                                                    File f2 = new File("/components/XITEMP/sample/PWC/check2.txt");          
                                                                                    if (f2.exists()==false)
                                                                                              f2.createNewFile();                                                                    
                                                                               }               </i>                                        
    it works fine......it creates the file check1.txt
    but when i place the italiced code in this format:
         try
                                                                obj = inputModuleData.getPrincipalData();                                                  
                                                                msg_audit = (Message)obj;
                                                                amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
                                                                Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                                           catch (Exception e)
                                                                     try
                                                                          File f = new File("/components/XITEMP/sample/PWC/check.txt");                                                            
                                                                          if (f.canWrite())
                                                                                         PrintStream ps;
                                                                                         FileOutputStream fos =new FileOutputStream(f);
                                                                                         File f1 = new File("/components/XITEMP/sample/PWC/check1.txt");
                                                                                         ps = new PrintStream(fos);
                                                                                         if (f1.exists()==false)
                                                                                              f1.createNewFile();                                                                    
                                                                                         ps.println("Testing");
                                                                                         ps.close();
                                                                                         fos.close();                                                            
                                                                               else
                                                                                    File f2 = new File("/components/XITEMP/sample/PWC/check2.txt");          
                                                                                    if (f2.exists()==false)
                                                                                              f2.createNewFile();                                                                    
                                                                     catch(Exception ex)
    it doesnot create the file check1.txt......
    Can anybody suggest why in the exception block this italiced code is not working........means it is working in try block of try{}catch{} block.......but it is not working in catch block of try{}catch{try{}catch{}}
    Thanks,
    Rajeev Gupta

  • File adapter with empty files!

    Hi guys,
    My scenario is: File -> XI (BPM) -> JDBC
    Under BPM I have a fork with two parallel receivers correlated and two sender file adapters for that. Those senders also have file conversion (.seq file to XML).
    My problem is: in case of files coming empty, is it possible that senders file adapter generates error during file conversion? And/or generates errors during correlations?
    If so, "I wouldn’t like", because after receive these two files I have a switch to check if the file(s) coming empty and a control step to terminate the process in case of true. But this only works if no errors have occurred on the earlier steps!
    At this moment I can’t test it, so I’m asking If anyone has faced an issue like this one?
    Thanks in advance,
    Ricardo.

    Hi,
    Which SP are you on?
    Before Sp19 on XI 3.0 and SP10 on Pi, Empty Files are ignored by XI. The file adapter picks the file and if it is a empty file ( a zero byets file ) the file does not create a message at all for the file.
    From Sp19, the file adapter has options that allow you to decide how to process the empty file. You can create an error message etc.
    Regards
    Bhavesh

  • Empty file, java mapping issue

    Hello,
    does anyone have an ide how to create java mapping to create empty file on FTP?
    Why this code always send NUL character = 1byte and not 0 byte as needed?
    public void execute(InputStream in, OutputStream out) throws StreamTransformationException {
    out = null;

    try 1 thing...
    run ur code for some standalone file.
    create a file at ur local harddisk and check out its size..
    i had tried creating such a file using the code below....
    it is creating a 0 byte file successfully.
    public class TestCode {
         public static void main(String ags[]){
         try{
         TransformerFactory tf = TransformerFactory.newInstance();
         Transformer transform = tf.newTransformer();
         FileOutputStream out;
         out = new FileOutputStream("c:
    OutTestCode.xml");
         transform.transform(null, new StreamResult(out));
         } catch (FileNotFoundException e1) {
              e1.printStackTrace();
         } catch (TransformerConfigurationException e) {
              e.printStackTrace();
         } catch (TransformerException e) {
              e.printStackTrace();

  • Empty file processing

    Hi All,
    We are using PI 7.0 with SP 18. In one of our file to Idoc scenarios when posting empty files the file is picked up and archived but we are not getting any logs in moni. Further I couldnt find any option in the sender file adaper for empty file processing.
    Can anyone please clarify on this?

    hi,
    >>>when posting empty files the file is picked up and archived but we are not getting any logs in moni.
    this is good isn't it ?
    >>>Further I couldnt find any option in the sender file adaper for empty file processing.
    either you don't have correct SP level or you didn't import sap basis content approriate for your SP
    Regards,
    Michal Krawczyk

  • File content conversion scenario-empty file

    Hi all,
    I am doing file content conversion for my sender flat file. And I want to generate XML file in my receiver location.When I check with test tab in my message map in IR , no structure gets generated in RESULT.Overalls cenario is working fine and message is processed successfully but empty file is getting generated in target directory.When I check the payload in message content in RWB communication channel monitoring,it's picking data correctly from the file.I am not getting what might have gone wrong with my message mapping in IR. It's not showing any syntax error.Even it's not generating target message structure in Results window of test Messsage mapping.Could you suggest what mistake might be there in message mapping.

    Hi all,
       I am getting this message in message monitor(SXMB_MONI).
    com.sap.aii.utilxi.misc.api.BaseRuntimeException
    thrown during application mapping
    com/sap/xi/tf/_MM_Flat_content_conv_:
    RuntimeException in Message-Mapping transformatio~
    I am able to see the output structure in test window of message mapping in IR and communication channel monitoring is also showing successful message.
    fcc parameters used are:
    Header.fieldNames KEY,EMPID,NAME,COMPANY,PHONE
    Header.fieldFixedLengths 1,4,20,15,12
    Header.processConfiguration FromConfiguratiion
    Header.keyFieldValue H
    Detail.fieldNames KEY,COMPANY,LOCATION
    Detail.fieldFixedLengths 1,15,10
    Detail.processConfiguration FromConfiguratiion
    Detail.keyFieldValue D
    Please suggest the mistake in mapping
    Edited by: Jaya on Mar 3, 2010 12:45 PM
    Edited by: Jaya on Mar 3, 2010 12:47 PM

  • Empty files are getting created at receiver FTP server

    Hi Experts,
    I have an Idoc to File scenario where I am sending an XML file to receiver FTP server.
    Scenario is working fine but sometimes an empty file is getting generated at receiver FTP server.
    I have already selected ignore empty file at receiver channel so issue is not within PI system configuration.
    When I checked the message log I can see that almost all the files are getting created successfully without any issues, but
    for some files/messages I can see that there are below error logs.
    "Transmitting the message to endpoint <local> using connection IDoc_AAE_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not get FTP connection from connection pool (1 connections) within 5,000 milliseconds; increase the number of available connections"
    "Exception caught by adapter framework: Could not get FTP connection from connection pool (1 connections) within 5,000 milliseconds; increase the number of available connections."
    And after there is again success message log in the same message and it creating a file successfully during that time stamp.
    but the third party is sometime receiving empty file which I am not able to find in any trace or log (my file name is SD_timestamp.xml).
    Can you please let me know what is the solution and what adjustments FTP server need to do in order to resolve this issue.
    Thanks in advance.
    Regards,
    Rahul Kulkarni

    The error you are getting that says "Could not get FTP connection from connection pool (1 connections) within 5,000 milliseconds; increase the number of available connections" has probably nothing to do with the empty files problem.
    I second Hareesh Gampa that you first should try "temporary file creation". You might also need to tell the FTP owner that he should only pick up files with that are written completely and that do comply with a negotiated file name schema. The temp file should have another schema of course then. He should not pick up just every file that is written. See here for details
    http://help.sap.de/saphelp_nw74/helpdata/en/44/6830e67f2a6d12e10000000a1553f6/content.htm
    HTH
    Cheers
    Jens

  • Dummy XML not getting generated from empty file by J2EE adapter module

    Hi All,
    i know when XI gets an empty input text file, it does not generate a send message for it in sender communication channel.
    in my scenario, if i get a file with data, i have to generate an XML message for it using file content conversion - this i have done...........
    but if i get an empty text file, then i have to generate a dummy XML send message for it for my BPM.......
    So i made a J2EE adapter module to generate dummy xml for empty file.....<b>when i give a file with data in it, then my adapter module is called..... but when i give an empty file, then my adapter module is not called</b>.........
    <b><i>Can anybody suggest why the module processor is not invoking my customer-adapter module when an empty file is given.............but the module processor is invoking my customer-adapter module when a file with data is given</i>.</b>
    Thanks,
    Rajeev Gupta

    Hi Amit,
    Below is the code of process method which i used:
    <i>public ModuleData process(ModuleContext moduleContext,
      ModuleData inputModuleData)
        throws ModuleException
    Object obj;
    Message msg_audit;
    AuditMessageKey amk;
    try
    File f = new File("/components/XITEMP/sample/PWC/check.txt");
    PrintStream ps;
    if (f.canWrite())
    FileOutputStream fos =new FileOutputStream(f);
    ps = new PrintStream(fos);  
    ps.println("Testing");
    ps.close();
    fos.close(); 
    else
      f = new File("/components/XITEMP/sample/PWC/check4.txt");
      if (f.exists() ==false)
      f.createNewFile();
    obj = inputModuleData.getPrincipalData();
    if (obj!=null)
    msg_audit = (Message)obj;
    amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
    Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
    else
      String str = new String();
    String str1 = new String();     
                  str1="<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
                 str1+="<ns:MT_PWC_RECORD xmlns:ns=\"urn://PWC_SR3_01/PWC/Customer\">";
             str1+="<RECORD_SET>";     
                 str1+="<RECORD>";
             str1+="<RECORD_DATA>BLANK_FILE</RECORD_DATA>";
             str1+="</RECORD>";
             str1+="</RECORD_SET>";
             str1+="</ns:MT_PWC_RECORD>";     
    str=str1; 
    inputModuleData.setPrincipalData(str);
    catch(Exception e)
    try
    File f = new File("/components/XITEMP/sample/PWC/check.txt");
    PrintStream ps;
    if (f.canWrite())
      FileOutputStream fos =new FileOutputStream(f);
      ps = new PrintStream(fos);  
      ps.println(e.toString());
      ps.close();
      fos.close(); 
    catch(Exception ex)
    return inputModuleData;
       }</i>
    in the above methood, i  used file operations at start just to see whether the module is getting invoked or not...so when i give a data file, then the file operations are performed and messages are written in audit log.........but when i give an empty file, then the file operations are not performed - meaning the module is not getting invoked........
    Thanks,
    Rajeev Gupta

  • Create .txt empty file After Message Processing Command Line Linux command

    Hi All,
    An empty .txt file has to be created in FTP location(FTP loc c:\xyz\Customer20082910.txt) only after the .dat file has been created(FTP loc c:\xyz\Customer20082910.dat)
    Note:.dat has the actual data and .txt is an empty file and is created only after .dat is created
    I know that .txt empty file can be created using the After Message Processing Command Line...
    But confused which command to be given such that it will be created in the FTP location(c:\xyz\Customer20082910.txt)
    Can any one please give the Linux command for it...
    Regards,
    Sridhar

    Hi Aamir,
    Thanks for the suggestion, I will ask my client to create a shell script at FTP server...
    And one more question,
    This is reverse side , now the .dat file is to be picked only if .txt exists at the FTP server (scenario File > XI>SAP) (earlier was SAP>XI>File)..
    So please can you suggest for this also...
    How can i check for the .txt and pick corresponding .dat file...
    i had posted question long back
    Need to pick .TXT file only if .CTL file is available
    Regards,
    Sridhar

  • File adapter picking up partial files

    Hi All,
    We are facing a wierd problem with the File Adapter.
    The problem is that, we are getting the xml files from the source system, and PI is supposed to pick them up and process them. Sometimes, the file adapter is picking up the empty files / partial files, i.e., before the file is completely written on to the FTP folder.
    We tried increasing the polling interval. But this did not help. Since we are taking the files from the FTP, the option "MSecs" in Additional Parameters also will not work. As we are on PI 7.0 SP13, we tried to search for the "Empty File Handling" option wherein we can make the file adapter skip the 0kb files. But we are not able to find that option anywhere.
    Please help us find a solution to this problem.
    Thanks,
    Hari.

    Hari,
    In sender communication channel click on  Advanced. Then you see the paramter Msecs to Wait Before Modification Check. Add a value 3000. Then you should be good.
    Regards,
    ---Satish

Maybe you are looking for

  • Windows Store apps on Windows Server 2012 with XenApp?

    We've got asked by a vendor whether our app will be able to support multiple simultaneous users, when installed on Windows Server 2012 and accessed via XenApp. I suppose the real question here is whether or not Windows Store apps can be run in XenApp

  • How can I transfer older Microsoft Office docs to my new macbook pro?

    Hi... I had an older macbook pro OS X (10.5.8). The mother board went on it but I was able to transfer all of my files to a passport hard drive. My new, 2013, macbook pro does not accept Microsoft Office apps. Any thoughts... ? Thanks, Russell

  • Reading in a txt file, appending numbers to it.

    So I'm a student at Georgia Tech working on a relatively simple Java program for a research internship, but it's been awhile since I've had my Java course and I'd really like some help on this. Basically, what I'm looking to do is to take in a text f

  • Getting the name of the varray

    Getting the original name of the Varray: 9.2.0.6 I have a simple procedure which does work but I would like to tighten it up. procedure printVarray(u IN numUsed, varrayName IN VARCHAR2 DEFAULT NULL) is begin IF varrayName IS NOT NULL THEN      dbms_o

  • TS5376 itunes 11.1.4 fix for Windows

    I am unable to uninstall the Apple Mobile Device Support from my PC which is necessary in the fix for iTunes 11.1.4 for Windows.  Can anyone help?