• 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.

     

     

  • 相关阅读:
    mysql分表场景分析与简单分表操作
    Linux内嵌汇编
    window 和 linux x64差别
    sourcetree和gitlab配置图解
    QT如何管理组件(解决“要继续此操作,至少需要一个有效且已启用的储存库”问题)
    QT5.x应用在Mac OS X和Windows平台的发布过程
    python中读写二进制文件
    mysql分表的3种方法
    MySQL-C++封装类
    MySQL删除数据库时无响应解决办法
  • 原文地址:https://www.cnblogs.com/sanlly/p/3285404.html
Copyright © 2020-2023  润新知