Code: Alles auswählen.
FORM sub_get_filename .
DATA: lt_filetable TYPE filetable.
DATA: lf_rc TYPE i,
lv_fname(50) TYPE c,
lv_fext(3) TYPE c.
* Function module to show File open Dialog
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select CSV File Data'
file_filter = '*.csv'
multiselection = abap_false
CHANGING
file_table = lt_filetable
rc = lf_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
DISPLAY LIKE 'E'
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.
* Number of selected filed must be equal to one.
CHECK lf_rc = 1.
* Access selected file
DATA:
ls_file TYPE file_table.
READ TABLE lt_filetable INTO ls_file INDEX 1.
CHECK sy-subrc = 0.
p_filename = ls_file-filename.
SPLIT p_filename AT '.' INTO lv_fname lv_fext.
* Check if Text file is Selected
IF lv_fext NE 'csv'.
* MESSAGE 'Wrong File Type !' TYPE 'I'.
ENDIF.
ENDFORM. "sub_get_filename
Nicht wirklich.km216 hat geschrieben:Deine letzte Frage kann ich dir beantworten.
Dass die Meldung kommt, liegt daran, dass in lv_fext nicht 'csv' steht.
Code: Alles auswählen.
PARAMETERS: p_file TYPE file_table-filename.
Code: Alles auswählen.
AT SELECTION-SCREEN ON VALUE-REQUEST OF p_file.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select CSV File Data'
file_filter = '*.csv'
multiselection = abap_false
CHANGING
file_table = lt_filetable
rc = lf_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
Code: Alles auswählen.
READ TABLE lt_filetable INTO p_file INDEX 1.