有很多 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的原創文章,盡在:"汪子熙":