选择屏幕按钮/下载模板功能

原因:顶部按钮最多只能有5个,大于5个按钮之后,可选择在屏幕内部增加按钮,方法如下

1、在 ZFICOR058_S 里,如下代码:

SELECTION-SCREEN: BEGIN OF BLOCK block4 WITH FRAME TITLE TEXT-004,
    PUSHBUTTON 2(25)  b_1 USER-COMMAND cli1,
    PUSHBUTTON 52(25) b_2 USER-COMMAND cli2 VISIBLE LENGTH 30,
  END OF BLOCK block4.

2、在 AT SELECTION-SCREEN OUTPUT.
              PERFORM frm_modify_screen.   中,命名描述:

  MOVE '成本中心对应清单_模板' TO b_1.         "给but1按钮赋值描述
  MOVE '公司级项目清单_模板' TO b_2.           "给but2按钮赋值描述

完成!下边针对,按钮功能是下载模板的解决方法

功能目的:下载模板

1、在 AT SELECTION-SCREEN.
        PERFORM frm_screen. 中,写如下代码:

FORM frm_screen .
  DATA:lv_viewname  TYPE dd02v-tabname,
       lv_objid     TYPE c LENGTH 40,
       lv_file_name TYPE string.

  CASE sy-ucomm.
    WHEN 'CLI1'.
      lv_objid     = 'ZTFICO050'.
      lv_file_name = '成本中心对应清单_导入模板.xlsx'.
      PERFORM frm_download USING p_path1 lv_objid lv_file_name.
    WHEN 'CLI2'.
      lv_objid     = 'ZTFICO053'.
      lv_file_name = '公司级项目清单_导入模板.xlsx'.
      PERFORM frm_download USING p_path1 lv_objid lv_file_name..
  ENDCASE.

  ENDIF.
endform.

FORM frm_download USING p_path pv_objid pv_file_name.
  DATA: lv_name      LIKE wwwdatatab,
        lv_rc        LIKE sy-subrc,
        lv_file_name TYPE string,
        lv_file_path TYPE string,
        lv_full_path TYPE string.

  CLEAR:lv_full_path,
        lv_file_name,
        lv_file_path.

  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      window_title         = '保存模板文件'
      default_extension    = ',Excel Files,*.xls,All Files,*.*.'
      default_file_name    = pv_file_name
      file_filter          = '*.xlsx|Excel2003(*.xls)|*.xls|Excel2007(*.xlsx)|'
      prompt_on_overwrite  = 'X'
    CHANGING
      filename             = lv_file_name
      path                 = lv_file_path
      fullpath             = lv_full_path
    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.
  ENDIF.

  CHECK lv_full_path IS NOT INITIAL.
  p_path        = lv_full_path.
  lv_name-relid  = 'MI'.
  lv_name-objid  = pv_objid.  "SMW0上传模板的名称

  CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    EXPORTING
      key         = lv_name
      destination = p_path
    IMPORTING
      rc          = lv_rc.
  IF lv_rc <> 0.
    MESSAGE  e001(00) WITH lv_name-objid.
    LEAVE LIST-PROCESSING.
  ENDIF.
ENDFORM.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值