EXCLE模板下载

PARAMETERS  p_path LIKE rlgrap-filename.
SELECTION-SCREEN : FUNCTION KEY 1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_path         = 'C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\桌面'
*     MASK             = '.EXCEL 文件 (*.XLS).'
      mode             = 'O'
      title            = '请选择文本文件...'
    IMPORTING
      filename         = p_path
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

INITIALIZATION.
  sscrfields-functxt_01 = '模板下载'.

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      PERFORM frm_down_file ."下载模板
    WHEN OTHERS.
  ENDCASE.

 

 DATA: lv_file          TYPE string,
        lv_path          TYPE string,
        lv_fullpath      TYPE string,
        lv_user_action   TYPE i,
        lv_file_encoding TYPE abap_encod,
        ls_objdata       LIKE wwwdatatab,
        lv_objid         TYPE wwwdatatab-objid,
        lv_errtxt        TYPE string,
        lv_rc            LIKE sy-subrc,
        lv_path1         TYPE rlgrap-filename.


  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      window_title      = '下载模板'
      file_filter       = cl_gui_frontend_services=>filetype_excel
      default_file_name = 'text.xlsx'
      initial_directory = 'C:\'
    CHANGING
      filename          = lv_file
      path              = lv_path
      fullpath          = lv_fullpath
      user_action       = lv_user_action
      file_encoding     = lv_file_encoding
    EXCEPTIONS
      cntl_error        = 1
      error_no_gui      = 2
      OTHERS            = 3.
  IF sy-subrc <> 0 OR lv_file = ''.
    MESSAGE s000(zmm01) WITH '操作已取消'.
    RETURN.
  ENDIF.

  lv_path1 = lv_fullpath.
  lv_objid = ''.  "模板名称
  SELECT SINGLE relid objid FROM wwwdata INTO CORRESPONDING FIELDS OF ls_objdata
  WHERE srtf2 = 0 AND relid = 'MI' AND objid = lv_objid.
  IF sy-subrc NE 0 OR ls_objdata-objid EQ space.
    CONCATENATE '模板文件' lv_objid '不存在' INTO lv_errtxt.
    MESSAGE lv_errtxt TYPE 'E'.
  ENDIF.

  CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    EXPORTING
      key         = ls_objdata
      destination = lv_path1
    IMPORTING
      rc          = lv_rc.

  IF lv_rc NE 0.
    CONCATENATE '模板文件:' ls_objdata-objid '下载失败' INTO lv_errtxt.
    MESSAGE lv_errtxt TYPE 'E'.
  ELSE.
    MESSAGE '模板下载成功' TYPE 'S'.
  ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值