DATA : lt_data TYPE STANDARD TABLE OF alsmex_tabline,
lt_flights TYPE STANDARD TABLE OF sflight,
ls_flight TYPE sflight,
lv_file TYPE string VALUE 'C:\Demo\Test.xlsx'.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = CONV localfile( lv_file )
i_begin_col = 1
i_begin_row = 2
i_end_col = 9999
i_end_row = 9999
TABLES
intern = lt_data
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
"Error
ELSE.
LOOP AT lt_data INTO DATA(ls_data).
ASSIGN COMPONENT ls_data-col OF STRUCTURE ls_flight TO FIELD-SYMBOL(<lfs_fld>).
CASE ls_data-col.
when 4. "Convert Date
if strlen( ls_data-value ) = 10.
ls_data-value = |{ ls_data-value+6(4) }{ ls_data-value+3(2) }{ ls_data-value(2) }|.
else.
ls_data-value = sy-datum.
endif.
when 5 or 10. "Handle Decimal place
REPLACE all OCCURRENCES OF '.' IN ls_data-value WITH ''.
REPLACE all OCCURRENCES OF ',' IN ls_data-value WITH '.'.
ENDCASE.
<lfs_fld> = ls_data-value.
AT END OF row.
APPEND ls_flight TO lt_flights.
ENDAT.
ENDLOOP.
cl_demo_output=>display( lt_flights ).
ENDIF.
Serkan AKKAVAK
Computer Engineer BSc
Head of SAP & Software Department
Contact : serkurumsal@yandex.com
0 Comments