How to read a flat file into a report?

The file format is like below:
Company Code : BUKRS(header)
Posting Period :3(header)
Then The items data is started as a table format.
Line items in table format.
If anybody knows the answer please share with me.

Use the GUI_UPLOAD Program to upload the file from Presentation server to SAP.
Sample code:
*& Report  Z_UPLOAD_MUNCPCODE                                          *
REPORT  z_upload_muncpcode.
PARAMETERS : p_fname   LIKE rlgrap-filename.
TYPES: BEGIN OF ty_munc,
        land1     TYPE tzone-land1,
        zone1     TYPE tzone-zone1,
        vtext TYPE tzont-vtext,
       END OF ty_munc.
DATA: i_munc   TYPE STANDARD TABLE OF ty_munc,
      i_tzone  TYPE STANDARD TABLE OF tzone,
      i_tzont  TYPE STANDARD TABLE OF tzont,
      wa_munc  TYPE ty_munc,
      wa_tzone TYPE tzone,
      wa_tzont TYPE tzont.
CONSTANTS: c_path     TYPE char20 VALUE 'C:\',
           c_mask     TYPE char9  VALUE ',*.*,*.*.',
           c_mode     TYPE char1  VALUE 'O',
           c_filetype TYPE char10 VALUE 'ASC',
           c_x        TYPE char01 VALUE 'X'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
*-- Browse Presentation Server
  PERFORM f4_presentation_file.
START-OF-SELECTION..
*-- Read presentation server file
  PERFORM f1003_pre_file.
  LOOP AT i_munc INTO wa_munc.
    wa_tzone-mandt = wa_tzont-mandt = sy-mandt.
    wa_tzone-land1 = wa_tzont-land1 = wa_munc-land1.
    wa_tzone-zone1 = wa_tzont-zone1 = wa_munc-zone1.
    wa_tzont-spras = sy-langu.
    wa_tzont-vtext = wa_munc-vtext.
    APPEND wa_tzont TO i_tzont.
    APPEND wa_tzone TO i_tzone.
    CLEAR: wa_munc, wa_tzont, wa_tzone.
  ENDLOOP.
END-OF-SELECTION.
Modify Table TZONT
  PERFORM enqueue_table USING text-001.
  MODIFY tzont FROM TABLE i_tzont.
  PERFORM dequeue_table USING text-001.
Modify Table TZONE
  PERFORM enqueue_table USING text-002.
  MODIFY tzone FROM TABLE i_tzone.
  PERFORM dequeue_table USING text-002.
  WRITE: 'Tables TZONE & TZONT are updated'.
*&                  Form  f4_presentation_file
*&                F4 Help for presentation server
FORM f4_presentation_file .
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_path         = c_path
      mask             = c_mask
      mode             = c_mode
      title            = text-001
    IMPORTING
      filename         = p_fname
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.
  IF sy-subrc <> 0.
   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " f4_presentation_file
*&                      Form  f1003_pre_file
*&                         Upload File
FORM f1003_pre_file .
  DATA: lcl_filename TYPE string.
  lcl_filename = p_fname.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                = lcl_filename
      filetype                = c_filetype
      has_field_separator     = c_x
    TABLES
      data_tab                = i_munc
    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.
    EXIT.
  ENDIF.
ENDFORM.                    " f1003_pre_file
*&                         Form  enqueue_table
*&                           Enqueue Table
FORM enqueue_table USING p_tabname.
  CALL FUNCTION 'ENQUEUE_E_TABLE'
    EXPORTING
      tabname        = p_tabname
    EXCEPTIONS
      foreign_lock   = 1
      system_failure = 2
      OTHERS         = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " enqueue_table
*&                        Form  dequeue_table
*&                           Dequeue Table
FORM dequeue_table USING p_tabname.
  CALL FUNCTION 'DEQUEUE_E_TABLE'
    EXPORTING
      tabname = p_tabname.
ENDFORM.                    " dequeue_table
Prakash.

Similar Messages

  • How to upload a Flat file into sap database if the file is in Appl'n Server

    Hello Sap Experts , Can you tel me
    " How to upload a Flat file into sap database if the file is in Application Server.
    what is Path for that ?
    Plz Tel Me its Urgent
    Thanks for all

    Hi,
    ABAP code for uploading a TAB delimited file into an internal table. See code below for structures.
    *& Report  ZUPLOADTAB                                                  *
    *& Example of Uploading tab delimited file                             *
    REPORT  zuploadtab                    .
    PARAMETERS: p_infile  LIKE rlgrap-filename
                            OBLIGATORY DEFAULT  '/usr/sap/'..
    DATA: ld_file LIKE rlgrap-filename.
    *Internal tabe to store upload data
    TYPES: BEGIN OF t_record,
        name1 like pa0002-VORNA,
        name2 like pa0002-name2,
        age   type i,
        END OF t_record.
    DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
          wa_record TYPE t_record.
    *Text version of data table
    TYPES: begin of t_uploadtxt,
      name1(10) type c,
      name2(15) type c,
      age(5)  type c,
    end of t_uploadtxt.
    DATA: wa_uploadtxt TYPE t_uploadtxt.
    *String value to data in initially.
    DATA: wa_string(255) type c.
    constants: con_tab TYPE x VALUE '09'.
    *If you have Unicode check active in program attributes then you will
    *need to declare constants as follows:
    *class cl_abap_char_utilities definition load.
    *constants:
    *    con_tab  type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
    *START-OF-SELECTION
    START-OF-SELECTION.
    ld_file = p_infile.
    OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc NE 0.
    ELSE.
      DO.
        CLEAR: wa_string, wa_uploadtxt.
        READ DATASET ld_file INTO wa_string.
        IF sy-subrc NE 0.
          EXIT.
        ELSE.
          SPLIT wa_string AT con_tab INTO wa_uploadtxt-name1
                                          wa_uploadtxt-name2
                                          wa_uploadtxt-age.
          MOVE-CORRESPONDING wa_uploadtxt TO wa_upload.
          APPEND wa_upload TO it_record.
        ENDIF.
      ENDDO.
      CLOSE DATASET ld_file.
    ENDIF.
    *END-OF-SELECTION
    END-OF-SELECTION.
    *!! Text data is now contained within the internal table IT_RECORD
    * Display report data for illustration purposes
      loop at it_record into wa_record.
        write:/     sy-vline,
               (10) wa_record-name1, sy-vline,
               (10) wa_record-name2, sy-vline,
               (10) wa_record-age, sy-vline.
      endloop.

  • Reading a flat file into Oracle

    Can someone tell me the best way to read a flat file into Oracle8i?

    You can use SQL*Loader
    or programmatically with UTL_FILE package.
    (Please see documentation of SQL*Loader
    and using predefine package UTL_FILE)

  • How to read\write text file into oracle database.

    Hello,
    I am having text file called getInfo in c:\temp folder. I would like to populate data from text file to data base. How to proceed. Could anybody help me out.
    Thanks,
    Shailu

    Here is a web page with easy to follow instructions regarding external files: http://www.adp-gmbh.ch/ora/misc/ext_table.html.
    Now I understand what all the excitement is over external tables.
    "External tables can read flat files (that follow some rules) as though they were ordinary (although read-only) Oracle tables. Therefore, it is convenient to use external tables to load flat files into the DB." -from the above link.

  • How to read a flat file from the batch

    Hi,
    We have a requirement to read a flat file in the custom java batch in ETM2.2. We have the file at a specific location.
    can some one let me know what are the various options, we have to read a flat file.
    Thanks,
    Sharath Kumar G.

    Is it referring to some "Process X" batch?
    And why MPL/XAI with or without Configuration Tools should not be used to do this and a custom Java batch is required?

  • How to read/write .CSV file into CLOB column in a table of Oracle 10g

    I have a requirement which is nothing but a table has two column
    create table emp_data (empid number, report clob)
    Here REPORT column is CLOB data type which used to load the data from the .csv file.
    The requirement here is
    1) How to load data from .CSV file into CLOB column along with empid using DBMS_lob utility
    2) How to read report columns which should return all the columns present in the .CSV file (dynamically because every csv file may have different number of columns) along with the primariy key empid).
    eg: empid report_field1 report_field2
    1 x y
    Any help would be appreciated.

    If I understand you right, you want each row in your table to contain an emp_id and the complete text of a multi-record .csv file.
    It's not clear how you relate emp_id to the appropriate file to be read. Is the emp_id stored in the csv file?
    To read the file, you can use functions from [UTL_FILE|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#BABGGEDF] (as long as the file is in a directory accessible to the Oracle server):
    declare
        lt_report_clob CLOB;
        l_max_line_length integer := 1024;   -- set as high as the longest line in your file
        l_infile UTL_FILE.file_type;
        l_buffer varchar2(1024);
        l_emp_id report_table.emp_id%type := 123; -- not clear where emp_id comes from
        l_filename varchar2(200) := 'my_file_name.csv';   -- get this from somewhere
    begin
       -- open the file; we assume an Oracle directory has already been created
        l_infile := utl_file.fopen('CSV_DIRECTORY', l_filename, 'r', l_max_line_length);
        -- initialise the empty clob
        dbms_lob.createtemporary(lt_report_clob, TRUE, DBMS_LOB.session);
        loop
          begin
             utl_file.get_line(l_infile, l_buffer);
             dbms_lob.append(lt_report_clob, l_buffer);
          exception
             when no_data_found then
                 exit;
          end;
        end loop;
        insert into report_table (emp_id, report)
        values (l_emp_id, lt_report_clob);
        -- free the temporary lob
        dbms_lob.freetemporary(lt_report_clob);
       -- close the file
       UTL_FILE.fclose(l_infile);
    end;This simple line-by-line approach is easy to understand, and gives you an opportunity (if you want) to take each line in the file and transform it (for example, you could transform it into a nested table, or into XML). However it can be rather slow if there are many records in the csv file - the lob_append operation is not particularly efficient. I was able to improve the efficiency by caching the lines in a VARCHAR2 up to a maximum cache size, and only then appending to the LOB - see [three posts on my blog|http://preferisco.blogspot.com/search/label/lob].
    There is at least one other possibility:
    - you could use [DBMS_LOB.loadclobfromfile|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_lob.htm#i998978]. I've not tried this before myself, but I think the procedure is described [here in the 9i docs|http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96591/adl12bfl.htm#879711]. This is likely to be faster than UTL_FILE (because it is all happening in the underlying DBMS_LOB package, possibly in a native way).
    That's all for now. I haven't yet answered your question on how to report data back out of the CLOB. I would like to know how you associate employees with files; what happens if there is > 1 file per employee, etc.
    HTH
    Regards Nigel
    Edited by: nthomas on Mar 2, 2009 11:22 AM - don't forget to fclose the file...

  • How to load a flat file into BW-BPS using Web Browser

    Hello, i have a problem with the "How to do Paper". I want to upload a Excel CSV file , but the paper only describes a txt file Uplaod. Does anybody can help me ?Thanks !

    You need to parse the line coming in from the flat file...
    You can do this with generic types in your flat file structure (string). 
    Then you loop through the table of strings that is your flat file and parse the string so that it breaks up the line for each comma.  There is an ABAP command called: SPLIT - syntax is as follows:
    SPLIT dobj AT sep INTO
          { {result1 result2 ...} | {TABLE result_tab} }
          [IN {BYTE|CHARACTER} MODE].
    Regards,
    Zane

  • How to dump a flat file into database?

    hi guys,
    I am new to jdbc. I am trying to transfer some data from flat file to database. What I can think of now is to create an array that is big enough to hold the entire file, dump the content of file in it and then store the array of data into database using insert statement. But this seems to be memory consuming especially when the file is very large. So could anyone tell me a more efficient way of doing that? thanks a lot.

    hi guys,
    I am new to jdbc. I am trying to transfer some data from flat file to database. What I can think of now is to create an array that is big enough to hold the entire file, dump the content of file in it and then store the array of data into database using insert statement. But this seems to be memory consuming especially when the file is very large. So could anyone tell me a more efficient way of doing that? thanks a lot.

  • How to upload a flat file into a Z DB table

    Hi All,
    For a planning application I would like to permit our users to upload a flat file to a internal table to be persisted on to any given database Z Table. From here we would use it in a planning application.
    Please kindly share the code and approach to implement this in BSP.
    Thanks
    Karen

    Hi Karen,
    Check the links mentioned below.
    [Excel to internal table|Excel to Internal table in BSP;
    [upload excel into BSP|upload excel sheet into BSP application;
    The two links show how to convert an excel file data to internal table in BSP application.Similarly you can convert the flat file data to internal table and then modify the Z DB table to store the data from internal table.
    Regards,
    Anubhav

  • How to read an excel file into the datatable in sdk code( AddonApplication)

    Hi Experts,
    Please let me know the code ,how to write an excel file to the datatable and based on the datatable it should write to the database table.
    help would be appreciated...
    Regards,
    Vijay Kumar
    Edited by: Haroon Rasheed on Oct 29, 2011 10:40 PM

    Hi,
    You may check: Read Excel File by Sheet then put it in Matrix
    Thanks,
    Gordon

  • How to read a gif file into the java file?

    i want to read an image(*.gif) file into my appication. can u plz help me in this?

    Hi
    I have made a program that display images here is the code i hope it helps
    package ImageProcessing;
    import java.awt.Image;
    import java.awt.image.ImageObserver;
    import java.awt.image.RenderedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class ImageProcessing
         public static Image imRead(String imagePath)
              Image im = null;
              try
                   File imageFile = new File(imagePath);
                   im = ImageIO.read(imageFile);
              catch(Exception e)
                   e.printStackTrace();
              return im;
         public void imWrite(Image im,String fileFormat,String imagePath) throws IOException
              File outputFile = new File(imagePath);
              ImageIO.write((RenderedImage) im, fileFormat, outputFile);
         public static void imShow(String imagePath)
              ImageObserver io = null;          
              JFrame frame = new JFrame();
              Image im = imRead(imagePath);
              ShowImage imShow = new ShowImage(im);
              frame.add(imShow);          
              frame.setVisible(true);
              frame.setTitle(imagePath);
              frame.setSize(im.getWidth(io),im.getHeight(io));
              frame.setResizable(false);
              frame.show();
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         public static void main(String[] args) throws IOException
              imShow("D:\\My Computer\\Images\\Cash2.gif");          
    package ImageProcessing;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Panel;
    public class ShowImage extends Panel
           Image im;
           public ShowImage(Image inputIm)
             im = inputIm;
           public void paint(Graphics g)
             g.drawImage(im, 0, 0, null);
    }

  • How to read the CSV Files into Database Table

    Hi
    Friends i have a Table called tblstudent this has the following fields Student ID, StudentName ,Class,Father_Name, Mother_Name.
    Now i have a CSV File with 1500 records with all These Fields. Now in my Program there is a need for me to read all these Records into this Table tblstudent.
    Note: I have got already 2000 records in the Table tblstudent now i would like to read all these CSV File records into the Table tblstudent.
    Please give me some examples to do this
    Thank your for your service
    Cheers
    Jofin

    1) Read the CSV file line by line using BufferedReader.
    2) Convert each line (record) to a List and add it to a parent List. If you know the columns before, you might use a List of DTO's.
    3) Finally save the two-dimensional List or the List of DTO's into the datatable using plain JDBC or any kind of ORM (Hibernate and so on).
    This article contains some useful code snippets to parse a CSV: http://balusc.xs4all.nl/srv/dev-jep-csv.html

  • How to impor the pdf file into crystal report

    I try to import the whole pdf into the crystal report. But when I import it, I can only import the first page of the PDF. Can anyone give me some suggestions? Thank you.

    PDFs do not easily import into Crystal Reports.
    Fuskie
    Who is not sure why you would want to insert a PDF file into a Crystal Report...

  • How to read a remote file into a db

    I need to open and read a file, and then insert records according into several tables. How can i do that, when the file is not on the same maschine as the db itself.
    Thanks!
    Daniel

    Use sql*loader. You can load a file on your PC or a network directory.

  • Help! How to read a .txt file into a Java class and make 2D array?

    Hi guys,
    Im a newbie with arrays, just started really using them.. please bear with me if I don't seem to understand much..
    I have a .txt file that contains either a square or rectangle (random width and length).. How can I read each line into a Java class into a 2D array with rows and columns?

    Example :
    import javax.swing.*;
    import java.util.ArrayList;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.File;
    public class ReadInto2DArrayExample {
        public static void main(String[] args) {
            ArrayList array = new ArrayList();
            char [][] twoDimesionArray = null;
            try
                JFileChooser fileChooser = new JFileChooser();
                if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
                    File file = fileChooser.getSelectedFile();
                    BufferedReader reader = new BufferedReader(new FileReader(file));
                    String data;
                    //Read from file
                    while ((data = reader.readLine()) != null)
                        //Convert data to char array and add into array
                        array.add(data.toCharArray());
                    reader.close();
                    //Creating a 2D char array base on the array size
                    twoDimesionArray = new char [array.size()][];
                    //Convert array from ArrayList to 2D array
                    for (int i = 0; i < array.size(); i++)
                        twoDimesionArray[i] = (char [])array.get(i);
                    //Test the 2D Array
                    for (int y = 0; y < twoDimesionArray.length; y++)
                        char [] temp = twoDimesionArray[y];
                        for (int x = 0; x < temp.length; x ++ )
                            System.out.print(temp[x]);
                        System.out.println("");
            catch (Exception ex)
                ex.printStackTrace();
    }

Maybe you are looking for

  • How to delete already imported photos?

    So, I connected my camera to my computer and ran iPhoto to import some of the pictures. Since most of them were videos, I left my computer to do the import overnight. My camera doesn't charge while importing, so it turned off, luckily my selected pho

  • Get first and last day given month name with combobox

    hi guys ; I loaded to month name in combobox and I want to get first and last day by the name of month from selected Combobox So if I select to february than results get 01.02.2015 and 28.02.2015 if select March than 01.03.2015 and 31.03.2015 Thanks

  • SCCm 2007 what is SQL table name for Status Message details

    Can some one tell me below snapshot content data in which SCCM SQL table [email protected]

  • For GRC 5.3 can I use the SAP GRC 5.2 rule set

    We are going for an upgrade to GRC 5.3,  I have a small concern here.... Can I use the same ruleset what I used in GRC 5.2 to SAP GRC5.3 ...? because when I checked ruleset at permission level in GRC 5.2 it displays first object of an action from one

  • How to change cursor size in InDesign?

    My InDesign cursor suddenly became huge after the previous before last update. I can't find any settings in preferences, but probably I'm looking in the wrong place.