前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP 选择屏幕按钮

ABAP 选择屏幕按钮

作者头像
matinal
发布2023-10-13 19:20:11
1880
发布2023-10-13 19:20:11
举报
文章被收录于专栏:SAP TechnicalSAP Technical

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

一、定义选择屏幕按钮

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

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

代码语言:javascript
复制
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事件下给予按钮图标和名称

代码语言:javascript
复制
INITIALIZATION."初始化

  PERFORM frm_botton.
*&---------------------------------------------------------------------*
*& Form frm_botton
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_botton .

  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中实现按钮事件

代码语言:javascript
复制
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.

四、完整代码

代码语言:javascript
复制
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 .

  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.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、定义选择屏幕按钮
  • 二、在INITIALIZATION事件下给予按钮图标和名称
  • 三、在AT SELECTION-SCREEN中实现按钮事件
  • 四、完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档