CL_GUI_FRONTEND_SERVICES之GUI_UPLOAD示例
时间: 2023-07-08 08:42:11 浏览: 57
好的,下面是CL_GUI_FRONTEND_SERVICES之GUI_UPLOAD的示例代码:
```
DATA: gv_filename TYPE string,
gt_data TYPE STANDARD TABLE OF string.
* 显示打开文件对话框
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Choose File'
initial_directory = 'C:\'
multiselection = abap_false
default_extension = 'txt'
CHANGING
file_table = gt_file.
* 如果用户选择了一个文件,那么读取文件内容
IF sy-subrc EQ 0 AND NOT gt_file[] IS INITIAL.
gv_filename = gt_file[ 1 ]-filename.
* 读取文件内容
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = gv_filename
filetype = 'ASC'
CHANGING
data_tab = gt_data
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
header_not_allowed = 8
separator_not_allowed = 9
header_too_long = 10
unknown_dp_error = 11
access_denied = 12
dp_out_of_memory = 13
disk_full = 14
dp_timeout = 15
OTHERS = 16.
* 显示文件内容
IF sy-subrc EQ 0 AND NOT gt_data[] IS INITIAL.
LOOP AT gt_data INTO DATA(ls_data).
WRITE: / ls_data.
ENDLOOP.
ENDIF.
ENDIF.
```
这段代码使用了CL_GUI_FRONTEND_SERVICES的GUI_UPLOAD方法来读取用户选择的文件内容,并将内容存储在内部表gt_data中,最后将内容输出到屏幕上。