Processing an empty file with file adapter

Hi,
We have a scenario where we are merging multiple files via a BPM.  One of the files that we read is a delta file, which at times can be blank/empty.  The multiple receive steps in the BPM are in one fork and the end condition is set up so that all the messages are received prior to the transformation step.
When we attempt to read an empty file by activating the adapter, the adapter monitor reads that the message was processed successfully.  But, no message is created in XI.  Is this correct?  If yes, is there any way we can create a message for an empty file w/o using a module to change the contents of the file?
Any suggestions or help is greatly appreciated.
Thanks in advance.
Best Regards,
Duke

Hi Duke,
One suggestion:
You can construct a message with some fields and use exists() function in mapping.
try this link:
http://help.sap.com/saphelp_nw04/helpdata/en/db/83f7b88528424c9113b15d5e0fb516/content.htm
Regards
Priyanka

Similar Messages

  • Process 0kb empty file and deliver to target directory

    Hello Experts,
    We had a requirements to process an empty file handling and send it to the receiver/target directory. We had configured to "Process Empty File" Handling and “Write Empty File. The 0KB file polling successfully and archived to the directory with empty payload, but the message output was never created/sent to the target directory. In smxi_moni error message displayed:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">CANNOT_READ_PAYLOAD</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Unable to read payload from the message object</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Since this is an empty file, there are no mappings involved.  Is there a way to that we could check for 0kb file? If it is empty file, we want to pass/place the empty file to the target directory and if it is not empty, we want the message to process in the standard way.

    Hi David,
    "Since this is an empty file, there are no mappings involved. "
    do you mean you didnt do the mapping at all cos it is empty file ?
    though it is empty file still you need to do the mapping as usually,but when you check the option process the empty file both in sender and receiver adapter ,then it will process even an empty file comes.if you dont check these options and you get an empty file during the process then the mapping will fail.
    in real time you don't know which one is empty file right,but her you know cos you are placing empty file.
    I think you got to do all the steps you do in eneral for a scenario and top on that you have to check process empty file in both sender and receiver adapters,but you may not see the payload in SXMB_MONI.
    but search in SDn you get lot stuff.

  • FCC file channel cannot process the empty file

    Hi,
    My requirement is like that a msg mapping getting two files from different sources and combining into one file and send to the receiver. There is a possibility that any one of the file can be empty.. now  problem is how to process the empty file in FCC file channel. When we trying to process the msg we are getting the error msg like "file end of exception". we already check the option empty file in file comm channel....under processing tab. But no use.Though we achieved through a module in sender channel. i want to know how to achieve this through simple content conversion by the FCC channel.
    In Content conversion. Record----> item,.. here what is mean ''? 0 to outbound or 1 to outbound?
    Regards
    Balaji

    Hi Balaji,
    here what is mean ''? 0 to outbound or 1 to outbound*
    means 0 to unbounded.
    Let me remind u ... the requirement cannot be achived in this way.. if file is empty.
    I hope u already checked the option..
    process empty files.
    I think u can handle this by, using a adapter module, in which..
    if file size(ASMA) is zero.. create a empty message and send it
    to the PI.
    Babu
    Edited by: hlbabu123 on Mar 9, 2010 2:36 PM

  • How to Process an Empty File and deliver to the receiver channel

    Hello Gurus,
    We had a requirements to process an empty file and send it to the receiver channel .  We had successfully configured and polling an empty file, but the message output of the empty file was never sent to the receiver channel.  Is there any solution to process an empty file and move it to the receiver directory.
    XI 7.0 with latest sp
    Thanks so much in advanced,
    dn

    Thanks guys for a quick response!
    As mentioned above, we had already configured to handling "Process empty files" and were able to have the files polling successfully. The problem that we are facing is that, the output file were never created or delivered to the receiver directory. We want all files to process and deliver to the recipients even though it is an empty file.
    Thanks,
    David

  • Operating System Command After File Processing in Sender File Adapter

    Hello guys,
    actually we have different interfaces, and the client to take all the files from only one directory, for example D:/DPI.
    Unitl now we had one adapter for every file with the content conversion, so we didn't have problems with that. Now we have the problem that we sould maintain an order processing files.
    We thougth that an idea could be to execute one file pointing to D:/DPI and at the Operating System Command put like: copy D:/DPI/file.txt D:/DPI/outbound/file.txt, so when file is executed, we move the next file to another directory where is pointing the adapter. Doing this we have an error on the adapter giving us the message: Could not process due to error: java.lang.NullPointerException
    We are using a Windows.
    There is anyway to do in our way, or there is a better solution to resolve this problem?
    Any other idea to do this?
    Many thanks in advance.
    Regards,
    Xavi.

    Helo Guys,
    maybe I haven't explained well.
    We have one directory with different files. We have one adapter for every file( we need for the content conversion ) using NFS and all the adapters are pointing to the same directory.
    The problem is that if we have files A.txt, B.txt and C.txt we need to process in an order.
    And the problem we see is that for every file we have one adapter, so for example if we process file A.txt with one adapter, when this part is finished, we want to process file B.txt with another adapter, and the same for the rest of the files.
    So the idea we had is to create another directories, and when A.txt has finished move file B.txt to another directory.
    However this way is not running, if we log on the PI machine and execute cmd, we can do a copy of one file from one directory to another, but when we put this sentence in the adapter in OS command if we see the adapter log we see an error executing the OS command, but we don't know what is the error, there is no more information.
    There is any way to do this or maybe we have to manage in a different way?
    Many thanks in advance.
    Regards,
    Xavi.

  • Module processing inside Sender File Adapter

    Hello,
    I am trying to analyze whether I can create a specialized module inside Sender File Adapter. As of right now, the Sender File Adapter and Receiver as well, assume endSeparator character in the end of each record. For files that do not have this field, it is just on continuous string, I assumed I can create an
         adapter module
         call it BEFORE data in the file is being converted to XML format
         Insert 'nl' character (since the record length is fixed)
         Call regular adapter processing (converting to/from XML)
        However, creating any module inside Sender File Adapter, the payload of the main document is already in XML format. Is there anyway to avoid it?
       Thanks for your help,
             Dmitriy Mindich

    It is not possible with the standard functionality.
    So maintain the sender file adapter with no conversion, but in the module tab enter following modules:
    1. Your module
    2. The conversion module (*)
    3. The standard module.
    (*) for details look here:
    Look here:
    http://service.sap.com/nw-howtoguides
    -> Exchange Infrastructure
    -> How To Use the Content Conversion Module in JMS Adapter
    Regards
    Stefan

  • How to start a BPEL Process using the File Adapter

    Hi
    I would like to automatically start a BPEL Process when I store a file in a specific directory. Can this be done using the File Adapter?.
    Regards,
    Néstor Boscán

    Yes, there are samples of how to do this in the BPEL samples directory.

  • 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

  • OutOfMemory error on large file processing in sender file adapter

    Hi Experts,
    I got file to IDOC scenario, sender side we are using remote adapter engine, files are processing fine when the size is below 5mb, if the file size is more than 5mb we are getting java.lang.OutOfMemoryError: java heap space. can anyone suggest me what parameter i need to change in order to process more than 5mb.

    Hi Praveen,
    Suggestion from SAP is not to process huge files at a time. Instead, you can make the into chunks and process.
    To increase the heap Memory:
    For Java heap-size and other memory requirements, Refer to the following OSS note for details:
    Note 723909 - Java VM settings for J2EE 6.40/7.0
    Also check out the OSS Note 862405 - XI Configuration Options for Lowering Memory Requirements
    There are oss notes available for the Java Heap size settings specific to the OS environment too.
    Thanks,

  • Adapter Module to terminate module chain processing PI7.1 (File Adapter)

    Hi All,
    I have a file in a FTP location that needs to be picked up ONLY after a trigger file is found.
    I have tried 2 ways using OS commands and BPM but both do not suit my need .
    I have now decided to write a java adapter module. This is in PI 7.1.
    Folder :          \public\cwc
    File to be picked up : abc.txt
    Trigger file :              abc.trg
    Polling Interval :         60 secs
    1. Module checks for abc.trg in the folder \public\cwc
    2. If found, do nothing and process normally
    3. If not found, write an error to the log and stop the module chain (callsapadapter) from processing further. The abc.txt file should not be picked up.
    Is this possible ? Any code snippets? What command will stop or timeout the communication channel processing?

    Hi,
    What you can do is :
    1. If found then send the regular xml file from the adapter module.
    2. if it is not found then alter the message so that the log xml file appear as the output of the module.
    3.in the IR make a data type such that its is having both i.e. either the regular xml or the log fields in two seperate messages (optional)
    e.g.
    <File>   ... 1. .1
    --<RegularFile> .. 0..1
    --<logfile>  .. 0..1
    Dont think of stopping the process by calling some modules.Instead let the process complete by letting the mapping split.
    If the Regularxml comes ,then route it to the regular folder , but if the log comes then let the other message go to the log folder.
    Regards
    Progirl

  • 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

  • Error in processing empty files

    We have a requirement where in we the source system sends an empty file (xml,csv,txt) and XI shud process this file and send it to the target systems.
    It is a file 2 file scenario we are using.
    I have checked the option in the file adapter which says "process empty files"
    I see the Error message displayed in the Abap stack “Unable to read payload from the message object”
    Can some one point me how to process this empty file.
    Thanks,
    Nandini

    Handling of Empty Files
    Specify how empty files (length 0 bytes) are to be handled.
    &#9675;       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.
    &#9675;       Process Empty Files
    XI messages are created with an empty main payload.
    The files are processed according to the selected processing mode.
    &#9675;       Skip Empty Files
    No XI messages are created from empty files.
    Empty files are skipped and remain in the source directory.
    These three options are available for handling empty files in XI SP 19 and PI SP 10 and above.
    Select the option :Do Not Create Message"

  • Empty file handling in Receiver File adapter (FCC - Premature end of file)

    Hi
    My interface is Flat file to Flat File interface with file content conversion which is working fine in SAP PI 7.1 EHP1.
    If I want to process the empty file from sender system, PI should place the same empty file in the receiver FTP Location as per my requirement.
    I am facing the below error message when PI tries to place the empty file.
    Message processing failed. Cause: org.xml.sax.SAXParseException: Premature end of file.
    But if I am not using FCC, I am able to get the empty file at the receiver end.
    Please suggest on this, If I am using FCC in the receiver side.
    Thanks
    Gabriel

    Hi Gabriel,
                       You can write a simple script to copy a file from source folder to target in case the fiel size is ZERO bytes. The script will not copy the file if the filesize is more than zero bytes, This will be processed normally by PI server. You can call the script from sender communication channel parameter : "RUN OS command before message processing". Could you please specify the Operating System (OS) you are using in your PI server.
    Regards
    Anupam

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

  • Process Empty file Exception

    hi guys,
    i faced a weired problem, i got this error in the monitoring it's about processing empty files,
    i have to process empty files but without having this exception
      <SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_R2_FILE_PROXY_: Parsing an empty source. Root element expected!</SAP:Stack>
    thank you.

    Hi
    -->In the Empty file handling we have different options as per your requirement you must and should select PROCESS EMPTY FILES options ignore the rest of the two options available.
    -->So i suggest you to bypass the IR and directly configure the ID and use dummy interface and dummy namespace so by configuring as mentioned above we can process the empty files.
    Thanks

Maybe you are looking for

  • Windows Vista C++ error on startup

    I recently updated iTunes and quicktime using the Apple update manager, but when I switched off my laptop and restarted again i got a message which said there was a microsoft visual c++ runtime library error and wouldn't let me boot up. I had to star

  • K7N2 deltas mainboards have a problem with usb devices ??

    Ok here is my problem.. I had installed WinXP Pro with SP1.. I got a 20 GB USB2.0 disk.i connected it on the both front or rear usb ports. When i tried to transfer files to my usb disk or to my PC, in the middle of the copying, i got "Write Delay Fai

  • Is there any user exit/ badi to populate the partner bank type for   F-63.

    Is there any user exit/ badi to populate the partner bank type (field name BSEG-BVTYP) in transaction F-63. There is exit ‘ZFI_FOAP_CDITEMS_00001011’ having BKPF and BSEG as only import parameters so I can’t change the value for BSEG-BVTYP. So could

  • HubPhone 2.1

    I have a hub phone 2.1 on BT Home Hub 2.0, ver A. The phone works OK but will not call MISSED calls. The handset freezes and no buttons work The handset indicates missed calls and the only way to recall is to write the number down and redial. Any hel

  • Repainting picture on a canvas

    hey, Now I have the canvasses ready on my applet I would like to make it able to change the pictures when a button gets pressed. For a start I kept it really simple, but when I call the method which repaints the canvas it just won't work. This is wha