ABAP 选择屏幕按钮

导语:在做一些批导程序,或者程序附带配置表的时候,需要用到选择屏幕按钮,下面分享一下如何实现选择屏幕按钮。

一、定义选择屏幕按钮

选择屏幕按钮,SAP给预留了五个,也就是说最多可以定义五个,随着选择屏幕一起定义。

关键字:SELECTION-SCREEN FUNCTION KEY 1.
最多可以写到KEY 5.

TABLES :t001,sscrfields.
SELECTION-SCREEN BEGIN OF BLOCK blc_001 WITH FRAME TITLE TEXT-001.
  PARAMETERS : p_werks TYPE werks_d.
  SELECT-OPTIONS : s_bukrs FOR t001-bukrs.
SELECTION-SCREEN END OF BLOCK blc_001.
"增加预留的选择屏幕按钮
SELECTION-SCREEN FUNCTION KEY 1.

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

INITIALIZATION."初始化

  PERFORM frm_botton.
*&---------------------------------------------------------------------*
*& Form frm_botton
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_botton .
  DATA:functxt  TYPE smp_dyntxt.
  CLEAR functxt.
  functxt-icon_id   = icon_table_settings. "图标,可以通过ICON查找
  functxt-icon_text = '维护【学生信息表】'."描述
  sscrfields-functxt_01 = functxt.
  "如果还有其他按钮依次添加到functxt_02、functxt_03、functxt_04、functxt_05中

ENDFORM.

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

AT SELECTION-SCREEN.

  PERFORM frm_botton_command.
*&---------------------------------------------------------------------*
*& Form frm_botton_command
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_botton_command .
  "在相对应的按钮下写实现功能
  CASE sscrfields-ucomm..
    WHEN 'FC01'. "识别按钮
    WHEN 'FC02'. "识别按钮
    WHEN 'FC03'. "识别按钮
    WHEN 'FC04'. "识别按钮
    WHEN 'FC05'. "识别按钮
  ENDCASE.

ENDFORM.

四、完整代码

TABLES :t001,sscrfields.
SELECTION-SCREEN BEGIN OF BLOCK blc_001 WITH FRAME TITLE TEXT-001.
  PARAMETERS : p_werks TYPE werks_d.
  SELECT-OPTIONS : s_bukrs FOR t001-bukrs.
SELECTION-SCREEN END OF BLOCK blc_001.
"增加预留的选择屏幕按钮
SELECTION-SCREEN FUNCTION KEY 1.

INITIALIZATION."初始化

  PERFORM frm_botton.

AT SELECTION-SCREEN.

  PERFORM frm_botton_command.

START-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form frm_botton
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_botton .
  DATA:functxt  TYPE smp_dyntxt.
  CLEAR functxt.
  functxt-icon_id   = icon_table_settings."icon_view_form
  functxt-icon_text = '维护【学生信息表】'.
  sscrfields-functxt_01 = functxt.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_botton_command
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_botton_command .

  CASE sscrfields-ucomm..
    WHEN 'FC01'. "识别按钮

  ENDCASE.

ENDFORM.

五、效果展示

在这里插入图片描述

作者:小飞猪猪猪猪猪猪猪–CSDN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小飞猪猪猪猪猪猪猪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值