有很多 ABAP 的从业人员,在各种社交媒体平台上,向我询问过这个问题。
先说说我自己的实际情况。我是2007年硕士毕业加入 SAP 成都研究院的,本科和研究生做的项目,一直是用 C/C++ 开发。进入 SAP 之后,从事 SAP Business ByDesign 的标准开发,因此需要从零开始学 ABAP.
我当时是按照使用 C/C++ 的经验来学习和运用 ABAP的,结果可想而知,各种不适应,我也曾经抱怨过。
可能出乎很多人意外,我们当时并没有参加过完整,正规的ABAP内部培训,都是在工作中一点一滴学习的,也就是从修改一个其他同事写好,能够正常运行的程序开始,然后由我在上面添加新功能。比如我需要先把别人写的程序看懂,然后找到大概在什么地方添加代码,最后在该处加个新的 IF 分支,里面写几行业务代码,OK.
这样过了一段时间,我觉得自己虽然能胜任工作,但是对 ABAP 缺乏系统地了解,很多知识点都掌握得支离破碎,根本不成体系。于是我就花业余时间,把 ABAP 标准培训的系列教程,BC400这些,全部自学了一遍,里面的例子,自己在系统里手动敲了一遍。
主要是看下面这三本书:
- BC400: ABAP workbench介绍
- BC401: ABAP 对象
- BC402: ABAP 进阶
有的朋友一直让我推荐一些 ABAP 的书籍,但是因为我在 ABAP 学习过程中,从没有看过国内出版的 ABAP 书籍,因此没有发言权,觉得不能贸然推荐,以免误导大家。另一方面,我是真的觉得,BC400 ~ BC402 这三本培训教材,是我个人认为最权威,最系统学习 ABAP 的材料。
有的朋友可能觉得按部就班学习标准教材,速度太慢,不是一个速成的好办法。我同意这个观点:ABAP 无法速成。换个角度想,如果一门技能可以速成,那么它的含金量,就要打个问号了。
实际上,我从 2007 年开始接触 ABAP,到了 2014年的时候,我已经敢给我的领导说,我有信心解决工作中遇到的任何 ABAP 层面的问题,只要给予我足够的时间。
除了看 ABAP 培训教材之外,自己多动手,多写代码也非常有必要。
ABAP 系统本身,包含了大量的实例程序,初学者可以从阅读这些实例程序,然后在其基础上对其修改,来查看效果。
用关键字 DEMO 和 BC, 在 SE80 事物码里搜索 ABAP 开发包,就能找到大量包含了示例程序的开发包。
总之,如果想系统地(而不是速成)学习ABAP,就得有足够的耐心和恒心:阅读 SAP 官方教程和自己多动手实际操作。希望对大家有用。
更多Jerry的原创文章,尽在:"汪子熙":