SELECTION-SCREEN BEGIN OF BLOCK part1 WITH FRAME.
PARAMETERS: number1 TYPE i,
number2 TYPE i,
number3 TYPE i.
SELECTION-SCREEN END OF BLOCK part1.
SELECTION-SCREEN BEGIN OF BLOCK part2 WITH FRAME.
PARAMETERS:number5 TYPE i.
PARAMETERS:number6 TYPE i.
PARAMETERS:number4 TYPE i.
SELECT-OPTIONS:so_1 FOR marc-matnr.
SELECT-OPTIONS:so_2 FOR marc-matnr.
SELECTION-SCREEN END OF BLOCK part2.
INITIALIZATION.
AT SELECTION-SCREEN OUTPUT.
AT SELECTION-SCREEN ON BLOCK part1.
IF number3 LT number2 OR
number3 LT number1 OR
number2 LT number1.
MESSAGE e020(hb).
ENDIF.
AT SELECTION-SCREEN ON BLOCK part2.
IF number6 LT number5 OR
number6 LT number4 OR
number5 LT number4.
MESSAGE e030(hb).
ENDIF.
AT SELECTION-SCREEN ON number4.
IF number4 <> 0.
MESSAGE s010(so).
ENDIF.
-
程序首先回执行初始化 INITIALIZATION.
-
接着执行AT SELECTION SCREEN OUTPUT事件(也就是PBO) ,在这个事件里你可以通过修改系统默认screen内表修改屏幕的某些属性;
-
执行了AT SELECTION SCREEN OUTPUT(PBO)后面就是显示界面。
-
显示界面,侯当你点击按钮或则修改屏幕中的数值,就会触发PAI,即AT SELECTION-SCREEN.
AT SELECTION-SCREEN 有很多种用法:
- ON field:在PARAMETER变化时触发的事件,对于选择屏幕某字段输入的PAI事件,当该字段的值被传递给程序时被触发,可以应用于改字段本身的正确性检查,如可系统提示错误,则可以在该字段中重新输入,此时其他元素呈灰色,不接受输入
- ON END OF sel :SELECT-OPTION触发的事件,用于整个选择表输入结束后各行的检查
- ON VALUE-REQUEST FOR psel_low_high :当光标位于某屏幕字段时,选择的帮助(F4)
- ON HELP-REQUEST FOR psel_low_high :当光标位于某屏幕字段时,选择的帮助(F1)
- ON RADIOBUTTON GROUP radi :单选按钮事件,必须进行整体输入检查
- ON BLOCK block :框架的触发事件
- 也可以就AT SELECTION-SCREEN. :直接处理,不用判断什么条件
在ON field和ON BLOCK block都有的情况下,即你的field是包含在block中的,会先执行ON field后执行ON BLOCK。
5.最后当你点击了执行按钮后,执行START-OF-SELECTION方法。
百度文库连接
https://wenku.baidu.com/view/97f0b72fcfc789eb172dc8f0.html