*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_19
*&
*&---------------------------------------------------------------------*
*&屏幕事件实例
*&
*&---------------------------------------------------------------------*
REPORT ZTEST_ABAP_19.
**3.1 INITIALIZATION 事件
**
**该事件在屏幕未显示之前执行,可对程序设置值及屏幕元素进行初始化设置
**
**3.2 AT SELECTION-SCREEN OUTPUT 事件
**
**屏幕元素声明完成后执行,并会在程序执行之前优先检查该事件下的所有代码。
** 通常用于对输入值校验数据,如库存是否充足,操作类型是否允许等。
**
**3.3 AT SELECTION-SCREEN ON … 事件
**
**可在程序执行之前指定输入值的校验,与AT SELECTION-SCREEN OUTPUT事件类似;
** 只是OUTPUT事件检查屏幕输入值的校验,而ON 事件则是检查指定的输入值。
** 执行该事件时,其它输入域的输入状态会被锁定。
**
**3.4 AT SELECTION-SCREEN 事件
**
**与前面的 AT SELECTION-SCREEN OUTPUT 和AT SELECTION-SCREEN ON 事件类似,
**
**区别在于执行顺序优先级低于前两者。
**
**3.5 START-OF-SELECTION 事件
**
**开始执行,该事件在执行程序时触发:
**
**3.6 END-OF-SELECTION 事件
**
**该事件应用于所有数据处理完成后,即在START-OF-SELECTION执行完成后,但输出屏幕还未显示前。
**
TABLES: mara.
SELECT-OPTIONS: so_matnr FOR mara-matnr.
PARAMETERS: pa_matnr type mara-matnr.
DATA: gv_init TYPE string,
gv_output TYPE string,
gv_start TYPE string,
gv_end TYPE string.
INITIALIZATION.
gv_init = '01.INITIALIZATION 事件'.
AT SELECTION-SCREEN OUTPUT.
gv_output = '02.AT SELECTION-SCREEN OUTPUT 事件'.
START-OF-SELECTION.
gv_start = '03.START-OF-SELECTION 事件'.
END-OF-SELECTION.
gv_end = '04.END-OF-SELECTION 事件'.
WRITE: /.
WRITE: / gv_init.
WRITE: / gv_output.
WRITE: / gv_start.
WRITE: / gv_end.
WRITE: /.