一,? 首先介紹一下 ABAP 的程序的類型:
Program type (程序類型)
|
Introductory statement (類型描述)
|
1
|
REPORT (報表)
|
M
|
PROGRAM (屏幕程序)
|
F
|
FUNCTION-POOL (函數(shù)組)
|
K
|
CLASS-POOL (類組)
|
J
|
CLASS-POOL (接口組)
|
T
|
TYPE-POOL (類型池)
|
二,? 下面介紹報表中用到的事件以及作用 :
1.????? LOAD-OF-PROGRAM :程序開始執(zhí)行時候自動調(diào)用
這個事件在 SUBMIT , CALL TRANSACTION , PERFORM 等執(zhí)行的時候系統(tǒng)會自動調(diào)用這個事件。所以無需聲明即可。
2.????? INITIALIZATION
( 1 ) . 只能用于報表程序
( 2 ) . 在選擇屏幕出現(xiàn)之前執(zhí)行,如果用邏輯數(shù)據(jù)庫的話,這個是唯一能夠修改選擇屏幕初始值的地方。
( 3 ) . 通常的用法是在這里給選擇屏幕中的字段賦值。
3.????? AT SELECTION-SCREEN
( 1 ) . 其實就像一個 FORM ,所以在這個事件里聲明的變量都是局部變量。
( 2 ) . 根據(jù) SY-UCOMM 這個系統(tǒng)變量可以判斷用戶的命令
( 3 ) . 在這個事件里響應(yīng)的是屏幕上選擇條件中的事件,例如 CHECKBOX 的選擇與否, RADIOBUTTON 的選擇, LISTBOX 的選擇等等。所以分為以下幾個方面:
1. ... ON psel :在 PARAMETER 變化是觸發(fā)的事件
2. ... ON END OF sel : SELECT-OPTION 觸發(fā)的事件
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 :框架的觸發(fā)事件
7. ... OUTPUT :響應(yīng)屏幕上的事件,修改選擇屏幕的唯一方法
4.????? START-OF-SELECTION
報表程序必須執(zhí)行的事件,在進入第二屏幕之前觸發(fā)。
5.????? GET
獲得邏輯數(shù)據(jù)庫的值。前提是必須首先聲明邏輯數(shù)據(jù)庫。
6.????? END-OF-SELECTION
第二屏幕顯示完畢,結(jié)束處理。
7.????? MODULE
這個是當(dāng)你調(diào)用自己定義的屏幕時,響應(yīng)屏幕事件的方法。
8.????? ENDMODULE
9.????? CHECK
只對邏輯數(shù)據(jù)庫使用,檢查是否取得數(shù)據(jù)。
10.?? REJECT
同樣只對邏輯數(shù)據(jù)庫使用,退出。
11.?? STOP
結(jié)束一個處理塊。
12.?? RETURN
返回一個處理塊。
三,? 附加說明:
1.????? SET PF-STATUS :
基本語法格式: SET PF-STATUS pfstat.
擴展:
1. ... EXCLUDING f oder ... EXCLUDING itab
????? 這個是設(shè)置屏幕菜單,命令行等的命令,詳細(xì)地信息我會在后面關(guān)于菜單設(shè)計的時候說明。
2.????? SET TITLEBAR :
設(shè)置屏幕標(biāo)題,在屏幕顯示之前調(diào)用。