一,?
首先介紹一下
ABAP
的程序的類型:
Program type
(程序類型)
|
Introductory statement
(類型描述)
|
1
|
REPORT
(報表)
|
M
|
PROGRAM
(屏幕程序)
|
F
|
FUNCTION-POOL
(函數組)
|
K
|
CLASS-POOL
(類組)
|
J
|
CLASS-POOL
(接口組)
|
T
|
TYPE-POOL
(類型池)
|
二,?
下面介紹報表中用到的事件以及作用
:
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
返回一個處理塊。
三,?
附加說明:
1.?????
SET PF-STATUS
:
基本語法格式:
SET PF-STATUS pfstat.
擴展:
1.
... EXCLUDING f
oder
... EXCLUDING itab
2.
... IMMEDIATELY
3.
... OF PROGRAM progname
?????
這個是設置屏幕菜單,命令行等的命令,詳細地信息我會在后面關于菜單設計的時候說明。
2.?????
SET TITLEBAR
:
設置屏幕標題,在屏幕顯示之前調用。