screen结构里的字段是赋予加到屏幕的字段的属性,可以这样子说屏幕上的一个字段就如其它开发语言的一个控件,而screen里的字段就是这个控件的属性。
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"时是该功能的相反。
如定义了屏幕字段parameters:s_wers LIKE t001w-werks MODIF ID mod.
name字段是指屏幕字段s_werks的的名字,即name的值为s_werks。
但在屏幕里不能使用name来控制字段s_werks,需要使用GROUP1这四个字段的值来控制;
如上述定义了s_werks的group1为mod,当需要控制字段s_werks在屏幕上是否显示或其它时,可使用以下代码:
LOOP AT SCREEN.
CHECK SCREEN-GROUP1 = 'mod'.
SCREEN-INPUT = '0'. "表示字段s_werks只用于显示不能输入
... "同样其它属性也是同上面来控制
MODIFY SCREEN.
ENDLOOP.
对于group1属性可以同时定义多个屏幕字段为同一个id,如:
parameters:s_werks LIKE t001w-werks MODIF ID mod,
s_matnr LIKE marc-matnr MODIF ID mod.
当控制"mod"的属性时即是指同时控制这两个字段。