Sender Content Conversion - Deep Structure Question

Hello!
I receive a file that has the following format:
HEADER  (occurrence = 1)
INVOICES (occurrence = n)
     HEAD     (occurrence = 1)
     DETAIL   (occurrence = n)
TRAILER (occurrence = 1)
The file looks something like this:
1Field1Field2...Fieldn
2Field1Field2...Fieldn
3Field1Field2...Fieldn
3Field1Field2...Fieldn
3Field1Field2...Fieldn
2Field1Field2...Fieldn
3Field1Field2...Fieldn
3Field1Field2...Fieldn
3Field1Field2...Fieldn
4Field1
Where 1 is the keyfieldvalue for Header, 2 for the Invoice Header, 3 for the Invoice Detail and 4 for the Trailer.
Is it possible to manage this kind of file using the File Content Conversion. I'm haven't been able to get it to work. I don't wan't to split the file into separate msgs so I'm not using the option Recordsets per message. 
I'll greatly appreciate any help, suggestions.
Kind Regards,
Carlos López

Thank you all for your replies.
Ramkiran, I tried your suggestion but I still get an error:
Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 5: missing structure(s) before type 'INVOICE_HEADER'
It seems as if it was expecting a file with the following structure:
HEADER
INVOICE_HEADER1
INVOICE_HEADER2
INVOICE_HEADERn
INVOICE_DETAIL1
INVOICE_DETAIL2
INVOICE_DETAILn
TRAILER
Instead of:
HEADER
INVOICE_HEADER1
INVOICE_DETAIL1_1
INVOICE_DETAIL1_2
INVOICE_HEADER2
INVOICE_DETAIL2_1
INVOICE_DETAIL2_2
INVOICE_DETAIL2_n
INVOICE_HEADERn
INVOICE_DETAILn_1
INVOICE_DETAILn_2
INVOICE_DETAILn_n
TRAILER
This is how my input file looks like:  (line 5 is in BOLD):
A9166407    <---HEADER
11231200    <----INVOICE_HEADER1
20014014    <----INVOICE_DETAIL1_1
200231       <----INVOICE_DETAIL1_2
11231200    <----INVOICE_HEADER2
20014014    <----INVOICE_DETAIL2_1
20025077    <----INVOICE_DETAIL2_2
20014014    <----INVOICE_DETAIL2_3
20025077    <----INVOICE_DETAIL2_4
99999999    <----TRAILER
It's complaining about line 5 which is the Second Invoice Header.
I defined the Recordset Structure like this:
HEADER,1,INVOICE_HEADER,*,INVOICE_DETAIL,*,TRAILER,1
Kind Regards,
Carlos López Hernández
Edited by: Carlos Lopez Hernandez on Feb 23, 2009 2:26 PM
Edited by: Carlos Lopez Hernandez on Feb 23, 2009 2:32 PM

Similar Messages

  • File content conversion : Deep Structure

    Hi,
    I have to do a file conversion(receiver file adapter) of an xml file which has a structure
    <root>
    <header>
      <recordtype>H</recordtype>
    </header>
    <company>
      <recordtype>C</recordtype>
      <companycode>001</companycode>
      <detail>
       <recordtype>D</recordtype>
        <customer>c1</customer>
      </detail>
      <detail>
        <recordtype>D</recordtype>
        <customer>c2</customer>
      </detail>
    </company>
    <company>
      <recordtype>C</recordtype>
      <companycode>002</companycode>
      <detail>
       <recordtype>D</recordtype>
        <customer>c3</customer>
      </detail>
      <detail>
        <recordtype>D</recordtype>
        <customer>c4</customer>
      </detail>
    </company>
    <trailer>
      <recordtype>T</recordtype>
    </trailer>
    </root>
    I would like to convert it into
    H
    C001
    DC1
    DC2
    C002
    DC3
    DC4
    T
    This is what i put in the
    content conversion parameters..
    HEADER,COMPANY,DETAIL,TRAILER
    HEADER.fieldFixedLengths     1
    COMPANY.fieldFixedLengths     1,3
    DETAIL.fieldFixedLengths     1,2
    TRAILER.fieldFixedLengths     1
    the file adapter failed during conversion.
    I am just wondering if it is to do with the deep structures
    ANY THOUGTHS....

    what do you mean by target structure.the mapped structure or the final file that is written to the FTP Folder.
    the mapped structure is a treee
    <root>
    <header>
    <recordtype>H</recordtype>
    </header>
    <company>
    <recordtype>C</recordtype>
    <companycode>001</companycode>
    <detail>
    <recordtype>D</recordtype>
    <customer>c1</customer>
    </detail>
    <detail>
    <recordtype>D</recordtype>
    <customer>c2</customer>
    </detail>
    </company>
    <company>
    <recordtype>C</recordtype>
    <companycode>002</companycode>
    <detail>
    <recordtype>D</recordtype>
    <customer>c3</customer>
    </detail>
    <detail>
    <recordtype>D</recordtype>
    <customer>c4</customer>
    </detail>
    </company>
    <trailer>
    <recordtype>T</recordtype>
    </trailer>
    </root>
    with the company 1 to unbounded
    under which there can be multiple details...

  • ...file Sender content conversion 'lastFieldsOptional'  error

    Hi All,
    I am working on a File Sender content conversion--> flat file to XI.
    it's fixed length field all the rows with same column.
    090627 344535AFDFG+GBP65433 ASDSSD GFD dFSSGFD 6757532
    090627 344535AFDFG-GBP65433 ASDSSD GFD dFSSGFD 6757532
    090627 344535AFDFG-GBP65433 ASDSSD GFD dFSSGFD 6757532
    090627 344535AFDFG-GBP65433 ASDSSD GFD dFSSGFD 6757532
    090628 344536AFDFG+GBP45434 ASDSSD GFD dFSSGFD 6757532
    090628 344536AFDFG-GBP45434 ASDSSD GFD dFSSGFD 6757532
    **EOF**
    I am sucessfully able to handle the file if i remove "**EOF*" from incoming file. But i get "lastfieldsOptional" error with "*EOF**"
    >
    Parameters-
         Recordset Structure - ROW,*
         Recordsets per message - *
        ROW.fieldFixedLengths - 6,8,20,10,30,1,3,1,11,1,11,6,10,10,20,10,10,2,6,6,2,6,6,3
        ROW.fieldNames - INV_DATE,INV_NO,PAYMENT_REF,CUST_NO,CUST_NAME...etc etc
       ignoreRecordsetName - true
    There are parameters available to ignore Last field(last column) of a Row/Rocerdset
    but how to ignore the last row of the file.
    Plz suggest some parameter to ignore the last row/field of the file.
    Regs,
    Ansh

    Ansh,
    .lastFieldsOptional  is obselete and you cannot use. Please see sap help:
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    The best thing comes to my mind is use:
    .keepIncompleteFields as YES
    Also give a try with:
    .missingLastfields as add
    So with this I think your last line in the file will read into XI. But the value of last line is **EOF**. So the length is 9. Since your the first two fixed lengths are 6 and 8. You will have these values as ***EOF and ***. So while mapping you can use doesnot satrt with * and map it, so that your last line will be ignored.
    Note: with this apporach you have to make sure your first two columns never start with *. If you have a doubt then you can use the condition doesnot equal to ***EOF for first field and doesnot equal to *** for the second field when you map. I hope it makes sense to you.
    Regards,
    ---Satish

  • Problem in message mapping due to file sender content conversion

    Hi all
    basically i m using file sender content conversion and couldn't make file in a proper nested structure where weight was the nested field of detail as there is a limitation of content conversion in file adapter:
    My file came out like this:
    <header>
    </header>
    <Detail>
    </Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    <Detail>
    </Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    <trailer>
    </trailer>
    and i wanted it like:
    <header>
    </header>
    <Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    </Detail>
    <Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    </Detail>
    <trailer>
    </trailer>
    so now the problem is i want to generate an idoc from it....but theres no way out to determine which weight is related to what detail except that the weight related to detail 1 comes after start and end of detail 1 tag and then weights of second detail comes after start and end of detail 2 tag in my source xml file.
    The structure of the target idoc is
    <header>
    </header>
    <Detail>
    <Weight>
    <flag>D1</flag>
    </Weight>
    <Weight>
    <flag>D1</flag>
    </Weight>
    </Detail>
    <Detail>
    <Weight>
    <flag>D2</flag>
    </Weight>
    <Weight>
    <flag>D2</flag>
    </Weight>
    </Detail>
    <trailer>
    </trailer>
    so i was wondering if i can make a user defined function in which i feed detail and weight and result a flag d1/ d2 inside the tag field. My logic is smth like
    while detail is 1 make all the tag weights coming after detail 1 inside <detail1> tag then resultlist.CC for context change  then while detail is 2 make a loop to fill the weight coming after detail 2 inside the <detail2>
    Is this possible by any means. I really need help
    Thnks
    Naina

    Hi
    My sender file content conversion have this setting:
    HEADER,1,DETAIL,*,Weights,*,TRAILER,*
    And plz give me more idea of the adapter module ....is there any blog available which is related to my problem.
    Naina

  • File sender content conversion

    hello
    I have a txt file sender content conversion in SAP PI.
    I define in the content conversion 6 fields names(field1, field2, field3,field4,field5,field 6) but the fie that I am loading has only three field(field1,field2,field3). the file is still loading though there is a different in the structure between what I define in the PI to what is loading to the PI.
    is there a way to send an error with out loading the file?
    I read about the count function in the mapping. isnt there a build in function that suppose to load only the structure that is define?
    Thanks
    Kfir

    If you define 6 fields and only 3 are present in the test file then you wont get an error (AFAIK)
    However, if you define 3 fields and there are 6 present in the source file then you will get an error saying more number of parameters found.
    isnt there a build in function that suppose to load only the structure that is define?
    I dont think so....this may however be achieved using a custom adapter module.
    Update:
    Just remembered that SAP PI (7.1 and above) comes with inbuilt XML-validation function....check if that helps in your design.
    Regards,
    Abhishek.
    Edited by: abhishek salvi on Dec 15, 2010 1:12 PM

  • Challenge in File Sender Content Conversion

    Hi,
    I have a real challenge concerning File Sender content conversion in SAP XI.
    My flat file looks like this:
    ##H   300
    MAR   206
    KAS 1
    DAT 01.03.08
    ART 1.129
    KUN 118
    EAN 4.499
    REL 5.0j 16.05.06
    SER             1
    ##E   300
    ##H   301
    DAT 01.03.08
    ZEI 07:54
    KAS 1
    ##E   301
    Each row represents a data field and has two values: The first one defines the field name, the second represents the field value. E.g. 'DAT' stands for Date and has the value 01.03.08 in the example.
    The fields belonging together in one data set are enclosed by a start qualiefier (##H)and an end qualifier (##E).
    The value after these qualifiers (i.e. '300' and '301' in the example above) represent a certain record type, e.g. '300' represents Customer data and '301' represents Account Data.
    Is it possible with file content conversion to create the following XML structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://sap.com/xi/account">
         <300>
              <MAR>206</MAR>
              <KAS>1</KAS>
              <DAT>01.03.08</DAT>
              <ART>1.129</ART>
              <KUN>118</KUN>
              <EAN>4.499</EAN>
              <REL>5.0j 16.05.06</REL>
              <SER>1</SER>
         </300>
         <301>
              <DAT>01.03.08</DAT>
              <ZEI>07:54</ZEI>     
              <KAS>1</KAS>
         </301>
    </ns0:MT_DATA>
    If it is not possible with content conversion, what could be an alternative? Adapter Module? MultiMapping?
    I'd really appreciate your input as I am working on this since several days without a solution.
    Thanks in advance.
    Alex

    It is not possible thru adapter..
    There is one blog to convert such files to XML sing java mapping. Search for any flat file to Idoc or xml in the forum.
    VJ

  • Sender content conversion parameters

    what wld be the sender content conversion parameters for the following structure?
    MessageType        1-1
        Records            1-1
           File                1-unbounded
    thanks

    Hi,
    If you have not come across:
    http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/frameset.htm
    would be of help.
    Regards,
    Manjusha.

  • 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

  • File Sender, Content Conversion - how to define variable length last field?

    XI 3.0 SP17
    With a File Sender communication channel, that uses Content Conversion - how do I define a 'variable length' last field?
    The scenario - the input file has four fields, of which the first three are a known fixed length, and the last (fourth, trailing) field is variable in length.
    Using a Message Protocol of 'File Content Conversion', how do I define that last variable length field (field name 'WOData' below) in the Content Conversion Parameters section?
    My current parameters are:
    Recordset Structure  -  Row,*
    ignoreRecordsetName  -  true
    Row.fieldFixedLengths  -  1,12,5,99999
    Row.fieldNames  -  WOType,WONum,WOLine,WOData
    I've tried the following for 'Row.fieldFixedLengths' to no avail -
    '1,12,5,*'
    '1,12,5,0'
    '1,12,5,'
    '1,12,5'
    The last two were grasping at straws )
    The only thing I've got to work is specifying a 'large' value for the final field (99999 above).
    In addition, does anyone know if specifying a large value (e.g. 99999) for the final trailing field will give rise to performance issues when the file is being processed?
    In the help for "Converting File Content in a Sender Adapter", it states -
    <Begin Quote>
    NameA.fieldFixedLengths
    If you make a specification here, the system expects a character string that contains the lengths of the structure columns as arguments separated by commas.
    If you also specify a separator for the columns, you must not add its length to the length of the columns.
    This entry is mandatory if you have not made an entry for NameA.fieldSeparator.
    <End Quote>
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

    << note that fieldFixedLengths will not take any wildcard entries like *. So in these case it is ideal to provide a maximum char length.  But note that while the file is being created that many spaces will be created in your file !!! >>
    Hi Shabarish,
    Yes, no wildcard is the conclusion I came to, hence my maximum )
    The message size did not increase by any 'blank padding'.  When I look in [Message Display Tool (Detail Display)] 'Audit Log for Message: X'  -
    2006-10-17 18:22:42 Success Channel X: Entire file content converted to XML format
    2006-10-17 18:22:42 Success Send binary file  "X" from FTP server "X", size 103290 bytes with QoS EO
    2006-10-17 18:22:42 Success Application attempting to send an XI message asynchronously using connection AFW.
    2006-10-17 18:22:42 Success Trying to put the message into the send queue.
    2006-10-17 18:22:42 Success Message successfully put into the queue.
    2006-10-17 18:22:42 Success The application sent the message asynchronously using connection AFW. Returning to application.
    The input flat file in non-XML format was 92,132 bytes and the message payload into XI was 103,290 bytes.
    My understanding is that trailing spaces are stripped from XML nodes.

  • File Content Conversion - Recordset Structure required??

    Hi,
    I have a File Sender Communication Channel (CC) to convert very simple csv format to XI data type (XML).
    The contect of csv file will look something like this and will always have one line per file.
    111,222,333,444,555
    And I have defined the Data Type/Message Type with 5 fields as follows:
    Sender_DT
    ---F1
    ---F2
    ---F3
    ---F4
    ---F5
    Assuming that I'll always get one line of data in a csv file, I don't really need to set Recordset Structure in Content Conversion Paramters of File Sender CC but it is required parameter so you can't save it without populating this parameter.
    I understand that I can add a recordset to my DT so that it will look like below and type in Recordset in the Recordset Structure parameter but wanted to see if there is any other way to go around this without adding Recordset to DT.
    Sender_DT
    ---Recordset
    F1
    F2
    F3
    F4
    F5
    Thanks,
    Jay

    Hi Jay,
    You are correct. You can't have a struct like
    DT_SOURCE
    --F1
    --F2
    --F3
    You need another node with in DT_SOURCE like recordset
    DT_SOURCE
    -Recordset
    --F1
    --F2
    --F3
    If you don't get multiple lines in source file, you can simpl set the Recordset occurance to 1..1 but it is mandatory.
    Regards,
    Jai Shankar

  • File sender content conversion 0..unbounded does not pull file

    i am trying to map a flat file using content conversion to this xml structure:
    <Header>
    <Field_ID/>
    <Filler/>
    <Record_type/>
    <File_name/>
    <File_date/>
    <File_time/>
    <Heb_code/>
    <Claim_no/>
    <Cont_no/>
    <Remark/>
    </Header>
    <Claim_Header>
    <Field_ID/>
    <Filler/>
    <Record_type/>
    <Vendor_code/>
    <Garage_no/>
    <Data_code/>
    <Year/>
    <Job_no/>
    <Cont_no/>
    <License_no/>
    <ODO_meter/>
    <Claim_type/>
    <VIN_code/>
    <Claim_open_date/>
    <Claim_fix_date/>
    <N_code/>
    <C_code/>
    <Ejob1/>
    <Ejob2/>
    <Page_no/>
    <Pre_conf_date/>
    <Pre_conf_no/>
    <Part_buy_date/>
    <KM_prev_fix/>
    <Bill_prev_fix/>
    <Material_fault/>
    <Damage_whole/>
    <Damage_code/>
    <Job_amount/>
    <Towing_amount/>
    <Parts_amount/>
    <Hour_rate/>
    <Cont_mark/>
    </Claim_Header>
    <job_row>
    <Field_ID/>
    <Filler/>
    <Record_type/>
    <Vendor_code/>
    <Garage_no/>
    <Data_code/>
    <Year/>
    <Job_no/>
    <Cont_no/>
    <page_no/>
    <line_no/>
    <shaaton_code/>
    <job_finish_code/>
    <amount/>
    <job_time/>
    <row_value/>
    <color_code/>
    </job_row>
    <part_row>
    <Field_ID/>
    <Filler/>
    <Record_type/>
    <Vendor_code/>
    <Garage_no/>
    <Data_code/>
    <Year/>
    <Job_no/>
    <Cont_no/>
    <page_no/>
    <line_no/>
    <material_code/>
    <amount/>
    <unit_price/>
    <row_value/>
    </part_row>
    <remark>
    <Field_ID/>
    <Filler/>
    <Record_type/>
    <Vendor_code/>
    <Garage_no/>
    <Data_code/>
    <Year/>
    <Job_no/>
    <Cont_no/>
    <page_no/>
    <line_no/>
    <remark/>
    </remark>
    <footer>
    <Field_ID/>
    <Filler/>
    <Record_type/>
    <File_name/>
    <File_Record_no/>
    <Claim_no/>
    <Cont_no/>
    <Remark/>
    </footer>
    job_row, part_row and remark are records that occur 0..unbounded.
    when i write in recordset structure: Header,1,Claim_Header,1,Job_Row,1,Part_Row,1,Remark,1,Footer,1
    and put file with one record each, the file is pulled, but when i change recordset structure to:
    Header,1,Claim_Header,1,Job_Row,* ,Part_Row,* ,Remark,*,Footer,1
    the file is not pulled.
    can anyone tell me what i'm doing wrong?
    thanx
    Tomer

    Hi,
    Refer this links for FCC.
    Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
    Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
    File Receiver with Content Conversion
    Content Conversion (Pattern/Random content in input file)
    NAB the TAB (File Adapter)
    Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
    Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
    How to send a flat file with various field lengths and variable substructures to XI 3.0
    Content Conversion (Pattern/Random content in input file)
    NAB the TAB (File Adapter)
    File Content Conversion for Unequal Number of Columns
    Content Conversion ( The Key Field Problem )
    The specified item was not found.
    File Receiver with Content Conversion
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    Regards,
    Phani

  • Ignore record in JMS sender content conversion

    Hi,
    I am using JMS sender adapter with content conversion.
    In the input text file, I have to ignore the first record.
    for this, in Module tab I have given parameter like this:
    Plain2XML -> documentOffset -> 1
    so that it will not read the first record in the text file.
    But it is not working
    Please suggest the right way.
    Regards,
    Anil.

    It should be:
    xml.documentSkipFirstRows
    Regards
    Stefan

  • Sender content conversion problem

    Hi all,
    I am working on a file>XIrfc scenario.
    I need to convert the simple structure flat file to xml file.
    Flat file format
    74723123-45-678902100977      00000000001130200800000      M                  N
    i have done below configuration,
    DT_BNI1012.fieldFixedLengths : 5,11,2,12,5,5,8,5,5,1,1,1,1,1,14,1,1
    DT_BNI1012.endSeparator : 'nl'
    DT_BNI1012.fieldNames : bplan,ssn,rec_id,pernr,eepct,bcpct,begda,apbp,sup_per,e_ind,p_frq,md_flag,cgdp,nqdc,filler1,hc_ind,filler2
    Everything is working file & i am able to see the xml file in CC monitoring(RWB).
    But, final file is getting truncated at recordset.
    Any idea, what am i missing...... ?????

    Below is my payload , after content conversion,
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_BNI1012 xmlns:ns="http://*******.com/******">
    - <Record>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr />
      <eepct />
      <bcpct />
      <begda />
      <apbp />
      <sup_per />
      <e_ind />
      <p_frq />
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2>N</filler2>
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr>102727</pernr>
      <eepct>00000</eepct>
      <bcpct>00000</bcpct>
      <begda>11302008</begda>
      <apbp>00000</apbp>
      <sup_per />
      <e_ind />
      <p_frq>B</p_frq>
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2>N</filler2>
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr />
      <eepct />
      <bcpct />
      <begda />
      <apbp />
      <sup_per />
      <e_ind />
      <p_frq />
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr>103571</pernr>
      <eepct>00000</eepct>
      <bcpct>00000</bcpct>
      <begda>11302008</begda>
      <apbp>00000</apbp>
      <sup_per />
      <e_ind />
      <p_frq>M</p_frq>
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr />
      <eepct />
      <bcpct />
      <begda />
      <apbp />
      <sup_per />
      <e_ind />
      <p_frq />
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr>129930</pernr>
      <eepct>00000</eepct>
      <bcpct>00000</bcpct>
      <begda>11302008</begda>
      <apbp>00000</apbp>
      <sup_per />
      <e_ind />
      <p_frq>M</p_frq>
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr />
      <eepct />
      <bcpct />
      <begda />
      <apbp />
      <sup_per />
      <e_ind />
      <p_frq />
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr>103613</pernr>
      <eepct>00000</eepct>
      <bcpct>10000</bcpct>
      <begda>11302008</begda>
      <apbp>00000</apbp>
      <sup_per />
      <e_ind />
      <p_frq>B</p_frq>
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr />
      <eepct />
      <bcpct />
      <begda />
      <apbp />
      <sup_per />
      <e_ind />
      <p_frq />
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2>N</filler2>
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>123-45-6789</ssn>
      <rec_id>02</rec_id>
      <pernr>100977</pernr>
      <eepct>00000</eepct>
      <bcpct>00000</bcpct>
      <begda>11302008</begda>
      <apbp>00000</apbp>
      <sup_per />
      <e_ind />
      <p_frq>M</p_frq>
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2>N</filler2>
      </DT_BNI1012>
    - <DT_BNI1012>
      <bplan>74723</bplan>
      <ssn>TT112040800</ssn>
      <rec_id>06</rec_id>
      <pernr>000060000000</pernr>
      <eepct>00000</eepct>
      <bcpct>00000</bcpct>
      <begda>00</begda>
      <apbp />
      <sup_per />
      <e_ind />
      <p_frq />
      <md_flag />
      <cgdp />
      <nqdc />
      <filler1 />
      <hc_ind />
      <filler2 />
      </DT_BNI1012>
      </Record>
      </ns:MT_BNI1012>
    But, i am receiving output file as ,
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_BNI1012 xmlns:ns0="http://*******.com/******">
      <Record />
      </ns0:MT_BNI1012>
    Dunno.....wat is going wrong........
    Edited by: san485 on Nov 4, 2010 9:38 PM
    Edited by: san485 on Nov 4, 2010 9:39 PM

  • SFTP Sender - content conversion to read Header & detail and control record

    Hi Experts,
        I'm just beginner in SAP PI. Just would like to know possibility for below requirement for my further reseach
    Soure file format fix length  with 3 different format(H,D,T)
    As example
    H001TestHeader1
    D001001TestDetail11
    D001002TestDetail21
    T2
    H002TestHeader2
    D002001TestDetail21
    T2
    The requirement detail :
    1. There are multiple set of H,D,T per files
    2.  T line is the record count of total D line per each H set.  for example as green font we have 2 D line, So T show T2
    3.  If number in T line is not match with actual D line, then only these set should be filter out and write to error file and send email alert. for example as red font we have 1 D line, but T show T2
    4.  If number in T line is match with actual D line, then these set will be write to result file.
    As I know that content  conversion may be support this requirement for separate records set for H/D/T but I don't have idea how to handle requirement no.3 and 4, Is it need ccBPM? Please help to provide some overview guideline for my further research. Thank you.

    As I know that content  conversion may be support this requirement for separate records set for H/D/T
    >>> For the  FCC, you might be using Message Transformation bean and unfortunately MTB doesn't provide the option to split the message i.e. " Records set per message".
    If you go for two step approach i.e.  then you can use this option to split the records.
    1) pass through interface -> SFTP -> NFS
    2) NFS(Standard FCC) -> Your target system
    I don't have idea how to handle requirement no.3 and 4, Is it need ccBPM? Please help to provide some overview guideline for my further research. Thank you.
    >>> If you can split the file for each recordset i.e.  one set of H/D/T then you can handle the validation part in message mapping.
    If T has valid number of records then execute the mapping set the filename  and directory to "result file" locations using dynamic configuration.
    If T has invalid number of records then execute the mapping set the filename  and directory to "error file" location.
    To trigger the email from the message mapping refer to the below blogs -
    Mail without email adapter? Part - I - Process Integration - SCN Wiki
    How to send Alerts using UDF or JAVA Mapping

  • Need help in file content conversion complex structure

    Hi Guys ,
    Iam new to this file content conversion , Please let me know whether below requirement is possible .if yes than how ?
    Inbound XML file from Proxy
    <Data>
      <keyfield1>0011</keyfield1>
      <keyfield2>0012</keyfield2>
      <Keyfield3>0013</Keyfield3>
      <field1>Test1</field1>
      <field2>testfield1</field2>
      <field3>0001</field3>
    <Data>
      <keyfield1>0021</keyfield1>
      <keyfield2>0022</keyfield2>
      <Keyfield3>0023</Keyfield3>
      <field1>Test2</field1>
      <field2>testfield2</field2>
      <field3>0002</field3>
    output pgp flat file .
    pgp file format should be as below after file content conversion
      0011|0012|0013|Test1||||||
      0011|0012|0013|Testfield1||||||
      0011|0012|0013|0001||||||
      0021|0022|0023|Test2||||||
      0011|0012|0013|Testfield2||||||
      0011|0012|0013|0002||||||
    thanks a lot .
    Regards
    Prabhu

    Hi.
    Try this.
    First you need to use a message mapping  and create a target structure to convert a similar output  structure that do you want.  like this
    <Target>
    --  Field1
    --  Field2
    --  Field3
    --  Field4
    --  Field5
    --  Field6
    --  Field7
    --  Field8
    --  Field9
    </Target>.
    Then map
    keyfield1-> Field 1 ,keyfield2-> Field 2 , keyfield 3---> Field 3
    map  field1-> field4 .. for the others fields duplicate the Target node (right click)  and  map map  field2-> field5 ..etc.
    For the field 5 until field 9 map with constant ("'')
    Then in you receiver comunication channel put simple parameters. 
    Target.fieldSeparator = |
    Target.endSeparator = 'nl'
    Regards.

Maybe you are looking for

  • How to get search help tables of a specific table

    Hello Guru, I've a problem. I'm looking for a way to find out how many "search help" tables exist in a specified Check Table. Well, when I look for a check table of a field like MARD-LGORT I got as a check table T001L, now when I read the data from i

  • WLST issue in weblogic 11g

    Hi friends , I installed weblogic 11g on redhat enterprise linux (5) server. I choosed jrocket 1.6.x as jdk version for my weblogic. I created domain as well. The problem is when I am trying to run the Admin server using WLST tool, for this I ran %WL

  • 10.6.8 issue - reinstall 10.6.7 or go to Lion?

    I've had problems with the sleep command since installing the 10.6.8 update. The 10.6.8 supplement update didn't help the problem. It takes anywhere from 20 seconds to 50 seconds for my iMac to sleep. I've repaired permissions, and I did the AHT. No

  • How can I locate old users on my computer?

    I am experiencing issues with space on my hard drive and need to export old photos, docs etc from previous computers/users that are all on my current MacBook Pro. I am having trouble locating them on my computer in order to export them...

  • IMac crashes multiple times a day

    I need help. I bought my iMac in December 2013 and I've gotten multiple crashes and kernel panicks. Below is the report from the most recent one. Anonymous UUID:       DC1A408B-1D2B-5C60-75D4-47D314ED1F9D Wed Feb 19 06:06:37 2014 panic(cpu 2 caller 0