ABAP程序中的事件

ABAP程序中的事件

事件流(6个):

第一部分:可编写选择屏幕界面与数据(变量,内表)

  INITIALIZATION(初始化)

第二部分:选择屏幕上的准备 屏幕上按钮组件详细定义  

多选框的选值推荐和标题栏按钮图标名称

  AT SELECTION-SCREEN(屏幕跳出前)

第三部分:按钮事件,对屏幕上的一些操作

  START-OF-SELECTION(取数据)

第四部分:取数,检查数据,对数据的一些事件,ALV展示

  END-OF-SELECTION(展示数据)

第五部分:可有可无

  TOP-OF-PAGE(普通报表输出页头)

  END-OF-PAGE(普通报表输出页尾)

选择屏幕事件写在INITIALIZATION和START-OF-SELECTION之间,即:初始化和执行之间的事件

1:AT SELECTION-SCREEN OUTPUT.

相当于PBO,即:每次选择屏幕调用之前触发,选择屏幕输出之前,可以根据自己的需要改变。

2:AT SELECTION-SCREEN ON.

相当于PAI,即:屏幕操作时,会触发。可以做正确性检查,或者必输项处理等操作。

3:AT SELECTION-SCREEN ON EXIT-COMMAND.

补充这个事件,可能很多人没用过

即:当点击系统标准按钮,退出,返回,取消的时候,触发此事件。
 

      AT SELECTION-SCREEN OUTPUT(取数据前的 -相当于PBO)

1.      LOAD-OF-PROGRAM:程序开始执行时候自动调用

    这个事件在SUBMIT,CALL TRANSACTION,PERFORM等执行的时候系统会自动调用这个事件。所以无需声明即可。

    2.      INITIALIZATION

    (1).只能用于报表程序

    (2).在选择屏幕出现之前执行,如果用逻辑数据库的话,这个是唯一能够修改选择屏幕初始值的地方。

    (3).通常的用法是在这里给选择屏幕中的字段赋值。

    3.      AT SELECTION-SCREEN

    (1).其实就像一个FORM,所以在这个事件里声明的变量都是局部变量。

    (2).根据SY-UCOMM这个系统变量可以判断用户的命令

    (3).在这个事件里响应的是屏幕上选择条件中的事件,例如CHECKBOX的选择与否,RADIOBUTTON的选择,LISTBOX的选择等等。所以分为以下几个方面:

      1). ... ON psel :在PARAMETER变化是触发的事件

      2). ... ON END OF sel :SELECT-OPTION触发的事件

      3). ... ON VALUE-REQUEST FOR psel_low_high :选择的帮助(F4)

      4). ... ON HELP-REQUEST FOR psel_low_high :选择的帮助(F1)

      5). ... ON RADIOBUTTON GROUP radi :单选按钮事件

      6). ... ON BLOCK block :框架的触发事件

      7). ... OUTPUT :响应屏幕上的事件,修改选择屏幕的唯一方法

    4.      START-OF-SELECTION

    报表程序必须执行的事件,在进入第二屏幕之前触发。

    5.      GET

    获得逻辑数据库的值。前提是必须首先声明逻辑数据库。

    6.      END-OF-SELECTION

    第二屏幕显示完毕,结束处理。

    7.      MODULE

    这个是当你调用自己定义的屏幕时,响应屏幕事件的方法。

    8.      ENDMODULE

    9.      CHECK

    只对逻辑数据库使用,检查是否取得数据。

    10.   REJECT

    同样只对逻辑数据库使用,退出。

    11.   STOP

    结束一个处理块。

    12.   RETURN

    返回一个处理块。

ABAP选择屏幕上方添加按钮

选择屏幕上方添加功能按钮

    • 如图所示:
    • 具体步骤如下
      • 1.在选择屏幕上声明按钮
      • 2.在 INITIALIZATION 中定义按钮的文本和图标
      • 3.在AT SELECTION-SCREEN 模块中响应按钮
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值