SAP 程序事件
SAP 程序事件
1. 报表事件: INITIALIZATION:
程序初始化,类似于C#中的窗体构造函 数 START-OF-SELECTION:选择开始事件(默认事件),在选择屏幕的处理结束后触发 END-OF-SELECTION:选择结束事件,在所有逻辑数据库 处理结束后触发,一般用于输出列表
2. 选择屏幕事件(在INITIALIZATION和START-OF-SELECTION之间触发):
AT SELECTION-SCREEN OUTPUT:选择屏幕的PBO事件 AT SELECTION-SCREEN ... :选择屏幕的PAI事件,有多个附加项
3. 逻辑数据库事件(在START-OF-SELECTION事件结束以后触发,用于选择并整理数据):
GET node ... 选择逻辑数据库中当前级别数据中的数据 GET node LATE 选择逻辑数据库中上一级别数据源中的数据
4. 列表事件(在所有报表过程事件和选择屏幕事件结束之后,开始触发列表事件) TOP-OF-PAGE:
页眉,每个新页面开始时触发 END-OF-PAGE:页脚,当前页面结束前触发 AT-LINE-COMMAND:行选择控制,当用户选择某列表行时触发 AT-USER-COMMAND:用户交互控制
5. 一般报表的触发过程:
(1) 1型程序开始时,LOAD-OF-PROGRAM触发,运行时环境将为该程序在应用服务器中分配程序上下文以及相关内存区域存储内表数据对象,接下来的程序流程将由ABAP运行时环境控制
( ABAP处理器)
(2) INITIALIZATION事件触发
(3) 如果有选择屏幕,则在每次屏幕输出之前触发AT SELECTION-SCREEN OUTPUT,运行时环境将选择屏幕发送至显示服务器 ;如果用户在选择屏幕中输入某些值后执行某些功能,
系统将 触发AT SELECTION-SCREEN事件,为用户提示消息信息等。整个过程由屏幕处理器和ABAP处理器交互处理,系统自动在其中进行切换
(4) 当用户按下Execute按钮后,系统回收对程序的控制,触发START-OF-SELECTION
(5) 如果有逻辑数据库,则触发GET和GET LATE。
(6) 最后将触发END-OF-SELECTION事件,此后系统运行时环境将控制交给显示服务器
(7) 列表输出过程中将触发TOP-OF-PAGE和END-OF-PAGE。当用户点击Back返回选择屏幕时,LOAD-OF-PROGRAM和INITIALIZATION不会触发
(8) 如果列表存在交互事件,则会在满足交互条件的时候触发。
6. 事件块的终止(以下语句除STOP外若存在于循环中,则仅跳出该循环) :
(1) STOP. 终止当前事件块并跳转至END-OF-SELECTION;若在END-OF-SELECTION中有STOP则直接退出。
(2) EXIT. 离开所有事件块并转到列表输出页面(即EXIT之前已经被输出的内容)
(3) CHECK. 如果CHECK条件为假,则转到下一个事件块

浙公网安备 33010602011771号