• 屏幕事件控制器


    SAP程序的执行时通过事件来驱动的

    1.INITIALIZATION事件,这个事件是在屏幕未显示之前执行,对程序设置值及屏幕元素进行初始化赋值

    2.START-OF-SELECTION事件

    该事件是单击执行按钮时触发的

    3.END-OF-SELCTION事件

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

    下面说说AT SELECTION-SCREEN事件

    1.AT SELECTION-SCREEN OUT

    在程序执行前会优先检查该事件下的所有代码,可以用于对屏幕输入值得校验,当回执错误信息时,程序会终止并退出,一般用于屏幕元素修改

     1 REPORT ztest_sum.
     2 
     3 TABLES:mara,spfli.
     4 *TABLES sscrfields.  "引用屏幕字段属性
     5 
     6 PARAMETERS p_carr TYPE spfli-carrid.
     7 
     8 AT SELECTION-SCREEN OUTPUT.
     9   IF p_carr IS INITIAL.
    10     MESSAGE 'please enter a value' TYPE 'I'.
    11   ENDIF.

    以上的检测不加OUTPUT也是可以的,但是加了OUTPUT程序在选择屏幕显示前先执行了AT SELECTION-SCREEN OUTPUT下的检查代码,如果不加的话程序在屏幕显示前是不会检查的,需要点击执行按钮后才会去执行该段代码

    2.AT SELECTION-SCREEN ON{para|selcrit} 

    可以实现程序执行前对指定输入域数据的检查,执行该事件时,其他输入域的输入状态会被锁定,如下所示

    REPORT ztest_sum.
    
    TABLES:mara,spfli.
    *TABLES sscrfields.  "引用屏幕字段属性
    
    PARAMETERS p_carr TYPE spfli-carrid.
    PARAMETERS p_carr2 TYPE spfli-carrid.
    
    AT SELECTION-SCREEN ON p_carr.
      IF p_carr IS INITIAL.
        MESSAGE 'please enter a value1' TYPE 'E'.
      ENDIF.
    
    AT SELECTION-SCREEN ON p_carr2.
      IF p_carr IS INITIAL.
        MESSAGE 'please enter a value2' TYPE 'E'.
      ENDIF.

    3.AT SELECTION-SCREEN

    该事件和前两个事件类似但是执行顺序的优先级低于前两个,OUTPUT最先执行 再者就是 ON  了

    4.AT SELECTION-SCREEN ON END OF (selcrit)

    该事件仅仅针对SELECT-OPTIONS所定义的输入域,并且该输入域对象在进行多行数据输入操作时将触发该事件。

    5.AT SELECTION-SCREEN ON BLOCK(block)

    该事件应用于包含线结构的屏幕中,非指定框线的所有输入域对象输入状态都将被锁定

    6.AT SELECTION-SCREEN ON RADIOBUTTON GROUP(radi)

    该事件针对屏幕中的单选按钮组进行控制,执行时,非指定按钮组的输入状态都将被锁定

    7.AT SELECTION-SCREEN ON {HELP-REQUEST|VALUE-REQUEST}FOR {para|selrit-low|selcrit-high}

    用于实现屏幕输入域的自定义F1和F4帮助

  • 相关阅读:
    ELF文件&ELFminer初识
    模型融合——stacking原理与实现
    机器学习&恶意代码静态检测
    机器学习模型部署摘要
    Linux统计文件夹、文件数量的命令
    机器学习&恶意代码检测简介
    基于FastAPI的机器学习模型部署快速上手
    机器学习&恶意代码动态检测
    python 正则表达式
    给 zsh 自定义命令添加参数自动补全
  • 原文地址:https://www.cnblogs.com/caizjian/p/3705921.html
Copyright © 2020-2023  润新知