Reading fixed length flatfile & splitting it into header and lineitem data

Hi Friends,
I am reading a fixed length flat file from application server into an Internal table.
But problem is, data in flat file is in the below format with fixed start and end positions.
1 - 78 -  control header
1 - 581 - Invoice header data
1 - 411 - Invoice Line item data
1 - 45 -   trailer record
There will be one control header and one trailer record per file and number of invoice headers and its line items can vary.
There is unique identifiers to identify as below.
Control header - starts with 'CHR'
Invoice Header starts with - '000'
Invoice Lineitem stats with - '001'
trailer record - starts with 'TRL'
So its like
CHR.......control  data..(79)000.....header data...(660)001....lineitem1...(1481)001...lineitem2....multiples of 411 and 581 and ends with... TRL...trailer record..
(position)
I am first reading the data set and store in internal table with a field of 255char.
by looping on above ITAB i have to split it into Header records and line item records.
Did anyone face this kind of scenario before. If yes appreciate if you can throw some ideas on logic to split this data.
Any help in splitting up the data is highly appreciated.
Regards,
Simha
ITAB declaration
DATA: BEGIN OF ITAB OCCURS 0,
               FIELD(255),
           END OF ITAB,
            lt_header type table of ZTHDR,
            lt_lineitem type table of ZTLINITM.

Hi,
i am sending sample code which resembles your requiremeant.
data: BEGIN OF it_input OCCURS 0, "used for store all the data in one line.
      line type string ,
      END OF it_input,
      it_header type TABLE OF string WITH HEADER LINE,"use to store all header with corresponding items
      it_item   type TABLE OF string WITH HEADER LINE.."used to store all item data
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    filename                      = 'd:\test.txt'
  FILETYPE                      = 'ASC'
  HAS_FIELD_SEPARATOR           = ' '
  HEADER_LENGTH                 = 0
  READ_BY_LINE                  = 'X'
  DAT_MODE                      = ' '
  CODEPAGE                      = ' '
  IGNORE_CERR                   = ABAP_TRUE
  REPLACEMENT                   = '#'
  CHECK_BOM                     = ' '
  VIRUS_SCAN_PROFILE            =
  NO_AUTH_CHECK                 = ' '
IMPORTING
  FILELENGTH                    =
  HEADER                        =
  tables
    data_tab                      = it_input
EXCEPTIONS
  FILE_OPEN_ERROR               = 1
  FILE_READ_ERROR               = 2
  NO_BATCH                      = 3
  GUI_REFUSE_FILETRANSFER       = 4
  INVALID_TYPE                  = 5
  NO_AUTHORITY                  = 6
  UNKNOWN_ERROR                 = 7
  BAD_DATA_FORMAT               = 8
  HEADER_NOT_ALLOWED            = 9
  SEPARATOR_NOT_ALLOWED         = 10
  HEADER_TOO_LONG               = 11
  UNKNOWN_DP_ERROR              = 12
  ACCESS_DENIED                 = 13
  DP_OUT_OF_MEMORY              = 14
  DISK_FULL                     = 15
  DP_TIMEOUT                    = 16
  OTHERS                        = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT  it_input.
   write : it_input-line.
ENDLOOP.
before doing the below steps just takethe controle record and trail record cutt of from the table input based up on the length
  split it_input-line AT '000' INTO TABLE it_header IN CHARACTER MODE.
  LOOP AT  it_header.
    split it_header AT '0001' INTO TABLE it_item IN CHARACTER MODE.
    write :/ it_header.
  ENDLOOP.
after this you need to cut the records in tocorresponding  fields in to respective tables by putting loop on item and header table as i decleared above.
i think this may solve your problem you need to keep some minnor effort.
Regaurds,
Sree..

Similar Messages

  • Please help with reading fixed-length file

    I am reading a fixed-length file from a batch program and I need to read through each line, parsing out records in each, and replacing the first character in each line after I finish processing. I am using a RandomAccessFile, but I am not sure if this is best for my needs.
    Here is essentially the code that I am using:
    RandomAccessFile raf = new RandomAccessFile(File, "rw");
    int pointer = 0;
    int recordLength = 65;
    int counter = 0;
    string test = "X";
    pointer = raf.getFilePointer();
    while ((line = raf.readLine()) != null) {
    //set file pointer
    seek(counter * recordLength);
    counter ++;
    if (line.substring(0, 1).equals(test)) {
    continue;
    var1 = line.substring(7, 22);
    var2 = line.substring(23, 41);
    var3 = line.substring(42, 52);
    var4 = line.substring(53, 53);
    //PROCESSING
    raf.writeChar(test);

    Thanks for the suggestion. I think that the
    BufferedReader is the way that I will go. Do you
    happen to know the best way to update the 1st Char of
    each line as I'm reading each line using Buffered
    Writer?Hi,
    To update the first char of each line, you could read each line of the file into a StringBuffer, modify the value, and then write the value back out to the file.
    I had to do something similar.
    eg.
    StringBuffer buf = new StringBuffer();
    BufferedReader in = new BufferedReader(
        // data file source
    new FileReader(db_location));
    String s;
    // while there are still items to read
    while ((s = in.readLine()) != null)
        System.out.println("reading file");
        // split into component parts so we can modify
        StringTokenizer t = new StringTokenizer(s,",");
        int id = Integer.parseInt(t.nextToken());
        String code = t.nextToken();
        int quantity = Integer.parseInt(t.nextToken());
        // copy component parts into StringBuffer
        buf.append(id+",");
        buf.append(code+",");
        buf.append("\n");
         // use StringBuffer methods here to isolate first character
         // use StringBuffer methods to replace first value of input in buffer
         // eg.
              buf.replace(index,length,","+ new_code);
    // print out the StringBuffer to rewrite updated file
    PrintWriter output = new PrintWriter(
        new BufferedWriter(
        new FileWriter(db_location, false)));
    output.println(buf.toString());
    output.close();As always, there is more than one way to skin a cat. But this is my way.
    I think that JDK 1.4 has some new methods, but not 100% sure of that.
    //Daniel.

  • Option to read fixed-length format, EXCEL or ASCII TAB delimited

    Hi Experts,
                      I have a requirement for giving an option to read fixed-length format, EXCEL or ASCII TAB delimited in the selection screen.Kindly help me how can i read the fixed length format?
    Thanks,
    Ankita

    As far as I could have understood your problem
    You have to read the file with
    Open dataset  'file path+name'  FOR INPUT in text mode encoding default.
    and move its contents to string type variable
    Transfer to 'file path+name' to v_string.
    Now as per your requirements you need to use Offsets to transfer the data into a work area.
    For example
    wa_task-year=  v_string(4).
    wa_task-month=  v_string+4(2).
    Please confirm if this is your requirement.

  • Header and Item data in a module pool

    Hi Friends,
    I designed a screen in that i have header data and item data.
    Here in my screen header i have vendor number,Vendor name,
    bank Name, Branch, LC value and Due date fields.
    and for item details i have to take table control.In the item details i have the fields Sl No, PO Number and Po Value.
    and Two push buttons i need to put.SAVE and CANCEL.
    When i click on SAVE all my screen details should be saved in a ZTABLE and should generate a LCDOCUMENT-Number from the system.
    So my question is shell i take the two tables for header and item data or one is enough and if i take two tables(one is header and one is item data) how i write the logic to store into the ztables.
    How can i proceed.Plz provide me with ur inputs
    Thanks and Regards.

    Hi!
    you have to take one table.....in which u have to move the header and item data into that b'coz according to the header data the items are to be displayed.......
    select the data for which ever tables they came and then take a final table in which include all the fields of header and item .loop on all the tables from which data u have taken and inside it move the data of those fields into the fields of the final table.
    In the ALV u need to call the function module to display the ALV with that final table in which ur all data is there and prepare a field catalog of those fields you want to display in the item list.
    for example a sample code is there...
    types:
      begin of type_s_vbak,
        vkorg type vbak-vkorg,             " Sales Organization
        aufnr type vbak-aufnr,             " Sales Order Number
        auart type vbak-auart,             " Sales Order Type
        kunnr type vbak-kunnr,             " Customer Number
        vbeln type vbak-vbeln,             " Sales Document
        knumv type vbak-knumv,             " Number of Document Condition
      end of type_s_vbak.                  " BEGIN OF TYPE_S_VBAK
    types:
      begin of type_s_konv,
        kwert type konv-kwert,             " Condition Value
        kbetr type konv-kbetr,             " Rate (Condition Amount)
        knumv type konv-knumv,             " Number of Document Condition
        kschl type konv-kschl,             " Condition Type
      end of type_s_konv.                  " BEGIN OF TYPE_S_KONV
    types:
      begin of type_s_material,
        kunnr      type vbak-kunnr,          " Customer Number
        matnr      type vbap-matnr,          " Material Number
        arktx       type vbap-arktx,          " Material Description
        steuc       type marc-steuc,          " Fiscal Classification
        kwmeng   type vbap-kwmeng,         " Quantity
        knumv      type vbak-knumv,          " Number of Document Condition
        vbeln        type vbak-vbeln,          " Document Number
        kwert       type konv-kwert,          " Condition Value
        total         type p length 14 decimals 2,
                                           " Total
        ipitype  type p length 9 decimals 3,
                                           " IPI Type
        ipivalue type konv-kwert,          " IPI Value
      end of type_s_material.              " BEGIN OF TYPE_S_MATERIAL
    data:
      fs_vbak type type_s_vbak.
    data:
      fs_mati type type_s_material.
    data:
      fs_konv type type_s_konv.
    data:
       t_vbak like
    standard table
           of fs_vbak.
    data:
       t_konv like
    standard table
           of fs_konv.
    data:
       t_mati like
    standard table
           of fs_mati.
    loop at t_konv into fs_konv where kschl eq 'ZPNF'.
        move fs_konv-kwert to fs_mati-kwert.
        modify t_mati from fs_mati
        transporting kwert
        where knumv eq fs_konv-knumv.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    * Modifying Total Field of Material Table.
      loop at t_mati into fs_mati.
        w_total = fs_mati-kwmeng * fs_mati-kwert.
        move  w_total to fs_mati-total.
        modify t_mati from fs_mati
        index sy-tabix
        transporting total.
        clear w_total.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    * Modifying IPI-Type Field of Material Table.
      loop at t_konv into fs_konv where kschl eq 'IPI3'.
        w_total = fs_konv-kbetr div 10.
        move w_total to fs_mati-ipitype.
        modify t_mati from fs_mati
        transporting ipitype
        where knumv eq fs_konv-knumv.
        clear w_total.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    * Modifying IPI-Value Field of Material Table.
      loop at t_konv into fs_konv where kschl eq 'IPI3'.
        move fs_konv-kwert to fs_mati-ipivalue.
        modify t_mati from fs_mati
        transporting ipivalue
        where knumv eq fs_konv-knumv.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    and then fill the fieldcatalog and display the ALV
    Edited by: Richa Tripathi on Apr 15, 2009 3:28 PM

  • Header and item data in LSMW

    How to distinguish between the header and item data from the given legacy excel file, so that I can correctly extract the Sales Order header and item level data while doing LSMW? Do we need to do any extra coding for doing that?

    Hi Diwakar,
    Please read below. This is the way to do it. It resolved my issue.
    Hi, I think you can use 1 file but with the record type identifier, the field will appear in all source strictures, in the Maintain Source Fields step amend field (double click) on it and point Identifying Field Content to appropriate level, e.g. 1 for header 2 for item. Your input file will look like:
    REC_TYPE….. FIELDS
    1 only fields relevant for the header and blanks for line items
    2 only fields relevant for the item data blanks for header fields
    2 …
    2 …
    1 Next record header
    2 next record item 1
    2 next record item 2
    1
    2
    2
    2
    2
    1
    2
    Diwakar,
    Please dont be oversmart and dont mislead people and hurt others by making nasty comments.
    Thanks,
    Raj.

  • How to header and item data of sales order using bapi interface

    hi friends,
       i am geetha, i having a problem like how to upload sales oder header and item data through va01 tcode using BAPI FUNCTION MODULES.
    i need bapi function modules for header adn item data  and brief explation on that , how to pass importing and tables  parameters to get exact output .
    regards
    geetha.

    Use : BAPI_SALESORDER_CREATEFROMDAT2
    Sales order: Create Sales Order
    Functionality
    You can use this method to create sales orders.
    You must enter at least sales order header data (via ORDER_HEADER_IN structure) and partner data (via the ORDER_PARTNERS table) as input parameters.
    Enter the item data via the ORDER_ITEMS_IN table. You can allocate item numbers manually, by filling in the relevant fields, or the system does it, according to the settings for Customizing, by leaving the relevant fields blank.
    If you have configurable items, you must enter the configuration data in the ORDER_CFGS_REF, ORDER_CFGS_INST, ORDER_CFGS_PART_OF and ORDER_CFGS_VALUE tables.
    Credit cards can be transferred via the BAPICCARD structure, on the one hand, data for card identification, on the other, data for a transaction which has taken place in an external system.
    Once you have created the sales order successfully, you will receive the document number (SALESDOCUMENT field). Any errors that may occur will be announced via the RETURN parameter.
    If no sales area has been created in the sales order header, then the system creates the sales area from the sold-to party or ship-to party, who has been entered in the partner table. If a clear sales area cannot be created, you will receive a system message, and the sales order will not be created.
    Notes
    1. Mandatory entries:
    ORDER_HEADER_IN : DOC_TYPE     Sales document type
                       SALES_ORG    Sales organization
                       DISTR_CHAN   Distribution channel
                       DIVISION     Division
    ORDER_PARTNERS..: PARTN_ROLE   Partner role, SP sold-to party
                       PARTN_NUMB   Customer number
    ORDER_ITEMS_IN..: MATERIAL     Material number
    2. Ship-to party:
    If no ship-to party is entered, use the following: Ship-to party =
    sold-to party.
    3. Commit control:
    The BAPI does not have a database commit. This means that the relevant application must leave the commit, in order that can be carried out on on the database. The BAPI BAPI_TRANSACTION_COMMIT is available for this.
    4. German key words:
    The following key words must be entered in German, independantly of
    the logon language:
    DOC_TYPE     Sales document type, for example: TA for standard order
    PARTN_ROLE   Partner role, for example: WE for ship-to party
    Further information
    You can find further information in the OSS. The note 93091 contains general information on the BAPIs in SD.
    Parameters
    SALESDOCUMENTIN
    ORDER_HEADER_IN
    ORDER_HEADER_INX
    SENDER
    BINARY_RELATIONSHIPTYPE
    INT_NUMBER_ASSIGNMENT
    BEHAVE_WHEN_ERROR
    LOGIC_SWITCH
    TESTRUN
    CONVERT
    SALESDOCUMENT
    RETURN
    ORDER_ITEMS_IN
    ORDER_ITEMS_INX
    ORDER_PARTNERS
    ORDER_SCHEDULES_IN
    ORDER_SCHEDULES_INX
    ORDER_CONDITIONS_IN
    ORDER_CONDITIONS_INX
    ORDER_CFGS_REF
    ORDER_CFGS_INST
    ORDER_CFGS_PART_OF
    ORDER_CFGS_VALUE
    ORDER_CFGS_BLOB
    ORDER_CFGS_VK
    ORDER_CFGS_REFINST
    ORDER_CCARD
    ORDER_TEXT
    ORDER_KEYS
    EXTENSIONIN
    PARTNERADDRESSES
    Exceptions
    Function Group
    2032

  • How to get header and item data in ME_PROCESS_PO_CUST ?

    Hi all,
    How can I get header and item data in me_process_po_cust~process_account ? I have to do some validation for account assignment catagory in item overview.

    Hi ,,
    Further make the following  changes in method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM.
    Get Line item data using method:
    CALL METHOD IM_ITEM->GET_DATA    
      RECEIVING
          RE_DATA = W_ITM_DATA.
    and then validate the item data from structure  W_ITM_DATA..
    Same as follows for Header Records:
    In method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_Header.
    Thanks
    Shambhu

  • Header and item data in po

    Hi,
    What are all the tables from which the data would be taken to display in header and item data in process PO ? From where these data would be taken ?
    Thanks alot.
    Regards, Sunayana N

    ADR10 Printer (Business Address Services)
    ADR11 SSF (Business Address Services)
    ADR12 FTP and URL (Business Address Services)
    ADR13 Pager (Business Address Services)
    ADR2 Telephone Numbers (Business Address Services)
    ADR3 Fax Numbers (Business Address Services)
    ADR4 Teletex Numbers (Business Address Services)
    ADR5 Telex Numbers (Business Address Services)
    ADR6 E-Mail Addresses (Business Address Services)
    ADR7 Remote Mail Addresses (SAP - SAP - Communication; BAS)
    ADR8 X.400 Numbers (Business Address Services)
    ADR9 RFC Destinations (Business Address Services)
    ADRCOMC Comm. Data Serial Number Counter (Business Address Services)
    ADRCT Address Texts (Business Address Services)
    ADRG Assignment of Addresses to Other Address Groups (BAS)
    ADRGP Assignment of Persons to Further Person Groups (BAS)
    ADRT Communication Data Text (Business Address Services)
    ADRU Table for Communication Usages
    ADRV Address Where-Used List (Business Address Services)
    ADRVP Person Where-Used List (Business Address Services)
    BBP_PDACC Account Assignment
    BBP_PDATT Document Attachment
    BBP_PDBEH Backend Specific Header Data
    BBP_PDBEI Backend Specific Item Data
    BBP_PDBGP Partner Extension Gen. Purchasing Data
    BBP_PDBINREL Transaction Object Linkage (EBP)
    BBP_PDCON Purchase Order Item Confirmation
    BBP_PDHAD_V Business Transaction Versions
    BBP_PDHCF Set for Tabular Customer and Solution Fields on Hdr
    BBP_PDHGP Business Transaction Purchasing Information
    BBP_PDHSC Header Extension for Customer Fields
    BBP_PDHSS Hdr Extension for SAP Internal Enhancements (IBUs and so on)
    BBP_PDIAD_V Business transaction item
    BBP_PDICF Set for Tabluar Customer and Solution Fields on Itm
    BBP_PDIGP Business Transaction Item-Purchasing Information
    BBP_PDISC Item Extension for Customer Fields
    BBP_PDISS Item Ext. for SAP Internal Enhancements (IBUs and so on)
    BBP_PDLIM Value Limit
    BBP_PDLINK_V Transaction - Set - Link
    BBP_PDORG Purchasing Organizational Unit
    BBP_PDPSET Further Procurement Information
    BBP_PDTAX Tax
    BBP_PDTOL Tolerances
    CDCLS Cluster structure for change documents
    CDHDR Change document header
    CDPOS_STR Additional Change Document - Table for STRINGs
    CDPOS_UID Additional Table for Inclusion of TABKEY>70 Characters
    CRMD_LINK Transaction - Set - Link
    CRMD_ORDERADM_HBusiness Transaction
    CRMD_ORDERADM_IBusiness Transaction Item
    CRMD_PARTNER Partners
    CRM_JCDO Change Documents for Status Object (Table JSTO)
    CRM_JCDS Change Documents for System/User Statuses (Table JEST)
    CRM_JEST Individual Object Status
    CRM_JSTO Status Object Information
    SROBLROLB Persistent Roles of BOR Objects
    SROBLROLC Persistent Roles of Business Classes
    SRRELROLES Object Relationship Service: Roles
    STXB SAPscript: Texts in non-SAPscript format
    STXH STXD SAPscript text file header
    STXL STXD SAPscript text file lines
    TOA01 Link table 1
    TOA02 Link table 2
    TOA03 Link table 3
    TOAHR Container table for HR administration level
    TCURR- Exchange table

  • Reading fixed length file with different record types

    Hi,
    I need to read a fixed-length file with different record types, but the record identifier is in 31st position and not in 1st position.
    But if I give 31 as position in File adpater wizard, BPEL takes whole 1-31 as identifier.
    How we need to read such files.
    Thanks
    Ravdeep

    hi ,
    u cannot use the default wzard for this
    use some thing like this nxsd:lookAhead="30" nxsd:lookFor="S"have a look at the below link it has some examples
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/nfb.htm

  • Splitting Clip into Scene and managing everything

    Hello (this is for Adobe Premiere Element 10),
    Can scene be saved somewhere ? i.e. I have a 10 minute video clip which I like to make a movie with. I want to split it into 4 scene and then use these scene in my project.
    The only way I see how to do scene is to bring the whole video in the sceneline, set in/out point then drag again the whole video in the sceneline and set different in/out.
    I would have tought that it be a bit like  lightroom where you make a 'virtual copy' of the video which result in a scene and you then work with that scene.
    Especially since there does not seem to be a  way to put a scene on the side. i.e. you can either delete it completely from the scenline or leave it there. All the training video people have convenient 5-10 sec video clip which does not really reflect reality (at least not mine )
    Am I wrong in thinking this way ?
    thank in  advance
    dave

    Dave,
    Welcome to the forum.
    The easiest workflow, at least to me, yielding the ultimate quality results, is as follows:
    Import the large Clip into your Project, where it will appear in the Project Panel
    Dbl-click on it there, to Open it into the Source Monitor
    Set the In Point, for the first "sub-clip," and then navigate to the end of where wish that "sub-clip" to end, and set the Out Point
    Drag that Instance of the Clip (now seen as the "sub-clip" to the Timeline
    Go back to the Source Monitor, and navigate to where you want the next "sub-clip" to begin, setting its In Point, and then navigate to where you wish to have that "sub-clip" end, and set it Out Point
    Drag that Instance of the Clip to the Timeline
    Repeat for as many "sub-clips," as you need
    That is how most video editors work. PrPro even takes it to a whole new level with the Trim Monitor, for four-point editing.
    Hope that helps, and good luck,
    Hunt
    PS - I put quotes around the lower-case "sub-clips," because in some NLE (Non Linear Editor) programs, there is an official "Sub-Cliip" function, which is similar to what we are doing, but with some major differences. If one were to Google the term "sub-clip," they may well get confused by some of what they found, as PrE does not support the Export of true "Sub-clips."
    Also, one can have many Instances of a Clip, and each can be identical, or can be vastly different, as we are doing above.

  • "Import" splits takes into clips and loses footage

    When importing footage from both my Sony HDV camcorder (directly) and my Sony DVCAM camcorder (via a Sony DSR-11 deck) to my Mac Mini using firewire cables, FCPX breaks some takes into multiple shorter clips.
    Whilst this could just be annoying, it's much worse than that as it loses footage as it does it, at the unwanted clip breaks.
    FCP Studio used to give the option of auto splitting imports into clips, FCPX appears not to.
    Any ideas for preventing the automatic splitting of takes?
    Thanks.
    P.S. Most recently, my one minute of colour bars is now six separate clips!

    I don't run iMovie 08, so am not entirely familiar with it's use. I think that you can export each iMovie 08 clip to a new iMovie 08 project, then export that new project (containing one clip) to Quicktime, and from there import into iM6 for editing.
    Here are a couple of threads for you to look at.
    http://discussions.apple.com/thread.jspa?messageID=6959493&#6959493
    http://discussions.apple.com/thread.jspa?messageID=6855152&#6855152

  • Sender FILE Adapater Content Conversion: Header and Item Data

    Hi
    I need to pick a file and do the content conversion. The XML structure which should be formed should be in the below format. I have a CSV file which needs to be converted.
    Kindly suggest how can I maintain parameters for Header and Item level data in Recordset structure.
    How can I specify in Recordset parameter which is Header(Customerno, Doc type and Address) and Item level(Line Item) data.
      <?xml version="1.0" encoding="UTF-8" ?>
      <customernumber></customernumber>
      <documenttype></documenttype>
    - <Address>
            <name1></name1>
            <name2></name2>
      </Address>
    - <LineItem>
            <material>100016</material>
            <amount>1000</amount>
    </LineItem>

    Hi Swetank,
    The file after conversion should have one Header and you can have any number of line items.
    Once you choose File Content Conversion in the message protocol header while configuring the Sender File Adapter, you get the following enteries in the Content Conversion Parameters:
    Document Name
    Document Namespace
    Document Offset
    Recordset Name
    Recordset Namespace
    Recordset Structure
    Recordsets per Message
    Key Field Name
    To maintain the Header information, Some entries are mandatory, i.e.
    Recordset Name: Here please specify the name of the structure. It is included in the XML schema.
    Recorset Structure: Here you need to enter the sequence and the number of substructures. Since Header is one but you can have many Line items, you will write:
    customernumber,1,documenttype,1,Address,1,LineItem,*
    this format is clearly explained in the link provided by Divya.
    And in the Additional fields you need to write the name of fields corresponding to different Recorset Structures and also add some property to it, like fixed lengths, use some separators etc.
    and Most important field is:
    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. This means that 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.
    Here you need to enter LineItem as it is the only Recordset Structure with an *.
    I hope this solves your problem,
    Thanks and Regards,
    Varun Joshi

  • Header and Item Data Extraction

    Hi Gurus,
    For reporting needs, I have to extract both Sales Billing Header (2LIS_13_VDHDR) and Item Data (2LIS_13_VDITM).
    Can anyone please give me some idea about the Data Staging.
    1.  Do I need to create 2 DSO (1 for Header and 1 for Item) for loading the respective Data and then push them into 1 Cube ?
    Or
    2.   I create 2 Cubes (1 for Header and 1 for Item) and load the Data into them.
    Or
    3.   I extract both Data Sources into 1 DSO or 1 Cube.
    I have to do reporting on MultiProvider so in all 3 cases (OR as you suggest) I have to link all the InfoProvider to 1 MultiProvider.
    Please let me know the right way and guide me ASAP.
    Points will be awarded !!!

    Hi as you are loading with the standard Business content datasources for the cubes , it is better to load for their respective cubes which are in business content. The performance of the system also good ,if we use business content objects.
    Then come to your requirement, just load the data for the Business content cubes for the respected datasource and combine them With Multiproviders and generate reports
    Hope it can help you

  • Difference b/w Header and Item data........

    Hi,
        What is the difference between Header data and Item data ? Please tell me in detail.

    In SAP we have the various Level of Data...
    for example of a Sales Document.
    The Sales Header Data would Contain various bussiness flowws how the document should behave should it be a Sales Order or a Quotation or A frwee of charge delivery.
    Now the Item which you enter in the order the materails I mean will have the controls from the Item Data that you maintain in the Item categories.
    The Sales Order next to be delievered by a delivery so these data goes to the schedule line level control.....
    Hope you will get some light on what is explained above.
    regards,
    Amlan Sarkar

  • Header and Item data

    Hi All,
    I have loaded a DSO, with Hdr data and Item Data,. The Key is DOC_NUM and DOC_ITEM.
    I hv taken a PO number for testing  and henceforth, the data in DSO, shows something like this.
    456000337 >     > 0.00 $
    456000337 > 10 > 1000 $
    456000337 > 20 > 1000 $
    The first row shows the header data and then next two rows is header + Item data.
    I expected the Bex report to show the PO and its 2 items only,, but it shows the header # data also..
    as shown below:
    456000337 >  #   > 0.00 $
    456000337 > 10 > 1000 $
    456000337 > 20 > 1000 $
    Can any 1 please help me, how to restrict this at the data target level only,,
    i can restrict this # query level, but thats nt the solution rt??
    thanks

    Hi,
    The current set up is wrong and this is bound to give wrong result.
    Right now one extra row is separately maintained for the header of same PO doc and I am sure this record will not contains values in the fields which are specific to item.
    Either create two DSO's each for item and header and use an infoset or in one DSO add new fileds specially for header ...
    Not all the fields are specific to items and some header fields are common to items...so you can write routine at the transformation level where you can populate the new added fields for header values only.
    In the queries you can use these columns to see the header information.
    This will make sure that the extra row is changed to new set of columns and you can see the report for desired records only.
    Thanks
    Ajeet

Maybe you are looking for

  • QuickSizer BI

    hello Gurus I want to do the sizing with the quick sizer from marketplace, but i don t have clearly the terms, please send me info about sizing in BI, the help indicates: <b>Business Intelligence SAP NetWeaver Business Intelligence      Find informat

  • HELP!  Leopard & XP Pro are not networking

    Not sure why this is so hard to do! Mac is running 10.5.2. PC is running XP Pro SP2. Both are wirelessly running off a Linksys router. The PC can open the shared files on the Mac. but the Mac can't open the XP shared files. I tried using connect to s

  • Video capture screen cut off at the top

    I am waiting for my new elements 9 to show up on the licensing page, and perhaps this will solve the problem I am having in version 3 (I know, but like I said I am upgrading!) but I would like to import some video from tape and I have a problem I hav

  • Blocking reason

    in which table and wht field  can i find reason for blocking whether it is scotastic block or manual block etc?

  • Question on compatibility for replacing top case

    Hi, I'm replacing the top case on my mid-2007 MBP because the trackpad and keyboard have stopped working. I would just replace the cable, but the case has also suffered some serious cosmetic damage which now prevents the laptop from shutting properly