一,
首先介绍一下
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
:
设置屏幕标题,在屏幕显示之前调用。