您的位置:首页 > 其它

ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段

2015-12-24 20:44 447 查看
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,实现动态修改屏幕.

SCREEN结构解释:

在SAP屏幕中,一个字段就像.NET中的一个控件,这个 字段对应一个SCREEN结构,就像控件的多个属性。

SE11可以查看SCREEN结构中的字段,只是没有备注。

名称 长度 说明

NAME 30 屏幕字段的名称

GROUP1 3 属于字段组1的字段

GROUP2 3 属于字段组2的字段

GROUP3 3 属于字段组3的字段

GROUP4 3 属于字段组4的字段

ACTIVE 1 可见并准备输入的字段

REQUIRED 1 字段输入是强制的,即该值为X是表示该字段必须输入

INPUT 1 字段准备输入

OUTPUT 1 字段仅用于显示

INTENSIFIED 1 高亮显示字段

INVISIBLE 1 禁用字段

LENGTH 1 减少字段输出长度

DISPLAY_3D 1 以三维框架显示字段

VALUE_HELP 1 显示有值帮助的字段

上述长度为1的字段,=1表示有效,=0则相反。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: