SAP屏幕事件的控制

1. INITALIZATION事件

  该事件在屏幕未显示之前执行,对程序设置值及屏幕元素进行初始化赋值。


REPORT  Y001.

PARAMETERS QUAL_DAY TYPE DEFAULT SY-DATUM.

INITIALIZATION.
QUAL_DAY+6(2'01'.
QUAL_DAY QUAL_DAY 3."当天日期-3

2. START-OF-SELECTION事件

   在单击执行按钮后触发该事件.

REPORT  Y001.
PARAMETERS QUAL_DAY TYPE DEFAULT SY-DATUM.

INITIALIZATION.
QUAL_DAY QUAL_DAY + 1."当天日期+1

START-OF-SELECTION."在单击执行按钮后触发该事件
WRITE:'DATE:',QUAL_DAY.

点击执行按钮

3. END-OF-SELECTION事件

该事件应用于所有数据处理完成,即START-OF-SELECTION相关事件执行完成,但输出屏幕还未显示之前。在实际开发中,主要应用于一些执行结果的检验等。其输出数据叠加于同一输出屏幕中,如下例:


REPORT  Y001.
PARAMETERS QUAL_DAY TYPE DEFAULT SY-DATUM.

INITIALIZATION.
QUAL_DAY QUAL_DAY + 1."当天日期+1

START-OF-SELECTION."在单击执行按钮后触发该事件
WRITE:'DATE:',QUAL_DAY.

END-OF-SELECTION.
IF QUAL_DAY <> SYST-DATUM.
WRITE:'Today is'SYST-DATUM.
ENDIF.

点击执行,

4. 屏幕事件的中止

  ABAP中主要通过以下 语法来实现屏幕事件的中止:

4.1) EXIT:中止某一事件模块,如START-OF-SELECTION,但是不影响其他事件的执行。

4.2)  REJECT:功能与EXIT基本一致。

PARAMETERS QUAL_DAY TYPE DEFAULT SY-DATUM.

INITIALIZATION.
QUAL_DAY QUAL_DAY + 1."当天日期+1

START-OF-SELECTION."在单击执行按钮后触发该事件
*EXIT."若在此加入EXIT,表示从此处开始中此
WRITE:'DATE:',QUAL_DAY.

END-OF-SELECTION.
EXIT."若在此加入EXIT,表示从此处开始中此
IF QUAL_DAY <> SYST-DATUM.
WRITE:'Today is'SYST-DATUM.
ENDIF.

 4.3) STOP:強制中止所有事件

例如:

REPORT  Y001.
PARAMETERS QUAL_DAY TYPE DEFAULT SY-DATUM.

INITIALIZATION.
  QUAL_DAY+6(2'01'.
  QUAL_DAY QUAL_DAY 1.

START-OF-SELECTION.
  STOP.
  WRITE'DATE:',QUAL_DAY.
END-OF-SELECTION.

  IF QUAL_DAY <> SYST-DATUM.
    WRITE'Today is',SYST-DATUM.
  ENDIF.

 

 

原文地址:https://www.cnblogs.com/sanlly/p/3285404.html