這是 Jerry 2021 年的第 35 篇文章,也是汪子熙公衆号總共第 311 篇原創文章。
Jerry 已經告别 ABAP 開發很長一段時間了,最近有朋友問我一個關于 ABAP Development Tool 裡代碼模闆的使用問題。我覺得這個代碼模闆功能,對 ABAP 開發者來說算是一個比較實用的功能,是以單獨寫一篇文章,把我給這位朋友的解答分享出來。

先介紹下問題的上下文:在 SAPGUI 裡,我們可以使用工具欄這個 Pattern 按鈕,輸入一個函數的名稱比如 READ_TEXT:
然後,ABAP 編輯器會幫助我們,自動生成調用這個函數的代碼模闆,如下圖所示。當一個 ABAP 函數具有較多的輸入輸出參數時,這個功能很有用,省去了我們手動敲入代碼的時間。
這位朋友的困擾是,到了 ABAP Development Tool 環境下面,找不到 Pattern 按鈕了,是以不知道如何繼續使用 ABAP 代碼模闆功能。
實際上,在 ABAP Development Tool (以前我們稱為 ABAP in Eclipse) 裡,ABAP 代碼模闆仍然能夠繼續使用。和 SAPGUI 不同之處在于,其觸發方式有所變化,不再是通過點選 IDE 裡某按鈕觸發。
首先,在 Windows -> Preferences 裡,修改 ABAP Development Tool 裡觸發代碼自動補全的快捷鍵。
選擇 Keys -> Content Assist,預設的快捷鍵是 Ctrl + Space. 這個按鍵組合,在 Windows 系統裡會觸發輸入法切換,是以我們需要将其更改成其他的按鍵組合。
我将其修改成了 Shift + L:
在 ABAP 編輯器裡,輸入 CALL FUNCTION 'READ 之後,敲 Shift + L :
就會看到所有以 READ 開頭的 ABAP 函數清單。從清單裡選擇 read_text 函數之後,在彈出框能看到該函數的輸入輸出參數,即所謂的 signature 明細。
鍵入 Shift + Enter,就可以像在 SAPGUI 裡點選 Pattern 一樣,自動将該函數的調用代碼,插入到目前 ABAP 代碼中了。
此外,在 ABAP Editor 的 ABAP Templates 裡,我們可以修改 ABAP Development Tool 自帶的标準 ABAP 模闆,也可以自定義新的 ABAP 代碼模闆。
建立一個 ABAP 模闆,使用按鈕 Insert Variable, 可以在模闆代碼裡插入類似 ABAP 程式設計語言 sy-uname 等系統變量。
比如來一段 Jerry 文章
你的ABAP程式給佛祖開過光麼?來試試Jerry這個小技巧裡提到的注釋。
最後編輯好的 ABAP 代碼模闆如下圖所示,另存為 JerryCustomTemplate:
在 ABAP 編輯器中,輸入 je,然後敲 Shift + L,從下拉清單裡選擇 JerryCustomTemplate 即可:
可以看到代碼模闆裡插入的變量,已經自動被替換成其實際值了
關于 SAP ABAP Development Tool 的更多介紹,可以閱讀 Jerry 之前的文章:
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
給你的ABAP對象打上标簽(Tag)
ABAP開發環境終于支援以駝峰命名法自動格式化ABAP變量名了
比如在 ABAP Development Tool 裡設定 ABAP Formatter,讓其支援駝峰命名法:
以及此處導入 ABAP 關鍵字的顔色配置,讓你的 ABAP 編輯器具有五彩缤紛的視覺效果:
https://github.com/FreHu/eclipse-abap-keywordcolors