Right file adapter Content Convers Parameter needed ?

In text file to text file I have the following given input/output
Input structure is this:
<?xml version="1.0" encoding="UTF-8"?>
<ns:MT_SEND xmlns:ns="http://comp.com/sap">
  <Recordset>
    <Record>
      <FIELD1>
      <FIELD2>
      <FIELD3>
    </Record>
  </Recordset>
</ns:MT_SEND>
Output structure is this:
<ns:MT_RECV xmlns:ns="http://comp.com/sap">
  <Recordset>
     <Header>
       <field1>
       <field2>
       <field3>
    </Header>
    <Record>
       <field4>
       <field5>
       <field6>
    </Record>
</Recordset>
</ns:MT_RECV>
It is simple 1 to 1 mapping Record(SEND) to Record (RECV)
All Header fields are Constants: c1,c2,c3
All fields are strings.
The intput text file is fixed length:
Field4(5 char) Field3(char4)  Field2(char3)
The desired output text file is fixed length:
field1( 8 char)  field2(7 char)  field3(6 char)  field4(5 char) field3(char4)  field2(char3)
Can someone please asap send me the right Content Conversions parameters for Receiver and Sender file adapters ?Please be specific when giving me Recordset, name, values,etc  I will appreciate it much!
Thanks!
Jon

Hello,
>>>>It is simple 1 to 1 mapping Record(SEND) to Record (RECV)
>>>>All Header fields are Constants: c1,c2,c3
>>>>All fields are strings.
>>>>The intput text file is fixed length:
>>>>Field4(5 char) Field3(char4) Field2(char3)
<b>But your source structure has Field1, Field2, Field3</b>
>>>>The desired output text file is fixed length:
>>>>field1( 8 char) field2(7 char) field3(6 char) <b>field4(5 char) field3(char4) field2(char3)
Same should be case below also confirm!!!</b>
Regards,

Similar Messages

  • 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

  • Sender File Adapter - Content Conversion

    HI Friends,
    I got a scenario where I need to convert the File to XML document through Sender file adapter..
    My file looks like below.
    BATCH1234........
    12DASER123142JMM
    237DSAFDLKC839890
    45SDFLASJ90011
    BATCH3455...
    132FGAR
    SD21352525
    BATCH998898...
    123145DSRTW
    12FSTS
    So there is a Header and Body for each record set..
    My XML Structure is as follows.
    <TimeStructure>
      <TimeRecord>
         <ControlRec>
             <Field1>BATCH </Field1>   
             <Field2> ...</Field2>
         </ControlRec>
         <DataRec>
             <F1> ...... </F1>
             <F2> ...... </F2>
         </DataRec>
      </TimeRecord>
      <TimeRecord>
         <ControlRec>
             <Field1> BATCH  </Field1>   
             <Field2> ADFAS  </Field2>
         </ControlRec>
         <DataRec>
             <F1> ...... </F1>
             <F2> ...... </F2>
         </DataRec>
       </TimeRecord>
    </TimeStructure>
    The blog <a href="/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem:///people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
    is somewhat relevant to my requirement.
    But the problem is I have the keyfield "BATCH" for my header file but don't have any <b>key field in the data record</b> of the input file.
    Please help me out how to mention the configuration parameters.
    Regards,
    Kumar

    Hi,
    If you don't have constant key value for your detail records, then you can not directly get the required xml.
    So in this case, you can read all the records in a common Row model, i.e each record will be considered as a one row with all the values, and then split this row with Substring or java functions in the mapping.
    Even you can do this in the Adapter module .
    If you have key value for each record to identify then you can try with content conversion.
    Regards,
    Moorthy

  • File adapter content conversion

    Hi all,
      We are having File to File Scenario
      We are facing problem in Content conversion in File
      Adapter(Sender)
      The source file is in text format and fields are
      seperated by '|' character
      The source file structure is :
      Header|No. of Records
      Data Record1 
      Data Record2
      Data Recordn
      Trailer|No. of Records
         where Data Recordn is of type Field1|Field2|Field3|Field4
         and the number of data records is variable
         e.g.
         Header|5
         2|144012|20050801|20050801
         212|012|20050801|20050801
         244012|2|20050801|20050801
         2144|144012|20050801|20050801
         212|012|20050801|20050801
         Trailer|5
      Now , we need to ignore the contents of Header and Trailer Records
         For Header , we are setting the property Document Offset to 1
         Hence the Header record is ignored
         However , we are facing problems in ignoring the Trailer record
         We want to know :
         1. Is there a direct way ( or some propety ) wherein we can ignore the last record of the file ,
            which in this case is Trailer record
         2. We also tried the following :
              a. We set the Recordset Structure to : row,*,trailer,1
              b. However in this case , the keyField is required for row ;
                 but since the number of data records is variable ,
                 the keyFieldValue cannot be specified
           How should we go about in this case
    Please guide us on this
    Regards
    Shikha

    Hi all
    Thanks for replies
    Actually , we are able to ignore header and that is not an issue
    Now if we need to discard the trailer record , we believe that RecordSet Structure should be <b>row,,trailer,1</b> or <b>header,1,row,,trailer,1</b>
    However , since structure is <b>row,*</b> ; we need to specify the <b>keyField</b> column for row ( data records )
    Since <u>number of data records</u> is variable , we are not able to set the <b>keyFieldValue</b> for <u>row ( data record )</u>
    Can you'all please guide us on this as we are stuck on this .
    Regards
    Shikha
    Message was edited by: Shikha Jain

  • File Sender Content Conversion: Help needed

    Hello Experts,
    i need help with file sender content conversion:
    i have a file which looks like this:
    12329460  24.01.09/07:01  167     Y010122851  136086  43300007            E70115  1L2_96_1
    12329660  25.01.09/07:02  157     Y010122851  136086  43390007            E711J5  1L2_96_1
    as you can see 8 fields, separated with whitespaces
    and i want and xml file which looks like this:
    <DT_DATA_FILESENDER>
      <Recordset>
          <Data> 
            <field1>12329460</field1>
            <field2>24.01.09/07:01</field2>
            <field3>167</field3>    
            <field4>Y010122851</field4> 
            <field5>136086</field5> 
            <field6>43300007</field6>
            <field7>E70115</field7> 
            <field8>1L2_96_1</field8
         </Data>
          <Data> 
            <field1>12329660</field1>
            <field2>25.01.09/07:02</field2>
            <field3>157</field3>    
            <field4>Y010122851</field4> 
            <field5>136086</field5> 
            <field6>43390007</field6>
            <field7>E711J5</field7> 
            <field8>1L2_96_1</field8
         </Data>
      </Recordset>
    Would you please let me know how the datatype has to look like?
    And especially how the FCC has to be configured for this scenario?
    Thanks in advance,
    Chris

    > With fixed lengths i get it working,
    >
    > but with de fieldseparator 0X09 it does not work,
    > would you please tell me the complete FCC config not only the fieldSeparation line?
    Well Christian,
    There is one thing, eithere you can use fieldSeparator or fieldFixedLengths you can not use both together. So in your case do not use fieldSeparator.
    The complete FCC is almost same as given in the blog in my previous reply. See the final output in that blog and create your data type accordingly. e.g.
    Recordset
    ------Item 0...unbound
    --------Field1 0..1
    --------Field2 0..1
    --------Field3 0..1
    --------Field8 0..1
    Regards,
    Sarvesh

  • 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 - Content Conversion

    Hi,
    I don't quite get this:
    I have a structure
    <?xml version="1.0" encoding="UTF-8"?>
    <AnElement1>
       <AnElement2>
          Bla bla bla
       </AnElement2>
    </AnElement1>
    I want to convert this to a flat file with a line containing
    Bla bla bla
    In te receiver file adapter I define the following:
    In the 'Content Conversion Parameters'
      Recordset Structure : AnElement2
      Name                         Value
    AnElement2.addHeaderLine         0
    AnElement2.fieldSeparator        'nl'
    AnElement2.endSeparator          'nl'
    This results in an Empty file each time indicating some error somewhere.
    What am I missing?
    Thanks
    Andre

    Hi Andre,
    Just check the link <a href="http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/frameset.htm">File content conversion</a>
    Also check out this web log <a href="/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 to TXT</a>
    Is there any error log shown in File adapter ?
    Regards,
    Keith
    Message was edited by: keith thompson

  • Sender File Adapter-Content conversion for a tab delimited file

    Hi all,
    I have a FIle to IDoc scenario, where the File is with the structure Header,Detail,Trailer.
    Header and Trailer are with fixed field lengths, whereas the detail records are tab delimited.(Functional spec says delimited by H'05').
    I have given the parameters as follows:
    Header.keyFieldValue     H
    Header.fieldFixedLengths     1,1,4,1,8
    Header.fieldNames     a,b,c,d,e
    Header.endSeparator     'nl'
    Detail.fieldNames     a,b,c,d,e,f
    Detail.fieldSeparator     '0h05'
    Detail.keyFieldValue     LOA
    Detail.endSeparator     'nl'
    Trailer.fieldFixedLengths     1,1,8
    Trailer.fieldNames     a,b,c
    Trailer.keyFieldValue     T
    ignoreRecordsetName     true
    In SXMB_MONI, I get the payload with just the Header and Trailer and not the detail records, even though my file has so many records in it.I m pretty sure, this happens because of my Detail.fieldSeparator parameter.
    Can anyone please help me with this?What is the correct value for this parameter?
    Thanks a lot in advance!
    Anjana.

    first of all make sure with a hex editor that the hex code of the delimiter sign is really 05. This is an odd character, as the normal tab is hex 09.
    when you have confimred it, check online help for file adapter config for the correct entry of hex codes. I think it is something like '0x05',
    Edited by: Stefan Grube on Feb 10, 2011 6:43 PM

  • Receiving file adapter content conversion issue

    Guys,
    Could someone please help me with a Receiving file adapter issue?
    My output structure is something like this:
    Vendor_file_MT (occurence 1)
    --Recordset (occurence 0..unbounded)
    Vendor (occurence 1)
    Field1
    Field2
    Field3
    Field73
    Field74
    My content conversion is very simple:
    Recordset Structure: Vendor
    Parameters:
      Vendor.fieldFixedLengths   30,30,30, (...) ,1,27
      Vendor.fixedLengthTooShortHandling   Cut
      Vendor.endSeparator   'nl'
    If I don't do the content conversion, it works fine, I get all the fields in the XML format.
    When I do the content conversion however, I get multiple lines but only the very first field of each line.
    What could be the problem? What am I missing here? Any idea?
    Your help would be much appreciated.
    Thanks,
    Viktor

    Varga:
    Its little strange that its not working even after adding that.  Did you check the receiver channel in your RWB for any logs. Add the statement in my previous post and Also try to clear the Cache and activate the channel again..See if it works
    Glad it worked
    Edited by: Guru on Apr 21, 2008 3:15 PM

  • File Adapter - Content conversion parameters at Receiver

    Hi all,
    I'm trying to translate a XML message to a text line file.
    My XML message is this:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:Proveedor_100011 xmlns:ns1="http://sap.com/xi/webservices/buyordint">
    <config>
    <directory>c:/tmp</directory>
    <filename>dynamicFile3.txt</filename>
    </config>
    <root><string>Header;423423</string>
    <lines>
    <value>LINE;</value>
    </lines>
    </root>
    </ns1:Proveedor_100011>
    I only want to write to text file the "root" TAG content.
    I try different "Content conversion parameters" in the integration builder (configuration)
    For example:
    RecordSet Structure: root
    root.addHeaderLine   0
    root.fieldSeparator  ;
    root.endSeparator    ;
    but the better result is all XML content.
    Can someone tell me how to skip "Config" TAG and only write the "ROOT" one?
    I'll apreciate any help.
    Thanks in advance,
    Diego.

    Hi Sravya,
    I've tried again without better luck.
    I change the root element of my message from
    Proveedor_100011 to Proveedor100011. (removed underscore)
    I created the next message as in your weblog:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sap.com/xi/webservices/buyordint" targetNamespace="http://sap.com/xi/webservices/buyordint">
    <xsd:element name="Proveedor100011" type="Proveedor100011" />
    <xsd:complexType name="Proveedor100011">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    54650790d48f11dab96c001438eb3b44
    </xsd:appinfo>
    </xsd:annotation>
    <xsd:sequence>
    <xsd:element name="root">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f20d48e11dab854d06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="head" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f21d48e11da8f1dd06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="rows" minOccurs="0" maxOccurs="unbounded">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f22d48e11da894ad06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="value" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f23d48e11dab889d06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="filenode">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f24d48e11daab91d06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="filename" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f25d48e11da8becd06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="filepath" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    45f01f26d48e11dac56cd06ec0a8004a
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    <Proveedor100011>
    <root>
    <rows>
    <value></value>
    </rows>
    </root>
    <filenode>
    <filename></filename>
    <filepath></filepath>
    </filenode>
    </Proveedor100011>
    I've tried to set "Recordset Structure" in file adapter configuration to "root,filenode" and to "Proveedor110001, filenode" but no output is writed
    We are using XI version: SAPKB64015, which version did  you use in your weblog?
    Thanks and regards,
    Diego.

  • Blank line in receiver file adapter content conversion

    Hi,
    I am using a receiver file adapter. Everything is working fine. Except that a blank line is put by the file adapter between each records. It is a flat file format.
    I have used the stting below. How do we remove the blank line?
    Recordset : ACCTHDR,BATCHDR,TRANSREC,BATCHTLR,FILETLR
    ACCTHDR.fieldFixedLengths 1,7,4,9,8,665
    ACCTHDR.absoluteRowWidth  694
    ACCTHDR.addHeaderLine 0
    Thanks
    Sachin K

    Hi,
    .endSeparator
    The default value is a line break (no explicit separator after the last column; instead the structures are arranged line-by-line).
    If you enter a character string here, the system adds it to the last column as a closing character. You can also make this specification in addition to NameA.fieldFixedLengths. To include a line break following the closing character, you must explicitly define it by attaching ´nl´ (including the quotation marks) to the string.
    Regards
    Agasthuri Doss

  • Key field from content - Sender file adapter content conversion

    I am reading a source CSV file that has this structure. All rows in the source file are the same structure: line items of a PO. But there will be multiple POs in a single file, identified by the PO number as one column in the file.
    PONum,LineItemNum,Qty,Description
    001,1,34,Carrots
    001,2,17,Apples
    001,3,22,Bananas
    002,1,4,Mangos
    002,2,9,Coconuts
    003,1,44,Grapes
    Goal is to generate 3 messages, one for each PO:
    <po>
         <num>001</num>
         <line_items>
              ... 3 line items for PO # 001 ...
         </line_items>
    </po>
    <po>
         <num>002</num>
         <line_items>
              ... 2 line items for PO # 002 ...
         </line_items>
    </po>
    <po>
         <num>003</num>
         <line_items>
              ... 1 line item for PO # 003 ...
         </line_items>
    </po>
    Is there any way to use the Content Conversion Key Field Name to group the line items into the correct 3 messages? "Key Field Name" expects a static identifier for each type of row; but mine varies by the PO number in the content.
    Or do I need to do this in the mapping? If so, what is the easiest way to split 1 large message of all line items into multiple target messages based on the PO number? (I assume this is better than sending individual line item messages and aggregating them later, as long as the file size is OK.)
    Thanks in advance!
    RBL
    Edited by: Robert Burfoot-Lobo on Apr 8, 2009 11:43 AM

    Hi Robert,
    If ur goal is to split into 3 messages one for each PO, you can go for message split and using graphical mapping you can achieve that.
    Within the message mapping go to the tab Messages.
    Change the occurrence of the target message to 0..unbounded.
    Also this link may help you.
    /people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
    Regards,
    Madhu

  • Sender file adapter - content conversion question

    Hi all
    We have a .csv file to be passed to XI that has column headings as well. Is there a way of stripping the header using "Content conversion". We declared the RecordsetStructure as "header,1,item,*" but then it needs a keyFieldname and identifier which is obviously not available as the first line only has column headings.
    Hoping for a reply soon.
    Thanks
    Salil

    Salil,
    In RecordsetStructure you define as header,1,item,9999999999. But if you have more than 9999999999 records then the extra records after this will come as a second file.
    If you expect more item records then increase the number of 9's. Then we dont need to give the key field.
    ---Satish

  • Sender file adapter content with repeating structure

    i have a scenario where my source file could have the following structure:
    node1 (1:1)
    node2 (0:1)
    node3 (0:n)
    node1 (1:1)
    node2 (0:1)
    node3 (0:n)
    each node will have many fields. the three different nodes can repeat like this unbounded times. how would i define my content conversion and my data type to capture this structure? any help is appreciated.

    hi chris,
    make your Content Conversion Parameters as:
    Document Name "your doc_name"
    Document Namespace "your name space"
    Recordset structure node1,1,node2,1,node3,*,
    Key Field Name Record Type
    Key Field Type String
    To differentiate the incomings to each nodes, we need a key value
    say 01 for each node1 (you can use your own) *
    Entry in FCC (below table)
    node1.fieldFixedLengths "enter the length of the fields separated by commas
    node1.fieldNames  "specify the actual fieldnames separated by comma (no whitespace)
    node1.keyFieldValue "enter the key value - for node1 i took as 01" *
    make same entries for all the nodes
    thanks n regards,
    nikhil bos
    <i>reward if helpful

  • Replace String in csv file with file adapter content conversion

    Hello experts,
    I have a sender file channel to receive csv files from an external server. I can process the csv files but I have a little problem. Since the separator in the csv file is a comma and sometimes a comma also appears in the dates but this time it is not a separator.
    Example:
    1234,20120123,ABCD,customer, which has a comma in it's name,...
    5678,20120123,FGHI,customer without comma,...
    My plan is to remove all commas when a blank follows.
    My current content conversion looks like this:
    Record.fieldNames field1,field2,...
    Record.fieldSeparator ,
    Record.endSeparator 'nl'
    Is there something like Record.fieldReplaceString or something similar which I can use? Or is there perhaps a better way to do this?
    I'd appreciate every help I can get here.
    Best regards.
    Oliver.

    Hi Oliver,
    I think I've got a solution for you, after all. All you need to do is have your customer name enclosed in quotes, like that:
    1234,20120123,ABCD,"customer, which has a comma in it's name",...
    Use the rest of FCC configuration as usually. You might also want to have a look at this wiki entry for a configuration example:
    http://wiki.sdn.sap.com/wiki/display/XI/FileContentConversion
    Moreover, see the description for "NameA.enclosureSign" in the help document below:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/6830e67f2a6d12e10000000a1553f6/frameset.htm
    Hope this helps,
    Greg

Maybe you are looking for