第1篇 系统设置 2
第1章 SAP用户页面的设置 2
1.1 用户个性化菜单的维护 2
1.1.1 建立用户收藏夹 2
1.1.2 在菜单中显示事务代码 2
1.2 定制本地布局 3
1.3 建立SAP GUI初始页面个性化图片 5
1.3.1 在SAP数据库中创建自定义的图像 5
1.3.2 配置SAP页面全局管理参数 8
1.4 区域菜单的建立与维护 9
1.4.1 创建自定义区域菜单 10
1.4.2 为区域菜单分配文件夹及事务 11
1.4.3 将自定义区域菜单添加到系统默认菜单中 12
第2章 SAP开发环境的设置 15
2.1 SAP开发环境介绍 15
2.1.1 SAP开发语言ABAP 15
2.1.2 ABAP开发平台ABAP Workbench 15
2.1.3 SAP仓库对象及开发类别 15
2.1.4 关于ABAP编辑器 16
2.1.5 ABAP编辑器用户特性设置 17
2.2 SAP TMS 17
2.2.1 新建TMS传输域 18
2.2.2 设置TMS传输路径 21
2.3 SAP开发类 25
2.3.1 开发类的创建 26
2.3.2 为新建ABAP程序分配开发类 28
2.4 TMS传输请求的导入 29
2.4.1 传输请求的管理 29
2.4.2 TMS请求概览 33
2.4.3 传输请求队列清单 33
2.4.4 传输请求的导入 34
2.5 传输请求在系统内部的传输 36
第3章 SAP用户权限控制设置及开发 38
3.1 用户账户的维护 38
3.1.1 创建用户账户 38
3.1.2 账户信息的维护 38
3.2 权限角色 40
3.2.1 新建自定义权限角色 40
3.2.2 为角色分配权限菜单 41
3.2.3 为角色配置权限数据 42
3.2.4 将角色分配给用户 46
3.2.5 权限角色在系统间的传输 46
3.3 自定义权限对象 47
3.3.1 权限字段的维护 47
3.3.2 对象类及权限对象的维护 49
3.4 权限对象的分配 51
3.5 权限对象在ABAP程序中的调用 54
3.5.1 新建ABAP程序 54
3.5.2 插入权限检查代码 54
3.5.3 对于内表数据的权限检查 56
3.5.4 通过自定义Function封装权限检查功能 57
3.5.5 通过ABAP程序读取权限对象的权限值 59
3.6 用户权限缺失的检查 60
3.6.1 执行事务时的权限检查错误提示 60
3.6.2 通过事务SU53打开权限评估检查报表 61
3.7 按条件查找权限角色 61
第2篇 ABAP语法汇总及分析 64
第4章 SAP ABAP开发语法要领 64
4.1 常用类型定义的关键字 64
4.1.1 DATA定义变量 64
4.1.2 DATA定义数据结构及表 64
4.1.3 CONSTANTS定义常量 64
4.1.4 TYPES自定义数据类型 65
4.1.5 TABLES引用系统表 65
4.1.6 TYPE-POOLS引用类型池 65
4.1.7 RANGES建立选择型的内表 65
4.2 ABAP中常用字符串的处理办法 66
4.2.1 SEARCH搜索指定字符串 66
4.2.2 字符串的截取 66
4.2.3 获取字符串的长度 66
4.2.4 字符串的合并 66
4.2.5 字符串的拆分 67
4.2.6 清除字符串前后的空格 67
4.2.7 字符串的按条件替换 67
4.2.8 字符串的大小写转换 67
4.3 ABAP程序中指针的使用及动态程序的实现 68
4.3.1 定义一个指向变量类型的指针 68
4.3.2 将内表的值动态赋值给指针 68
4.3.3 动态获取内表中指定字段的值 69
4.3.4 动态获取内表字段的名称 70
4.3.5 通过指针实现字符与16进制码的转换 70
4.4 常用Open SQL控制语句 71
4.4.1 SELECT 71
4.4.2 UPDATE 74
4.4.3 INSERT 75
4.4.4 DELETE 75
4.4.5 MODIFY 75
4.5 动态Open SQL的实现 76
4.5.1 在Open SQL中使用动态表名 76
4.5.2 定义动态的WHERE条件 77
4.5.3 Native SQL的使用 77
4.6 通过RFC实现跨系统间数据的查询 79
4.6.1 配置系统间的RFC通信连接 79
4.6.2 远程调用RFC程序的实现 82
4.7 ABAP程序的代码编写技巧及注意事项 83
4.7.1 内表、字符串及循环的处理 83
4.7.2 Open SQL编写中的注意事项 84
4.8 SAP常用开发辅助工具 87
4.8.1 自动编号工具SNRO 87
4.8.2 SAP数据集维护工具 90
4.8.3 程序代码版本控制工具 92
第5章 SAP选择屏幕的开发要领 96
5.1 屏幕基本输入域对象的创建及相关属性 96
5.1.1 屏幕元素创建的基本语法 96
5.1.2 动态定义输入域的参考对象 96
5.1.3 屏幕输入域显示参数控制 97
5.1.4 输入值的控制 98
5.1.5 屏幕对象的F1/F4输入帮助功能 99
5.1.6 PARAMETER屏幕元素的特性功能开发 101
5.2 SAP屏幕框架的创建 102
5.2.1 创建包含文本的基本框架 103
5.2.2 实现屏幕元素间的换行 103
5.2.3 在屏幕上输出直线 104
5.2.4 在屏幕上输出自定义文本及图标 104
5.2.5 在屏幕中实现按钮效果 104
5.2.6 子屏幕的创建 105
5.2.7 定义或修改本地屏幕元素的注释 106
5.2.8 在工具栏上新增功能按钮 107
5.2.9 在屏幕上创建页签 108
5.3 屏幕事件的控制 109
5.3.1 INITIALIZATION事件 109
5.3.2 START-OF-SELECTION事件 110
5.3.3 END-OF-SELECTION事件 110
5.3.4 AT SELECTION-SCREEN事件 111
5.3.5 屏幕元素属性的控制 113
5.3.6 屏幕事件的中止 114
5.4 屏幕中的描述文本及图标定义 115
5.4.1 程序的文本元素对象 115
5.4.2 屏幕中框线的标题文本定义 116
5.4.3 在文本元素中加入图标 117
第6章 SAP Dialog屏幕常用组件开发 119
6.1 屏幕逻辑流的控制 119
6.1.1 屏幕输入字段的检查 119
6.1.2 屏幕退出事件 120
6.1.3 屏幕中输入帮助的实现 121
6.2 子屏幕的应用 122
6.3 在屏幕中使用数据表格 124
6.4 选项卡控件的创建 131
6.5 在屏幕中创建ALV控件 135
6.5.1 ALV组件的创建 136
6.5.2 实现ALV数据的即时更新 138
6.5.3 控制ALV每行的显示颜色 141
6.5.4 ALV工具栏按钮及行项目双击事件的控制 144
6.6 在屏幕中创建多行文本输入框 148
6.6.1 多行文本输入框的创建 148
6.6.2 文本数据的读取与保存 150
第3篇 SAP常用开发辅助工具 158
第7章 SAP数据字典的应用 158
7.1 物理表的可维护性功能的设置 158
7.1.1 新建一个可维护表 158
7.1.2 为可维护表分配TCode 161
7.2 通过SE16N来维护表数据 163
7.3 类型组(Type Group)的维护 165
7.3.1 新建类型组对象 165
7.3.2 在ABAP程序中引用类型组 166
7.3.3 在RFC中引用类型组 166
7.4 搜索帮助对象的维护 168
7.4.1 通过参考表创建一个搜索帮助对象 168
7.4.2 通过出口函数创建搜索帮助 172
7.4.3 创建集合搜索帮助 177
7.4.4 在程序中使用搜索帮助 178
7.4.5 为Data Element分配搜索帮助 179
7.4.6 在物理表中分配搜索帮助 179
7.5 锁对象的维护 181
7.5.1 创建自定义的锁对象 181
7.5.2 锁对象在ABAP程序中的使用 182
7.5.3 系统中被锁对象的查看 184
7.6 系统标准表的结构增强 185
7.7 通过SE14调整物理表 187
第8章 ABAP程序的调试及性能监控 190
8.1 ABAP程序的调试 190
8.1.1 程序中断点的设置 190
8.1.2 查看程序执行中的参数 192
8.1.3 实现调试功能的其他方法 194
8.2 通过SE30来测试程序执行效率 195
8.3 通过ST05分析程序执行路径 198
8.4 后台程序的设定 200
8.4.1 直接设置程序在后台执行 200
8.4.2 后台作业排程的查看 202
8.4.3 通过SM36定义后台作业 203
8.4.4 查看后台作业的输出 205
第9章 SAP数据的批量维护 208
9.1 SAP BDC的应用 208
9.1.1 BDC的录制 208
9.1.2 产生程序及数据文件 211
9.1.3 指定读取本地数据的BDC 215
9.2 CATT的应用 219
9.3 LSMW的应用 223
9.3.1 基本对象的创建 223
9.3.2 LSMW基本属性的维护 225
9.4 BAPI的应用 232
9.4.1 BAPI的查找 233
9.4.2 通过BAPI修改资产数据实例 234
9.4.3 其他业务相关BAPI 236
第10章 SAP数据的导出 238
10.1 ALV的应用 238
10.1.1 ALV的应用简介 238
10.1.2 ALV报表开发的相关参数及属性 239
10.1.3 在程序中输出ALV 241
10.1.4 ALV的功能增强 244
10.2 SmartForms的应用 250
10.2.1 创建SmartForms实例 250
10.2.2 SmartForms打印参数的控制 263
10.2.3 SmartForms文本编辑模式管理 266
10.2.4 为SmartForms使用自定义图像 267
10.2.5 将SmartForms的输出结果另存为PDF格式 268
10.3 定义打印机纸张类型 271
10.3.1 假脱机管理工具 271
10.3.2 自定义页格式 272
10.3.3 定义格式类型 272
10.3.4 分配设备类型 273
10.4 通过Excel输出数据 275
10.4.1 通过函数GUI_DOWNLOAD下载Excel数据 275
10.4.2 通过OLE控制Excel文件格式 276
第11章 SAP的增强开发 286
11.1 基于源代码的增强 286
11.1.1 通过系统IMG信息查找基于源码的用户出口 286
11.1.2 通过开发类来查找基于源码的用户出口 287
11.1.3 基于源码的用户出口的应用 288
11.1.4 如何查找基于源码的用户出口的默认参数 290
11.1.5 通过源码出口来增强VA01功能简例 292
11.2 基于函数的出口CMOD 293
11.2.1 出口所对应函数的查找 293
11.2.2 通过函数来查找出口对象 295
11.2.3 出口对象的查看和维护 295
11.2.4 通过CMOD实现销售订单控制增强实例 297
11.2.5 通过程序查找CMOD出口 300
11.3 SAP BADI的应用 302
11.3.1 自定义BADI对象的创建及维护简例分析 303
11.3.2 如何查找系统中的BADI 308
11.3.3 通过BADI实现客户主数据控制功能的建立 311
11.4 关于SAP增强开发的应用小结 314
第4篇 业务需求的分析及开发 316
第12章 SAP FICO的开发应用 316
12.1 FICO简介 316
12.2 FICO常用表 316
12.3 FICO常用名词解释 318
12.4 SAP FICO相关报表的开发 320
12.4.1 固定资产报表的开发 320
12.4.2 客户余额查询报表的开发 330
12.4.3 通过FICO报表绘制器制作资产负载报表 336
12.4.4 关于损益表的开发 346
12.5 关于FICO报表绘制器所创建程序的权限控制 347
第13章 SAP MM的开发应用 349
13.1 MM简介 349
13.2 MM常用表 349
13.3 库存报表的开发 350
13.3.1 关于商品库存的基础概念 350
13.3.2 SAP库存关联表信息 351
13.3.3 库存计算报表实例 351
13.4 商品凭证查询报表 355
13.5 商品调拨数据的导入 359
第14章 SAP SD的开发应用 364
14.1 SD简介 364
14.2 SD常用表 364
14.3 SAP SD相关报表的开发 365
14.3.1 销售明细报表的查询 366
14.3.2 如何实现销售价格的查询 370
14.3.3 客户主数据的查询 373
第15章 SAP HR的开发应用 381
15.1 SAP HR简介 381
15.2 SAP HR常用表 381
15.3 SAP HR基础报表的开发 382
15.3.1 关于SAP HR逻辑数据库的应用 383
15.3.2 获取组织结构信息 386
15.3.3 人员花名册开发实例 389
15.3.4 考勤报表开发实例 392
15.3.5 薪资报表的开发 399
第16章 SAP PI的应用及开发简介 408
16.1 PI简介 408
16.1.1 关于PI 408
16.1.2 PI实施的企业背景 408
16.1.3 PI的结构概括 409
16.2 ESR的配置 410
16.3 ID的配置 413
16.4 SAP端ABAP Proxy的设置及开发 416
16.5 在ABAP代码中调用OUTBound类型的接口对象 419
16.6 关于PI实施的建议 421