ABAP Development Tool 代码模板和其他一些实用技巧汇总
這是 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
感謝閱讀。
ABAP專題
-
Jerry的ABAP, Java和JavaScript亂燉
-
ABAP開發人員未來應該學些什么
-
Jerry 2017年的五一小長假:8種經典排序算法的ABAP實現
-
Jerry的ABAP原創技術文章合集
-
300行ABAP代碼實現一個最簡單的區塊鏈原型
-
使用Java+SAP云平臺+SAP Cloud Connector調用ABAP On-Premise系統里的函數
-
在SAP云平臺的CloudFoundry環境下消費ABAP On-Premise OData服務
-
ABAP vs Java, 蛙泳 vs 自由泳
-
聊聊C語言和ABAP
-
動手使用ABAP Channel開發一些小工具,提升日常工作效率
-
我用ABAP做過的那些無聊的事情
-
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
-
使用Visual Studio Code編寫和激活ABAP代碼
-
你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧
-
在SAP云平臺ABAP編程環境上編寫第一段ABAP程序
-
SAP官方發布的ABAP編程規范
-
ABAP Code Inspector那些隱藏的功能,您都知道嗎?
-
還在用ABAP進行SAP產品的二次開發?來了解下這種全新的二次開發理念吧
-
ABAP Netweaver體內的那些寄生式編程語言
-
從SAP社區上的一篇博客開始,聊聊SAP產品命名背后的那份情懷
-
云端的ABAP Restful服務開發
-
如何在SAP云平臺ABAP編程環境里把CDS view暴露成OData服務
-
使用abapGit在ABAP On-Premises系統和SAP云平臺ABAP環境之間進行代碼傳輸
-
30分鐘用Restful ABAP Programming模型開發一個支持增刪改查的Fiori應用
-
Jerry帶您了解Restful ABAP Programming模型系列之二:Action和Validation的實現
-
Jerry帶您了解Restful ABAP Programming模型系列之三:云端ABAP應用調試
-
SAP云平臺上的ABAP編程環境里如何消費第三方服務
-
ABAP開發者上云的時候到了 - 現在大家可以免費使用SAP云平臺ABAP環境的試用版了
-
學而不思則罔 - SAP云平臺ABAP編程環境的由來和適用場景
-
SAP云平臺里的三叉戟應用
-
如何基于Restful ABAP Programming模型開發并部署一個支持增刪改查的Fiori應用
-
SAP 2019 TechEd Key Note解讀:云時代下SAP從業人員如何做二次開發?
-
有哪些ABAP關鍵字和語法,到了ABAP云環境上就沒辦法用了?
-
ABAP開發環境終于支持以駝峰命名法自動格式化ABAP變量名了
-
利用ABAP 740的新關鍵字REDUCE完成一個實際工作任務
-
一段讓人瑟瑟發抖的ABAP代碼
-
昨日萬圣節ABAP怪獸級代碼謎團,公布答案啦
-
介紹一種在ABAP內核態進行內表高效拷貝的方法
-
使用SAP Cloud Application Programming模型開發OData的一個實際例子
-
當ABAP遇見普羅米修斯
-
使用ABAP繪制可伸縮矢量圖
-
ABAP開發環境語法高亮的那些事兒
-
SAP錯誤消息調試之七種武器:讓所有的錯誤消息都能被定位
-
使用ABAP操作Excel的幾種方法
-
SAP GUI里的收藏夾事務碼管理工具
-
SAP GUI和Windows注冊表
-
有了Debug權限就能干壞事?小心了,你的一舉一動盡在系統監控中
-
ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX這些東東是什么鬼
-
實現ABAP條件斷點的三種方式
-
使用SAT跟蹤監控從瀏覽器打開的SAP應用的性能和調用棧
-
一個13年ABAP老兵的建議:了解這些基礎知識,對ABAP開發有百利而無一害
-
SAP ABAP Netweaver容器化, 不可能完成的任務嗎?
-
SAP產品增強技術回顧
-
SAP API開發方法大全
-
淺談Java和SAP ABAP的靜態代理和動態代理,以及ABAP面向切面編程的嘗試
-
SAP ABAP應用服務器的HTTP響應狀態碼(Status Code)
-
SAP ABAP里存在Java List這種集合工具類么?CL_OBJECT_COLLECTION了解一下
-
ABAP面試題系列:寫一組會出現死鎖(Deadlock)的ABAP程序
-
SAP ABAP Netweaver服務器的標準登錄方式講解
-
SAP ABAP關鍵字語法圖和ABAP代碼自動生成工具Code Composer
-
SAP ABAP SM50的另類用途 - ABAP工作進程對數據庫表讀取操作的檢測
-
關于SAP ABAP字符變量和字符串變量字符個數的一個知識點,和一個血案
-
SAP ABAP一組關鍵字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
-
SAP ABAP和Java里的弱引用(WeakReference)和軟引用(SoftReference)
-
SAP AMDP介紹 - ABAP托管的HANA數據庫過程
-
給你的ABAP對象打上標簽(Tag)
-
歷史上的今天:編程語言中null引用的十億美元錯誤
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的ABAP Development Tool 代码模板和其他一些实用技巧汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高速上违规使用理想“自动驾驶”致撞车!车
- 下一篇: SAP ABAP 编程语言里允许哪些特殊