SWM0-Excel模板上载以及模板下载程序详解编程语言

SAP系统中用Excel上载数据时,为防止用户用错模板,可以将excel模板保存在SMW0中,每次上载前通过程序再从SMW0下载下来。

1, SMW0 模板上载

Tcode SMW0选择‘Binary data…’选项

2017-02-28_13-30-13

输入package,运行

2017-02-28_13-31-13

进入下一屏后,点击创建按钮添加excel文档,

2017-02-28_13-31-45

如果出现下面的错误,提示’No MIME type assigned to object’,则需要为excel格式的文件创建一个类型,

2017-02-28_13-32-29

MIME type创建通过菜单

2017-02-28_18-18-42

点击新建按钮,输入type和扩展名(extension),保存即可。如下图,type是excel,扩展名是*.xls

2017-02-28_18-19-39

2, 模板下载代码

下载主要通过函数DOWNLOAD_WEB_OBJECT()实现。

代码如下:

REPORT ZTEST_SMW0_DOWNLOAD. 
 
DATA: lwa_wwwdata_tab LIKE wwwdatatab, 
      l_filename      TYPE rlgrap-filename. 
 
 l_filename = 'C:/temp/xx.xlsx'. 
 SELECT SINGLE * 
   FROM wwwdata 
  INNER JOIN tadir 
     ON wwwdata~objid = tadir~obj_name 
   INTO CORRESPONDING FIELDS OF lwa_wwwdata_tab 
  WHERE wwwdata~srtf2  = 0 
    AND wwwdata~relid  = 'MI'             "标识二进制的对象 
    AND tadir~pgmid    = 'R3TR' 
    AND tadir~object   = 'W3MI' 
    AND tadir~obj_name = 'ZGA_NONSTPRICE'."模板名字 
 
  IF sy-subrc = 0. 
    CALL FUNCTION 'DOWNLOAD_WEB_OBJECT' 
      EXPORTING 
        key         = lwa_wwwdata_tab 
        destination = l_filename. 
  ENDIF.

SWM0中内容:

2017-02-28_18-47-36

如果要通过程序上载模板文件到SMW0中,可以用函数UPLOAD_WEB_OBJECT()实现。

以上。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/19220.html

(0)
上一篇 2021年7月19日 21:56
下一篇 2021年7月19日 21:56

相关推荐

发表回复

登录后才能评论