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"的屬性時即是指同時控制這兩個字段。