ABAP开发中经常需要下载文件到本地或者上传本地文件到sap系统,那么关于文件的路径可以直接在代码中写死,当然也可以动态指定,介绍几种方法;
1,这种是用OO的方式
DATA: l_wk_rc TYPE i,
l_it_file TYPE filetable,
l_wa_ftbl TYPE file_table.
CLEAR: l_wk_rc.
REFRESH: l_it_file.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
initial_directory = 'C:'
CHANGING
file_table = l_it_file
rc = l_wk_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.
READ TABLE l_it_file INDEX 1 INTO l_wa_ftbl.
p_file = l_wa_ftbl-filename.
ELSE.
MESSAGE e999(fz) WITH 'Error for opening the dialog'.
ENDIF.
2,如果觉得上面的那种方法复杂的话,还有个更简单的
3,还有个函数也可以实现动态的指定路径
PARAMETERS p_file TYPE IBIPPARMS-PATH.
CALL FUNCTION 'TB_LIMIT_WS_FILENAME_GET'
EXPORTING
* DEF_FILENAME = ' '
* DEF_PATH = ' '
MASK = ',ALL.FILES,*.*.'
MODE = 'O'
TITLE = '选择文件'
IMPORTING
FILENAME = p_file
* PATH =
* FILE =
EXCEPTIONS
SELECTION_CANCEL = 1
SELECTION_ERROR = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
上述代码需放到AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file下。 |