上传模板
EXCEL 文档是通过 SMW0 上传的。SMW0 导入的对象都存储在表 WWWDATA 中,ABAP下载文件的逻辑就是从 WWWDATA 表获取要下载的文件的信息并执行下载。
-
选择模板类型

-
根据Package和Name查找模板

-
编辑模板

-
创建模板,维护名称和描述后从本地选择文件上传

下载模板
通过 METHOD 或则 BAPI 的方法下载服务器上的模板文件到本地。
- CALL FUNCTION ‘DOWNLOAD_WEB_OBJECT’:下载 Web 模板到指定目录,提示保存
FORM frm_download_excel_template .
DATA: lt_filetab TYPE filetable,
lv_rc TYPE sy-subrc,
lv_temp,
lv_data_new LIKE wwwdatatab,
lv_download_path TYPE rlgrap-filename.
CLEAR: lt_filetab,lv_rc.
REFRESH: lt_filetab.
* Open dialog
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
default_filename = '*.xlsx'
" initial_directory = 'C:\' "
" multiselection = ''"
CHANGING
file_table = lt_filetab
rc = lv_rc
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
* Get file path
CHECK lv_rc EQ 1.
CLEAR lv_download_path.
READ TABLE lit_filetab INDEX 1 INTO lv_download_path.
* Download a Web Template
CLEAR: lv_data_new,lv_rc,lv_temp.
lv_data_new-relid = 'MI'.
lv_data_new-objid = 'ZFIDUL'. "SAP 服务器模板"
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = lv_data_new
destination = lv_download_path
IMPORTING
rc = lv_rc
CHANGING
temp = lv_temp.
IF lv_rc NE 0.
MESSAGE 'Download template failed' TYPE 'E'.
ELSE.
MESSAGE 'Download template success' TYPE 'S'.
ENDIF.
ENDFORM. "frm_download_excel_template"