ABAP报表的屏幕元素声明与事件 ABAP REPORT SCREEN STATEMENT AND EVENT

初学者对于报表程序里的SCREEN声明与事件很容易弄混,这篇文章帮你正本清源。

报表程序选择屏幕的三大变量元素声明:

SELECTION-SCREEN.  屏幕上的界面控制。
PARAMETERS.  屏幕上出现一个输入参数。
SELECT-OPTIONS.屏幕上出现两个输入参数。

报表程序的三大事件:

一、初始事件:

INITIALIZATION. 程序中最先执行的事件块,一般用于变量初始化。

二、选择屏幕事件:(因为ABAP中的SCREEN编程是单独的一块,所以要调用SCREEN可以按屏幕的特点块来调用)

AT SELECTION-SCREEN.

还包括了可分割为依次执行的若干屏幕事件块:

1、 AT SELECTION-SCREEN OUTPUT

2、AT SELECTION-SCREEN ON {para|selcrit} 

3、AT SELECTION-SCREEN ON END OF selcrit 

4、AT SELECTION-SCREEN ON BLOCK block 

5、AT SELECTION-SCREEN ON RADIOBUTTON GROUP group 

6、AT SELECTION-SCREEN ON {HELP-REQUEST|VALUE-REQUEST} FOR {para|selcrit-low|selcrit-high} 

7、AT SELECTION-SCREEN ON EXIT-COMMAND  最后完成

三、取数事件:

START-OF-SELECTION.

取数。。。

END-OF-SELECTION.

一个完整的ABAP REPORT EVENT 执行顺序的DEMO程序:

*&---------------------------------------------------------------------*
*& REPORT ZSCREEN
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZSCREEN.
TABLES: SFLIGHT.

DATA S TYPE STRING VALUE 'DATA定义,'.

*报表程序的三大变量元素声明:
*SELECTION-SCREEN.  屏幕上的界面控制。
*PARAMETERS.  屏幕上出现一个输入参数。
*SELECT-OPTIONS.屏幕上出现两个输入参数。

SELECTION-SCREEN BEGIN OF BLOCK BLOCK_BODY WITH FRAME.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN COMMENT /1(57) T1 .
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN END OF BLOCK BLOCK_BODY.

PARAMETERS: P_FILE TYPE STRING MODIF ID Z2.

SELECT-OPTIONS: SO_CARR FOR SFLIGHT-CARRID.


*报表程序的三大事件:

INITIALIZATION.
CONCATENATE S 'INIT事件,'  INTO S.

AT SELECTION-SCREEN.
CONCATENATE S 'AT事件,'  INTO S.

AT SELECTION-SCREEN OUTPUT.
CONCATENATE S  'OUTPUT事件,' INTO  S.

AT SELECTION-SCREEN ON EXIT-COMMAND .
CONCATENATE S 'EXIT-COMMAND事件,'  INTO S.

START-OF-SELECTION.
CONCATENATE S 'START-SELECTION事件,'  INTO S.
END-OF-SELECTION.

WRITE:/ S .

执行后的界面和结果:

猜你喜欢

转载自blog.csdn.net/ot512csdn/article/details/105044610