首先,我们使用 PARAMETERS 关键字,定义一 ABAP 报表的输入参数,名称为 path,类型为 sting,用于指定我们想将哪一个本地义件,上传到 ABAP 服务器。这个 path 参数,存放的是待上传本地文件在操作系统的绝对路径。用 OBLIGATORY 修饰,意思是必填参数必须维护,否则 ABAP 程序不能继续执行。
使用语法 AT SELECTION-SCREEN ON VALUE-REOUEST FOR 给参数 PATH 定义一个 Value Help
start-of -selection
*&---------------------------------------------------------------------*
*& Report Z_IT023_REPORT_PATH
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_IT023_REPORT_PATH.
PARAMETERS: path TYPE string OBLIGATORY.
DATA: file_content_lines_bin TYPE STANDARD TABLE OF raw255,
file_content_line_bin TYPE raw255,
file_length TYPE int4,
lv_file_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR path.
DATA: filetable TYPE filetable,
selectedfile LIKE LINE OF filetable,
result TYPE int4.
CALL METHOD cl_gui_frontend_services=>file_open_dialog "打开一个文件输入框,用户选定的文件,存储在changIng参数,第28行的filetable里面,使用表结构,表示支持上传多个文件一次性
EXPORTING
window_title = '选择上传文件'
initial_directory = 'C:\Code'
CHANGING
file_table = filetable
rc = result
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE filetable INTO selectedfile INDEX 1.
path = selectedfile-filename.
START-OF-SELECTION.
WRITE:/ path.