SAP事件 Event Flow(转载)
(1)其实就像一个FORM,所以在这个事件里声明的变量都是局部变量。
(2)根据SY-UCOMM这个系统变量可以判断用户的命令
(3)在这个事件里响应的是屏幕上选择条件中的事件,例如CHECKBOX的选择与否,RADIOBUTTON的选择,LISTBOX的选择等等。
所以分为以下几个方面:
1. ... ON field:在PARAMETER变化时触发的事件,对于选择屏幕某字段输入的PAI事件,当该字段的值被传递给程序时被触发,可以应用于改字段本身的正确性检查,如可系统提示错误,则可以在该字段中重新输入,此时其他元素呈灰色,不接受输入
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:响应屏幕上的事件,修改选择屏幕的唯一方法
实例:
Event in ABAP report determine process flow of a program. The events are triggered depended on the way the output is generated. They begin after event keyword and end when the next event reached.
Event keyword:
INITIALIZATION.
Occurs when report initialized.
We can use it to check user authorization or prepare output for selection screen.
AT SELECTION-SCREEN OUTPUT :
Occurs each time selection screen about to generated.
We can use it to modify selection screen, for example hide / unhide parameter.
AT SELECTION-SCREEN.
Occurs each user command in selection screen. we can use it to perform checking on user input.
START-OF-SELECTION
Occurs after the standard selection screen has been processed.,
data is read in this event.
END-OF-SELECTION
Occurs after start-of-selection.
TOP-OF-PAGE
Occurs when a new page starts.
Use it for write report header.
END-OF-PAGE
Occurs when a page ends.
Use it for write report footer.
AT LINE-SELECTION
Occurs when the user double-click on report.
AT USER-COMMAND
Occurs when the user push toolbar button.
This is program to demonstrate how to use event properly.
REPORT zt_event LINE-COUNT (). *http://abap-gallery.blogspot.com TABLES: sflight. DATA: BEGIN OF t_report OCCURS ,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
END OF t_report. *begin selection screen
PARAMETERS p_datum LIKE sy-datum.
PARAMETERS p_check AS CHECKBOX.
*end selection screen INITIALIZATION.
*begin initialization
MOVE sy-datum TO p_datum.
*end initialization AT SELECTION-SCREEN.
*begin at selection-screen
MESSAGE i888(sabapdocu) WITH 'At selection-screen'.
IF p_check = 'X'.
MESSAGE e888(sabapdocu) WITH 'Clear checkbox'.
ENDIF.
*end at selection-screen AT SELECTION-SCREEN OUTPUT.
*begin at selection-screen output
MESSAGE i888(sabapdocu) WITH 'At selection-screen output'.
*end at selection-screen output START-OF-SELECTION.
*begin start-of-selection.
MESSAGE i888(sabapdocu) WITH 'start-of-selection'.
SELECT * FROM sflight.
MOVE sflight-carrid TO t_report-carrid.
MOVE sflight-connid TO t_report-connid.
APPEND t_report.
ENDSELECT.
*end start-of-selection. END-OF-SELECTION.
*begin end-of-selection.
MESSAGE i888(sabapdocu) WITH 'end-of-selection'.
FORMAT COLOR COL_NORMAL.
DO TIMES.
LOOP AT t_report.
WRITE / t_report-carrid.
WRITE t_report-connid.
ENDLOOP.
ENDDO.
*end end-of-selection. TOP-OF-PAGE.
FORMAT COLOR COL_HEADING.
WRITE 'This is header'. END-OF-PAGE.
FORMAT COLOR COL_TOTAL.
WRITE 'This is footer'. AT LINE-SELECTION.
WRITE: / 'Cursor Row:', sy-curow.
WRITE: / 'Cursor Col:', sy-cucol.
SAP事件 Event Flow(转载)的更多相关文章
- 经典线程同步 事件Event
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇 一个经典的多线程同步问题> <秒杀多线程第五篇 经典线程同步关键段CS> 上一篇中使用关键段来解决经典的多线程同步互斥问题 ...
- 关于 javascript event flow 的一个bug
[1]描述了firefox,safari 有一个bug和DOM 3 规范不一致:在event.currentTarget等于event.target的时候(即event flow处于target ph ...
- Javascript——浅谈 Event Flow
1.Javascript Events : Event Bubbling(事件冒泡) 如果事件从最特定的元素开始,则事件流中的一个阶段称为事件冒泡(DOM中可能最深的节点)然后向上流向最不特定的节点( ...
- event flow
JS之event flow DOM事件流 1.定义: DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素节点与根结点之间的路径传播,路径所经过的结点都会收到该事 ...
- javaScript高级教程(五) Event Flow
1.两个阶段三个模型:Netscape支持事件捕获,IE支持事件冒泡,w3c是先捕获后冒泡 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 S ...
- 秒杀多线程第六篇 经典线程同步 事件Event
原文地址:http://blog.csdn.net/morewindows/article/details/7445233 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权” ...
- python线程事件Event(30)
在python项目开发中,线程thread使用是比较常见的,在前面的文章中我们介绍了 python线程的创建 以及 线程互斥锁 ,今天还要额外介绍一个与线程相关的内容 – 事件Event. 一.pyt ...
- libevent源码学习(9):事件event
目录在event之前需要知道的event_baseevent结构体创建/注册一个event向event_base中添加一个event设置event的优先级激活一个event删除一个event获取指定e ...
- 事件EVENT与waitforsingleobject的使用
事件event与waitforsingleobject的配合使用,能够解决很多同步问题,也可以在数据达到某个状态时启动另一个线程的执行,如报警. event的几个函数: 1.CreateEvent和O ...
随机推荐
- Webpack热加载和React(其中有关于include和exclude的路径问题)
看了几个React配合webpack的教程,大部分都因为版本问题过时了.终于找到了一个不错的教程.记录下其中的知识点. 首先万分感谢这个教程的制作者.少走了许多弯路,正在学习webpack的小伙伴可以 ...
- 1、kvm的vnc服务关闭、设置网络模式
一.kvm的vnc服务关闭 1.关闭虚拟机 virsh shutdown privi-server 2.virsh edit privi-server找到下面内容进行删除 <graphics t ...
- 剑指Offer——数组中只出现一次的数字(一个很帅的异或解法)
题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 看题目脑子里就出现做法了: 遍历,用个HashMap来记录出现的次数,然后再遍历HashMap返回 ...
- 用CSS控制图片大小显示的方法
图片自动适应大小是一个非常常用的功能,在进行制作的时候为了防止图片撑开容器而对图片的尺寸进行必要的控制,我们可不可以用CSS控制图片使它自适应大小呢? 可以通过按比例缩小或者放大到某尺寸(自己指定), ...
- [Freemarker] 在Java中简单实现对Freemarker的引用
Demo目录结构 ├─src │ ├─main │ │ ├─java │ │ │ └─demo │ │ │ └─freemarker │ │ │ ├─main │ │ │ │ Test.java │ ...
- 独立安装Oracle Hyperion Enterprise Performance Management 验证过程
在安装EPM的过程中,都是安装既定的操作手册进行,只是一个过程的重复,对自己安装不会留下深刻的印象.根据自己学习体会,制定安装步骤,去验证自己学习过程中的体会,加深学习印象,解决安装中遇到的问题,模仿 ...
- 云为 | 提供海外 IT 人才派遣、猎头、人力资源外包服务
云为是大连信为软件开发有限公司为人力资源外包服务创建的品牌,是中国专业的人力资源外包领域的服务商,在信息技术行业为海外企业雇主招聘合格.专业且技能熟练的精英人士.我们的客户涵盖了日本上市公司和株式 ...
- 在wpf或winform关闭子窗口或对子窗口进行某个操作后刷新父窗口
父窗口: ///<summary> ///弹出窗口 ///</summary> ///<param name="sender"></pa ...
- iOS核心动画高级技巧之图层变换和专用图层(二)
iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...
- php 实现格式化数字功能
php 实现数字格式化功能 /** * @param $num 数字 * @param int $decimal 精度 * @param int $point_len 分隔位长度 * @return ...