屏幕事件控制器

摘要:
在SAP程序执行期间,1.INITIALIZATION事件由事件驱动。此事件在屏幕显示之前执行。初始化并分配程序设置和屏幕元素。2.启动选择事件。单击执行按钮时触发此事件。3.选择结束事件。此事件适用于所有事件数据处理的完成,即在显示输出屏幕之前完成START-of-SSELECTION事件的执行。在实际开发中,它主要用于始终检查执行结果,其输出数据叠加在同一输出屏幕上。

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.

屏幕事件控制器第1张

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帮助

免责声明:文章转载自《屏幕事件控制器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇kotlin 集合phpstorm 使用 Xdebug 调试代码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

微信小程序知识点总结--组件

aspectFill缩放模式保持缩放图像的纵横比,并且只能完全显示图像的短边。也就是说,图片通常只在水平或垂直方向上是完整的,而另一个方向会被截取。...

websphere application server (was) 安装8.5.5.18

目录环境准备所需的软件或系统版本安装包目录结构安装步骤安装was8.5.0.0升级到8.5.5.18打开浏览器以访问控制台环境准备如果系统主机名不是localhost,您需要将所需的软件或系统版本jdk1.8centos7.5WAS提前添加到/etc/hosts/文件中_ ND_V8.5_1_OF_3.zipWAS_ ND_V3.5_2_OF_3.zip代理...

windows下mstsc 远程Ubuntu 教程

为远程桌面控制设置Ubuntu 16.04的缺点是重新启动系统需要使用监视器登录系统。首先,我们将Ubuntu远程控制设置为允许远程连接,进入系统-˃首选项-˃桌面共享,或直接搜索桌面共享。如图所示,选中此项,然后选中安全项,并设置远程密码。...

微信小程序的模板消息与小程序订阅消息

有关获取分发权限的更多信息,请参阅applet侧消息订阅接口wx的步骤3。requestSubscribeMessage。有关发出订阅消息的调用接口的更多信息,请参阅服务器端消息发送接口subscribeMessage。sendwx。requestSubscribeMessage(Objectobject)基本库2.8.2。必须填写参数Objectobjec...

Nohup后台运行程序

场景:我现在需要跑脚本批量处理一些数据,但是我又不想盯着控制台看这个脚本的输出结果,想把这些输出结果记录到一个日志文件里面方案:可以使用Linux的nohup命令,把进程挂起,后台执行用法:$nohupXXXXXX.sh˃˃/runtime/deletedata.log&运行结果(这个数字是进程号):˃˃[1]13120有时候可能会报一个提示:$no...