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 .

执行后的界面和结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值