REPORT ztest_weng_01.
TABLES: ALSMEX_TABLINE.
DATA:BEGIN OF iexcel OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA:END OF iexcel.
DATA: BEGIN OF DATA_TAB OCCURS 0,
VALUE_0001(50),
VALUE_0002(50),
VALUE_0003(50),
VALUE_0004(50). "(???????)
DATA: END OF DATA_TAB.
DATA: TIND(4) TYPE N.
DATA: ZWFELD(19).
FIELD-SYMBOLS: <FS1>.
PARAMETERS: path LIKE RLGRAP-FILENAME MEMORY ID M01.
*PARAMETERS: path TYPE localfile,NOHEADER AS CHECKBOX.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = path
i_begin_col = 1
i_begin_row = 1
i_end_col = 100
i_end_row = 1000
TABLES
intern = iexcel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
WRITE:/ 'READ FLLE ERROR',path.
ELSE.
SORT IEXCEL BY ROW COL.
LOOP AT IEXCEL.
* IF NOHEADER = 'X'
* AND IEXCEL-ROW = 1.
* CONTINUE.
* ENDIF.
TIND = IEXCEL-COL.
CONCATENATE 'DATA_TAB-VALUE_' TIND INTO ZWFELD.
ASSIGN (ZWFELD) TO <FS1>.
<FS1> = IEXCEL-VALUE.
AT END OF ROW.
APPEND DATA_TAB.
WRITE:/
* 'data_tab ',
DATA_TAB-VALUE_0001, DATA_TAB-VALUE_0002,
DATA_TAB-VALUE_0003, DATA_TAB-VALUE_0004.
CLEAR DATA_TAB.
ENDAT.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR path.
PERFORM choose_input_file USING path.
*&---------------------------------------------------------------------*
*& Form choose_input_file
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PA_PATH text
*----------------------------------------------------------------------*
FORM choose_input_file USING pa_path.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = '*.*'
def_path = 'D:/'
mask = ',*.*.'
mode = 'w'
title = 'Choose Input'
IMPORTING
filename = pa_path
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
ENDFORM. "choose_input_file