ABAP学习笔记·一

因为工作需要,最近要开始学习ABAP编程,写几则笔记记录一下。

ABAP程序的源代码结构包括数据定义和处理块两个部分。

数据定义即整个程序可见的全局数据类型和数据对象、选择屏幕元素以及ABAP  Objects中自定义的类和接口。

处理块定义了程序在不同状态下执行的具体功能,在程序编译运行中,每个块都是独立的实体。数据定义和声明语句是独立于处理块的,其他所有语句则都必须隶属于某个处理块。

其中处理块含有三种类型:

1.事件块(Event Blocks)。每个事件块都需要有一个事件关键字引导,这些事件关键字单独构成一个语句,其后续语句隶属于该关键字代表的事件块,直到下一个事件关键字出现(或整个程序代码结束)为止,该事件块自动结束,因此没有显式的事件块结束关键字。

2.对话模块(Dialog Modules)。这种处理块代码部分的开始和结束都有相关的关键字作为标志,是相对独立的程序单元。对话模块往往用于用户对话程序(事务)设计中,从属于对话事件(即屏幕的PBO、PAI等事件),在对话事件块内部被调用。

3.过程(Procedures)。代码部分的开始和结束也都有相关的关键字作为标志,是相对独立的程序单元。过程则包括功能模块和子程序,以及ABAP对象中的类方法,可以被其他模块调用,以实现程序模块化和代码复用,类似于其他语言的函数。

注:这些处理块中,过程可以拥有自己的局部数据,其他两种处理块中定义的数据则为全局数据定义,不属于相关处理块的内部代码。

例子
输出
双击其中一条


该程序中包含两个事件块和一个过程,即同时包含内部和外部两种事件块地调用。


参考书籍:SAP程序设计 黄佳

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,993评论 2 59
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 今年目标:健康管理(早睡11点之前、饮食、体重) 黑色280 找到一位合作伙伴 今日青蛙:1.阅读。2.投资交易。...
    镇星Aquarius阅读 160评论 0 0
  • 文/陈懿静 图/行走队员 一望无垠、看似一致的草原实则有着各种各样的风景,如山丘、平野、树林、河流等等。而这缤纷多...
    小童行走阅读 722评论 0 5