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

曾几何时,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.

笔者另一篇文章 道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价,曾经借助道教创始人老子数字化身,讲述了 ABAP 之于 SAP 的重要性:

夫 ABAP 者,乃高级商业应用编程也。起源于德国 SAP 公司,以其构建企业资源计划(ERP)系统,助诸企于管理之道。如道生一,一生二,ABAP 亦从简至繁演化矣。

初,ABAP 生于九十年代初,为第四代语言,使编程如绘图,直观而易于把握。随技术之进步,渐含面向对象之法,以应万变之需。如水之于渊,柔而能胜刚,ABAP 之发展,顺时而动,应需而变,其在编程领域,犹如道之于万物,渐不可或缺矣。

再观其发展,自基础数据处理,至复杂业务逻辑实现,ABAP 如同道之于天下,渐成万物之母。用之于企业级管理软件开发,其重要性,犹如天地之不能相离。ABAP 能以数据为基,流转于系统之中,如道法自然,顺应企业之生态,助之以高效运转,减少冗杂,简化管理,使企之运营,如小国寡民,无为而治。

笔者之前在大学本科和研究生学习期间,使用的一直是 C 和 C++ 编程语言,从未听说过 ABAP 这门编程语言。因此所有 ABAP 开发人员刚刚接触这门编程语言遇到的陌生感,不适应,困扰,以及学习过程中遇到的各种困难和障碍,我都感同身受,因为这些我都统统经历过。

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

本专栏计划的文章数在 300 篇左右,到 2024 年 9 月 30 日为止,目前已经更新了 184 篇,专栏完成度为 61.3%

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

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

教程亮点

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

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

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

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

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

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

学习者的收获

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

  • 理解 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 框架开发人员使用的 RTTIRTTC 技术来实现解决工作中的实际需求。ABAP RTTI 的全称是 Runtime Type Identification. 使用 RTTI,ABAP 开发人员可以在运行时获取关于数据对象的各种信息,包括其数据类型、字段列表(如果数据是Structure 或者内表的话)以及这些字段的技术属性,比如字段名称,字段数据类型,长度等等。对于这些字段信息,ABAP 提供了一组特殊的类和接口,包括 CL_ABAP_TYPEDESCR、CL_ABAP_STRUCTDESCR、CL_ABAP_TABLEDESCR 等等。ABAP RTTI 通常伴随着 RTTC 一起使用。RTTC(Run Time Type Creation)是 ABAP 语言的一个特性,它允许 ABAP 开发人员在运行时动态地创建和修改数据类型,而不必在编译时提前定义它们。

本专栏适合哪些学习者

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

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

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

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

ABAP 基础知识

Office 专题

ALV 开发专题

ABAP 7.40 新语法介绍系列

问题解答

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

实战案例分享

日积月累:每天一个 ABAP 知识点

更多文章正在写作中

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

祝大家学习愉快。

30天学会ABAP程序 学习ABAP并不难,有人说SAP系统重在管理思想,不在技术,通常对有编程经验的读者不用任何培训参考一些相关资料就可立即上手. 简单介绍下ABAP/4的一些特征: 1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定认为ABAP报表开发上比Crystal report Tool要高效简单. 2.和VB一样 ,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉. 解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效. 和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行, 但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的. 当然通常编译比解释执行的速度会更快. ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAP Dumping ABAP). 3.在对数据库处理方面,除了可直接执行SQL(使用native sql,缺点是错误处理很难控制,相当于有开发环境将SQL 语句直接传给DB去执行),SAPABAP开发环境层还提供了一套Open SQL访问底层数据库. 4. 程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论). 5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象. 6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统.
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值