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 .

執行後的界面和結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章