abap视图字段限制_ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段

本文介绍了如何使用ABAP在选择屏幕输出时动态修改屏幕,通过LOOP AT SCREEN来隐藏或禁止输入特定字段。根据R1和R2的单选按钮选择,分别显示或隐藏B1和B2区块。同时强调了动态修改屏幕时必须注意的事项,如设置USER-COMMAND以实现单击事件。此外,解释了SCREEN结构中的各个字段属性及其作用。
摘要由CSDN通过智能技术生成

Loop at screen会loop处理屏幕上的每一个组件,并对其做相应的处理。

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME.

PARAMETERS S_DATE TYPE DATUM   DEFAULT SY-DATUM MODIF ID OO.

SELECTION-SCREEN: END OF BLOCK B1.

SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME.

SELECT-OPTIONS: S_DATE2 FOR SY-DATUM  MODIF ID PP.

SELECTION-SCREEN: END OF BLOCK B2.

SELECTION-SCREEN: BEGIN OF BLOCK B3 WITH FRAME.

PARAMETERS : R1 RADIOBUTTON GROUP D1 DEFAULT 'X' USER-COMMAND SINGLECLICK,

R2 RADIOBUTTON GROUP D1 .

SELECTION-SCREEN: END OF BLOCK B3.

选择r1 的时候只显示B1;r2时候只显示B2

AT SELECTION-SCREEN OUTPUT.

IF R1 = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'PP'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF R2 = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'OO'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

Modiy屏幕的时候,如果屏幕有必输字段则不能修改,只有把必输项输入值后才能修改屏幕,需要有所取舍;

注意:

PARAMETERS : R1 RADIOBUTTON GROUP D1 DEFAULT 'X' USER-COMMAND SINGLECLICK,  红色这一段话必须有,否则不能动态修改屏幕;选择一次单选框就会触发一次atselection-screen output,实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值