SAP ABAP程序设计基础教程(修订版)

SAP ABAP程序设计基础教程(修订版) 教材名称: SAP ABAP程序设计基础教程(修订版)
ISBN号: 978-7-89436-296-4 作者: 盛国军、黄川林
字数: 730千字 规格: 16开
印制时间: 2017-07-01 出版日期: 2014-07-01
定价: 60 元 样章下载: 样章.pdf
购买地址:

本教材共分两篇,即基础篇和开发篇。基础篇主要介绍了 ERP 的基本概念,SAP R/3系统的基础知识,ABAP 与SAPR/3系统的关系,SAPR/3系统结构及其运行的原理等;开发篇主要介绍了 ABAP 的语言元素,ABAP 数据字典对象,ABAP 数据库操作,ABAP 选择屏幕、列表屏幕、对话屏幕及控件、表单打印、图形化用户接口、面向对象开发等。本教材每章前面都有单元核心要点,每章后附有思考题和课后练习题。通过本教材的学习,读者能够逐步深入SAP 编程并掌握SAP 开发技能, 快速成长为SAP 实用型人才。本教材以实例讲解为主,包括具体的需求分析、程序执行效果展示、完整代码解析等。所有实例均为 SAP 商务应用开发中的常用实例,既可作为入门起步之用,又可作为高级进阶的参考。

1.适用对象
本教材适合于作为高等学校和相关培训机构的中文教材,以及用作SAP 各模块初级顾问的工作参考教材,也可作为 ABAP 自学者的参考资料。
 
2.具备的知识和能力基础
学习本教材,要求学生具备一定的计算机基础知识,具备简单的计算机编程能力与软件操作能力,对 ERP 的应用有一定的认知和了解。
 
3.教学总体目标
通过本教材的学习,启发学生对 ABAP 语言开发 SAP 应用的思路,培养学生运用ABAP 进行系统开发以及实施的能力,学会运用 SAP Netweaver平台进行开发的方法,旨在培养学生在12个方面的 CDIO 能力,分别是:
(1)计算机基础知识:能够了解并运用大学计算机基础知识,并熟悉 SAP 系统的开发流程。
(2)分析问题:分析SAP 项目实施的相关问题。                                                                                                                                      
(3)选择逻辑论点和解决方法:选择解决问题的方法。                                                                                                             
(4)具有综合和通用化能力:具有信息系统领域相关的综合和通用化能力。                                
(5)引进、消化、吸收再创新能力:学习新技术的能力,消化、吸收再创新能力。                       
(6)发现问题和表述问题:阐述问题表象,分析问题本质,对照总体目标、分清事情的主次,制定解决方案。
(7)估计与定性分析:分析问题边界,确定性问题求解(解答)。                                                                                 
(8)解决方法和建设:综合(比较)问题的解决方案。                                                                                                                         
(9)行业应用技术:能运用 ABAP 语言进行SAP 系统应用的开发。                                                        
(10)设计实施过程:阐述实施过程的表现、成本和质量的目标和指标,明确实施系统的设计。
(11)软件实现过程:解释将高层组成部分分解为校块设计,讨论控制流程与数据流程,描述编程语言,实施低层设计(编程),描述系统构建。
(12)测试、证实、验证及认证:讨论测试和分析的程序,讨论证实系统性能达到要求,讨论验证性能达到客户要求。

 

项目背景 1

第1篇 基础篇

第1章 SAP系统基础知识 5

1.1 ERP 概述 6

1.1.1 ERP 产生的背景 6

1.1.2 ERP系统的管理思想 6

1.1.3 ERP的本质 7

1.2 SAPR/3系统 7

1.2.1 SAP 公司介绍 7

1.2.2 SAPR/3系统的发展简史 8

1.3 SAPR/3系统基本构成 10

1.3.1 销售与分销(SD SalesandDistribution) 10

1.3.2 物料管理(MM MaterialsManagement) 10

1.3.3 生产计划控制(PP ProductionPlanandControl) 10

1.3.4 财务会计(FI FinancialAccounting) 11

1.3.5 控制(CO Controlling) 11

1.3.6 人力资源(HR HumanResources) 11

1.3.7 ABAP(AdvancedBusinessApplicationProgramming) 11

1.3.8 SAP WebAS(SAP WebApplicationServer) 12

1.3.9 SAPNetWeaver 12

小 结 14

第2章 SAPR/3系统基本结构 15

2.1 SAPR/3系统基础知识 15

2.1.1 SAPR/3系统三层架构 15

2.1.2 SAPR/3系统用户请求的处理过程 17

2.1.3 对话工作进程的多路复用(Dialog Work Process Multiplexing)... 18

2.1.4 工作进程访问数据库的基本原理 19

2.1.5 SAPR/3系统的数据结构 20

2.2 SAPR/3系统客户端安装 24

2.3 SAPR/3系统用户登录 26

2.3.1 SAP Logon程序的配置 26

2.3.2 SAP GUI用户登录 27

2.4 SAP GUI界面主要功能 29

2.4.1 SAP GUI界面元素 29

2.4.2 SAP GUI基于角色的菜单 30

2.4.3 SAP GUI界面常用功能 32

2.5 SAPR/3系统实现方法 35

小 结 36

第3章 ABAP开发基础 38

3.1 传输(Transport)的概念 38

3.2 传输请求(Transport Request)的概念 39

3.3 ABAP 语言集成化编程环境 ObjectNav1gator 40

3.4 组织有效的开发 43

3.5 创建 Change Request 44

3.6 用户自定义仓库对象命名约定及 Access Key 46

3.7 创建包 46

3.8 创建简单的 ABAP 程序 48

3.8.1 开始第一个 ABAP 程序 48

3.8.2  为 ABAP 程序分配事务代码(TCode) 51

3.8.3  ABAP 程序的基本构成 54

3.8.4  ABAP 程序的注释 54

3.8.5  链语旬(Chained Statement) 55

3.8.6  获取 ABAP 关键字帮助 55

3.8.7  ABAP 语旬执行的返回值 56

小 结 57

第2篇 开发篇

第4章 ABAP语言基本语法 61

4.1 ABAP 语言概述 62

4.2 ABAP 数据类型 63

4.2.1  数据类型和数据对象 63

4.2.2  完整的 ABAP 标准数据类型(CompleteABAPstandardtypes)... 64

4.2.3  不完整的 ABAP 标准类型(IncompleteABAPstandardtypes) ... 65

4.2.4  局部数据类型 65

4.2.5  ABAP 数据类型分类 66

4.2.6  ABAP 数据对象分类 67

4.2.7  文本符号的创建与使用方法 68

4.2.8  系统定义的数据对象 70

4.3 ABAP 语法元素 70

4.3.1  ABAP 语旬 70

4.3.2  ABAP 关键字分类 70

4.3.3  数据对象赋值 71

4.3.4  数据对象运算 72

4.3.5  处理字符串 72

4.4 ABAP 程序的流程控制 78

4.4.1 逻辑表达式 78

4.4.2 使用条件分支语旬 83

4.4.3 使用循环语旬 86

4.5 发送对话消息(D1alogMessages) 89

4.6 调试 ABAP 程序的方法 92

4.6.1 进入调试模式 92

4.6.2 在程序运行过程中进入调试模式 92

小 结 94

第5章 ABAP字典库对象 96

5.1 数据模型 97

5.1.1 SAP 系统数据建模层次 97

5.1.2 SAP 航班数据模型 98

5.1.3 用透明表实现SAP 航班模型 99

5.2 数据元素和数据域 100

5.3 透明表(TransparentTable) 101

5.4 结构体(Structure) 102

5.5 使用结构体定义内存数据对象 103

5.6 使用内表(InternalTable) 107

5.6.1 内表的含义 107

5.6.2 内表的属性 107

5.6.3 内表数据对象的定义 109

5.6.4 内表的访问 113

5.6.5 内表的控制级操作 119

5.6.6 ExtractDataset 123

5.7 使用字段符号(F1eldSymbols) 129

5.7.1  字段符号的概念 129

5.7.2  字段符号的定义与分配 130

5.7.3  定义结构化的字段符号 131

5.7.4  使用字段符号处理内表 132

5.8 使用表增强(TableEnhancements) 133

5.8.1 使用Include Structures 133

5.8.2 使用 AppendStructure 135

5.9 制作输入帮助(InputHelp) 135

5.9.1 使用固定值(FixedValues) 135

5.9.2 使用检查表(CheckTable) 138

5.9.3 使用搜索帮助(Search Help) 141

5.10 创建 ABAP 字典库对象 146

5.10.1 创建结构体(Structure) 146

5.10.2 创建透明表 148

5.10.3 为表创建数据维护程序 154

5.10.4 创建内表(TableType) 155

5.10.5 创建数据库视图(View) 157

5.10.6 创建Search Help 160

5.10.7 创建B期型输入帮助 161

小 结 164

第6章 ABAP模块化程序设计 167

6.1 ABAP 子程序 167

6.1.1 ABAP 子程序(Subroutine)简介 167

6.1.2 定义子程序 168

6.1.3 调用子程序 171

6.2 ABAP 事件 174

6.2.1 ABAP 事件的作用 174

6.2.2 ABAP 事件块示例 176

6.3 使用 ABAP 功能模块 177

6.3.1  ABAP 功能模块概述 177

6.3.2  ABAP 功能模块的接口 178

6.3.3  ABAP 功能模块的查找 179

6.3.4  ABAP 功能模块的调用 180

6.3.5  创建并使用Function Module 182

6.3.6 调用Function Module实现服务器内容下载 185

6.3.7 调用Function Module实现本地文件上传 186

6.3.8 调用Function Module实现本地文件名的选择 187

小 结 188

第7章 ABAP数据库操作 190

7.1 SAPOpenSQL 基础 191

7.2 OpenSQL 中的主要类型 192

7.3 从数据库表中读取数据 193

7.3.1 SELECT 语旬的用法 194

7.3.2  从多表读取数据 216

7.4 更改数据库表数据 221

7.4.1 INSERT 语旬的用法 222

7.4.2  UPDATE 语旬的用法 225

7.4.3  MODIFY 语旬的用法 227

7.4.4  DELETE 语旬的用法 228

7.5 确认或取消对数据库表的更改 230

7.5.1 数据库事务 230

7.5.2 实现跨屏幕的事务 232

7.5.3 使用 Update工作进程执行事务 234

7.6 在 ABAP 程序中使用本地SQL 语句 237

7.7 在 ABAP 程序执行过程中锁定数据库对象 238

7.8 检查 ABAP 程序用户的权限 239

7.9 使用表缓存 240

7.9.1 表缓存(TableBufffering) 240

7.9.2 缓存的三种类型 241

7.9.3 表缓存的同步 243

7.10 ABAP 的文件处理 246

小 结 249

第8章 选择屏幕与列表屏幕 251

8.1 标准列表屏幕 252

8.1.1 生成列表屏幕 254

8.1.2 列表隐藏域的使用 256

8.1.3 标准列表屏幕的格式化输出 258

8.1.4 用 WRITE 语旬输出符号和图标 262

8.1.5 用 WRITE 语旬显示复选框 263

8.1.6 通过语旬输入帮助插入 WRITE 语旬 263

8.1.7 设置列表的格式 266

8.2 选择屏幕 267

8.2.1 选择屏幕的功能 267

8.2.2 选择屏幕声明 268

8.2.3 选择屏幕后期事件处理 273

8.3 选择屏幕的设计与调用 275

8.3.1 选择屏幕的封装 275

8.3.2 选择屏幕字段的校验 277

8.3.3 创建选择屏幕字段的F1 Help和F4 Help 277

8.3.4 选择屏幕的调用 278

8.3.5 选择屏幕按钮事件响应 280

8.3.6 选择屏幕 Tabstrip 281

8.4 采用逻辑数据库读取数据 282

8.4.1 逻辑数据库概述 282

8.4.2 逻辑数据库的事件 285

8.4.3 逻辑数据库的流程终止 288

小 结 290

第9章 用户对话屏幕设计 292

9.1 ABAP 对话屏幕的组成部分 293

9.2 屏幕调用序列 294

9.3 创建并且调用一个对话屏幕 295

9.4 对话屏幕与程序之间的数据传输 302

9.5 命令按钮处理 305

9.6 屏幕字段校验313

9.7 使用表格控件(TableControl) 313

9.8 使用子屏幕(Subscreen) 316

9.9 使用Tab页控件(TABStr1p) 318

9.10 使用树型控件(TreeControl) 321

小 结 327

第10章 高级屏幕设计 329

10.1 图形化用户接口 329

10.2 创建上下文菜单 337

10.3 创建下拉列表框 340

10.4 ALV 列表控件 343

10.4.1 ALV 控件概述 343

10.4.2 ALV 控件的创建 343

10.4.3 ALV 控件的事件响应 349

小 结 351

第11章 ABAP面向对象编程 352

11.1 面向对象基础 353

11.1.1 面向对象概念 353

11.1.2 类的特性 354

11.2 类和对象 355

11.2.1 类的声明与实现 355

11.2.2 类成员的可见范围 356

11.2.3 类的成员类型 356

11.2.4 类的创建 358

11.2.5 对象实例的创建 362

11.2.6 对象成员的访问 362

11.2.7 对象的内存回收 363

11.2.8 方法的声明 364

11.2.9 方法的调用 368

11.2.10 函数方法 371

11.2.11 构造方法373

11.2.12 类内部的命名空间 375

11.2.13 引用变量 ME 的用法 375

11.3 类继承 376

11.4 抽象类与最终类 380

11.5 基类与子类间的类型转换(Cast) 380

11.6 接口 382

11.6.1 接口的含义与功能 382

11.6.2 接口的定义方法 384

11.6.3 接口的实现方法 385

11.6.4 接口的调用 386

11.7 事件 388

小 结 392

第12章 SAP内存管理与程序调用 394

12.1 ABAP 的程序调用 394

12.2 SAP 内存管理 395

在 ABAP 程序间传递数据 397

12.3.1 向被调用程序的选择屏幕传递数据 397

12.3.2 使用 ABAP 内存和SAP 内存传递数据 399

小 结 403

第13章 智能表单Smartforms 405

13.1 Smartforms概述 405

13.2 创建Smartforms的工具 406

13.3 文本样式 408

13.4 节、元素 409

13.5 页节、 410

13.6 窗口节、410

13.7 文本节、 411

13.8 图形节、 412

13.9 模板节、 413

13.10 表单数据接口 416

13.11 在程序中调用表单 417

13.12 选择节、 418

13.13 循环节点 419

13.14 创建样式 421

13.15 一个Smartform 的综合示例 423

小 结 430

第14章 数据导入BDC 技术 431

14.1 BDC 基础知识 431

14.2 屏幕录制操作 432

14.3 产生相关程序435

14.4 生成数据格式文件 439

14.5运行BDC 程序导入数据 445

小 结 447

第15章 M1n1SAP的安装 448

15.1 M1n1SAP 基础知识 448

15.2 M1n1SAP 的安装步骤 449

课程综合项目:ABAP程序设计综合训练 455

附录1:ABAP数据类型转换规则 457

附录2:学习知识要点及能力要点 459

参考文献 463

本教材主要内容包括SAPR/3系统的基本知识以及采用 ABAP 进行开发过程中各个知识点及其程序设计方法。本教材的特点是既重理论又重实践,在介绍SAP 系统以及 ABAP 相关的重要概念和理论知识的同时,又侧重于 ABAP 各种开发技术实现的具体步骤和细节,这种理论加实战的编写方法是本教材区别于其他同类书籍的重要特点。同时,本教材又在每章的后面设置了很多思考题和练习题,可以使授课教师更好地把握 ABAP 开发知识的重点,也能使学生在课后能有效地检测出自己实际的学习情况,从而达到良好的教学和学习效果。

在本教材的编写过程中,对大量的用于操作步骤指示或程序运行结果演示的系统截图都做了合理的技术性处理,在完全不影响描述效果的前提下,除掉了其中无效的图形部分,节省了大量的版面,提高了每页的知识含量。

本教材编写的整个过程都参考了SAP 公司 ABAP 英文原版培训教材以及SAPR/3系统的英文原文帮助文档,这有效地保证了其内容设置的合理性和正确性。本教材中出现的每一个程序例子全部都在SAPECC5.0系统上测试通过,读者可以根据自己的实际学习情况来选择其中的部分内容进行练习和使用。