To upload an Excel file into SAP using ABAP, you can follow these steps. This example demonstrates how to use the TEXT_CONVERT_XLS_TO_SAP
function module to read data from an Excel file and store it in an internal table.
Create a Selection Screen:
REPORT z_excel_upload.
PARAMETERS: p_file TYPE rlgrap-filename.
DATA: lt_excel TYPE TABLE OF alsmex_tabline,
lv_file TYPE string.
Select the File:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
Read the Excel File:
START-OF-SELECTION.
lv_file = p_file.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = 'X'
i_tab_raw_data = lt_excel
i_filename = lv_file
TABLES
i_tab_converted_data = lt_excel
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
WRITE: / 'Error in file conversion'.
EXIT.
ENDIF.
Process the Data:
LOOP AT lt_excel INTO DATA(ls_excel).
WRITE: / ls_excel-col1, ls_excel-col2, ls_excel-col3.
ENDLOOP.
This code snippet will help you upload an Excel file into SAP and process its data. Make sure to adjust the field names (col1
, col2
, col3
, etc.) according to your Excel file structure.
For more advanced scenarios, you might want to use the CL_FDT_XL_SPREADSHEET
class, which provides more flexibility and supports both SAP GUI and WebGUI environments12.
Would you like more details on any specific part of this process?
1: How to upload Excel to SAP (using ABAP) 2: Easy Excel upload to internal table - ZCL_EXCEL_UPLOADER