第一篇 基础篇 3
第1章 SAP系统基础知识 3
1.1 ERP概述 3
1.1.1 ERP产生的背景 4
1.1.2 ERP系统的管理思想 4
1.1.3 ERP的本质 5
1.2 SAP R/3系统 5
1.3 SAP R/3系统基本构成 6
1.3.1 销售与分发(SD,Sales and Distribution) 7
1.3.2 物料管理(MM,Material Management) 7
1.3.3 生产计划控制(PP,Production Plan and Control) 7
1.3.4 财务会计(FI,Financial Accounting) 7
1.3.5 控制(CO,Controlling) 8
1.3.6 人力资源(HR,Human Resources) 8
1.3.7 ABAP(Advanced Business Application Programming) 8
1.3.8 SAP Web AS(SAP Web Application Server) 8
1.3.9 SAP Netweaver 9
第2章 SAP R/3系统基本结构 12
2.1 SAP R/3系统基础知识 12
2.1.1 SAP R/3系统三层架构 12
2.1.2 SAP R/3系统用户请求的处理过程 14
2.1.3 对话工作进程的多路复用(Dialog Work Process Multiplexing) 15
2.1.4 工作进程访问数据库的基本原理 15
2.1.5 SAP R/3系统的数据结构 16
2.2 SAP R/3系统客户端安装 20
2.3 SAP R/3系统用户登录 22
2.3.1 SAP Logon程序的配置 22
2.3.2 SAP GUI用户登录 23
2.4 SAP GUI界面主要功能 24
2.4.1 SAP GUI界面元素 24
2.4.2 SAP GUI基于角色的菜单 25
2.4.3 SAP GUI界面常用功能 27
2.5 SAP R/3系统实现方法 30
第3章 ABAP开发基础 33
3.1 传输的概念 33
3.2 传输请求的概念 34
3.3 ABAP语言集成化编程环境Object Navigator 35
3.4 组织有效的开发 37
3.5 创建Change Request 38
3.6 用户自定义仓库对象命名约定及Access Key 40
3.7 创建包 40
3.8 创建简单的ABAP程序 42
3.8.1 开始第一个ABAP程序 42
3.8.2 为ABAP程序分配事务代码(TCode) 44
3.8.3 ABAP程序的基本构成 46
3.8.4 ABAP程序的注释 47
3.8.5 链语句(Chained Statement) 48
3.8.6 获取ABAP关键字帮助 48
3.8.7 ABAP语句执行的返回值 49
第二篇 开发篇 55
第4章 ABAP语言基本语法 55
4.1 ABAP语言概述 55
4.2 ABAP数据类型 57
4.2.1 数据类型和数据对象 57
4.2.2 完整的ABAP标准数据类型 58
4.2.3 不完整的ABAP标准数据类型 58
4.2.4 局部数据类型 59
4.2.5 ABAP数据类型分类 59
4.2.6 ABAP数据对象分类 60
4.2.7 文本符号的创建与使用方法 61
4.2.8 系统定义的数据对象 63
4.3 ABAP语法元素 63
4.3.1 ABAP语句 63
4.3.2 ABAP关键字分类 63
4.3.3 数据对象赋值 64
4.3.4 数据对象运算 65
4.3.5 处理字符串 65
4.4 ABAP程序的流程控制 70
4.4.1 逻辑表达式 70
4.4.2 使用条件分支语句 75
4.4.3 使用循环语句 77
4.5 发送对话消息(Dialog Messages) 80
4.6 调试ABAP程序的方法 83
4.6.1 进入调试模式 83
4.6.2 在程序运行过程中进入调试模式 83
第5章 ABAP字典库对象 86
5.1 数据模型 87
5.1.1 SAP系统数据建模层次 87
5.1.2 SAP航班数据模型 88
5.1.3 用透明表实现SAP航班数据模型 89
5.2 数据元素和数据域 90
5.3 透明表 90
5.4 结构体 92
5.5 使用结构体定义内存数据对象 92
5.6 使用内表 95
5.6.1 内表的含义 95
5.6.2 内表的属性 96
5.6.3 内表数据对象的定义 98
5.6.4 内表的访问 102
5.6.5 内表的控制级操作 107
5.6.6 Extract Dataset 110
5.7 使用字段符号 116
5.7.1 字段符号的概念 116
5.7.2 字段符号的定义与分配 117
5.7.3 定义结构化的字段符号 117
5.7.4 使用字段符号处理内表 118
5.8 使用表增强 119
5.8.1 使用Include Structure 120
5.8.2 使用A1pend Structure 121
5.9 制作输入帮助 121
5.9.1 使用固定值 121
5.9.2 使用检查表 124
5.9.3 使用搜索帮助 127
5.10 创建ABAP字典库对象 132
5.10.1 创建结构体 132
5.10.2 创建透明表 133
5.10.3 为表创建数据维护程序 140
5.10.4 创建内表 141
5.10.5 创建数据库视图 142
5.10.6 创建Search Help 144
5.10.7 创建日期型输入帮助 145
第6章 ABAP模块化程序设计 150
6.1 ABAP子程序 150
6.1.1 ABAP子程序简介 150
6.1.2 定义子程序 151
6.1.3 调用子程序 154
6.2 ABAP事件 156
6.2.1 ABAP事件的作用 156
6.2.2 ABAP事件块示例 158
6.3 使用ABAP功能模块 159
6.3.1 ABAP功能模块概述 159
6.3.2 ABAP功能模块的接口 160
6.3.3 ABAP功能模块的查找 161
6.3.4 ABAP功能模块的调用 163
6.3.5 创建并使用Function Module 164
6.3.6 调用Function Module实现服务器内容下载 167
6.3.7 调用Function Module实现本地文件上传 168
6.3.8 调用Function Module实现本地文件名的选择 169
第7章 ABAP数据库操作 171
7.1 SAP Open SQL基础 171
7.2 Open SQL中的主要类型 173
7.3 从数据库表中读取数据 173
7.3.1 SELECT语句的用法 174
7.3.2 从多表读取数据 194
7.4 更改数据库表数据 199
7.4.1 INSERT语句的用法 199
7.4.2 UPDATE语句的用法 201
7.4.3 MODIFY语句的用法 204
7.4.4 DELETE语句的用法 205
7.5 确认或取消对数据库表的更改 206
7.5.1 数据库事务 206
7.5.2 实现跨屏幕的事务 208
7.5.3 使用Update工作进程执行事务 210
7.6 在ABAP程序中使用本地SQL语句 213
7.7 在ABAP程序执行过程中锁定数据库对象 213
7.8 检查ABAP程序用户的权限 214
7.9 使用表缓存 215
7.9.1 表缓存(Table Buffering) 215
7.9.2 缓存的三种类型 216
7.9.3 表缓存的同步 218
7.10 ABAP的文件处理 221
第8章 选择屏幕与列表屏幕 224
8.1 标准列表屏幕 224
8.1.1 生成列表屏幕 227
8.1.2 列表隐藏域的使用 228
8.1.3 标准列表屏幕的格式化输出 230
8.1.4 用WRITE语句输出符号和图标 234
8.1.5 用WRITE语句显示复选框 234
8.1.6 通过语句输入帮助插入WRITE语句 234
8.1.7 设置列表的格式 238
8.2 选择屏幕 238
8.2.1 选择屏幕的功能 238
8.2.2 选择屏幕声明 240
8.2.3 选择屏幕后期事件处理 244
8.3 选择屏幕的设计与调用 246
8.3.1 选择屏幕的封装 246
8.3.2 选择屏幕字段的校验 247
8.3.3 创建选择屏幕字段的F1 Help和F4 Help 248
8.3.4 选择屏幕的调用 249
8.3.5 选择屏幕按钮事件响应 250
8.3.6 选择屏幕Tabstrip 251
8.4 采用逻辑数据库读取数据 252
8.4.1 逻辑数据库概述 252
8.4.2 逻辑数据库的事件 255
8.4.3 逻辑数据库的流程终止 258
第9章 用户对话屏幕设计 261
9.1 ABAP对话屏幕的组成部分 261
9.2 屏幕调用序列 262
9.3 创建并且调用一个对话屏幕 264
9.4 对话屏幕与程序之间的数据传输 270
9.5 命令按钮处理 273
9.6 屏幕字段校验 279
9.7 使用表格控件(Table Control) 280
9.8 使用子屏幕(SubScreen) 282
9.9 使用Tab页控件(Tabstrip) 284
9.10 使用树型控件(Tree Control) 286
第10章 高级屏幕设计 292
10.1 图形化用户接口 292
10.2 创建上下文菜单 300
10.3 创建下拉列表框 302
10.4 ALV列表控件 305
10.4.1 ALV控件概述 305
10.4.2 ALV控件的创建 305
10.4.3 ALV控件的事件响应 310
第11章 ABAP面向对象编程 313
11.1 面向对象基础 314
11.1.1 面向对象概念 314
11.1.2 类的特性 315
11.2 类和对象 316
11.2.1 类的声明与实现 316
11.2.2 类成员的可见范围 316
11.2.3 类的成员类型 317
11.2.4 类的创建 318
11.2.5 对象实例的创建 321
11.2.6 对象成员的访问 322
11.2.7 对象的内存回收 323
11.2.8 方法的声明 323
11.2.9 方法的调用 327
11.2.10 函数方法 330
11.2.11 构造方法 332
11.2.12 类内部的命名空间 333
11.2.13 引用变量ME的用法 333
11.3 类继承 334
11.4 抽象类与最终类 337
11.5 基类与子类间的类型转换 338
11.6 接 口 339
11.6.1 接口的含义与功能 339
11.6.2 接口的定义方法 342
11.6.3 接口的实现方法 342
11.6.4 接口的调用 343
11.7 事件 344
第12章 SAP内存管理与程序调用 350
12.1 ABAP的程序调用 350
12.2 SAP内存管理 351
12.3 在ABAP程序间传递数据 352
12.3.1 向被调用程序的选择屏幕传递数据 352
12.3.2 使用ABAP内存和SAP内存传递数据 354
第13章 智能表单Smart Forms 360
13.1 Smart Forms概述 360
13.2 创建Smart Forms的工具 361
13.3 文本样式 363
13.4 节点元素 363
13.5 页节点 364
13.6 窗口节点 364
13.7 文本节点 365
13.8 图形节点 365
13.9 模板节点 366
13.10 表单数据接口 369
13.11 在程序中调用表单 370
13.12 选择节点 370
13.13 循环节点 371
13.14 创建样式 373
13.15 一个Smart Form的综合示例 374
第14章 数据导入BDC技术 382
14.1 BDC基础知识 382
14.2 屏幕录制操作 383
14.3 产生相关程序 385
14.4 生成数据格式文件 389
14.5 运行BDC程序导入数据 395
附录 ABAP数据类型转换规则 398
参考文献 400