DATA:c_export_filename_xls TYPE string VALUE '模板名称.xlsx', "导出模板默认文件名
c_objid_xls TYPE wwwdatatab-objid VALUE '模板在swm0中的ID'. "存放模板的对象id
DATA: lo_objdata LIKE wwwdatatab, "Excel模板对象
ls_destination LIKE rlgrap-filename, "下载保存的目标路径
lc_path TYPE string, "存储路径
lc_fullpath TYPE string, "文件完整路径
li_rc LIKE sy-subrc. "返回值
DATA :l_obj TYPE REF TO cl_gui_frontend_services .
DATA: l_path TYPE string,l_fpath TYPE string,l_rc TYPE i.
* 检查模板是否存在
SELECT SINGLE relid objid FROM wwwdata INTO CORRESPONDING FIELDS OF lo_objdata
WHERE srtf2 = 0
AND relid = 'MI'
AND objid = c_objid_xls.
IF sy-subrc NE 0 OR lo_objdata-objid EQ space.
MESSAGE '还未上传模板,无法下载' TYPE 'E'.
ENDIF.
CREATE OBJECT l_obj .
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
* WINDOW_TITLE =
file_filter = '.xls|.xlsx'
initial_directory = 'C:'
default_extension = 'XLSX' "默认保存文件格式
default_file_name = c_export_filename_xls "默认文件名称
* WITH_ENCODING =
* FILE_FILTER =
* INITIAL_DIRECTORY =
* PROMPT_ON_OVERWRITE = 'X'
CHANGING
filename = c_export_filename_xls "默认文件名称
path = l_path "文件路径
fullpath = lc_fullpath "文件路径
user_action = l_rc
* FILE_ENCODING =
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE '保存文件出错!' TYPE 'E'.
ENDIF.
IF l_rc <> 0."l_rc=0,表示按下确认按钮,9表示取消
"STOP.
RETURN.
ENDIF.
* 下载模板
ls_destination = lc_fullpath.
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = lo_objdata
destination = ls_destination
IMPORTING
rc = li_rc.
IF li_rc NE 0.
MESSAGE e027(zfimsg) WITH c_export_filename_xls.
ENDIF.
sap--下载smw0上传的模板
最新推荐文章于 2024-08-11 23:57:00 发布