Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Upload Excel sheet

Hi ALL,

Im new to ABAP and have a problem in uploading an excel file from the PC.After the data comes in internal table the data is in the ascii format. Pls help

my code looks as follows.

REPORT ZTESTING1 .

data : begin of t_table occurs 0,

one(9),

two(8),

thr(7),

four(6),

five(5),

six(4),

sev(3),

eig(2),

nin(1),

end of t_table .

data : w_file type string."Variable for File name

selection-screen begin of block param1 with frame title text-001.

selection-screen skip 1.

  • File Name for Upload

parameters : p_file like ibipparms-path obligatory.

selection-screen end of block param1.

at selection-screen on value-request for p_file.

call function 'F4_FILENAME'

exporting

field_name = 'PATH'

importing

file_name = p_file.

start-of-selection .

move : p_file to w_file.

perform upload_data .

FORM upload_data .

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = w_file

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = t_table

.

IF SY-SUBRC <> 0.

write : 'error ' .

ENDIF.

ENDFORM. " upload_data

Tags:
replied

HI ,

I suggest you use ALSM_EXCEL_TO_INTERNAL_TABLE fm

you'll have to declare the itab using the following structure....

data: itab like alsmex_tabline occurs 0 with header line.

TYPES: Begin of t_record,
    name1 like itab-value,
    name2 like itab-value,
    age   like itab-value,
    End of t_record.
DATA: it_record type standard table of t_record initial size 0,
      wa_record type t_record.
DATA: gd_currentrow type i.

*Selection Screen Declaration
*----------------------------
PARAMETER p_infile like rlgrap-filename.


************************************************************************
*START OF SELECTION
 call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
       exporting
            filename                = p_infile
            i_begin_col             = '1'
            i_begin_row             = '2'  "Do not require headings
            i_end_col               = '14'
            i_end_row               = '31'
       tables
            intern                  = itab
       exceptions
            inconsistent_parameters = 1
            upload_ole              = 2
            others                  = 3.
  if sy-subrc <> 0.
    message e010(zz) with text-001. "Problem uploading Excel Spreadsheet
  endif.

* Sort table by rows and colums
  sort itab by row col.

* Get first row retrieved
  read table itab index 1.

* Set first row retrieved to current row
  gd_currentrow = itab-row.

  loop at itab.
*   Reset values for next row
    if itab-row ne gd_currentrow.
      append wa_record to it_record.
      clear wa_record.
      gd_currentrow = itab-row.
    endif.

    case itab-col.
      when '0001'.                              "First name
        wa_record-name1 = itab-value.
      when '0002'.                              "Surname
        wa_record-name2 = itab-value.
      when '0003'.                              "Age
        wa_record-age   = itab-value.
    endcase.
  endloop.
  append wa_record to it_record.
*!! Excel 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.

regards

satesh

0 View this answer in context

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question