事件流(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
返回一個處理塊。
事件執行順序: