ABAP 事件及其执行顺序
事件流(6个):
INITIALIZATION(初始化)
AT SELECTION-SCREEN(屏幕跳出前)
START-OF-SELECTION(取数据)
END-OF-SELECTION(展示数据)
TOP-OF-PAGE(普通报表输出页头)
END-OF-PAGE(普通报表输出页尾)
1. LOAD-OF-PROGRAM:程序开始执行时候自动调用
这个事件在SUBMIT,CALL TRANSACTION,PERFORM等执行的时候系统会自动调用这个事件。所以无需声明即可。
2. INITIALIZATION
(1).只能用于报表程序
(2).在选择屏幕出现之前执行,如果用逻辑数据库的话,这个是唯一能够修改选择屏幕初始值的地方。
(3).通常的用法是在这里给选择屏幕中的字段赋值。
3. AT SELECTION-SCREEN
(1).其实就像一个FORM,所以在这个事件里声明的变量都是局部变量。
(2).根据SY-UCOMM这个系统变量可以判断用户的命令
(3).在这个事件里响应的是屏幕上选择条件中的事件,例如CHECKBOX的选择与否,RADIOBUTTON的选择,LISTBOX的选择等等。所以分为以下几个方面:
1). ... ON psel :在PARAMETER变化是触发的事件
2). ... ON END OF sel :SELECT-OPTION触发的事件
3). ... ON VALUE-REQUEST FOR psel_low_high :选择的帮助(F4)
4). ... ON HELP-REQUEST FOR psel_low_high :选择的帮助(F1)
5). ... ON RADIOBUTTON GROUP radi :单选按钮事件
6). ... ON BLOCK block :框架的触发事件
7). ... OUTPUT :响应屏幕上的事件,修改选择屏幕的唯一方法
4. START-OF-SELECTION
报表程序必须执行的事件,在进入第二屏幕之前触发。
5. GET
获得逻辑数据库的值。前提是必须首先声明逻辑数据库。
6. END-OF-SELECTION
第二屏幕显示完毕,结束处理。
7. MODULE
这个是当你调用自己定义的屏幕时,响应屏幕事件的方法。
8. ENDMODULE
9. CHECK
只对逻辑数据库使用,检查是否取得数据。
10. REJECT
同样只对逻辑数据库使用,退出。
11. STOP
结束一个处理块。
12. RETURN
返回一个处理块。
事件执行顺序:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏