批导程序---下载模板

首先想要在SAP端创建这个模板
事务码:smw0,选择二进制数据
在这里插入图片描述然后输入包名字,这里我自己写在本地了
在这里插入图片描述
进来后选择 “新建” 输入对象名称
在这里插入图片描述

导入后保存激活即可
下面是所有代码

FORM frm_download_excel1 .

  DATA: lo_objdata     LIKE wwwdatatab,
        lo_mime        LIKE w3mime,
        ls_destination LIKE rlgrap-filename,
        ls_objnam      TYPE string,
        li_rc          LIKE sy-subrc,
        ls_errtxt      TYPE string.
  DATA: lv_path         TYPE string,
        lv_fullpath     TYPE string,
        lv_objid        TYPE wwwdatatab-objid,
        lv_filename     TYPE string,
        p_filename(128).

  CONCATENATE TEXT-004 sy-datum '_' sy-uzeit INTO lv_filename."文件名字
  lv_objid = 'ZTEST_6E'."模板  这里一定是SWM0里上传时候写的对象名称

  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      default_extension    = 'XLSX'
      default_file_name    = lv_filename
    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  lv_fullpath = ''.
    RETURN.
  ENDIF.

  IF sy-subrc = 0.
    p_filename = lv_fullpath.
    CONCATENATE p_filename 'X' INTO p_filename.
    PERFORM frm_download_excel_fromserver1 USING lv_objid p_filename.
  ENDIF.

ENDFORM.                    "frm_download_template

FORM frm_download_excel_fromserver1  USING p_objid LIKE wwwdatatab-objid
                                         p_dest.

  DATA: lo_objdata     LIKE wwwdatatab,
        lo_mime        LIKE w3mime,
        ls_destination LIKE rlgrap-filename,
        ls_objnam      TYPE string,
        li_rc          LIKE sy-subrc,
        ls_errtxt      TYPE string.

  CONCATENATE p_objid '.XLSX' INTO ls_objnam.
  CONDENSE ls_objnam NO-GAPS.

  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.
    CONCATENATE '模板文件'  ls_objnam '不存在,请用TCODE:SMW0进行加载' INTO ls_errtxt.
    WRITE: ls_errtxt.
  ENDIF.

  ls_destination   = p_dest.

  CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    EXPORTING
      key         = lo_objdata
      destination = ls_destination
    IMPORTING
      rc          = li_rc.

  IF li_rc NE 0.
    CONCATENATE TEXT-005 ls_objnam '下载失败' INTO ls_errtxt.
    WRITE: ls_errtxt.
  ENDIF.
ENDFORM.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值