TECODE:SMW0.
结果画面选择新建,输入对象名称(这个名称后面代码用到要记住)和描述,导入自己的模板(需要修改模板点击修改笔就可以)
保存到对应的传入依赖就可以了,这样可以把模板文件跟程序一起传输到生产机
代码模块:
AT SELECTION-SCREEN. TABLES: SSCRFIELDS."写入选择屏幕那里的定义
"权限检查
PERFORM FRM_CHECK_AUTH.
"Download
IF SSCRFIELDS-UCOMM = 'DOWN'.
PERFORM FRM_DOWNLOAD_EXCEL.
ENDIF.
FORM FRM_DOWNLOAD_EXCEL .
DATA: LS_WWWDATATAB LIKE WWWDATATAB,
LT_MIME LIKE W3MIME OCCURS 10,
LV_FILENAME TYPE STRING,
LV_PATH TYPE STRING,
LV_FULLPATH TYPE STRING,
WINDOW_TITLE TYPE STRING,
DEFAULT_FILE_NAME TYPE STRING.
DATA: LV_DESTINATION TYPE RLGRAP-FILENAME,
LV_SUBRC TYPE SY-SUBRC.
CLEAR: LS_WWWDATATAB,LT_MIME[],LV_FILENAME,LV_PATH,LV_FULLPATH,WINDOW_TITLE,DEFAULT_FILE_NAME.
LS_WWWDATATAB-RELID = 'MI'. "IMPORT/EXPORT 数据表中的区域
LS_WWWDATATAB-OBJID = 'ZJZSD055'. "这里写入刚刚让记住的模板对象名
LS_WWWDATATAB-TEXT = '涂料基准成本导入模板'. "WWWDATA 对象的短文本
WINDOW_TITLE = '涂料基准成本导入模板'.
DEFAULT_FILE_NAME = '涂料基准成本导入模板'.
CALL FUNCTION 'WWWDATA_IMPORT' "#EC *
EXPORTING
KEY = LS_WWWDATATAB
TABLES
MIME = LT_MIME
EXCEPTIONS
WRONG_OBJECT_TYPE = 1
IMPORT_ERROR = 2
OTHERS = 3.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = WINDOW_TITLE
DEFAULT_EXTENSION = 'xlsx'
DEFAULT_FILE_NAME = DEFAULT_FILE_NAME
* file_filter = 'EXCEL'
CHANGING
FILENAME = LV_FILENAME
PATH = LV_PATH
FULLPATH = LV_FULLPATH
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
STOP.
ENDIF.
IF LV_FULLPATH IS NOT INITIAL.
LV_DESTINATION = LV_FULLPATH.
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
KEY = LS_WWWDATATAB
DESTINATION = LV_DESTINATION
IMPORTING
RC = LV_SUBRC.
IF LV_SUBRC <> 0.
MESSAGE '下载失败' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
ENDIF.
ENDFORM.
完成!