File sender content conversion problem.

Hi,
I am Working on File to RFC scenario .
Source file  is zipped and has next structure:
HEADER1 FIELD1 FIELD2...
HEADER2 FIELD1 FIELD2...
    DETAIL FIELD1 FIELD2...
    TXT DESCRIPTION1
    TXT DESCRIPTION2
    DETAIL FIELD1 FIELD2...
    TXT DESCRIPTION1
    TXT DESCRIPTION2
HEADER1 FIELD1 FIELD2...
HEADER2 FIELD1 FIELD2...
    DETAIL FIELD1 FIELD2...
    TXT DESCRIPTION1
    TXT DESCRIPTION2
    DETAIL FIELD1 FIELD2...
    TXT DESCRIPTION1
    TXT DESCRIPTION2
I've tryed with
zip.mode --> unzip
Transform.Class --> com.sap.aii.messaging.adapter.Conversion
xml.HEADER1.fieldFixedLengths --> 3,3,17,8,4
xml.HEADER1.fieldNames --> ID,NODO,REDO,FEDO,HODO
xml.HEADER2.fieldFixedLengths --> 3,13,17,13
xml.HEADER2.fieldNames --> ID,QFAC,REDO,AQSP
xml.DETAIL.fieldFixedLengths --> 3,13,30,5,10,16,3,16,3,16,3,16,5,16,3,1,17,3
xml.DETAIL.fieldNames --> ID,QFAC,NOMPRO,NUMPLA,TIPRAP,CONIND,TIPCON,RAPPTS,MONRAP,BASERP,MONEDA,CUOTA,TIPIVA,TOTRAP,PERLIQ,NOCOB,NUFA,TIPLIQ
xml.DETAIL.keyFieldValue --> DETAIL
xml.TXT.fieldFixedLengths --> 3,70
xml.TXTfieldNames -->  ID,TEXTO
xml.TXT.keyFieldValue --> TXT
xml.conversionType --> StructPlain2XML
xml.documentName --> MT_I4303_LIQRAP
xml.keyFieldName --> ID
xml.recordsetsPerMessage -->1
But error:
Exception: ERROR in structure conversion plain->xml configuration: message split not allowed here'; nested exception caused by: java.lang.Exception: ERROR in structure conversion plain->xml configuration: message split not allowed here
Thanks,
Carme

Dear Carme
I am also trying to use parameter xml.recordsetsPerMessage = 1 of Module MessageTransformBean to get one PI message per document (in my case per line) available in text file.
like you I am also facing the error
Attempt to process file failed with com.sap.aii.af.sdk.xi.adapter.trans.TransformException: Error converting Message: 'java.lang.Exception: ERROR in structure conversion plain->xml configuration: message split not allowed here'; nested exception caused by: java.lang.Exception: ERROR in structure conversion plain->xml configuration: message split not allowed here
but I was not able to solve it by additional parameter xml.recordsetStructureOrder = var
could you please share more details on your solution?
Thanks
best regards
Jochen

Similar Messages

  • 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: 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 '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

  • 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

  • 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

  • Sender File Adapter content conversion problem

    Hi all,
    is it possible to do content conversion like this:
    Key;Field1;Field2;Field3
    PO00H;0482000000;20061102;PL61
    PO01I;00010;0A720;Material 1;100.000
    PO02D;20061102;100.000;
    PO00H;0482000001;20061102;PL63
    PO01I;00010;0A730;Material 2;40.000
    PO02D;20061102;40.000;
    PO01I;00010;0A740;Material 3;140.000
    PO02D;20061102;30.000;
    PO02D;20061103;110.000;
    convert to
    <?xml version="1.0" encoding="utf-8" ?>
    <MT_PO>
        <DT_PO>
            <DocumentHeader>
                <PONumber>0482000000</PONumber>
                <PODate>20061102</PODate>
                <CompanyCode>PL61</CompanyCode>
            </DocumentHeader>
            <Item>
                <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A720</MaterialCode>
                    <MaterialDescription>Material 1</MaterialDescription>
                    <Quantity>100.000</Quantity>
                </ItemHeader>
                <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>100.000</Quantity>
                </ItemDetail>
            </Item>
        </DT_PO>
        <DT_PO>
            <DocumentHeader>
                <PONumber>0482000001</PONumber>
                <PODate>20061102</PODate>
                <CompanyCode>PL63</CompanyCode>
            </DocumentHeader>
            <Item>
                <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A730</MaterialCode>
                    <MaterialDescription>Material 2</MaterialDescription>
                    <Quantity>40.000</Quantity>
                </ItemHeader>
                <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>40.000</Quantity>
                </ItemDetail>
            </Item>
            <Item>
                <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A740</MaterialCode>
                    <MaterialDescription>Material 3</MaterialDescription>
                    <Quantity>140.000</Quantity>
                </ItemHeader>
                <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>30.000</Quantity>
                </ItemDetail>
                <ItemDetail>
                    <DeliveryDate>20061103</DeliveryDate>
                    <Quantity>110.000</Quantity>
                </ItemDetail>
            </Item>
        </DT_PO>
    </MT_PO>

    Ivan,
    I fear this is not possible.
    You can have
    <?xml version="1.0" encoding="utf-8" ?>
    <MT_PO>
    <DocumentHeader>
                <PONumber>0482000000</PONumber>
                <PODate>20061102</PODate>
                <CompanyCode>PL61</CompanyCode>
    </DocumentHeader>
    <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A720</MaterialCode>
                    <MaterialDescription>Material 1</MaterialDescription>
                    <Quantity>100.000</Quantity>
    </ItemHeader>
    <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>100.000</Quantity>
    </ItemDetail>
    </MT_PO>
    Multiple <Item header> and multiple <Item details>
    Do the content conversion like this and then in mapping, convert it to any structure you need.
    Regards,
    JaiShankar

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

  • File XML Content Conversion: Problem with special characters

    Hello,
    in a file sender cc content conversion is used to transform a flat structure to XML. What we experiencecd is that the message mapping failed due to a character that was not allowed in XML:
    I was assuming that the file content conversion just creates XML messages with allowed characters. Is there any way to configure content conversion to remove control characters which are not allowed in XML? Unfortunately the sender system cannot be modified.
    Thank you.

    Hi Florian,
      Please use this UDF to remove special characters which prevent XML messages to form properly.
    public static String removeSpecialChar(String s)
              try
                   s=s.replaceAll("&","& amp ;");
                   s=s.replaceAll("<"  , "  & lt ;");
                   s=s.replaceAll(">", "& gt ;");
                   s=s.replaceAll("'", "& apos ;");
                   s=s.replaceAll("\"", "& quot ;");
              catch(Exception e)
                   e.printStackTrace();
              return s;
    Please remove spaces between characters within double quotes. I have added them because otherwise you can't see this code properly. Please check this below link , please replace the characters with proper values as the display is causing a problem here   
    http://support.microsoft.com/kb/316063
    regards
    Anupam
    Edited by: anupamsap on Jul 7, 2011 4:22 PM
    Edited by: anupamsap on Jul 7, 2011 4:23 PM

  • File Sender Content Conversion Empty Fields

    Hi
    i have a problem with a filecontentconversion in the file sender adapter.
    my incoming csv has the following structure:
    ID,name,,,,,,,email,tel,,,,,
    in the xml that i am processing i would just need a structure
    <rootnode>
    <user>
    <ID></ID>
    <name></name>
    <email></email>
    <tel></tel>
    </user>
    </rootnode>
    i would like to ignore the rest of the fields.
    can anybody tell me if its possible to make a conversion like this or do i have to define a structure where all elements are included ?
    thanks ,
    martin

    Hi Martin,
    In the data type for your sender Service Interface, just set the occurrence of your optional fields to 0..1. Thanks to this, they will not be created by FCC for empty values from a file, which is what you want to achieve.
    Hope this helps,
    Greg

  • File adaptor Content conversion problem

    Hi all,
    I have a client proxy > pi> CSV file scenario which im working on currently - everything is fine apart from 1 really annoying thing.
    The problem is this that when data is extracted from SAP it should put in 6 fields within the file produced e.g:
    field1,field2,field3,field4,field5,field6
    Which is fine however if one of the fields is blank there should still be the blank space which should appear instead of what it is curently doing which is ignoring the blank and shifting everything else left by 1 so:
    if out of 6 fields only 5 come out currently its doing this:
    field1,field2,field4,field5,field6      (Notice field3 is missing and there is no blank space in its place)
    What it should be doing is this:
    field1,field2,,field4,field5,field6       (Notice the blank space)
    I have gone through all the content conversion parameters I know for receiver file adaptors none have worked so if you know any which will do this please let me know!!
    Also if you know of other ways your ideas will be greatly appreciated.
    Many thanks in advance
    Edited by: Saqib Karim on Mar 5, 2009 5:45 PM

    >
    Saqib Karim wrote:
    > Hi Chirag,
    >
    > Does this mean that there is nothing in the file adaptor to cater for this and the only way is through mapping?
    >
    > I was hoping for an easier more straight forward solution along the lines of content conversion since this means that it has to apply to ALL FIELDS in the mapping!!??
    >
    > Thanks
    you solution is to alter the mapping in a simple way.
    If you are using graphical mapping then use this logic;
    Source field -> if EXISTS -> Target
                          else -> Pass an empty constant -> Target
    This will make sure an empty tag is created a the target and FCC will work fine.

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

  • 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

  • How to debug file content conversion problems?

    Hi,
    I'm trying to debug a file content conversion problem.  I'm mapping a few nodes in an IDOC to a file of fixed length fields.  I'm using the "<Node A>.fieldFixedLengths", "<Node B>.fieldFixedLengths", "<Node C>.fieldFixedLengths", etc. parameters to specify the fixed length records.
    However, a certain node (for e.g. Node B) is causing a problem and if it is present in the IDOC, the output file does not get created.  Upon checking the XI monitor, I notice that the file gets mapped correctly and thus the problem lies when the file adapter does the file content conversion.  How do I debug this because there is no descriptive error in the XI log?  If this node is not present, the file gets generated fine.
    Thanks,
    Basant Gupta

    Hi,
    If your SXMB_MONI shows, success status, then go to RWB->Message Monitoring->Message display tool and then check Audit log for the analysis,
    So it wil help you debug the situation.
    If there is no error, then check RWB->Component Monitoring->Adapter Monitoring for you file communciation channel..
    /people/michal.krawczyk2/blog/2005/01/02/simple-adapter-and-message-monitoring
    Regards,
    Moorthy

Maybe you are looking for