DATA: BEGIN OF gt_file OCCURS 0, line TYPE c LENGTH 400, END OF gt_file. PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY DEFAULT 'C:\'. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. PERFORM z_upload_file. START-OF-SELECTION. PERFORM z_load_file. FORM z_load_file. DATA: lv_arq TYPE string, vl_extab TYPE slis_t_extab. * Abre arquivo de entrada. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = p_file filetype = 'ASC' TABLES data_tab = gt_arquivo. IF sy-subrc <> 0. MESSAGE 'Error upload file' TYPE 'I'. EXIT. ENDIF. ENDFORM. " z_load_file FORM z_upload_file. DATA: ret TYPE int4, act TYPE int4. DATA: t_file TYPE TABLE OF file_table, s_file TYPE file_table. CLEAR: t_file[]. CALL METHOD cl_gui_frontend_services=>file_open_dialog EXPORTING window_title = 'Abrir...' default_extension = '*.txt|*.csv|*.*' file_filter = ' TXT (*.txt)|*.txt| CSV(*.csv)|*.csv| Todas(*.*)|*.* ' multiselection = space CHANGING file_table = t_file[] rc = ret user_action = act EXCEPTIONS file_open_dialog_failed = 1 cntl_error = 2 error_no_gui = 3 not_supported_by_gui = 4 OTHERS = 5. IF sy-subrc EQ 0. READ TABLE t_file INTO s_file INDEX 1. MOVE s_file TO p_file. ENDIF. ENDFORM. "z_upload_file