零基础 ABAP 学习教程系列文章的目录 您所在的位置:网站首页 实用的sap书籍 零基础 ABAP 学习教程系列文章的目录

零基础 ABAP 学习教程系列文章的目录

2023-11-30 01:22| 来源: 网络整理| 查看: 265

曾几何时,ABAP 就是 SAP 的代名词。ABAP 这门编程语言造就了 SAP 名噪一时的 R/3 产品,同时也是如今 SAP 旗舰级产品,SAP S/4HANA 底层的实现语言。

ABAP 不仅代表着 SAP 这家公司在企业级管理软件市场辉煌的过去,ABAP 自身也在不断地进化着。SAP 不仅在本地部署(On-Premise)领域继续保持着自己绝对的统治地位,而且在云应用领域(Software-as-a-Service, 简称 SaaS), 也推出了自己的解决方案,比如 SAP S/4HANA Cloud,SAP Cloud for Customer,SAP Business-by-Design 等等。而这些 SAP 推出的云端软件,其后台的实现语言依旧是 ABAP.

笔者 2007年1月还在研究生三年级的学习时,以实习生的身份加入了 SAP 中国研究院,实习工作使用的编程语言就是 ABAP. 在此之前我从未听说过 ABAP 这门编程语言,在本科和研究生使用的是 C/C++. 因此所有 ABAP 开发人员刚刚接触这门编程语言遇到的陌生感,不适应,困扰,以及学习过程中遇到的各种困难和障碍,我都感同身受,因为这些我都统统经历过。

光阴似箭,转眼间我已经在 SAP 中国工作了 16 年,通过我先后在 SAP Business-by-Design, SAP CRM,SAP Cloud for Customer,SAP S/4HANA 的产品开发工作中,我积累了丰富的 ABAP 开发和使用经验。我在 SAP 官方社区总共输出了大量的 SAP 技术博客,也因此被 SAP 官方任命为 SAP 社区导师和 SAP 中国技术大使。

我把自己 16 年的 ABAP 使用经验,浓缩到了这套 ABAP 学习教程里,希望帮助 ABAP 的初学者在 ABAP 学习之路上少走弯路。同时,对于已经有 ABAP 基础,又想进一步进阶,完善自己 ABAP 知识体系的进阶学习者,这套 ABAP 也能助你们一臂之力。

本专栏计划的文章数在 300 篇左右,到 2023 年 11 月 22 日为止,目前已经更新了 131 篇,专栏完成度为 40%

笔者这套零基础快速学习 ABAP从 2021 年 4 月 10 日写下第一篇文章以来,感谢广大学习者一如既往的支持。本教程计划花费 300 左右的篇幅,向大家详细介绍 SAP ABAP 开发的方方面面。

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,也可以在《零基础快速学习 ABAP 读者意见反馈和下一步写作计划表》里留言。我会将大家的意见统一汇总,作为我更新教程的内容参考来源之一。

教程亮点

写作风格深入浅出。笔者虽然是 ABAP 技术专家,但不会在行文中使用艰深的技术词藻,来炫耀自己的 ABAP 技术,而是每篇文章都用平实和通俗易懂的语言,把一个个 ABAP 知识点讲解清楚。

有自己的独到见解。目前国内很多博客主编写的 ABAP 学习教程,都是 SAP 官方帮助文档的简单翻译和重复。笔者结合自己长达 16 年的 ABAP 使用经验,教程每篇文章都包含自己独特的见解,不但给大家讲解了 ABAP 知识点,同时还分享自己对知识点的理解,为什么 SAP 要这样设计?背后的动机是什么?通过这些拓展介绍,力求让大家在学习过程中,做到知其然更知其所以然。

图文并茂。笔者在 SAP 中国研究院撰写内部技术文档时,就养成了图文并茂的写作习惯。一图胜万语。不少抽象的知识点,即使大段文字描述,也很难帮助初学者有一个直观的理解。此时配上几张图片,往往事半功倍。另外编程语言的学习是一个对动手能力要求很高的活动,教程里这些在开发工具里的实际截图,能帮助学习者把握动手操作的要点,高效掌握 ABAP 各种开发的核心步骤。

内容全面,自成体系。本教程计划通过多达 300 余篇的篇幅,来全面介绍 ABAP. 目前已经完成了 124 篇。而 300 篇并非教程最终的篇幅,因为我会在写作过程中,根据学习者的反馈和要求,在本教程的写作列表中添加新的 TODO 项目。

面向实战。本教程写作的素材主要来自两方面。第一方面是笔者 16 年 ABAP 开发生涯过程中,认为每一个 ABAP 开发者都必须掌握的核心内容,笔者将其以文章的形式输出。第二方面是,笔者经常会从自己的微信公众号,知乎咨询,知识星球,和国内各大技术社区收到 ABAP 从业人员给我发起的各种咨询。有些问题我如果觉得非常具有代表性,我也会将背后的知识点的讲解,编入这套教程。因此,教程的每篇文章都是 ABAP 开发者在工作中会遇到的实际问题和任务,每篇文章都配有学习者能够自己动手练习的完整源代码。

反馈及时。学习者在学习这套教程中如果遇到问题,可以在对应的文章末尾留言。我会每天抽时间查看评论区并回复。包括每天上下班的地铁途中,中午晚上吃饭的间隙,种种碎片时间段,我都会和学习者的评论留言互动。这些互动,其实也是我自己不断查漏补缺,完善自己 ABAP 知识体系的一个渠道。学无止境。大家可以通过目前已经完成的 121 篇文章的评论区,来查看以往的学习者曾经遇到的问题,以及我的解答。

学习者的收获

完成这套教程的学习之后,大家能够获得下面这些收获:

理解 ABAP 系统经典的三层架构(Presentation Layer,Application Layer 和 Database Layer)的概念,了解 ABAP 系统会话管理机制(Session Management),了解 ABAP 面向过程编程方式和面向对象编程方式的区别。

能够熟练掌握 ABAP 编程语言的基本特性,能够胜任日常的 ABAP 开发工作。包括掌握 ABAP Subroutine,Function Module 的用法,会创建包含 Screen 的 ABAP 程序,会创建数据库表并完成数据的读写操作。了解 ABAP Data Element 的设计原理,能使用 Field Symbol 和引用类型完成编程任务。了解 ABAP Transport Request 的概念和使用方法。了解 ABAP 程序锁机制的工作原理和使用方式。理解 ABAP 方法调用传引用和传值两种方式的差异。

熟练使用 ABAP 调试器对 ABAP 程序进行单步调试和错误排查。

国内 ABAP 开发项目中,Excel / Word 文件的读写,ALV 报表的设计,XML / JSON 文件的解析,带水印 PDF 文件的生成,邮件发送,这些都是常见的需求。本教程对这些常见需求的实现做了详细介绍。

熟练掌握 ST05,SAT,ST22 和一系列的 ABAP 系统分析和(性能)监控工具的使用。

本专栏适合哪些学习者

有一定的其他编程语言的基础,但从未接触过 ABAP 的开发人员。

已经在工作中有过几个月到三年的 ABAP 使用经验,能胜任日常工作,但是没有系统而全面学习过 ABAP,想进一步提高自己 ABAP 技术水平的初级 ABAP 开发人员。

有三年以上 ABAP 编程经验,想朝着 ABAP 专家的方向努力,但是不知道具体如何进阶的 ABAP 中级水平的开发人员。

零基础 ABAP 学习教程系列文章的目录

0. 自学 ABAP 和自学 SAP 的差别

1. ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍

2. ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Client-specific 的区别

3. ABAP 标准培训教程 BC400 学习笔记之三:ABAP 编程语言的特性和基本构成要素

4. ABAP 标准培训教程 BC400 学习笔记之四:ABAP 编程语言的数据类型

5. ABAP 标准培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号

ABAP 基础知识

6. 通过实际的例子,介绍 SAP ABAP 里的 Repository Information System 的使用技巧

7. ABAP function module 的使用

8. ABAP subroutine 的定义和使用

9. ABAP 中的变量和常量

10. ABAP 编程语言中的系统字段(System Fields)

11. 什么是 ABAP Field Symbol

12. ABAP 引用类型介绍

13. 最浅显易懂的 SAPGUI 里 ABAP 调试器的使用方法介绍

14. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上)

15. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)

16. 用 ABAP 读取本地文本文件内容

17. 26 行 ABAP 代码使用 HTTP_GET 函数下载百度网站的首页数据

18. ABAP 如何解析 JSON 数据

19. 如何从本地文件里拷贝某个 ABAP 类到 SAP 系统

20. 面向对象的 ABAP 编程初探 - 什么是类,实例,和 Public 方法

21. SAP ABAP 报表的用户输入功能

22. 使用 ABAP 事物码 SM59 创建 Destination 来读取外网的数据

23. 通过一个具体的例子,讲解 SAP BDC 技术的使用步骤

24. 从解读 BDC 自动生成的代码谈起,讲解 SAPGUI 的程序组成部分

25. 如何查询 SAPGUI 屏幕上某个字段对应的数据库表存储

26. 如何使用事物码 SAT 查找某个 SAPGUI 屏幕字段对应的后台存储数据库表的名称

27. 一步步创建包含自定义 Screen 的 ABAP 程序的详细步骤

28. SAP ABAP 字符串变量容易疏忽和混淆的一些知识点

SAP ABAP 处理 Excel 的标准函数 TEXT_CONVERT_XLS_TO_SAP 介绍

29. 授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储

30. SAP ABAP 系统进行数据库表查询的几种常用方法

31. 如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求

32. 一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧

33. 如何使用 saplink 安装其他网站上提供的 ABAP 程序

34. ABAP 报表中如何给报表的输入参数增添 F4 Value Help

35. ABAP 报表中如何以二进制方式上传本地文件

36. ABAP 里文件操作涉及到中文字符集的问题和解决方案

37. 如何对 ABAP 数据库表通过 ABAP 代码进行更新和删除操作

38. 如何让 ABAP 报表在后台作业的模式下运行

39. 如何使用 ABAP 代码解析 XML 文件

40. 如何使用 ABAP 代码发送邮件到指定邮箱

41. 如何使用 ABAP 代码发送带有 PDF 附件的电子邮件

50. 如何在 SAPGUI 里显示上传到 ABAP 服务器的 PDF 文件

51. 如何在 SAP ABAP 系统中使用 Adobe Form

52. 使用 SAP ABAP 代码生成 PDF 文件,填充以业务数据并显示在 SAPGUI 里

53. 如何把 SAP ABAP 系统里一张数据库表的内容,显示在 Adobe PDF Form 里

54. 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)

55. ABAP 是一门支持面向过程和面向对象的混合型编程语言,实际开发中用哪种?

57. SAPGUI 里 F1 功能键的用法专题讲解

58. 通俗易懂的 SAP ABAP 会话管理(Session Management)概念讲解,包含具体的实例

59. 案例分析 - 如何通过 F1 和单步调试,找到 SE10 事物码里用户名字段的初始值填充逻辑

60. 如何通过 ABAP RFC 远程函数调用来跨系统消费远端服务器的 ABAP 函数

61. 如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数

62. 如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能

63. 如何使用 Visual Studio Code 查看和浏览 ABAP 代码

64. 如何在浏览器里执行 SAPGUI 的事务

65. 使用事物码 SAT 查找某个 SAPGUI 事物码操作调用的 Function Module 列表

66. SAP ABAP Function Module 的动态调用方式使用方式介绍

67. SAP ABAP 监控用户事物码和程序执行的工具介绍

68. 关于 SAP ABAP 报表的多语言显示问题

71. SAP ABAP 报表屏幕输入字段如何实现联动效果

73. 如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段

74. 学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能

75. SAP ABAP 一个有用的程序正确性辅助工具,Checkpoint group 的使用方法介绍

76. 如何使用 ST05 事物码,快速找到访问指定数据库表的 ABAP 代码

77. 简单聊聊 ABAP 变量消耗的内存空间这个话题

78. 浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题

79. 使用 OPEN CURSOR 和 FETCH NEXT CURSOR 对 SAP 数据库表进行分块读写

80. 使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异

81. 使用 SAP ABAP Memory Inspector 对应用程序消耗内存进行检测时常犯的错误

82. 让要检索的 ABAP 源代码无所遁形 - 介绍一款 ABAP 代码搜索工具 RS_ABAP_SOURCE_SCAN

83. 一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍

84. ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析

85. ABAP 创建数据类型的三种方式,各自的使用场合和优缺点辨析

86. 有没有设置能够限制 ABAP 数据库表能够存储的最大记录数?

87. SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别

88. ABAP 方法调用的参数传递里,通过引用传递的方式,能修改原始参数值吗?

89. SAP ABAP MIME Repository 和 API 介绍

90. 将 SAP ABAP 内表内容本地导出成 Excel 文件

91. SAP 系统里的中文数据,用 ABAP 导出成 Excel 文件时遇到乱码的分析和解决办法

92. SAP ABAP 系统里长文本 Long Text 的设计和读取函数 READ_TEXT 解析

93. 使用 ABAP 代码调用 READ_TEXT 读取 SAP 系统业务对象的长文本(Long Text)内容

94. 使用事务码 ST05 对 SAP ABAP 数据库表访问性能调优的一个具体例子

95. 使用 FOR ALL ENTRIES 将 ABAP 内表内容作为数据库表的读取条件之一

96. 如何直接通过 ABAP 调试器将 SE16 事务码里无法直接查看的内容下载到本地

97. 将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件

98. 如何用 ABAP 生成带有水印(Watermark)的 PDF 文件

99. 什么是 ABAP 的 Message Class,Message Number 和 Message Text

100. 实际案例分析 - 根据应用程序日志的记录,反查出哪一行 ABAP 代码产生的这条日志

101. 仅仅 49 行代码就能使用 ABAP 函数发送邮件到指定邮箱

102. 创建 ABAP Data Element 时,应该选择 Domain 还是 Predefined Type?

103. 授人以渔:如何获得当前登录 SAP ABAP 系统用户的主机名

104. SAP ABAP PDF 如果生成失败,应该如何搜集 Trace 信息进行错误排查

105. 如何把 SAP ABAP 字符串变量的值下载成本地文件,以及文件路径 F4 Value Help 的实现方式

106. 什么是 SAP ABAP 系统里的传输请求(Transport Request)

107. SAP ABAP 传输请求背后的读取函数和存储数据库表讲解

108. SAP ABAP 报表进度显示控件的使用详解

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

110. SAP ABAP 系统支持的锁操作类型和各自使用场景的详细讲解

111. 如何创建 SAP ABAP 锁对象(Lock Object)和加锁以及解锁函数

112. SAP ABAP Dump Analysis(ST22) 工具的使用和背景介绍

113. ABAP 异常处理(Exception Handling) - 什么是 Non-Class-Based 异常

114. ABAP None-Class-Based 异常处理的一些局限性介绍

115. 面向对象的 ABAP 里,全局类和局部类有什么区别,以及各自的使用场合

116. ABAP 面向对象编程里,类的构造函数和静态构造函数的区别辨析

118. 使用现实生活的具体例子,讲解 SAP ABAP 系统 Client 的概念和用途

119. 小技巧分享 - 找出 SAP ABAP SPRO 配置项后台对应配置表的两种办法

120. SAP ABAP 动态生成 ABAP 程序并动态调用的例子代码

121. SAP ABAP 字符串模版(String Template)核心知识点举例说明

122. SAP ABAP 各种增强技术(Enhancement)概述 - 所谓第一代,第二代,第三代增强技术的出处是?

123. SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍

124. SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现

更多文章正在写作中

Office 专题

42. 用 ABAP 新建本地 Excel 文件并写入数据

43. 如何使用 ABAP 创建包含不同字体大小的 Word 文档

更多文章正在写作中

ALV 开发专题

44. 27 行代码开发一个最简单的 SAP ALV 报表

45. 48 行代码给 ABAP ALV 报表的数据行增添颜色效果

46. 77 行代码实现ABAP ALV 中的双击事件处理

47. SAP ABAP ALV 层次顺序表如何使用双表头(Multiple Headers)进行数据输出

48. 如何在 SAP ABAP ALV 报表里以交通灯的方式显示某一列的值

49. 在弹出对话框窗口里显示 SAP ABAP ALV 列表

56. 动手开发一个有用的 ABAP ALV 工具 - 查看指定用户的 ABAP 传输请求,模拟 SE10 事物码

69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态

70. 利用 ALV 实现增删改查系列之二:仅让 ALV 报表某一列允许被编辑

72. 利用 ALV 实现增删改查系列之三:如何给 SAP ABAP ALV 报表的修改功能添加自定义校验逻辑

117. 利用 ALV 实现增删改查系列之四:如何给 SAP ABAP ALV 报表行项目删除时增加弹出提示git

问题解答

本区域包含通过知乎付费咨询和知识星球向我提出并得到解答的问题:

SAP ABAP 系统 Lock Table 最多支持对多少条数据库记录进行上锁操作

如何使用 SAP ABAP Development Tool 连接 SAP BTP 上的免费 ABAP 编程环境

更多文章正在写作中

祝大家学习愉快。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有