这个form可以打开指定类型文件(默认最近的目录),返回该文件的路径和名称。
*&---------------------------------------------------------------------*
*& form frm_sel_file
*&---------------------------------------------------------------------*
* text 选择文件
*----------------------------------------------------------------------*
form frm_sel_file changing po_path.
data:
lt_filetable type filetable,
ls_filetable type file_table,
lv_rc type sy-subrc,
lv_filename type string.
"lv_initial_path type string value 'c:\'.
clear lv_filename.
lv_filename = p_path.
call method cl_gui_frontend_services=>file_open_dialog
exporting
default_filename = lv_filename
file_filter = cl_gui_frontend_services=>filetype_excel
" initial_directory = lv_initial_path
changing
file_table = lt_filetable
rc = lv_rc
exceptions
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4.
if sy-subrc ne 0 or lv_rc lt 0.
message '上传文件选择失败' TYPE 'I'."上传文件选择失败
else.
if lv_rc = 1.
read table lt_filetable into ls_filetable index 1.
po_path = ls_filetable-filename.
else.
exit.
endif.
endif.
endform.
报表程序中使用:
at selection-screen on value-request for p_path.
perform frm_sel_file changing p_path.