关于选择屏幕按钮(ABAP SELECTION-SCREEN按钮)

选择屏幕俩种按钮实现的方式:
《一》 SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2,
FUNCTION KEY 3,
FUNCTION KEY 4,
FUNCTION KEY 5.

使用场景:
在这里插入图片描述

1.在选择界面抬头部分显示
使用方法
1.代码顶部做应用TABLES:sscrfields."必须的 否则下边赋值不认 sscrfields
2.初始事件给按钮赋值文本
INITIALIZATION.
sscrfields-functxt_01 = ‘配置表’.
sscrfields-functxt_02 = ‘配置表2’.
”sscrfields-functxt_03 = ‘配置表3’.
MOVE ‘配置表3’ TO sscrfields-functxt_03.

3.按钮ucomm是固定的‘KEY 1 ’是‘FC01’ ,‘KEY 2’ 是‘FC02’ 以此类推到 ‘KEY 7’
触发事件:
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN ‘FC01’.
WRITE : ‘FC01’.
WHEN ‘FC02’.
WRITE : ‘FC02’.
WHEN ‘FC03’.
WRITE : ‘FC03’.
WHEN OTHERS.
ENDCASE.
或者
CASE sy-ucomm.
WHEN ‘FC01’.
WRITE : ‘FC01’.
WHEN ‘FC02’.
WRITE : ‘FC02’.
WHEN ‘FC03’.
WRITE : ‘FC03’.
WHEN OTHERS.
ENDCASE.
《二》
在这里插入图片描述

SELECTION SCREEN PUSHBUTTON [/] <pos(len)>
USER-COMMAND [MODIF ID ].
SELECTION-SCREEN PUSHBUTTON [/] <pos(len)> USER-COMMAND [MODIF ID ]
<pos(len)>:PUSHBUTTON按钮在屏幕生成的位置与长度。
:PUSHBUTTON按钮的名称,给按钮赋值时要用到名字。
:必须指定的字符代码,当用户在选择屏幕上触发按钮时,被输入到词典对象字段:SSCRFIELDS-UCOMM中。
需要注意的是,必须显式使用语句TABLES引用SSCRFIELDS。否则将会报如下错误:
如果是用 SY-UCOMM 也可以不用 TABLES引用SSCRFIELDS。
之前在别的资料里看到 USER-COMMAND 必须指定最 多为 4 字符的代码,测试过了 这个不是必须的大于4个也是可以的。
例:
SELECTION-SCREEN PUSHBUTTON 1(20) but1 USER-COMMAND search. "
给按钮添加图片和文本在INITIALIZATION事件或者 AT SELECTION-SCREEN OUTPUT.事件中。

INITIALIZATION./ AT SELECTION-SCREEN OUTPUT.
CALL FUNCTION ‘ICON_CREATE’ " 给按钮添加图标和文本
EXPORTING
name = ‘ICON_EXPORT’ " 按钮的图片的名字 ICON_EXPORT
text = ‘导入模版’ "按钮的文本
info = ‘功能’
IMPORTING
result = but1
EXCEPTIONS
OTHERS = 0.
或者
WRITE ICON_OKAY AS ICON TO PUBU2. "给PUBU2按钮添加图标,并且在给按钮赋值之前,否则将会把文字替换。

CONCATENATE PUBU2 ‘My Second Button’ INTO PUBU2 SEPARATED BY SPACE. "给第二个按钮添加赋值描述
或者
直接赋值文本:
MOVE ‘CALL NEXT SCREEN’ TO but1. "给PUBU1按钮赋值描述
或者
but1 = ‘CALL NEXT SCREEN’ .
定义搜索按钮
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN ‘SEARCH’.
write:‘’.
WHEN OTHERS.
ENDCASE.
或者
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN ‘SEARCH’.
write:‘’.
WHEN OTHERS.
ENDCASE.

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值