Receiver File Adapter - Ignore Fields

Hi,
I have the following structure on the Payload; -
  <?xml version="1.0" encoding="utf-8" ?>
- <p2:MTEPOSUCopy xmlns:p2="urn:jsg.com/JCUKEPOS">
- <Records>
- <RecordType01>
  <RecordType>01</RecordType>
  <GroupCode>01</GroupCode>
  <GroupDescription>Material group 1</GroupDescription>
  </RecordType01>
- <RecordType02>
  <RecordType>02</RecordType>
  <GroupCode>01</GroupCode>
  <ProductCode>Stuff</ProductCode>
  <ProductDescription>35m</ProductDescription>
  <MinOrderQty>000001</MinOrderQty>
  <MaxOrderQty>000002</MaxOrderQty>
  <DeliveryCode>XXX</DeliveryCode>
  <SupplierID>00001000</SupplierID>
  </RecordType02>
- <RecordType02>
  <RecordType>02</RecordType>
  <GroupCode>01</GroupCode>
  <ProductCode>Stuff</ProductCode>
  <ProductDescription>Sto</ProductDescription>
  <MinOrderQty>000001</MinOrderQty>
  <MaxOrderQty>000002</MaxOrderQty>
  <DeliveryCode>XXX</DeliveryCode>
  <SupplierID>00001000</SupplierID>
  </RecordType02>
</Records>
<Filename>U1010.txt</Filename>
I am using the Filename variable in the adpater to be able to create dynamic filenames. However, the adapter is also trying to write out this value to the file. Is there a way of telling the adapter to ignore this field.
Thanks
Martin

Hi Martin,
It is possible to suppreess the file name if you are using content conversion, please check the this weblog...
/people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
Regards
Anand
Message was edited by: Anand Torgal

Similar Messages

  • Receiver File Adapter - Directory field - home directory

    How do I populate the Directory field in the receiver file adapter if I don't know the directory.  I want to use "home directory", but I don't know what that is.  I'm sending a file to a IBM i5 OS.

    I have already asked for the path.  This is the answer I got.
    Directory listings from FTP sessions are disabled.  We use IBM i5 OS for the FTP server because it's immune to exploits aimed at Windows and Linux based servers.  Since you can only "PUT" a file, it is analogous to a bank night deposit box (lots of companies can make deposits to this same metal box on the brick wall but none of them can use it to make withdrawals).

  • Problem with fixedlenthgs in receiver file adapter

    HI,
    I am doing XML to flat file scenario  and using mutli mapping concept without BPM.
    in the receiver file adapter I am using FCC with fixedlengths,then it generated just 3 output files out of nearly 100 source files.the errored one are succcessful in the SXMB_MONI and failing in RWB-->Message moni with waiting status and MDT says that XI_J2EE_ADAPTER_FILE ,Error Code PROCESSING_ERROR .
    i tried in SDN and then found something like enable the disablesecurity check box in variable substitution parameters ,then I got 4 files out.
    these are my FCC params for all structures:
    struc1.fieldFixedLengths
    struc1.fixedLengthTooShortHandling
    struc1.endSeparator
    and I tried with fieldSeparator then it gives successfully all output files.
    so,where is the problem?I didnt understand?
    any suggestion.
    thank you,
    regards,
    Babu Sri

    Bhavesh,
    I felt the same way,but assumed that ,in that way fixedlenghths wont work.
    in my target structure most of the fields have 0-1 occurences ,and even in the source structure too.so,I think it might be the reason.Then I have to make all my about 60fields 1-1 madatory and using mapWithDefaultValue function, as my sources are optional.
    you think it will work just using the "mapWithDefaultValue" function without changing my occurences to 1-1 in the target structure(mandatory)?infact I can try but ,cos of pain for changing like 60 fields....:) and even dont know which fields are causing the problem,so that we can apply "mapWithDefaultValue" function only on those fields.
    thank you,
    Babu Sri

  • Setting dynamic file name in Receiver file adapter - not from payload

    Guys I just remember reading a weblog but can't find it now that I need it, on how to set the file name in message mapping dynamically but not using any payload field.
    Please let me know if you remember this.
    Thanks a lot,
    Viktor Varga

    also u can check in
    <a href="/people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii file name(XSLT Mapping with Java Enhancement) using XI 3.0 SP12 Part -II</a>
    <a href="/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14: The same filename from a sender to a receiver file adapter - SP14</a>

  • Sender_interface_name in Variable Substitution in Receiver File Adapter CC

    Hi,
    as per this page : http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
    it says:
    Variable Substitution (Target Directory/File Name Scheme)
    If you set the Enable indicator, you can enter variables for the Target Directory and File Name Scheme. Enter the names of the variables and references in the table.
    ●      Enter each variable that you reference in the Target Directory and File Name Scheme fields without the surrounding percentage sign under Name of Variables in the table.
    The variables can refer to attributes of the message header or elements of the message payload.
    ○       If the variables are to refer to an attribute of the message header, add the prefix message: to the name of the variable under Reference. You can specify the following attributes of the message header:
    sender_party, sender_service, receiver_party, receiver_service, interface_name, interface_namespace, message_id, message_id_hex
    Can we not access sender_interface_name and sender_interface_namespace are not mentioned in above list of variables.
    Is it not possible to access sender_interface_name or sender_interface_namespace as variable substitute parameters from within Receiver File Adapter Communication channel.
    thanks.

    >Shabarish Vijayakumar wrote:
    >>the sender interface details will always remain a constant
    >>so you can hard code the value, isnt it?
    Yes, i can hardcode, thats not a bad idea, i need to create then 3 different Reciever File Communication Channel objects, as I am dealing with 3 scenarios for which sender system and sender interface is different.
    >Shabarish Vijayakumar wrote:
    >>if you look at the mapping runtime constants, those are also for the receiver since the sender interface will always remain constant for any particular CC.
    >>http://help.sap.com/saphelp_nw04/helpdata/en/b3/9a2aeb24dc4ab6b1855c99157529e4/content.htm
    yes in this link you provided i can see..
    INTERFACE     Interface
    INTERFACE_NAMESPACE     InterfaceNamespace
    SENDER_SERVICE     SenderService
    RECEIVER_SERVICE ReceiverService
    RECEIVER_NAME     ReceiverName
    RECEIVER_NAMESPACE     ReceiverNamespace
    it seems both INTERFACE (,INTERFACE_NAMESPACE) and RECEIVER_NAME(,RECEIVER_NAMESPACE) are present, may be one is for sender, and another is for receiver.. may be if i use dynamic configuration, possibly my issue would be addressed.. correct me if i am wrong.
    thanks.

  • 0 byte txt file using receiver File Adapter

    HI,
    My scenario is Flat File to Fixed Length File.
    Mapping : Based on the condition Reciever node need to generated , In some cases it wont generate any node ( No data )
    Receiver Communication channel :  I used FCC for Fixed length Format.
    Problem : When i am generatingf the receiver file with some data it executes. But when i am generating the file with no data , it fails in the receiver comminication channel.
    Could not process due to error: java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:Message1' found in document', probably configuration error in file adapter (XML parser error)'
    I need the receiver file to generate with 0 bytes when there is empty data.
    can any one help on this.
    Thanks

    Hi,
    >>Problem : When i am generatingf the receiver file with some data it executes. But when i am generating the file with no data , it fails in the receiver comminication channel.
    What happens in this case is, when you send a blank file to PI it processes but once it went to Receiver Adapter, it looks out for some fields because of the FCC settings. So it throws an error/exception because some fields are expected and it is not coming. Because of that you getting below exception.
    Secondly, Once you send data with few values or fields it will process in Receiver file adapter FCC and if there is some error it throws error. this is why you getting exception in moni, and other places.
    Regards
    Aashish Sinha

  • Receiver File adapter content conversion using StrictXml2PlainBean

    Hi All,
    For receiver file adapter i am using the module StrictXml2PlainBean, and also i mentioned the module configuration like this
    parameter name                              parameter value
    recordTypes                                  Header,TransactionHeader,TransactionDetail,TransactionTrailer,FileTrailer
    FileTrailer.endSeparator                |\n
    FileTrailer.fieldSeparator               |
    Header.endSeparator                   |\n
    Header.fieldSeparator                  |
    TransactionDetail.endSeparator   |\n
    TransactionDetail.fieldSeparator  |
    TransactionHeader.endSeparator |\n
    TransactionHeader.fieldSeparator |
    TransactionTrailer.endSeparator  |\n
    TransactionTrailer.fieldSeparator |
    But when i send the idoc, The receiver CC is throwing an error
    Message processing failed. Cause: com.sap.aii.af.modules.conversion.xml2plain.ConversionException: Invalid structure name encountered during conversion: Transaction at XML element MT_DeliveryOrder,Transaction
    My actual structure is
    MT_DelvOrder
       Header  0...1
       Transaction 0....Unbounded
          TransactionHeader  1..1
           TransactionDetail     0...unbounded
            TransactionTrailer  1...1
       FileTrailer  0...1
    The module is checking for the Transaction node,but i require the rest 3.
    Same configuration i have done successfully with FCC without using the module....
    So can any one suggest me where i am missing... why the module is pointint towards, the Transaction cant i ignore this node . and continue with the rest???
    Regards,
    Sridhar
    Edited by: sridhar reddy kondam on Aug 10, 2009 12:35 AM

    Hi Rajesh,
    The same FCC configuration was working fine with FCC and when i am using this module configuration i am getting the prob...
    In the file i need the Header,TransactionHeader,TransactionDetail,TransactionTail,Filetrailer
    my sample output file is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DeliveryOrder>
    <Header>
    </Header>0...1
    <Transaction>0...Unbounded
        <TransactionHeader> 1..1
         </TransactionHeader>
         <TransactionDetail> 0...Unbounded
         </TransactionDetail>
          <TransactionTrailer>1...1
           </TransactionTrailer>
    </Transaction>
    <FileTrailer> 0...1
    </FileTrailer>
    Any suggestions will be great help...
    I think i need to go with other options without using this module....
    Regards,
    Sridhar
    Edited by: sridhar reddy kondam on Aug 10, 2009 6:03 AM

  • RECEIVER FILE ADAPTER FCC ERROR

    Hi team
    My scenario is a text file has to be picked up by PI, has to processe it and the receiver is Proxy and it has to get updated and sent back to FTP location.
    i am using Sender File Adapter with FCC and Also receiver File Adapter with FCC.
    Both the sender and receiver structures are same; i am using the same FCC parameters for both the sides.
    in Receiver File Adapter i am getting the following errors
    1) Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
    Parameter '.fieldFixedLengths' or '.fieldSeparator' is missing
    2)Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
    Parameter '1.fieldFixedLengths' or '1.fieldSeparator' is missing
    please help me out
    thank you
    Edited by: vemugantivn on Aug 16, 2010 12:19 PM

    Hi,
    > 1) Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
    >  Parameter '.fieldFixedLengths' or '.fieldSeparator' is missing
    > 2)Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
    > Parameter '1.fieldFixedLengths' or '1.fieldSeparator' is missing
    It is saying that you are not using the fieldSeparator parqameter.
    have you provided the field separator parameter? if not then give like below
    order_row.fieldSeparator : ,  (give what ever the separater you are using)
    or 
    order_row.fieldSeparator : 10,5,...  (if you are using fixed length)
    Regards
    Ramesh

  • Receiver file adapter error for special char.

    I am using MTB in my receiver file adapter. I am getting a special character from source system at end of the string. How to resolve this type of error u2013 please advice.
    This error is not coming for every message.
    Error message:
    Column value xxxx   too long - must stop, probably configuration error in file adapter
    Thanks
    Vick

    Hi,
    Itu2019s basically IDOC to file scenario.
    This error is coming for name field.
    What I am thinking at this stage to do changes in MTB by define parameters like (NameA.enclosureConversion)

  • Dynamic  File Name for Receiver File Adapter

    Hi All,
    How can we use dynamic name for Receiver file adapter?
    Can anyone help.
    Thanks in Advance
    Chemmanz

    Hi Chemmanz,
    The dynamic filename generation concept is as follows.
    In your filename field. just give a variable with % symbols. (eg: %file% ).
    Now, under the option Variable Name Substitution, you can give how the value has to be created.
    It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
    For the former, your give
    message:interface_name ,etc
    and for the payload part you give,
    Payload: "your element root which u wanna acecss"
    Just check this link out,
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    And read the contents under variable substitution and it will help you understand the concepts better.
    If you have any clarifications, do get back,
    Regards,
    Bhavesh

  • Dynamic Filename on Receiver File Adapter

    Hi,
    I am running XI 3.0 SP 14.
    The scenario is
    SAP R/3 (IDOC) > XI (Receiver File Adapter)> FTP Server
    There is no mapping on the XI side, we just drop the IDOC XML on to the ftp server.
    I would like to configure a dynamic file name on the Receiver File Adapter where if the 'MSATZ' Field
    within the E1EPD04 segment of the IDOC is populated then I would like to send a separate
    Filename than the one specified on the 'File Name Scheme'.
    Has anybody done this or any suggestion how I should go about this please.
    Thank you.
    Warm  Regards,
    Ranjan

    Hi Guys,
    When I tried to create the User defined function as below, I got the Null value for the "StreamTransformationConstants.DYNAMIC_CONFIGURATION" object.
    My code looks like this,(this is part of the debuging code)
    Start
    public String Create(String a,String b,Container container){
    if (container.getTransformationParameters() == null)
    return "conf.null";
    if (container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION) == null)
    return "Dynamic.null";
    return b;
    --End
    On the output I get the value "Dynamic.null". I do not know why the object value is Null.
    Any suggestion pls.
    Thank you.
    Warm Regards,
    Ranjan

  • Receiver File Adapter Content Conversion Problem.

    Hi All,
    I am getting in receiver file adapter due to content conversion setting. Problem is that all the fields coming in file adapter are optional. In content conversion , i have specified fieldfixedlengths. So whenever any optional field is not present , it fails . How should we handle it? is there any option to declare fields as optional, I know that is the there for sender adapter. But no. of fields is also very large, so putting each and every field as optional is very time consuming.
    What should i do?
    Ranjeet Singh.

    Hi Daniele,
    Instead of using the standard funciton , i created a UDF for handling this situation.
    My logic is UDF is like
       //write your code here
    int Size = Integer.parseInt(Truncate_Size);
    String Return_Value = "";
         if  (!("".equals(Input)) )
              if  (Input.length() > Size )
                   Return_Value = Input.substring(0,Size);
              else
                   Return_Value = Input.substring(0, Input.length());
         else
              for(int i = 0; i< Size ; i++)
              Return_Value = Return_Value + " " ;
    return Return_Value;
    SO in this case also , it should be able to handle empy source element. But it is not working.

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

  • Receiver file  adapter creates an innecesarry extra line

    Hi,
    I have an issue with an extra line that add the receiver file adapter with the content conversion.
    The file XML that the file adapter has to convert, is the next;
    <root>
    <cofig>
      <FileName>NameOfTheFile.txt</FileName>
      </cofig>
    <lines>
    <line>
      <data>BBBBBBBBBBBBBBBBBBBBBB</data>
      <data>Aaaaaaaaaaaaaaaaaaaaaa</data>
    </lines>
    </root>
    Because FileName is not necessary, I remove it with:
    cofig.fieldFixedLengths 0
    cofig.fixedLengthTooShortHandling CUT
    but it leaves an empty line that i don't want. that is, the text in the file start in the second line.
    Any help?
    Thank you in advance.

    Can you do a small change in your mesg. structure ?
    change it to....
    <root>
    <lines>
    <line>
    <data>BBBBBBBBBBBBBBBBBBBBBB</data>
    <data>Aaaaaaaaaaaaaaaaaaaaaa</data>
    </lines>
    <i><b><cofig>
    <FileName>NameOfTheFile.txt</FileName>
    </cofig></b></i>
    </root>
    and then use
    cofig.fieldFixedLengths 0
    cofig.fixedLengthTooShortHandling CUT
    followed by
    endSeparator 0
    Ref: Suppressing Field In Receiver File Adapter for more details.

  • Receiver File Adapter - Dynamic FTP Server Address

    Hi,  I would like to pass the FTP Server address to the Receiver File Adapter as an parameter.  Is this possible and if so what Name Space / Parametr Names add to the Product to define these values.
    Thanks
    Andre

    Hi Andre,
    If you have your server as a part of your payload, thendynamic file server generation concept can be done is as follows. 
    In your server name field. just give a variable with % symbols. (eg: %file% ).
    Now, under the option Variable Name Substitution, you can give how the value has to be created.
    It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
    For the former, your give
    message:interface_name ,etc
    and for the payload part you give,
    Payload: "your element root which u wanna acecss"
    Just check this link out,
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    And read the contents under variable substitution and it will help you understand the concepts better.
    If you have any clarifications, do get back,
    Regards,
    Bhavesh

Maybe you are looking for