关于abap语言的一个错误的理解
来源:互联网 发布:杜甫草堂附近美食知乎 编辑:程序博客网 时间:2024/06/06 02:55
原文: http://blog.csdn.net/compassbutton/article/details/3279652
在这么多年的SAP使用中,我一直以为不包块在任何事件块内的abap语句sap会自动添加到START-OF-SELECTION事件块中,但今天无意被一个新同事发现不是这样。
仔细查阅SAP的abap语言帮助,帮助对于“不包块在任何事件块内的abap语句”是这样定义的:在REPORT或者PROGRAM 语句到第一个处理块(处理块不仅仅指事件块,也包含过程等)之间出现的语句。这些语句才会自动插于到START-OF-SELECTION事件块中。具体参见示例
示例1
REPORT demo_abap_events_1.
WRITE / 'Statement 1'.
FORM routine.
WRITE / 'Subroutine'.
ENDFORM.
WRITE / 'Statement 2'.
PERFORM routine.
WRITE / 'Statement 3'.
执行的结果:
Statement 1
在该例子中的红色部分语句就没有添加到START-OF-SELECTION事件块中
示例2
REPORT demo_abap_events_2.
WRITE / 'Statement 1'.
FORM routine.
WRITE / 'Subroutine'.
ENDFORM.
START-OF-SELECTION.
WRITE / 'Statement 2'.
PERFORM routine.
WRITE / 'Statement 3'.
执行的结果:
Statement 1
Statement 2
Subroutine
Statement 3
在该例子中的所有语句就没有添加到START-OF-SELECTION事件块中。
当然你按规范的方法写代码就不会出现上面的情况了,规范的代码如下:
REPORT demo_abap_events_3.
START-OF-SELECTION.
WRITE / 'Statement 1'.
WRITE / 'Statement 2'.
PERFORM routine.
WRITE / 'Statement 3'.
FORM routine.
WRITE / 'Subroutine'.
ENDFORM.
另外提醒大家注意的在事件块中定义的变量是全局,且不要认为是事件块范围有效。
详细的变量有效范围说明参见:
http://blog.csdn.net/compassbutton/archive/2007/06/14/1652392.aspx
- ABAP--关于abap语言的一个错误的理解
- 关于abap语言的一个错误的理解
- 一个关于C语言循环的错误
- ABAP 关于FUNCTION-POOL的理解
- 关于ABAP中P类型的理解
- 关于派生类构造函数一个错误的理解?
- ABAP--关于Unicode的常见错误和解决方法
- ABAP--关于Unicode的常见错误和解决方法
- ABAP--关于Unicode的常见错误和解决方法
- ABAP--关于Unicode的常见错误和解决方法
- 关于EINTR错误的理解
- 关于C语言的理解
- 一个关于ABAP中AUTHORITY-CHECK的Demo
- 关于接口的一个理解
- 一个关于环境的错误:
- 关于sql2012的一个错误
- 一个关于file_put_contents的错误
- ABAP一个不错的博客
- 【平衡二叉树】Who Gets the Most Candies?
- 怎样判断ios app 第一次启动
- dos命令
- Android进程与线程基本知识
- smali文件语法参考
- 关于abap语言的一个错误的理解
- Eclipse快捷键大全
- android中的category
- Android 添加系统服务
- ADO.net利用DataSet进行增、删、改、查
- 50点提高PHP编程效率
- ffmpeg常用参数
- Windows API SetWindowPos
- Ubuntu下破解WLAN无线网络密码资料