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则相反。
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则相反。
相关文章推荐
- 2-10-归并扩展的线性单链表-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- python面向对象具体解释(上)
- c++中派生类的构造函数
- jquery file upload 文件上传插件
- sql查询数据库中所有表名(续)
- 越狱开发:用iosOpenDev配置越狱开发环境 编写第一个hello world
- NSMutableURLRequest实现Post请求
- Spark Hive在Eclipse代码中直接编译问题
- MySQL命令行乱码问题解决
- leetcode -- Course Schedule I && II -- TopSort重点
- 数据结构--期末课程设计
- 关于DevOps你必须知道的11件事
- hping原理、安装、使用详解介绍
- java常用数据,排序,链表等
- C++ 右值引用
- 贪心算法
- 数据结构 ---- 链表
- hping原理、安装、使用详解介绍
- 贪心算法
- oracle表分区详解