Key field in sender file adapter

Hi All,
       I am using FCC ( sender) to convert a flat file into XML .I have a record structure of the following type : HEADER,1,DETAIL,,SUBDETAIL, . The problem is i dont have any KEYFIELD in HEADER or DETAIL or SUBDETAIL . Is it possible to do FCC with out having KEYFIELD.
Regards,
Tarun.

Hi Tarun !
You don't have any data that relates details with subdetails? Are the records ordered in source structure to define which subdetails belongs to which detail?
Maybe you can process detail and subdetails structures as one (as a raw line of characters) and then via mapping, split the fields and get the lines in order to determine which subdetails belongs to what detail..
Regards,
Matias

Similar Messages

  • Key Field Value for File Adapter Sender Wildcard

    Hello everybody, is there a way to use a wildcard for the property of NamA.keyFieldValue in the cc for a Fils Sender????, here's an example why, I need to take some Files via PI 7.0 and my key filed can change according to the file an example is that in a file can be HF28 and in another file can be HF29, the only character that is going to be constant is the H, I would really appreciate any suggestions, thanks in advance.
    Regards,
    Julio Cesar

    Hi Julio
    File sender adapter will read the file using FCC
    Key Field Value entry is mandatory if the key field name is set. Otherwise, the entry can be ignored
    http://help.sap.com/saphelp_nw70/helpdata/EN/34/393071e9b998438ddb8ce97cd617a1/frameset.htm
    Content Conversion ( The Key Field Problem )
    Thanks
    Gaurav Bhargava

  • Key field value in outbound/sender file adapter

    Hi,
    I have a flat file coming in PI. The structre for the same is
    1. Detail record line ocurs n number of time
    2.Summary record line occurs only once at the end
    I have defined a datatype as follows
    <DT>
       <Recordset>
            <Detail>
               All the detail fields
            </Detail>
           <Summary>
               All the summary fields
           </Summary>
    </Recordset>
    </DT>
    Now the number of detail record is not know. But there is only one summary record.
    In the sender file adapter do we need to configure the keyfield paramter? If the number of detail record is * .
    The problem is the input file does not has any key field to parse/identify the detail or sumary record.
    Any alternative?
    Thanks

    hi ,
      if you have two structures so do like this:
    Recordset strucrure                detail,summary*
    detail.fieldFixedlength          :          10,20
    detail.fieldNames                 :        xxx,yyy
    summary.fieldFixedlength     :         10,20
    summary.fieldNames           :        www,vvv
    rest configuration will be same.
    hope this will help.
    regards
    HONEY

  • Sender file adapter Adapter with out Key field

    Hi All
                 i do have have a requirment ,Sender file adapter , for FCC but file is  with out Key field
    HEADER>
    <DATA1>
    <DATA2>
    <DATA3>
    <HEADER>              file structure
    <ITEM>
    <ITEM1>
    <ITEM2>
    <ITEM3>
    <ITEM
    and the file si
    '10001,20081902,US
    10,soda,1
    30,soda,4
    40,soda,5
    10002,20081902,US
    10,steel,1
    30,steel,4
    40,steel,5
    , and i need to identify the Header and Item using there lenght only , please anyone as idea abt this help me

    Why to post the same question TWICE... in 30 min ? you don't like the answers ?
    File content Conversion Issuse for a Sender File Adapter

  • Sender File Adapter. Fixed Lengths and Field Separator

    Hello guys,
    I have a doubt in Sender File Adapter with Content Conversion.
    I have a text file like:
    a,b,c,,e
    I have the configuration in the adapter:
    Register.fieldNames: a,b,c,d,e
    Register.fieldSeparator: ,
    The question I have is can I format the length of the text when i create the XML?
    I woul like to create the XML like:
    <Row>
      <Register>
        <a>a   </a>
        <a>b  </a>
        <a>c  </a>
        <a>   </a>
        <a>e   </a>
      </Register>
    </Row>
    I would like that when I create the file in Field A I have length = 4, but I have only 1 in the entry, and I want to fill the rest of the length with spaces.
    I tried with FieldFixedLengths but when I test it the fields are not being formatted and take the commas as part of the field.
    I know that this can be done in Receiver File Adapter, you leave for example one field of 5 length and you format it to 12 length with spaces.
    Is this possible for Sender File ADapter?
    Many thanks.
    Regards,
    Xavi.

    hi,
    See the example given in this bog, in this blog the string has been splited into different fields as per the field length, so you may use the same concept to get your output.
    /people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
    I hope it helps you.
    Regards,
    Sarvesh

  • Sender File Adapter - FCC - No incoming field separator - How to do FCC?

    Hi,
    I have a sender File adapter and I need to do the File Content Conversion but there apparently no incoming field separator and the file ocntains just running text - no data records but just information.
    For example the incoming file is something like:
                                    The Hongkong and Shanghai Banking Corporation Limited                      27JAN2009       PAGE 1
                                    Incorporated in Hong Kong with limited liability
    ABC IAL LIMITED                                                               ABU DHABI, UAE
    ABC MIDDLE EAST                                                               Account No.     001-8888888
    ABU DHABI                                                                       Payment Set     AAA
    BBB MAIL BOX NO.99                                                             Contact Person  ABC LIMITED
                                                   7777777777                      Telephone
                                                     AUTOPAY LIST - PROCESSED
                                                     (AUTOPAY-OUT SALARY)
    Payment Date           27JAN2009
    First Party Narrative  .                             66666666
    Second Party Narrative .
    The Message type that I am mapping to contains:
    MT_XXXX
         WA
              Item
              Item2
              Item3
    This is so that the information can be mapped to different field areas and send across to the Receiver Mail Adapter. In the mail i receive, i get the running text. I tried giving the field separator as '0x09' but it is not working.
    I have also tried WA..fieldContentFormatting to nothing but again no luck.
    I have tried with Recordset Sequence with Ascending and variable and have also tried Recordsets per Message with * and blank - but it did not help.
    Please advice.
    Regards,
    Archana

    Hi,
    I assumed that it was tab but when I made the change in FCC, it did not work.
    I would still like to have a output where it looks like below if more than 2 types of information in 1 line as below:
    ABC IAL LIMITED                     ABU DHABI, UAE  
    ABC MIDDLE EAST                  Account No. 001-9999999999999  
    and not something like:
    ABC IAL LIMITED ABU DHABI, UAE   
    ABC MIDDLE EAST Account No. 001-999999999999
    I am not sure what to do here.
    Help please.
    Regards,
    Archana

  • Mapping  problem due to FCC in sender file adapter

    Hi All
    I am doing File( Flat File ) to RFC Scenario.it is working fine..
    the problem comes in mapping with multiple records.
    FCC at sender file adapter is used
    my Data Type are :
    Source DT                      Target RFC import parameter(table).
    E2ED20*                            ITEM*
        KEY                                    VBELN
        VBELN                                 POSNR                                                
    E2E24*                                     CHARG
        KEY
        POSNR                             
        CHARG
    <b>*->>multiple occurence
    E2ED20  and E2E24 are 2 segment ,KEY is used in FCC to identify E2EDL20 & E2EDL24</b>
    My source text file is like this :
    E2EDL20                       0200
    E2EDL24                       xyz
    E2EDL20                       0201
    E2EDL24                       abc
    E2EDL24                       efg
    E2EDL24                       mln                      
    E2EDL20                       0202
    E2EDL24                       gty
    so the payload should be :
      0200   xyz
      0201   abc
      0201   efg     
      0201   mln
      0202   gty
    in <i>FCC ignoer record set= true</i>
    otherwise is not called...
    i try to use split by value & use oneasmany  , not helpfull.
    in message mapping when i checked th field VBELN -> display queue
    i am getting an array   0200
                                     0201
                                     0202  in white fields
    thanks & regards
    Ashutosh Rawat

    <b>Source payload</b>
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_MATNO_FILE xmlns:ns="urn:abc:xxx">
    - <E2ED20>
      <KZ>E2EDL20</KZ>
      <FIELD1>020</FIELD1>
      <b><VBELN>0083662685</VBELN></b>
      </E2ED20>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900001</POSNR>
      <CHARG>1078629</CHARG>
      <LFIMG>3200</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900002</POSNR>
      <CHARG>1078630</CHARG>
      <LFIMG>1895</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900003</POSNR>
      <CHARG>1079145</CHARG>
      <LFIMG>1883</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900004</POSNR>
      <CHARG>1079146</CHARG>
      <LFIMG>3195</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2ED20>
      <KZ>E2EDL20</KZ>
      <FIELD1>020</FIELD1>
    <b> <VBELN>0083662648</VBELN></b>
      </E2ED20>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900011</POSNR>
      <CHARG>1001450</CHARG>
      <LFIMG>2946</LFIMG>
      <MEINS>8PC</MEINS>
      </E2E24>
    - <E2ED20>
      <KZ>E2EDL20</KZ>
      <FIELD1>020</FIELD1>
    <b> <VBELN>0083673936</VBELN></b>   </E2ED20>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900012</POSNR>
      <CHARG>1073953</CHARG>
      <LFIMG>2458</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
      </ns:MT_MATNO_FILE>
    <b>at target what required is</b>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900001</POSNR>
    </item>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900002</POSNR>
    </item>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900003</POSNR>
    </item>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900004</POSNR>
    </item>
    <item>
    <b><VBELN>0083662648</VBELN></b>
    <POSNR>900011</POSNR>
    </item>
    <item>
    <b><VBELN>0083673936</VBELN></b>
    <POSNR>900012</POSNR>
    </item>
    in Sender FCC
    E2ED20.fieldFixedLengths               7,76
    E2ED20.fieldNames                            KZ,VBELN
    E2ED20.keyFieldValue              E1EDL20
    E2ED20.endSeparator              'nl'
    E2E24.fieldFixedLengths              7,24,13,7,3
    E2E24.keyFieldValue                              E1EDL24
    E2E24.fieldNames                               KZ,POSNR,CHARG,LFIMG,MEINS
    E2E24.endSeparator                              'nl'
    ignoreRecordsetName              true
    source file is already there...
    Message was edited by:
            ashutosh rawat

  • Complex structures in Sender File adapter

    Hi Experts
    I am working on XI 3.0 SP 22. How do we handle the complex structures in sender file adapter in file content conversion.
    Please help me out.
    Regards
    Hari

    Hi,
    FCC can support upto max 3 levels, find below link for more help
    http://help.sap.com/saphelp_nw70/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    Content Conversion ( The Key Field Problem )

  • KeyFieldValue in Sender File Adapter Not Working

    Hi,
    I have a flat file like this...
    1Field1Field2Filed3.....
    2Field1Field2Field3....
    1Field1Field2Filed3.....
    2Field1Field2Field3.....
    1Field1Field2Filed3.....
    2Field1Field2Field3....
    My requirement is to pick only lines starting with '1'.
    I have configured the Sender File Adapter like this,
    Recordset Structure : SOURCE,*
    Key Field Name: KF
    Key Field Type : String(Case-Sensitive)
    File Content Conversion:
    SOURCE.fieldFixedLengths  1,5,5,5....
    SOURCE.fieldNames           KF,FIELD1,FIELD2....
    SOURCE.keyFieldValue      1
    After all this, still it picks up all the recored instead of records starting with '1'. Can any one solve this?
    Regards,
    Sreedhar

    If you feel module processor is bit tough you can use XSLT Mapping which is simple in sloving ur problem.
    Check this blog to do a sample example using module processor.
    /people/sap.user72/blog/2005/07/04/read-excel-instead-of-xml-through-fileadapter
    To implement the above check this link....
    https://websmp201.sap-ag.de/~sapdownload/011000358700003237612005E/HowToCreateAdapterModules.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e21106cc-0c01-0010-db95-dbfc0ffd83b3
    http://help.sap.com/saphelp_nw04/helpdata/en/8b/895e407aa4c44ce10000000a1550b0/content.htm
    /people/gowtham.kuchipudi2/blog/2006/01/13/stop-creation-of-an-empty-file-from-file-adapter-using-module

  • Problem in Sender File Adapter using FCC with Variable structure

    Hi Experts,
    Hi Experts,
    I have facing an issues while using FCC in Sender File adapter. Below are the configs for the same:-
    Recordset structure required is ==HEADER,1,DATA,*,TRAILER,1
    Recordset per message == *
    Key Field Name == Key
    (Sorry i dont know how to insert screen shot here..pls tell me how can i insert screen shots here on sdn)
    HEADER.fieldSeparator           ,
    HEADER.endSeparator           u2018nlu2019
    HEADER.fieldNames               Key,x,y,zu2026
    HEADER.keyFieldValue          1
    HEADER.keyFieldInStructure      ignore
    HEADER.fieldContentFormatting     trim
    HEADER.additionalLastFields     ignore
    HEADER.missingLastFields     ignore
    DATA.fieldSeparator
    DATA.endSeparator
    DATA.fieldNames
    DATA.keyFieldValue
    DATA.keyFieldInStructure
    DATA.fieldContentFormatting
    DATA.additionalLastFields
    DATA.missingLastFields
    Using same variables for Trailer record as well.
    Source CSV file which i am picking:-
    ADSE ,RASD,replan  Contact ,2  0080509 0 8:43:25   ,        
    EMPL ,0011111,  S Top Up ,20080401  ,20080430  ,sdf  ,                          00000000431250  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:35,
    EMPL ,0222222,  r Cash Award ,20070701  ,20070703  ,ded  ,                          00000000023509  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:09:31,
    EMPL ,0233333,   Cash Award ,20070801  ,20070831  ,df  ,                          00000000044057  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:10:56,
    EMPL ,0244444,   Cash Award ,20080101  ,20080111  ,sf  ,                          00000000026717  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:29,
    BTRL ,   5140, 
    When i tested the scenario and monitored it using MDT in CC monitoring tool its giving me below mentioned error.
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    XML document must have a top level element. Error processing resource 'http://myurlname/mdt/me...
    However if i change the occurence of DATA as some specific value for eg 4 instead of * it works fine.
    Kindly help me in solving this problem.
    Thanks,
    Aditya Verma

    Hi Madan,
    Thanks a lot for giving me the way to this. But when i tested this with the below file its giving me the same error. Please let me know if i need to do any changes to the parameters mentioned above:-
    ADSE ,ASDA,Sha  replan Fr ont Feed Contact ,2  0080509 0 8:43:25   ,        
    EMPL ,0011111,   Cash Top Up ,20080401  ,20080430  ,TPV  ,                          00000000431250  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:35,
    EMPL ,0222222,   r Cash Award ,20070701  ,20070703  ,TPV  ,                          00000000023509  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:09:31,
    EMPL ,0233333,  r Cash Award ,20070801  ,20070831  ,TPV  ,                          00000000044057  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:10:56,
    EMPL ,0244444,   Cash Award ,20080101  ,20080111  ,TPV  ,                          00000000026717  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:29,
    EMPL ,0255555,   Cash Award ,20080301  ,20080320  ,TPV  ,                          00000000027870  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:25,
    EMPL ,0266666,   Cash Award ,20071001  ,20071020  ,TPV  ,                          00000000020681  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:09:31,
    EMPL ,0877777,   Cash Top Up ,20080401  ,20080430  ,TPV  ,                          00000000036000  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:05,
    EMPL ,0888888,   Leaver Cash Award ,20071201  ,20071231  ,TPV  ,                          00000000157200  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:11:29,
    EMPL ,0899999,  S Leaver Cash Award ,20080301  ,20080331  ,TPV  ,                          00000000153530  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:42,
    EMPL ,0800000,  S Leaver Cash Award ,20070701  ,20070731  ,TPV  ,                          00000000012234  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:34,
    BTRL ,   5140,
    This the original csv file which i'll get in live. Kindly suggest as ur solution worked with other file but not working with this scv file.
    Thanks a lot,
    Aditya.

  • Is a record ID field required for File Adapter (Header, Body, Trailer)?

    Hi,
    File to File scenario. The sender file is a text file i.e. .txt which needs a conversion on the sender file adapter. There are three structures in the file namely header (one), body (many) and Trailer (one). From what I can see I need a record Id field (with the same name) in all the structure types, can anyone confirm this for me?
    Thanks,
    Leanne

    That is correct. If you have a variable number of records of a particular type, then you need a way to accurately identify each type of record... and that is done via the key field (or Record ID)  which is present in each record type.
    Extract from SAP Online Help:
    <i>Key Field Name
    If you specified a variable number of substructures for Recordset Structure, in other words, at least one substructure has the value ‘*’, then the substructures must be identified by the parser from their content. A key field must be set with different constants for the substructures. In this case, you must specify a key field, and the field name must occur in all substructures.
    Specify the Key Field Type to be used to compare the predefined values. This entry is used if the key field name is defined.
    NameA.keyFieldValue: Specify the value of the key field for the structure. This entry is mandatory if the key field name is set. Otherwise, the entry is ignored.</i>
    For more info, refer to the SAP Help:
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/frameset.htm

  • Sender File Adapter - Content Conversion

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

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

  • Sender file adapter error

    Hi,
    The sender file adapter is reading a fixed width file . The file is not to be seen in the sxmb_moni. In the adapter monitoring is showing processed and green in color.
    How do i resolve this issue.
    In my recordset contains multiple substructures
    <Recordset>
            <Header>
                 type
                 code
                 id
            </Header>
            <Item>
                        type
                        qty
                        price  
            </Item>
    </Recordset>
    Header.fieldFixedLengths = 1,5,10
    Header.endSeparator = 'nl'
    Header.fieldNames = TYPE,CODE,ID
    Header.keyFieldValue = 01
    Item.fieldFixedLengths = 4,5
    Item.endSeparator = 'nl'
    Item.fieldNames = QTY,PRICE
    Item.keyFieldValue = 02
    What should i give in keyFieldValue . Is the above configuration correct.
    Kindly suggest
    Thanks
    Varghese

    Hi,
    The key field value is normally a record type identifier. For example, a header record may always start with '1' or 'HD', and an item record may always start with '2' or 'IT' in your file. The 'type' field, which appears in both header and item records in your example, fits in as the identifier.
    So, your parameters should be:
    Header.fieldFixedLengths = 1,5,10 (or maybe 2,5,10)
    Header.endSeparator = 'nl'
    Header.fieldNames = TYPE,CODE,ID
    Header.keyFieldValue = 1 (or maybe HD)
    Item.fieldFixedLengths = 1,4,5 (or maybe 2,4,5)
    Item.endSeparator = 'nl'
    Item.fieldNames = TYPE,QTY,PRICE
    Item.keyFieldValue = 2 (or maybe IT)
    If your file has varying values of TYPE instead of 1,2 (or HD or IT), the File Adapter will not be able to handle the structured file. You may have to choose the option 'File without content conversion'.
    Hope this helps,
    Bhanu

  • Required Changes in FCC Paramenters for Sender File Adapter.

    Hi
    I am Doing File-File Scenario.I am using FCC in the Sender File Adapter. I have defined the structure as below.
    My Source Structure
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Source xmlns:ns0="http://city.net/filecopy">
       <Message>
          <Id>123</Id>
          <Head>
             <Id>123</Id>
             <Filename>test.xml</Filename>
          </Head>
          <Body>Helloworld</Body>
       </Message>
    </ns0:MT_Source_FILE>
    So for the above structure, I have defined the FCC Parameters as
    Document Name: MT_Source (Message Type)
    Document Namespace:http://city.net/filecopy(Namespace)
    Recordset Name: Message (root node)
    Recordset Structure: Message,1,Head,1
    Recordset Sequence: Ascending
    Recordsets per message:1
    Keyfield Type: string
    In the Table Rows I have defined
    Message.fieldFixedLengths: 3,10
    Message.fieldNames: Id, Body
    Message.fieldSeparator: ,
    Message.endSeparator: 'nl'
    Head.fieldFixedLengths: 3,8
    Head.fieldSeparator: ,
    Head.endSeparator: 'nl'
    Head.fieldNames: Id, Filename.
    My Input Text file
    123,Helloworld
    123,text.xml
    I am Getting Output as
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_Source xmlns:ns="http://city.net/filecopy">
    - <Message>
    - <Message>
      <Id>123</Id>
      <Body>HelloWorld</Body>
      </Message>
    - <Head>
      <Id>123</Id>
      <Filename>test.xml</Filename>
      </Head>
      </Message>
      </ns:MT_Source>
    I should get Body field after Head Structure as in the Source Structure, So Please what changes do I need to do in the Parameters Specified above to get the desired Output.
    So How should I define the FCC Paramenters For Sender File Adapter ?
    Any Help Would be Appreciated.
    Regards,
    Varun

    Hi Everyone,
    I could Succeed to some extent.
    I have defined the parameters as follows
    Recordset Structure: Message,*,Head,1
    Key Field Name: KZ
    Key Field Type: integer
    In the table, I defined the Parameters as
    Message.fieldFixedLengths:1,3
    Message.fieldNames:KZ,Id
    Message.keyFieldValue:1
    Message.keyFieldInStructure:ignore
    Message.fieldSeparator:,
    Message.endSeparator:'nl'
    Head.fieldFixedLengths:1,3,8
    Head.fieldNames:KZ,Id,filename
    Head.keyFieldValue:2
    Head.keyFieldInStructure:ignore
    Head.fieldSeparator:,
    Head.endSeparator:'nl'
    Message.fieldFixedLengths:1,11
    Message.fieldNames:KZ,Body
    Message.keyFieldValue:3
    Message.keyFieldInStructure:ignore
    Message.fieldSeparator:,
    Message.endSeparator:'nl'
    My source text file
    1,123
    2,123,test.xml
    3,Hello World
    my output is
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_Source xmlns:ns="http://city.net/FileCopy">
    - <Message>
    - <Message>
      <Id>123</Id>
      </Message>
    - <Head>
      <Id>123</Id>
      <Filename>test.xml</Filename>
      </Head>
      </Message>
      </ns:MT_Source>
    I got the output almost correct except I am not getting the value in the Body
    Any help would be appreciated.
    Please correct me If I am wrong.
    Regards,
    Varun
    Edited by: Varun on Sep 2, 2008 12:06 PM
    Edited by: Varun on Sep 2, 2008 12:15 PM

  • Vaildating File name with the data in the file using sender file adapter

    Hi,
    Below is the scenario
    1)       Pick up files from a FTP server, the file name is dynamic, how do I put dynamic name in sender file adapter?
    2)       Determine if the user correctly named the file based on data in the file.
    a.       File naming structure that we will be concerned with is <company_code><accounting_time_period>.<extension>
    b.      The company code and the time period in the file name have to match the data in the file.
    i.      For example.  If the file name is 1001_200712.csv and the data in the file is for company code 1005, time period 200712, the file is incorrectly named.  Both values must be correct.
    How do we do this?

    Hi Sachin,
                    As Rightly said by Krishna, You can not put Dynamic name in sender File Adapter .You have to provide the name of the file like "*.txt" in Sender Adapter and at runtime you can access this file name by using following UDF:
    DynamicConfiguration conf  = (DynamicConfiguration) container
      .getTransformationParameters()
      .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String valueOld = conf.get(key);
    return (valueOld);
    As now you have picked up the file name at runtime.
    Now concatenate source file fields Company_code and Accounting_timeperiod using "_" as delimiter in properties.Also concat the extension .Now you have required file name.
    So using EQUALS standard function ,compare it with File Name fetched at runtime using above given UDF, and pass result as you desire to process further or not or to raise Alert to resend the file.
    Thanks & Regards,
    Anurag Garg
    You can validate this file name in Mapping itself.

Maybe you are looking for