Skip to Content
avatar image
Former Member

How to use GUI_upload for Uploading a CSV file in Microsoft Excel.

Hi Guys,

can anybody tell me how to Upload the CSV format file in Microsoft excel sheet?

Thanks,

Gopi.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Apr 22, 2008 at 03:31 AM

    Hi Gopi,

    u can use GUI_UPLOAD, TEXT_CONVERT_XLS_TO_SAP.

    Please check these codes.

    Uploading data from CSV file format into internal table using GUI_UPLOAD

    REPORT zupload MESSAGE-ID bd.
    
    DATA: w_tab TYPE ZTEST.
    DATA: i_tab TYPE STANDARD TABLE OF ZTEST.
    
    DATA: v_subrc(2),
    v_recswritten(6).
    
    PARAMETERS: p_file(80)
    DEFAULT 'C:\Temp\ZTEST.TXT'.
    
    DATA: filename TYPE string,
    w_ans(1) TYPE c.
    
    filename = p_file.
    
    
    CALL FUNCTION 'POPUP_TO_CONFIRM'
    EXPORTING
    titlebar = 'Upload Confirmation'
    * DIAGNOSE_OBJECT = ' '
    text_question = p_file
    text_button_1 = 'Yes'(001)
    * ICON_BUTTON_1 = ' '
    text_button_2 = 'No'(002)
    * ICON_BUTTON_2 = ' '
    default_button = '2'
    * DISPLAY_CANCEL_BUTTON = 'X'
    * USERDEFINED_F1_HELP = ' '
    * START_COLUMN = 25
    * START_ROW = 6
    * POPUP_TYPE =
    * IV_QUICKINFO_BUTTON_1 = ' '
    * IV_QUICKINFO_BUTTON_2 = ' '
    IMPORTING
    answer = w_ans
    * TABLES
    * PARAMETER =
    * EXCEPTIONS
    * TEXT_NOT_FOUND = 1
    * OTHERS = 2
    .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    
    CHECK w_ans = 1.
    
    
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = filename
    * FILETYPE = 'ASC
    has_field_separator = 'X'
    * HEADER_LENGTH = 0
    * READ_BY_LINE = 'X'
    * IMPORTING
    * FILELENGTH =
    * HEADER =
    TABLES
    data_tab = i_tab
    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.
    
    * SYST FIELDS ARE NOT SET BY THIS FUNCTION SO DISPLAY THE ERROR CODE *
    
    IF sy-subrc <> 0.
    v_subrc = sy-subrc.
    MESSAGE e899 WITH 'File Open Error' v_subrc.
    ENDIF.
    
    
    INSERT ZTEST FROM TABLE i_tab.
    
    COMMIT WORK AND WAIT.
    
    MESSAGE i899 WITH sy-dbcnt 'Records Written to ZTEST'.

    Uploading data from Excel file format into internal table using TEXT_CONVERT_XLS_TO_SAP

    REPORT  zupload_excel_to_itab.
    
    TYPE-POOLS: truxs.
    
    PARAMETERS: p_file TYPE  rlgrap-filename.
    
    TYPES: BEGIN OF t_datatab,
          col1(30)    TYPE c,
          col2(30)    TYPE c,
          col3(30)    TYPE c,
          END OF t_datatab.
    DATA: it_datatab type standard table of t_datatab,
          wa_datatab type t_datatab.
    
    DATA: it_raw TYPE truxs_t_text_data.
    
    * At selection screen
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          field_name = 'P_FILE'
        IMPORTING
          file_name  = p_file.
    
    
    ***********************************************************************
    *START-OF-SELECTION.
    START-OF-SELECTION.
    
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
    *     I_FIELD_SEPERATOR        =
          i_line_header            =  'X'
          i_tab_raw_data           =  it_raw       " WORK TABLE
          i_filename               =  p_file
        TABLES
          i_tab_converted_data     = it_datatab[]    "ACTUAL DATA
       EXCEPTIONS
          conversion_failed        = 1
          OTHERS                   = 2.
    
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    
    
    ***********************************************************************
    * END-OF-SELECTION.
    END-OF-SELECTION.
      LOOP AT it_datatab INTO wa_datatab.
        WRITE:/ wa_datatab-col1,
                wa_datatab-col2,
                wa_datatab-col3.
      ENDLOOP.

    reward if helpful

    raam

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 22, 2008 at 02:33 AM

    Hi,

    GUI_UPLOAD function module used to upload the file from local system to the internal table.

    eg:

    Call the function module and pass the parameters filename (File Path), file type and field separator. And internal table.

    You can download this data into your system in excel sheet.

    Use GUI_DOWNLOAD to download the data into excel sheet.

    eg:

    Call the function module GUI_DOWNLOAD.

    give the path address with file name like 'file.xls'.

    Regards,

    Bhanu

    Add comment
    10|10000 characters needed characters exceeded