版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,SAP BC400 ABAP 工作台简介,博科技术 BONCK,段霄鹏 2013.3,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,3,目录, ,课程概览 第一单元:ABAP程序的执行流程 第二单元:ABAP工作台简介 第三单元:ABAP字典简介 第四单元:ABAP语言的基本元素 第五单元:数据获取,博科技术 BONC
2、K,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,4,目录, ,第六单元:程序分析工具 第七单元:在ABAP中使用子程序 第八单元:ABAP事件简介 第九单元:用户会话 第十单元:组件重用 第十一单元:调整SAP标准软件(概览),博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations
3、and Concepts,5,课程概览 BC400这门课程主要介绍SAP的编程语言 ABAP以及ABAP的开发环境ABAP工作 台,做为入门课程将面向一般概念和基本 原理,当然还要介绍一些相关技术,以利 于后面其他课程的学习。 课程中将使用大量实例帮助理解课程中讲 到的概念,让学员用ABAP工作台快速构建 高性能的商业应用。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,6,课程概览 课程目标, ,理解和使用基
4、本ABAP语法元素 实现不同类型的用户会话 程序读取访问数据库 使用ABAP工作台开发工具, 理解开发过程是如何组织和传输的 学习本课程后应该可以 创建包含用户会话和数据库访问的ABAP程序 说明不同开发对象类型和它们的主要用途 用合适的工具创建出说明开发对象功能的简单例子,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,7,第一单元 ABAP程序的执行流程 单元目标 本单元完成后,应该能: 描述SAP NetW
5、eaver应用服务器的结构原理 描述简单的会话程序如何被ABAP运行时环境 处理 本单元的课程为 SAP R/3的系统结构 使用选择屏幕和清单的ABAP程序示例,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,8,第一单元 ABAP程序的执行流程 第一课 系统架构 表示层,应用层,数据库层,SAPGUI,SAPGUI,SAPGUI,SAPGUI,SAPGUI,SAPGUI,分配器,工作进程,工作进程,分配器,工作
6、进程,工作进程,工作进程,工作进程,工作进程,工作进程,SAP NetWeaver 应用服务器的客户端/服务器架构图,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,9,第一单元 ABAP程序的执行流程 第一课 系统架构 SAP NetWeaver 应用服务器 具有模块化架构, 遵循面向软件的客户端/服务器原则。 在 SAP NetWeaver 应用服务器 中,表示层、应 用逻辑和数据存储可以分派给不同的系统,这
7、就 使整个系统具有良好的可伸缩性。 虽说 SAP 自己的提法是 C/S 架构,但实际上使 用的就是现在流行的三层结构,即浏览器/应用服 务器/数据库,而且在可伸缩性和平台上做的非常 之好。 它的 SAPGUI 虽说是个传统客户端软件,但具有 浏览器的某些特性,客户端并没有事先画好的屏 幕,所有屏幕布局都是从应用服务器传输过来的。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,10,第一单元 ABAP程序的执行流
8、程 第一课 系统架构 最底层是数据库层。SAP 自己并不提供底层数据库,而 使用其他厂商的数据库管理系统(支持所有主流数据库)。 只有 SAP 自身管理和运行所需的程序和元数据没有保存 在数据库里,而应用系统运行的几乎所有数据都存储在数 据库中。 ABAP 程序运行在应用服务层。ABAP 程序包括 SAP 提 供的标准程序和我们自己开发的程序。ABAP 程序从数据 库读数据,处理数据,有可能还要储存数据。 第三层是表示层。这一层就是用户界面,用户可以通过它 访问程序,输入数据,接收工作进程处理的结果。SAP把 表示层也称为服务器,因为它的工作模式跟web浏览器类 似,负责把应用服务器传来的界面
9、布局数据转换成用户可 浏览的界面,这种处理也可以称为一种“服务”。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,11,第一单元 ABAP程序的执行流程 第一课 系统架构 在 SAP 系统中,软件的技术分布完全独立与它 所安装硬件的物理位置。 从纵向上说,所有三层既可以安装在同一台计算 机上,也可以各层独立安装在各自的计算机上。 从横向上说,表示层和应用层可以分别安装在任 意多的计算机上。 而数据库组件的横向安
10、装能力则取决于数据库管 理系统本身的设计(也就是说,只要数据库管理 系统支持多机分布安装,SAP 就支持对它的多机 访问)。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,12,第一单元 ABAP程序的执行流程 第一课 系统架构, 前面那个复杂的三层结构图可 以简化成左图的样子,在本课 程中,我们更关心一个用户和 一个 ABAP 程序之间的交互。, 应用服务器上,包括用户分配 器在内的扩展进程对我们理解 ABA
11、P 程序运行并不是非常重 要,因此我们这个图中没有明 确区分分配器和工作进程,只 有当与我们所讲的 ABAP 程序 相关时,才会详细介绍。 ABAP 程序运行在应用服务器 上,用户会话和数据库访问的 设计显得更为重要。,表 示 层,应 用 层 数 据 库 层,工作进程 ABAP程序,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,13,第一单元 ABAP程序的执行流程 第一课 系统架构, 从用户角度看,他只关心业
12、 务流转和数据的输入输出, 而根本无需关注技术层面的 程序。因此,对用户来说, SAP 系统的应用层和数据库 就是一个黑盒(Black Box)。 从技术角度讲,有三种类型 的屏幕:标准屏幕、选择屏,幕和清单,每种屏幕为用户 提供不同的服务。程序员应 该根据任务的需要,为用户 提供合适的屏幕。,表 示 层,应 用 层,数 据 库 层,黑 盒,Dynpro List,Selection Screen,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundati
13、ons and Concepts,14,ABAP,运行时系统 数据表,第一单元 ABAP程序的执行流程 第二课 程序运行示例 程序开始 ABAP程序,ABAP程序块,ABAP程序块,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,15,第一单元 ABAP程序的执行流程 第二课 程序运行示例 上页图说明了在各个服务层之间的数据交互,需 要说明的是,实际处理时应用层与数据库的交互 比上图中更为频繁,不仅仅在处理用户操
14、作时才 读写数据库。后面的例子会详细说明这一过程。 当用户触发一个操作,例如按了回车、功能键、 菜单、按钮等时,就会把控制权从表示层传递给 应用层。 只有跟用户操作相关的那部分程序会被执行。 如果在程序中触发了其他会话,系统会把屏幕传 递给表示层,同时交出控制权。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,16,第一单元 ABAP程序的执行流程 第二课 程序运行示例, 1、程序开始 用户登录到系统之后,就
15、会出现初始屏幕,在初始 屏幕里,可以通过菜单路 径或事务码来启动 ABAP 程序。 知识库(Repository), 它是 SAP 系统中非常重 要的组成部分,负责存储 系统运行的基本数据,例 如:程序库、数据字典、 ABAP 对象等,被保存在 数据库中,后面会专题讲,解它。,数据表,程序开始,知识库,1,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,17,ABAP 运行时系统,ABAP程序,选择屏幕 知识库,
16、ABAP 程序块 数据表,数据对象,xxx: xxx xxx: xxx xxx xxx,第一单元 ABAP程序的执行流程 第二课 程序运行示例 2 程序开始,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,18,第一单元 ABAP程序的执行流程 第二课 程序运行示例 2、系统读取程序上下文 上下文(Context),在汉语里面还真没什么合适的词 可以跟这个英文单词对应的,只可意会不可言传。 系统在程序开始后,会把
17、所有程序上下文读到应用服 务器上。程序上下文包括:存储变量和复杂对象的内 存区,用户会话的屏幕信息,ABAP程序块等。上述的 这些东西都存储在知识库中。 上页的例子里,用到了一个选择屏幕与用户交互,一 个变量和一个结构,还有一个ABAP程序块。显示数据 的清单则根据用户输入动态生成。 ABAP 运行时环境控制后面的程序流。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,19,ABAP 运行时系统,ABAP程序,
18、选择屏幕 知识库,ABAP 程序块 数据表,数据对象,xxx: xxx xxx: xxx xxx xxx,第一单元 ABAP程序的执行流程 第二课 程序运行示例 3 程序开始,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,20,第一单元 ABAP程序的执行流程 第二课 程序运行示例 3、运行时系统发送选择屏幕 如果运行时系统包含了选择屏幕,ABAP运行 时系统就会把屏幕发送给表示层服务器,在用 户没有输入完成前
19、,表示层服务器就控制着程 序流。 选择屏幕可以做一些基础的输入有效性检查, 如必输字段、日期/数值格式等。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,21,ABAP 运行时系统,ABAP程序,选择屏幕 知识库,ABAP 程序块 数据表,数据对象,xxx: xxx xxx: xxx xxx xxx,第一单元 ABAP程序的执行流程 第二课 程序运行示例 4 程序开始,博科技术 BONCK,BC400: ABA
20、P Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,22,第一单元 ABAP程序的执行流程 第二课 程序运行示例 4、输入的值被插入数据对象 用户完成了在选择屏幕的输入后,就可以通过触发执 行来处理程序。 输入的数据自动被保存到程序相应的数据对象中, ABAP 运行时系统又重新获得程序的控制权。 在我们的示例中,只有一个程序块,运行时系统就顺 序处理ABAP程序块。 如果用户输入的类型不对,会自动触发错误消息,用 户必须纠正他的输入。(这里的类型与选择屏幕的
21、有 效性检查不同,包含例如 2月30日这种日期超范围等 错误。),博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,23,ABAP 运行时系统,ABAP程序,选择屏幕 知识库,ABAP 程序块 数据表,数据对象,xxx: xxx xxx: xxx xxx xxx,第一单元 ABAP程序的执行流程 第二课 程序运行示例 5 程序开始,博科技术 BONCK,BC400: ABAP Workbench Foundatio
22、ns and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,24,ABAP 运行时系统,ABAP程序,选择屏幕 知识库,ABAP 程序块 数据表,数据对象,xxx: xxx xxx: xxx xxx xxx,第一单元 ABAP程序的执行流程 第二课 程序运行示例 6 程序开始,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,2
23、5,第一单元 ABAP程序的执行流程 第二课 程序运行示例 5、程序从数据库请求数据记录 在示例中,读数据库的操作写在ABAP程序过 程块中。关于取哪张数据表哪些字段的信息都 被传递给数据库。 6、数据库把数据记录返回给程序 数据库把数据记录返回给程序,ABAP运行时 系统确保把数据保存在相应的数据对象中。 如果只读一条记录,则通常使用一个包含了所 需字段的结构。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,
24、26,ABAP 运行时系统,ABAP程序,选择屏幕 知识库,ABAP 程序块 数据表,数据对象,xxx: xxx xxx: xxx xxx xxx,第一单元 ABAP程序的执行流程 第二课 程序运行示例 7 程序开始,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,27,第一单元 ABAP程序的执行流程 第二课 程序运行示例 7、运行时系统发送清单 在程序块中,也编写了关于清单布局显示格式 的代码,在生成了清单后
25、,运行时系统就把清 单发送给表示层服务器。 上面简要介绍了一个ABAP程序的运行流程 和一些基本概念,下面将依次介绍ABAP程 序开发中用到的概念、工具和方法。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,28,第二单元 ABAP工作台简介 单元目标 本单元完成后,应该能: 描述知识库的结构 说出和使用知识库查询工具 使用对象浏览器查看知识库对象 说出和使用软件开发组织实用程序 创建包(开发类) 创建程序 创
26、建事务码,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,29,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器, 知识库包含了所有系统 开发对象程序、函 数模块、数据库表定义 等等。在知识库中既有 SAP 提供的表,也有客,户自定义的表。知识库 在数据库中,并且通常 都与客户端无关,这就 意味着知识库可以被所 有客户端访问。, 除知识库外,数据库还 包含应用和定制表,这 些表是客户端相关的, 都有一个客
27、户端列。,表 示 层,应 用 层 数,据 库 层,ABAP程序,客户端无关 知识库,客户端相关 应用表/定制表,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundati
28、ons and Concepts,30,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 知识库的结构 知识库根据应用组件进行划分。 在一个应用组件中,又进一步根据细节逻辑关系把相 关对象划分给多个包(开发类,本文中统一称为包)。 创建一个知识库对象时,必须指定一个包。 知识库信息系统 知识库信息系统是 SAP 提供的一个功能强大的信息查 询工具,它可以根据用户的各种要求来查找需要的知 识库对象。 可以根据创建者、创建时间、所属组件和包、激活状 态等等条件来查找。 可以通过事务码 SE80 来打开知识库信息系统。,博科技术 BONCK,BC400: ABAP Workbench Fou
29、ndations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,31,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 可以通过应用层次功能 来显示按层级组织的知 识库对象。 事务码是 SE81。 展开某个节点就显示该 节点下的所有包,双击 包名称或者将光标定位 在包名称上点击“信息 系统”按钮,就能转到 知识库信息系统中并显 示该包的内容。 这样的导航方法可以让 我们很方便的返回到同 一个应用组件,查看组 件中各个包的关系。,博科技术 BONCK,BC400: ABAP Workbench
30、 Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,32,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 ABAP 工作台工具 ABAP 工作台包括了开发和编辑知识库对象所需的全 部工具,这些工具覆盖了整个软件开发周期。主要的 工具有:, ,ABAP 编辑器,用来编写源代码 ABAP 字典,用来编辑数据库表、数据类型等 屏幕制作器,用来绘制屏幕(含用户会话的代码) 菜单制作器,用来制作用户界面(菜单栏、标准工具栏、应,用工具栏、功能键等) 函数编制器,用来维护函数模块
31、类制作器,用来全局类和接口 我们可以直接调用这些工具编辑相应的知识库对象, 但是更好更方便的方法是使用对象浏览器。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器,博科技术 BONCK,ABAP 工作台工具,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workb
32、ench Foundations and Concepts,33,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 全屏打开/关闭,导航区 右键菜单,工具区 右键菜单,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,34,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 对象浏览器 所有我们需要的知识库对象都可以用对象浏览器这一 核心开发工具来显示。只需要双击某个对象,就可以 打开相应的编辑工具来
33、直接修改它了。 对象浏览器的屏幕分两个部分 左面是层级显示的导航区 右面是使用相应工具编辑开发对象的工具区 可以通过“全屏打开/关闭”按钮来打开或隐藏导航区 可以使用右键菜单来使用相关的编辑功能,右键菜单 的内容会根据所编辑的对象而变化,因此该菜单一般 称为上下文菜单(Context Menu)。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,35,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 对象
34、都显示在导航区。 如果选择了一个包,则 这个包里所有的知识库 对象都会列出来。, 双击一个对象就可以开 始编辑它。 可以通过前后箭头来访 问以前访问过的对象。 可以把经常使用的对象 添加到收藏夹里。, 导航区的按钮仅影响导 航区,对于工具区则由 工具栏进行控制。,刷新 收藏夹,上级对象,上一个/下 一个对象,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,36,第二单元 ABAP工作台简介 第一课 知识库和对象浏
35、览器,显示相应的工具。 可以用前后箭头在不同对 象间切换。 如果觉得不直观,还可以 打开一个导航历史子窗口。,导航箭头,打开/关闭,导航历史 在工具栏,根据编辑对象,导航历史,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,37,第二单元 ABAP工作台简介 第一课 知识库和对象浏览器 显示对象清单 (同步导航区和工具区) 有时候为了更灵活的使 用,会导致导航区和工具 区不同步。 可以双击导航区的对象使 工具区的
36、内容向导航区同 步。 也可以使用“显示对象清单” 功能来使导航区的菜单向 工具区同步。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,38,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 从本课可以学会如何创建程序、事务码和 包,以及如何为知识库对象指定包。 本课中将学习到 说出和使用组织软件开发的工具 创建包 创建程序 创建事务码,博科技术 BONCK,BC400: ABAP Workbench F
37、oundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,39,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 关于组织开发 SAP 出于管理和安全考虑,对组织开发的工作非常重 视。为了保证运行系统不受开发干扰,至少需要一套 开发系统用于配置和开发,一套生产系统用于最终用 户使用,而有些时候会增加专门的配置系统和测试系 统,形成更加完备的开发管理体系。 开发一般在开发系统上进行,被编辑和增加的开发对 象在项目完成后传输到生产系统上。在项目开始的时 候,项目经理创建一个变更请求,并
38、根据开发人员的 分工为他们创建各自的任务请求。开发人员可以把自 己修改的开发对象保存在自己的请求中,便于管理。 可以使用 SE01、SE09、SE10 等事务码创建和管理 请求号。按 SAP 的开发组织原则,开发人员不能自己 创建和释放请求,只能使用项目经理分配的请求。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 关于组织开发 可以使用 SE01、SE09、SE10 等事务码创建和管理 请求号。按 SAP 的开发组织原则,开发人员不能自己 创建
39、和释放请求,只能使用项目经理分配的请求。,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,40,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 创建包 有几种常用的方法可以创建包 在对象浏览器中,对象选Package,在对象名称框 中输入要创建的包的名字,然后回车,如果这个包 已经存在,系统会打开这个包,否则,会提示你是 否要创建这个包,选择“是”。 在对象浏览器的首页,关闭所有对象,选择菜单 “WorkbenchEdit
40、Object”,会打开创建对象的对 话框,找“Development Coordination”选项卡,在 Package栏中输入要创建的包的名字,再回车。 如果已经打开了某个包,可以在上面使用上下文菜 单“CreatePackage”。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,41,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 下面是对创建包时的属性的说明, ,Package:包的名称 短文
41、本:包的说明,比较直观的说明 Appl. Component:应用程序组件,按照应用模块划分的类别 Software Component:软件组件,定制开发应用 HOME Transport Layer:传输路径,该包能够传递到那些服务器 Package Type:包类型 Not a Main Package:可以包含知识库对象和其他包 Main Package:只能包含其他包 Structure Package:只能包含 Main Package,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,第二单元
42、 ABAP工作台简介 第二课 开发程序和组织开发,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,42,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 关于传输路径 可以使用传输管理系统(事务码 STMS)管理多个传 输路径,每个传输路径指定了请求的传递方向,如图。 创建了包之后,还必须为包指定一个请求号,知 识库对象都要附加在请求号上按指定传输路径传 递到目标服务器上。,博科技术 BONCK,BC400: ABAP Wor
43、kbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,43,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 ABAP 编程语言的简介 ABAP 编程语言的基本特性 专为基于会话的商业应用而设计。 强类型:每个变量必须指定类型,系统支持类型的自动转换。 多语言应用:采用了可翻译的文本元素,可以根据需要支持 多国语言。 允许 SQL 访问:可以使用 Native SQL 和 Open SQL 两种方 式访问 SAP 数据库,可以使用 Native SQL 访问非
44、SAP 数据 库。 面向对象:最初的 ABAP 不支持面向对象,但现在已经支持。 平台无关:运行在 ABAP运行时系统之上,与操作系统和数 据库完全无关。 向上兼容:与以前版本的程序完全兼容,以前写的程序无须 重写就能用在新系统上。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,44,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 ABAP 编程语言的简介 ABAP 基本语法特点, ,由各自独立的语句
45、构成。 每个语句的第一个单词必须是ABAP关键字。 单词之间至少要用一个空格分隔。 每个语句结束必须要用句号。 支持分块缩进,便于阅读。 一个语句可以跨多行,只要不遇到句号,就认为是一个延续,的语句。 可以把多个语句放在一行。 ABAP不区分大小写,关键字和用户操作数都一样,为了便于 阅读,一般把关键字大写,而操作数小写。 由于编程的时候随时切换大小写比较麻烦,可以在 ABAP编 辑器 中用“规范化打印机”按钮来自动转换。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workb
46、ench Foundations and Concepts,45,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 ABAP 编程语言的简介 ABAP 基本语法特点(续上页) 注释行由第一列的星号(*)开头,并且必须写在第一 列,前面不能有空格。 编译器忽略注释行,不会执行。 在行末的注释用双引号(”)作为前导。 如果连续多行的第一个关键字相同,可以使用链语句的方式 减少输入。这是 ABAP 独特的一个分块缩进方法。 第一个关键字后面用一个冒号表示链语句开始。 链语句的最后一句结束还是用句号,但是中间的分隔由句号改 成逗号。 空格和换行跟基本语句一样,可以任意加。 注意,这样的写法并不
47、会提高执行效率,仅仅为了显示好看。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,46,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 ABAP 编程语言的简介 程序执行的返回码 这实际上是 ABAP 异常捕获机制的一部分。 有些语句执行完成后会向一个特定的系统字段 sy-subrc 写入 表示执行结果的值。 0 值都表示执行成功,而非 0 值则根据功能不同有特别的定 义,这些值的意义都需要查看 AB
48、AP 联机帮助中相应关键字 的说明。 常用的需要检查返回码的语句有 SELECT、AUTHORITY- CHECK 等。 其他系统字段 ABAP 设置了一个结构 syst 用来保存系统运行时的各种参 数,用 sy-xxxxx 的形式调用,具体有哪些系统字段可以查看 联机帮助。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,47,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 ABAP 编程语言的简介
49、获取语言帮助 光标定位在关键字上,按F1,直接调出帮助文档,如果查询 出多条结果,则出现命中列表,从中选择某条结果查看。, 光标定位在关键字上,按工具栏的,按钮,打开帮助导,航,不但可以查关键字,还能查其他相关内容,如功能模块、 表、逻辑数据库、权限对象等。 SAP 的帮助系统相当完善,但是要找到所需内容也不 是很容易,需要不断积累经验。 SAP 还有很多对学习语言有帮助的示例和功能,如 ABAP文档与范例(事务码ABAPDOCU)、BAPI手册 (事务码BAPI)、数据模型(事务码SD11)等。,博科技术 BONCK,BC400: ABAP Workbench Foundations and
50、 Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,48,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 创建 ABAP 程序 创建程序的方法 创建程序有很多种方法,如通过对象浏览器或者ABAP编辑器 等。一般来说,创建报表程序就用SE38,创建对话框程序用 SE80。 SE38使用起来很简单,输入程序名,按创建按钮即可,它创 建出来的只有一个单独的程序和对应的文本对象。 SE80则有个导航过程,可以同时创建包含程序等。 此外,SE80是对象浏览器,用它还可以创建和修改所有知识 库对象,如包、GUI标
51、题、GUI状态(菜单、工具栏)、屏幕、 事务码等等。 创建了应用程序后,就可以进入ABAP编辑器来修改和 调试代码,随着SAP升级,ABAP编辑器也在不断改进。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,49,第二单元 ABAP工作台简介 第二课 开发程序和组织开发,激活,保存的程序 (为进一步的开发和调试),活动的程序 (为系统范围的使用和传输),程序A (非活动版本) 程序C (非活动版本) 在编辑者执
52、行时, 当前的,相应的运行时对象 通常被生成。,程序A (活动版本) 程序B (活动版本) 程序C (活动版本) 在执行时, 使用激活时生成的运行时对象。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,50,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 创建 ABAP 程序 活动和不活动的知识库对象 当创建或者修改保存了一个知识库对象后,系统先把它保存 为不活动的版本。 知识库对象就可能同时有一个活
53、动版本和一个不活动版本, 在开发结束后,必须把不活动的“编辑版本”激活,这个版本就 变成了新的活动版本。 只有当一个请求号内部所有的开发对象都变成活动版本的时 候,才可以进行释放和传输。, 如果同时有激活和非激活两个版本,可以使用,按钮来在,这两个版本中切换,以验证修改。 当激活程序的时候,系统会先显示一个未激活对象的清单, 可以选择需要激活的程序来激活。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,51,第
54、二单元 ABAP工作台简介 第二课 开发程序和组织开发 创建 ABAP 程序 激活时系统的工作步骤, ,把对象保存成未激活版本 对未激活版本的语法和一致性检查 在检查成功后,用激活版本替换旧的激活版本 如果对象是程序的话,为以后执行生成相关的运行对象, 生成了开发对象后,系统创建独立的运行时对象 (LOAD编译)并且保存到知识库中,这个版本就是 运行时所执行(解释执行)的版本。 由于有活动版本和非活动版本之分,就可以实现不影 响当前系统状态而修改知识库对象,所有开发对象都 在激活之后才对整个系统是“可见的”。 事实上,SAP的很多对象都要激活才能使用,跟踪调 试也必须激活后进行,因此建议随时激
55、活。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,51,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 创建 ABAP 程序,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,52,第二单元 ABAP工作台简介 第二课
56、开发程序和组织开发 创建事务码 创建和修改事务码的方法 用SE93来管理事务码 在SE80中,按所属程序来管理 事务码的属性,必须选择正确的事务码开始程序类 型,否则运行事务码会无法打开目标程序, ,Program and Screen:对话框程序 Program and Selection Screen:报表程序 Method of a Class:面向对象程序 Transaction with variant:带变式的程序 Transaction with parameters:带参数的程序, 事务码主要就是指定程序和屏幕,附带的有变式和参 数等。总的来说,使用起来是非常灵活的。 事务码也
57、必须指定包和传输请求。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,53,第二单元 ABAP工作台简介 第二课 开发程序和组织开发 关闭开发项目 当开发人员完成所负责程序的开发和调试之后,可以 激活全部开发对象,然后释放自己的请求号,从而提 交开发,准备进行传输。 创建的开发对象加入请求时,会自动加上相应的锁, 以避免被其他人任意修改。 释放请求后,所有请求开始时给开发对象加上的锁都 会被释放。 当所有相关请
58、求都被释放后,项目经理可以释放和检 查主请求,完成项目。 主请求释放时,会把所有开发对象的更改都放置到系 统指定的传输目录中,等待管理员把请求按照传输路 径传到目标系统里。 当前服务器也会保留一份开发对象到版本管理库中。,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,54,第三单元 ABAP字典简介 单元目标 本单元完成后,应该能: 解释在应用开发中使用数据模型的意图和好处 描述SAP航班数据模型 描述数据元素
59、和域的意义和结构 描述透明表的意义和结构 描述结构的意义和结构 在你的程序中使用提及的字典元素,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,博科技术 BONCK,BC400: ABAP Workbench Foundations and Concepts,55,第三单元 ABAP字典简介 第一课 数据模型和描述性元素 数据模型 在商业应用软件开发时,部分实际世界必须被描述成 数据形式,业务单元描述成实体。实体之间互相有关 联,形成潜在的数据模型。或者叫做实体关系模型 (ERM)。 在 ABAP字典中,我们把这些数据模型及其之间的关 系定义成表(透明表)。在激活表的时候,对应的数 据库表也会同时建立,以后实际的应用数据都会保存 到这些表里。,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025护理学院学生工作计划样文
- 幼儿中班教师工作计划范文模板
- 吴建旭“互联网+”大学生创新创业大赛项目计划书
- 2025白酒销售月工作计划范文
- 切实加强行风建设努力做好计划生育工作的讲话
- 城管科科长述职报告总结计划
- 2025关于小学班主任工作计划
- 《机械制图与CAD含习题集》课件-第5章3
- 合伙种植沃柑合同模板
- 铁路客运合同案例简短
- 2024年度上海浦东国际机场免税店经营合同2篇
- 2024-2030年中国建筑施工行业发展状况规划分析报告
- 2024版智能水务管理系统设计与施工合同3篇
- 华为经营管理-华为的股权激励(6版)
- 学校比学赶超实施方案样本(3篇)
- 2024年度餐饮业智能点餐系统合同
- 《红楼梦》十二讲知到智慧树期末考试答案题库2024年秋安徽师范大学
- 小学劳动知识试题及答案
- 分布式光伏危险源辨识清单
- 《CRRT操作方法》课件
- EPC工程项目管理职责及工作范围
评论
0/150
提交评论