ABAP-选择屏幕-按钮

业务需求:

在SAP项目中,会经常碰到如下需求:

在查询报表程序的选择界面,添加按钮;通过点击按钮去完成一些功能(例如:打开一个配置表或者打开一个新的程序)。

具体实现步骤如下

一、定义选择屏幕按钮

选择屏幕按钮,最多可以定义五个!

关键字:SELECTION-SCREEN FUNCTION KEY 1.

*&-----------------------------------------------------------------*
*    定义: 选择界面
*&-----------------------------------------------------------------*
**--选择条件
SELECTION-SCREEN BEGIN OF BLOCK BK01 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VKORG FOR LIKP-VKORG.   "销售组织
SELECTION-SCREEN END OF BLOCK BK01.

**--按钮定义
SELECTION-SCREEN FUNCTION KEY 1.

二、在INITIALIZATION事件下给予按钮图标和名称

*----------------------------------------------------------------------*
*  事件:INITIALIZATION
*----------------------------------------------------------------------*
INITIALIZATION.
**--按钮定义-初始化
  CLEAR LS_FUNCTXT.
  LS_FUNCTXT-ICON_ID   = ICON_TABLE_SETTINGS. "图标,可以通过ICON查找
  LS_FUNCTXT-ICON_TEXT = '业务配置'."描述
  SSCRFIELDS-FUNCTXT_01 = LS_FUNCTXT.

三、在AT SELECTION-SCREEN中实现按钮事件

*----------------------------------------------------------------------*
*  事件: AT SELECTION-SCREEN
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
**--按钮响应
  CASE SSCRFIELDS-UCOMM.
    WHEN 'FC01'.
      MESSAGE '功能开发中.....' TYPE 'I'.
    WHEN OTHERS.
  ENDCASE.

四、完整代码如下:

*&---------------------------------------------------------------------*
*& Report  ZSAP_ABAP_DEMO
*&
*&---------------------------------------------------------------------*
*& Program Name         <程序名称>: ABAP_选择屏幕_按钮
*& Purpose              <程序用途>: 学习演示
*& Project Name         <项目名称>:
*& Created by           <创 建 人>: 哈佛
*& Created on           <创建日期>: 时刻准备着...........
*& Functional Consultant<功能顾问>: biz consultant
*& Description          <功能描述>: ABAP_选择屏幕_按钮
*&---------------------------------------------------------------------*
*              Modification Log<程序修改日志>
*<日期>        <开发者>     <功能顾问>            <修改描述>
* Date        Programmer     Corr. #              请求号+描述
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAP_ABAP_DEMO NO STANDARD PAGE HEADING.

TABLES: LIKP,
        SSCRFIELDS.

*&-----------------------------------------------------------------*
*    定义: 选择界面
*&-----------------------------------------------------------------*
**--选择条件
SELECTION-SCREEN BEGIN OF BLOCK BK01 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VKORG FOR LIKP-VKORG.   "销售组织
SELECTION-SCREEN END OF BLOCK BK01.

**--按钮定义
SELECTION-SCREEN FUNCTION KEY 1.

*&-----------------------------------------------------------------*
*    定义: 变量
*&-----------------------------------------------------------------*
DATA: LS_FUNCTXT TYPE SMP_DYNTXT.

*&-----------------------------------------------------------------*
*    执行:主程序
*&-----------------------------------------------------------------*

*----------------------------------------------------------------------*
*  事件:INITIALIZATION
*----------------------------------------------------------------------*
INITIALIZATION.
**--按钮定义-初始化
  CLEAR LS_FUNCTXT.
  LS_FUNCTXT-ICON_ID   = ICON_TABLE_SETTINGS. "图标,可以通过ICON查找
  LS_FUNCTXT-ICON_TEXT = '业务配置'."描述
  SSCRFIELDS-FUNCTXT_01 = LS_FUNCTXT.

*----------------------------------------------------------------------*
*  事件: AT SELECTION-SCREEN
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
**--按钮响应
  CASE SSCRFIELDS-UCOMM.
    WHEN 'FC01'.
      MESSAGE '功能开发中.....' TYPE 'I'.
    WHEN OTHERS.
  ENDCASE.
*----------------------------------------------------------------------*
*  事件: START-OF-SELECTION
*----------------------------------------------------------------------*
START-OF-SELECTION.
**--主程序
  WRITE 'ABAP_选择屏幕_按钮'.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哈佛2020

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

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

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

打赏作者

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

抵扣说明:

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

余额充值