ABAP 模板文件上传下载

此功能使用SAP标准模板文件功能:SMW0

第一步 选择你需要创建的模板存储类型

2.输入存储包,查询既存的模板文件

3,结果画面选择新建,输入对象名称和描述,导入自己的模板(需要修改模板点击修改笔就可以)

保存到对应的传入依赖就可以了,这样可以把模板文件跟程序一起传输到生产机

 

模板传输好后,用户需要下载模板文件

  DATA: lv_filename    TYPE string,
        lv_path        TYPE string,
        lv_fullpath    TYPE string,
        lv_user_action TYPE i,
        lv_destination LIKE rlgrap-filename,
        ls_objdata     LIKE wwwdatatab,
        lv_objid       TYPE wwwdatatab-objid,
        lv_rc          TYPE sy-subrc.

  CHECK sy-ucomm = 'DOWN'.

  lv_filename = '物料主数据批量导入'.

  CONCATENATE sy-datum
              '_'
              sy-uzeit
              '_'
              lv_filename
         INTO lv_filename.

* 获取模板保存路劲

  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
*     window_title         =
      default_extension    = 'XLSX'
      default_file_name    = lv_filename
*     with_encoding        =
*     file_filter          =
      initial_directory    = lv_path
*     prompt_on_overwrite  = 'X'
    CHANGING
      filename             = lv_filename
      path                 = lv_path
      fullpath             = lv_fullpath
      user_action          = lv_user_action
*     file_encoding        =
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    CLEAR: lv_destination.
    lv_destination = lv_fullpath.
  ENDIF.

  CHECK lv_user_action <> 9.

  SELECT SINGLE relid objid
    FROM wwwdata
    INTO CORRESPONDING FIELDS OF ls_objdata
   WHERE srtf2 = 0
     AND objid = c_objid                        "导入模板时输入的对象名称
     AND relid = 'MI'.
  IF sy-subrc = 0.
    CLEAR: lv_rc.
    CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'                   "#EC *
      EXPORTING
        key         = ls_objdata
        destination = lv_destination
      IMPORTING
        rc          = lv_rc.
    IF lv_rc NE 0.
      MESSAGE '该数据模板不存在!' TYPE 'E'.
    ELSE.
      MESSAGE '模板下载成功' TYPE 'S'.
    ENDIF.
  ELSE.
    MESSAGE '该数据模板不存在!' TYPE 'E'.
  ENDIF.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随记随心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值