ABAP 报表加自定义按钮

这篇博客介绍了如何在SAP报表中添加自定义功能,包括数据模版下载和日志查看按钮。通过ABAP编程,实现了用户点击按钮后触发下载模板和跳转至日志查看的逻辑。在初始化阶段设置函数文本,并在选择屏幕事件中处理用户输入,以实现特定功能。

很多报表,我们要给它加几个自定义按钮,比如加数据模版下载按钮,转到日志查看按钮等等。

相关联的文章:ABAP上传excel文件模板到SAP服务器



DATA: functxt TYPE smp_dyntxt.
TABLES: sscrfields.
SELECTION-SCREEN: FUNCTION KEY 1,FUNCTION KEY 2."download template.


initialization.


  functxt-icon_id       = icon_xxl.
  functxt-icon_text     = text-002.
  sscrfields-functxt_01 = functxt.

  functxt-icon_id       = ICON_SPOOL_REQUEST.
  functxt-icon_text     = text-003.
  sscrfields-functxt_02 = functxt.


  AT SELECTION-SCREEN.

  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      PERFORM frm_template_down.
    WHEN 'FC02'.
      SUBMIT ZSDR0026 VIA SELECTION-SCREEN.


  ENDCASE.




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

  lv_filename = 'Template Download'.

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

  IF lv_user_action <> 9.
    SELECT SINGLE relid objid
      FROM wwwdata
      INTO CORRESPONDING FIELDS OF  ls_objdata
      WHERE srtf2 = 0
      AND   objid = 'ZSDE0006'
      AND   relid = 'MI'.
    IF sy-subrc = 0.
      CLEAR lv_rc.
      CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
        EXPORTING
          key               = ls_objdata
          destination       = lv_destination
        IMPORTING
          rc                = lv_rc
*    CHANGING
*      TEMP              =
                .
      IF lv_rc EQ 0 .
        MESSAGE  'Template download sucessful.' TYPE 'S'.
      ELSE.
        MESSAGE  'The template is not exit.' TYPE 'S' DISPLAY LIKE 'E'.
      ENDIF.
    ELSE.
      MESSAGE  'The template is not exit.' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.
  ENDIF.
ENDFORM.                    " FRM_TEMPLATE_DOWN.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

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

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

打赏作者

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

抵扣说明:

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

余额充值