1.
设置选择屏幕参数.
***begin(end) of block
使用屏幕元素逻辑块.
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TITLE1.
***
定义选择标准,
比如那些屏幕子段使用范围,
设置为必选或使用内存ID
等.
SELECT-OPTIONS <seltab> FOR <f> DEFAULT|NO INTERVALS|OBLIGATORY|NO-DISPLAY|MEMORY ID...
***
要在选择屏幕上书写文本使用屏幕注释并在屏幕初始化时赋值.
SELECTION-SCREEN COMMENT ...
***
在屏幕上画线.
SELECTION-SCREEN ULINE ...
***Begind(end)of line
包含的屏幕参数将在同一条直线上.
SELECTION-SCREEN BEGIN OF LINE...
SELECTION-SCREEN END OF LINE...
***
设置屏幕位置.
SELECTION-SCREEN POSITION...
***
在应用工具条上创建按钮响应事件
SELECTION-SCREEN FUNCTION KEY...
***
在屏幕上创建按钮.
SELECTION SCREEN PUSHBUTTON ...
SELECTION-SCREEN END OF BLOCK BK1.
INITIALIZATION.
***
初始化屏幕参数,
类似VB
的Form_load
事件***
AT SELECTION-SCREEN <on help(value)-request for field|>.
***
系统选择屏幕时的过程处理,
比如需要判断一些屏幕字段的条件限制如为某些值则***
显示error message,
程序没有必要浪费时间继续执行下去.
***on help-request
可为屏幕字段显示自定义帮助
***on value-request
可显示建议列表值
***
可这样理解AT selection-screen
相当于 PBO.
***PERFORM sub_validate_FieldXXX .
***
选屏后按Enter
或F8
运行时都会执行.
START-OF-SELECTION .
***
设置内表值,
处理没有附加关键字的所有语句.
***
通常包含在此的Form
是在按F8后才开始执行.
END-OF_SELECTION .
AT USER-COMMAND.
***
处理用户请求事件,
如报表使用ALV
格式,
通常在call function exporting
*** I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
***
再建立一个子程序form USER_COMMAND USING UCOMM LIKE SY-UCOMM
AT LINE-SELECTION.
***
通常此事件在报表显示后用户在列表中在选择行时触发.
如报表使用的是write
***
就可使用此事件.
*** SET PARAMETER ID 'XXX' FIELD XXX.
*** call transACtion 'XXX' AND SKIP FIRST SCREEN.
TOP-OF-PAGE.
***
显示数据,
使用TOP-OF-PAGE
是在分页时可将定义的页头页尾在每页显示.
*** PERFORM write_page_header(page header
在每页都显示).
*** PERFORM DISPLAY_ALV_DATA.
END-OF-PAGE.