ABAP-报表的事件

来源:互联网 发布:java下载图片 编辑:程序博客网 时间:2024/05/17 22:29

 

一,  首先介绍一下 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

设置屏幕标题,在屏幕显示之前调用。