IDOC to File - File Content Conversion Problem

Hi,
The scenario is IDOC to File. I am using file content conversion for my receiver adapter.  The receiver adapter parks the file in the receiver system but the file has no data.  In SXMB_MONI on checking the payload at every step, the data is transformed successfully.  I am able to see the data at the receiver payload but the file in the receiver system has got no data.
I have used all possible parameters in the receiver adapter:-
Recordset.fieldFixedLengths   1,1,1
Recordset.endSeparator        'nl'
Recordset.fieldNames          rec_type,action,del_in
Recordset.fixedFieldType      char
Kindly advice if some more parameters need to be added.
Thanks in advance.
Krishna

Hi,
if you're using stnadard SAP idoc
you can try using the same approach as specified
in this doc (but with module IDOC to XML insdead of XML to IDOC)
https://websmp203.sap-ag.de/~sapdownload/011000358700001795162005E/HowToIDocXMLToFlat.pdf
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Similar Messages

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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • FIle Content Conversion Problem in IDOC-XI-File Scenario

    Dear All,
    I am doing IDOC-XI-FILE scenario.
    I am facing one problem related to File Content Coversion.My requirement was to generate a dynamic file like <b>%store_code%_%current_date%_sitemaster.xml</b> , I have completed the dynamic generation successfully .
    Now there is slight change in the requirement ,<b>we have to suppress the current_date node of the xml content</b> . i have tried to suppress the current_date using these <b>DATE.fieldFixedLengths 0 , Date.fixedLengthTooShortHandling Cut</b> , But I am unable to suppress it Can some body provide me the details on this .
    The output xml version generated by Reciever file adapter is as below :
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_SITE_MASTER xmlns:ns0="http://sample-xitest.com/sitemaster">
    - <SITE_DATA>
    <STORE_CODE>N002</STORE_CODE>
    <TITLE_MEDI>Company</TITLE_MEDI>
    <STORE_NAME>Mount Road</STORE_NAME>
    <STREET>Chennai</STREET>
    <COUNTRY>IN</COUNTRY>
    <SALES_TAX_NO>12345678910</SALES_TAX_NO>
    </SITE_DATA>
    </ns0:MT_SITE_MASTER>
    Plz provide me the code I have to write in the file content conversion .
    Thanks in advance
    Regards
    Prabhat

    If u see my earlier reply, I mentioned that u can not suppress the field from the one node.i.e Form SITE_DATA data type u can not suppress the field called CURRENT_DATE.
    My suggestion is that , modify the Data type in such a way that you will be having two nodes as I have mentioned earlier.  Then use the Suppress Logic for the Current Date.
    So it will look like this-
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_SITE_MASTER xmlns:ns0="http://sample-xitest.com/sitemaster">
    - <SITE_DATA>
    <STORE_CODE>N002</STORE_CODE>
    <TITLE_MEDI>Company</TITLE_MEDI>
    <STORE_NAME>Mount Road</STORE_NAME>
    <STREET>Chennai</STREET>
    <COUNTRY>IN</COUNTRY>
    <SALES_TAX_NO>12345678910</SALES_TAX_NO>
    </SITE_DATA>
    <CURR_DATE>
       <CURRENT_DATE>20051105</CURRENT_DATE>
    </CURR_DATE>
    </ns0:MT_SITE_MASTER>
    So ur SITE_DATA is not having a field called CURRENT_DATE. This field is in separate node (segment ) called CURR_DATE. Now u can use the Suppress Logic for the same like this.
    CURR_DATE.fieldFixedLengths - 0
    CURR_DATE.fixedLengthTooShortHanling - Cut
    And in your Variable Substitution you can use the date from the other segment called CURR_DATE.
    Hope this solves ur problem.
    Regards,
    Moorthy

  • XML-IDOC to Plain File: File Receiver Cnt Conversion Problem Nested Stucts

    Hi all,
    I have an IDOC-XI-File scenario and I have a problem with the file receiver adapter and the content conversion parameters when the final data type has nested structures. Imagine that I have something similar to the following:
    My desire is to get something similar to this in the output file:
    SEGMENT0;HEADER
    SEGMENT1;100
    SEGMENT2;0200000716
    SEGMENT3;1000
    SEGMENT2;0200000717
    SEGMENT3;1000
    SEGMENT3;1001
    SEGMENT3;1002
    But what we are getting is this:
    SEGMENT0;HEADER
    SEGMENT1;100
    SEGMENT2;0200000716;SEGMENT3;1000
    SEGMENT2;0200000717;SEGMENT3;1000;SEGMENT3;1001;SEGMENT3;1002
    The content conversion parameters of the file receiver are as follow:
    Recordset Structure: IDOC,EDI_DC40,E1STATS,Z1HDSTAT,Z1ITSTAT
    IDOC.fieldSeparator: ;
    IDOC. endSeparator: ‘nl’
    IDOC. addHeaderLine: 0
    EDI_DC40.fieldSeparator: ;
    EDI_DC40. endSeparator: ‘nl’
    EDI_DC40. addHeaderLine: 0
    E1STATS.fieldSeparator: ;
    E1STATS. endSeparator: ‘nl’
    E1STATS. addHeaderLine: 0
    Z1HDSTAT.fieldSeparator: ;
    Z1HDSTAT. endSeparator: ‘nl’
    Z1HDSTAT. addHeaderLine: 0
    Z1ITSTAT.fieldSeparator: ;
    Z1ITSTAT. endSeparator: ‘nl’
    Z1ITSTAT. addHeaderLine: 0
    I’ve tried to use the parameter beginSeparator=’nl’ for the segments Z1ITSTAT but it’s not working. I haven’t been able to find a solution in the other forums. Can anybody help me?
    Thanks in advance
    Roger Allué Vall

    Can you explain it with my example? I can't see what you mean.
    <ZSYSEX01>
    .<IDOC BEGIN="1">
    ....<EDI_DC40 SEGMENT="SEGMENT0">
    ........<FIELD1>HEADER</FIELD1>
    ....</EDI_DC40>
    ....<E1STATS SEGMENT="SEGMENT1">
    ........<FIELD2>100</MANDT>
    ........<Z1HDSTAT SEGMENT="SEGMENT2">
    ...........<FIELD3>0200000716</FIELD3>
    ...........<Z1ITSTAT SEGMENT="SEGMENT3">
    ...............<FIELD4>1000</FIELD4>
    ...........</Z1ITSTAT>
    ........</Z1HDSTAT>
    ........<Z1HDSTAT SEGMENT="SEGMENT2">
    ...........<FIELD3>0200000717</FIELD3>
    ...........<Z1ITSTAT SEGMENT="SEGMENT3">
    ...............<FIELD4>1000</FIELD4>
    ...........</Z1ITSTAT>
    ...........<Z1ITSTAT SEGMENT="SEGMENT3">
    ...............<FIELD4>1001</FIELD4>
    ...........</Z1ITSTAT>
    ...........<Z1ITSTAT SEGMENT="SEGMENT3">
    ...............<FIELD4>1002</FIELD4>
    ...........</Z1ITSTAT>
    ........</Z1HDSTAT>
    ....</E1STATS>
    .</IDOC>
    </ZSYSEX01>
    Regards,

Maybe you are looking for