有时候想上传到sap一个模板,比如excel,
以后下载就可以使用该excel格式:
tcode:
smw0
涉及到的表:
参数表:
WWWPARAMS
对象主记录表:WWWDATA
锁定对象FM:ENQUEUE_E_WWW_HTML
对象解锁FM:DEQUEUE_E_WWW_HTML
点
之后保存激活就可以了
下面看如何在程序内使用模板(部分代码)
DATA
: p_file
TYPE ibipparms
-path
.
DATA
: lo_objdata
LIKE wwwdatatab
,
lo_mime
LIKE w3mime
,
lc_filename
TYPE string
VALUE
'zlm_accout'
,
"默认下载名称
lc_fullpath
TYPE string
VALUE
'D:\'
,
lc_path
TYPE string
VALUE
'D:\'
,
ls_destination
LIKE rlgrap
-filename
,
ls_objnam
TYPE string
,
li_rc
LIKE sy
-subrc
,
ls_errtxt
TYPE string
.
DATA
: p_objid
TYPE wwwdatatab
-objid
VALUE
'ZBKT_ACCOUT'
,
p_dest
LIKE sapb
-sappfad
.
DATA
: l_wa_data
LIKE str_account_infor
.
DATA
: row
TYPE int4
.
"保存下载的模板
CALL
METHOD cl_gui_frontend_services
=>file_save_dialog
"调用保存对话框
EXPORTING
default_extension
=
'XLS'
default_file_name
= lc_filename
CHANGING
filename
= lc_filename
path
= lc_path
fullpath
= lc_fullpath
"获取模板保存路径
EXCEPTIONS
cntl_error
=
1
error_no_gui
=
2
not_supported_by_gui
=
3
OTHERS
=
4
.
IF lc_fullpath
=
''
.
*
ENDIF
.
ls_destination
=
lc_fullpath
.
"保存路径
"检查表wwwdata中是否存在所指定的模板文件
SELECT SINGLE relid objid
FROM wwwdata INTO CORRESPONDING FIELDS OF lo_objdata
WHERE srtf2 = 0
AND relid = 'MI'
AND objid = p_objid.
IF sy-subrc NE 0 OR lo_objdata-objid EQ space.
"如果不存在,则给出错误提示
ENDIF.
"下载模板
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = lo_objdata
destination = ls_destination
IMPORTING
rc = li_rc.
IF li_rc NE 0.
*
ENDIF.