Failed Receiver Determination on empty file

I have seen suggestions matching the solution I have tried, but it is not working in my scenario.
The scenario is an empty CSV file inbound to 3 receivers.  In the standard receiver determination,  I created a context condition for the 'SAP system' receiver, which uses RFC adapter.  The condition is:  'Sourcefilesize not equal 0'.  For an empty file, the 'SAP system' receiver should not be selected because it has mapping to the RFC structure.   The other 2 receivers are SFTP and file, and the client requires they receive the empty input file.
I see the file size is captured in the dynamic configuration in the MONI:
namespace:  XI/System/File.....name="Sourcefilesize">0<SAP:record...
The error is: Problem while determining receivers using interface mapping:  Error while determining root tag of XML: BOM / charset detection failed.
The system is PI 7.1, the sender comm channel is Advantco with namespace override and content conversion.  I have tried using file type 'binary' and type 'text', with UTF-8 encoding - results in the same error either way.  
The file is coming from an external vendor - I do not believe they will make any changes to it, so hopefully this can be resolved in PI. 
All suggestions are appreciated.  Thank you.

Hareesh and Osman, thank you for your replies.
I should have pasted the entire message.  When testing in the IB, it fails in receiver determination..
""Error when determining the receiver: Problem while determining receivers using interface mapping: Error while determining root tag of XML: BOM / charset detection failed Error while parsing an XML stream: &#39;BOM / charset detection failed&#39""
Only the SAP system RFC receiver has message mapping - the SFTP and file receivers do not.  (I have changed only namespace and system names in screen below)
Receiver determination -
Interface Determination XXXX_D
Interface Determination Archive_D
Interface Determination SAP system

Similar Messages

  • File name based routing in Receiver determination

    Hi experts,
    I have a requirement to do receiver determination based on file names which are dynamic.To put it clearely, i will be having two files in my source File location and i need to route it based on the file name to two target systems.
    The file name are like Month(changes everymonth)_TargetSys1 and month_targetSys2.
    I dont need any conversions ,so i am not using any IR objects.
    To pick files i kept *.txt in sender channel, and in receiver determination  condition i was trying to use context object called 'Filename'.But it doesnt work asthe file name changes every month.
    Is there any option to take substring from the input file name (say targetSys2 from month_targetSys2.) and put it as a condition for receiver determination.
    There is not DT or structure of the incoming file , as there are no modification to be done with the content.
    Regards,
    Anika

    you need to have the structure in case you want to route it via the xpath.
    Else another option is to code the enhanced receiver determination and using a java mapping with dynamic configuration read the filename and then dynamically create the receiver determination.
    http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/content.htm

  • How many Receiver determination in File to SOAP scenario

    Hi,
    I am trying a File -SOAP-File scenario, where file will be send to PI asynchronous. BPM is configured to receive the file and
    call the web services and get the response (Synchronous call) .After that BPM send the file asynchronous to File via FTP .
    It is basically asynchronous/ Synchronous bridge scenario.
    To do this I have  have configured the BPM  & created 3 Communication channel . 1 sender (File) & 2 receivers ( SOAP & File)
    But i got confused in Receiver determination. How many Receiver determinations do we require in this step?  2 or 3. If 3 how they will look like. I believe Interface determination is same as Receiver determination. I am suing Business System to send & recv the file.
    Points will be rewarded for suitable answer.
    Thanks

    hi,
    You require 3 receiver determinations.
    one from File to BPM(XI)..
    another from BPM to SOAP and other from SOAP to FILE.
    This is exactly the same scenario.
    RFC Scenario using BPM --Starter Kit
    Thanks,
    Vijaya

  • 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

  • Receiver file adapter creates empty files, Empty-Message Handling SP19

    Hello,
    We have just upgraded the system to SP19.
    One of the new features is that it should be possible to determine how XI messages with an empty main payload are to be handled in the receiver file adapter.
    If the parameter Empty-Message Handling is set to 'Ignore' no file should be created if the main payload is empty. In our case an empty file (size 0 kb) is still created even though the main payload is empty and the flag is set to 'Ignore'.
    Has anybody experienced the same problem?
    //  Best regards  Hans

    This should work:
    Use your own adapter module that parses incoming message and checks if it has any record sets in the document. If it does not have any record sets, then set the message to empty and then give this modified message to File receiver.
    For example, see the example code below:
    Module imports..
    Audit log import..
    DOM imports/SAX imports..
    public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData) throws ModuleException {
              try {
                   // get the XI message from the environment
                   Message msg = (Message) inputModuleData.getPrincipalData();
                   AuditMessageKey amk = new AuditMessageKey(msg.getMessageId(),AuditDirection.INBOUND);
                   Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"RemoveRootTag: Module called");
                   XMLPayload payLoad = msg.getDocument();
                   Document doc = parseXmlFile(payLoad.getInputStream());
                   if(doc != null){
                        if(!doc.getDocumentElement().hasChildNodes()){
                             Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "Document is empty!!");
                             payLoad.setContent("".getBytes());
                             msg.setDocument(payLoad);
                   // provide the XI message for returning
                   inputModuleData.setPrincipalData(msg);
                   } catch (Exception e) {
                   // raise exception, when an error occurred
                   ModuleException me = new ModuleException(e);
                   throw me;
                   // return XI message
              return inputModuleData;
         private Document parseXmlFile(InputStream xmlpayload) {
              try {
                   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                   factory.setValidating(false);
                   //        Create the builder and parse the file
                   Document doc = factory.newDocumentBuilder().parse(xmlpayload);
                   return doc;
              } catch (SAXException e) {
              } catch (ParserConfigurationException e) {
              } catch(IOException e){
              return null;

  • 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

  • Regarding receiver determination problem in IDOC-XI-XML file scenario

    Dear All ,
    In IDOC-XI-xml file scenario , I have configured SLD , IR . But in ID , after file adapter , reciever agreement configuration when I am doing receiver determination configuration I am not able to insert mapping program in configuration overview of receiver determination as I am not getting "New Specific" option in mapping .
    Can anybody suggest what could be the reason behind this .
    Thanks in Advance
    Prabhat

    Hi PRabhat,
    In RCVR determination, you need to select the party & service (as appropriate) save the obeject
    then refresh the configuration overview of recr det.
    then you can see the partner/service
    then you can open it & add the necessary objects.
    Regards
    Vishnu

  • 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

  • File Receiver Adapter - writes empty message although ignore flag is set

    Hi,
    i have an file FTP receiver channel configured with content conversion. I also have set the "Empty-Message-Handling" flag to "Ignore", so empty messages with 0 kb are not written to the FTP server.
    My problem is now: empty file are written to FTP server although this flag is set to "Ignore".
    For example: A message with the following content arrives at my receiver adapter:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_ArticleMaster xmlns:ns0="http://ihle.com/tyredating/core"></ns0:MT_ArticleMaster>
    The resulting file has 0kb.
    Does anyone have an idea why empty message are not getting ignored by this setting? Although the flag is set?
    Thanks in advance,
    MS
    System: PI 7.1 SP 7
    Edited by: Manuel Schlestein on May 12, 2009 5:17 PM

    >
    Manuel Schlestein wrote:
    > Hi,
    >
    > i have an file FTP receiver channel configured with content conversion. I also have set the "Empty-Message-Handling" flag to "Ignore", so empty messages with 0 kb are not written to the FTP server.
    >
    > My problem is now: empty file are written to FTP server although this flag is set to "Ignore".
    >
    > For example: A message with the following content arrives at my receiver adapter:
    >
    > <?xml version="1.0" encoding="UTF-8"?>
    > <ns0:MT_ArticleMaster xmlns:ns0="http://ihle.com/tyredating/core"></ns0:MT_ArticleMaster>
    >
    > The resulting file has 0kb.
    >
    > Does anyone have an idea why empty message are not getting ignored by this setting? Although the flag is set?
    >
    > Thanks in advance,
    > MS
    >
    > System: PI 7.1 SP 7
    >
    > Edited by: Manuel Schlestein on May 12, 2009 5:17 PM
    ideally the file adapter will expect a message with no content in it. so i suggest you use a simple java mapping to check if there is any content between the tags, if there is no content then write out an empty string to the outputstream else pass the same inputstream out

  • Condition check (based on sender file name) at receiver determination step

    Hi,
    My scenario is File to AS2 (Sender side file adapter and receiver side AS2 adapter)
    We have 5 customers, but the source location is same to pick the files, Here we are not using any ESR objects.
    Based on the source file name PI need to determine to whoom this file need to send at receiver determination step
    Craeted objects
    1 Sender CC,
    1 Sender agreement,
    1 Receiver determination
    5 Interface determinations
    5 Receiver agreements
    5 Receiver CCs.
    Could you please provide me your valuable inputs.
    Thanks
    Ramesh

    Hi Venkataramesh,
    I understand your scenario as, picking files (different file naming standard for different target customer) from one source folder. Based on file name, that payload should be sent to corresponding target customer. You have mentioned u201CHere we are not using any ESR objectsu201D. I can see two reasons for this decision
    1. PI is used to route the messages, i.e., no need to transform the payload. OR
    2. Files can binary files like PDF, ZIP, JPG, GIFu2026
    Now I can see two possible solutions
    1.     Simple solution, as proposed by u201CPrabhu Rajesh Janardananu201D, make it into 5 different scenarios  (5 sender channels).
    2.     Bit complex solution, only one sender channel, using extended receiver determination
    Step 1:- In Sender File channel check u201CAdapter u2013 Specific Message Adapteru201D in Advanced tab. File Name should be checked.
    Step 2:- In Receiver Determination, Select Type of Receiver Determination as u201CExtendedu201D. http://help.sap.com/saphelp_nwpi711/helpdata/en/48/ce2a423a8e5430e10000000a42189b/frameset.htm
    Step 3:- Do a Graphical Mapping (use it Operation Mapping in Receiver Determination).
    Step 4:-
    Source and target of graphical mapping will be same (below), because you donu2019t want to access input payload (it can be XML, flat file, JGP, GIF and you donu2019t have its structure).
    <Receivers>
       <Receiver>
          <Party agency="" scheme=""></Party>
          <Service></Service>
       </Receiver>
    </Receivers>
    Step 5:- Write a UDF in Graphical mapping as below. http://help.sap.com/saphelp_nwpi71/helpdata/EN/43/03612cdecc6e76e10000000a422035/frameset.htm Pay attention to method declaration
    public String Determine_Receiver( Container container) throws StreamTransformationException
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(u201Chttp://sap.com/xi/XI/System/Fileu201D,u201CFileNameu201D);
    String valueOld = conf.get(key);
    //Put your logic here
    if (valueOld.equal(u201Cuser1u201D)) {
    return u201Cuser1u201D;}
    if (valueOld.equal(u201Cuser2u201D)) {
    return u201Cuser2u201D;}
    if (valueOld.equal(u201Cuser3u201D)) {
    return u201Cuser3u201D;}
    Step 6: Now use this UDF to map to u201CReceiveru201D and u201C Serviceu201D.
    This solution need more fine tuning.
    Regards,
    Raghu_Vamsee
    Edited by: Raghu Vamsee on Jan 8, 2011 5:56 PM

  • IDoc TO File: Receiver Determination did not find any receivers at all

    Hi,
    We have IDoc to file scenario, where based on attributes present in IDoc we have configured different receivers.
    Everything was working fine and files were getting created based on the receiver determination criteria.
    But there is one change done in custom IDoc to re position the attributes.
    Idoc before changes was having NAME1 and NAME2 above KATR6 and KATR7 and after change it looks like below:
    So there is no change in segment and no change in mapping but the attributes KATR6 and KATR7 are used to determine the receiver.
    Cache refresh is done for both ESR and ID. I have re - entered the receiver determination criteria just to ensure that change should reflect.
    But still when I am triggering outbound IDoc from ECC to PI, the transaction is getting errored out with below error:
    "ErrText": "Processing error = Receiver Determination did not find any receivers at all",
    Can any one providee some idea what could be the reason and what is the right approach to resolve this issue.
    Thanks,
    Vertika

    Hi Krupa,
    I have marked your answer as helpful answer and delete of metadata wasn't required.
    Reload works . But thanks for your suggestion.
    Thanks,
    Vertika

  • Empty file created in Receiver FTP content conversion

    Hi,
    The receiver FTP channel is generating an empty file.
    The entry for the message in sxi_monitor is successful, also the target payload is having values.
    Still the file content conversion is generating an empty file.
    The three parameters given in content conversion are:
    1. fieldFixedLengths
    2. fieldNames
    3. end Separator
    Kindly help.
    Thanks,
    John

    Hi John
    I hope your structure is like this :
    Root Node
    ...Child Node
    .......field1
    .......field2  & so on...
    If so, in recordset structure add the name of the Root Node too. I faced the same issue sometime back.
    Use the same parameters for Root Node that you are using for Child Node.
    Apart from this check the payload in Message Display tab(communication channel monitoring) in RWB.
    Regards
    Soumen....

  • File Repository Server error : Failed to determine whether there is enough

    Hi, We have setup a new server and while loading file we are getting following error message.
    File Repository Server error : Failed to determine whether there is enough disk space. We are on BOXI R2 SP3 on windows server 2003 with WAS on IIS 6.0.
    From CMC the error message is:
    There was an error while retrieving data from the server: Unable to open file C:\WINDOWS\TEMP\tmp875.txt.
    I ran Input FRS with a particular port and was able to ping FRS on that port. So port is opened.
    Does anyone know reason for this?
    Thanks,
    Kalpesh

    Can you elaborate exactly what you had to resolve this issue.
    Thanks, Mani

  • No receiver could be determined in Proxy----File Scenario

    Hi All,
    Iam doing Proxy---File scenario
    Every thing i got success in SAP R/3 side MONI
    I got this Error in XI side MONI as No receiver could be determined
    I check the Sender Service in MONI--- SOAP Header ---Main( Both R/3 side & XI side also)
    Here it is showing like sapdev as my sender service, but actually my sender Business system is Sub_Dev_ssd.
    How to get it rectify
    Regards
    Vamsi

    Hi Chirag & Santosh,
    As i said the problem is when i check in XI side MONI
    The sender service is showing sapdev BUT it shld be Sub_Dev_SSD which i have selected in the Receiver Determination Step also.
    The same is showing in the SAP R/3 side MONI also
    According to my understanding , The Correct Business system which is there in the SLD & which i want to use is not Picking in the SAP R/3 side and so thats why iam getting the Service as sapdev & the same sapdev Service is passing to XI also
    I think the Business system from the SLD is Not comming into picture.
    What to do for this??
    Regards
    Vamsi

  • File receiver: Create empty file named "start.txt" at end of process

    Hello,
    When my file adapter finish the generation of file at the receiver server I want to create another empty file at the same directory named "start.txt". The use of that file if for a scheduled task of OS that only starts a process if start.txt file have been created (the process delete that file).
    How can I do that? I've tried with OS command after precessing but that's for the XI OS not the receiver system SO...
    Then I've seen that I can use ftp command but there isn't ftp command to create a file... only to transfer files.

    You can achive this using script.Write a script/bat to creat a file using ftp connection as well in the script and place in xi machine. Using OS command to call the script before the process ends.
    Unix OS
    Glimpse at OS Command: Yet Another Scenario
    Microsoft OS
    The specified item was not found.
    Regards
    Prabhakar

Maybe you are looking for

  • Not able to access the Database & Clusterware from OEM Console.

    hi, I had installed Oracle RAC 11g R2 in RHEL 5.3 Operating environment. I had installed my Oracle RAC with Enterprise Manager Console. Its with the defailt port 1158. After the installation when i try to access my EM Console, i was not able to acces

  • Problem with connecting Hp D5360

    HP Photosmart D5360 Windows XP(32-bit), SP3 My power adapter exploded and i bought a new one. Printer is working but when i connect usb cable to computer it is not recognizing it. Nothing, even not something like USB device not recognized. I tried to

  • Compiling Metisse, a 3D desktop

    Hey, I've found a pretty cool desktop window manager called Metisse.  Essentially it does some things that Compiz doesn't.... at least Compiz 0.8.x (0.9 doesn't work with my laptop's graphics ) I've downloaded it from http://insitu.lri.fr/metisse/ an

  • ICloud email signup: "unable to connect to server"

    Trying to sign up for the iCloud email account on iOS6. Whenever I get to set where I submitting my desired name to be added to the "@icloud.com" part, this popup appears saying this "Cannot Create Apple ID Unable to connect to server." what's going

  • Help me about exporting a project in eclipse???

    I have a really basic Java question - I'm building an application using Eclipse that makes use of a couple of libraries that are located in external JAR files. I've added them as external JARs( I use the quaqua.jar to set look and feel for my applica