天天看點

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

本文介紹的兩個知識點比較零碎,是以我放在同一篇文章裡來介紹。

Jerry在做SAP CRM Fiori應用開發時,在學習

JavaScript

時,讀過這本書:

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

書中使用這種文法圖講解JavaScript的文法:

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

其實ABAP幫助文檔裡也存在類似的文法圖,隻是藏在一個不起眼的角落,不為大家所熟知:

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

以關鍵字APPEND為例,檢視其文法圖:

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

單擊超連結,文法圖就展示出來了,我覺得比幫助文檔裡的文字描述直覺得多:

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

點選問号,可以檢視圖裡每個組成部分的詳細說明

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

我們有時候發現編寫的ABAP代碼,運作時不能按照自己的期望工作,往往是因為對ABAP幫助文檔裡描述的ABAP關鍵字的功能了解得似是而非。如果你閱讀有的關鍵字幫助文檔時,感到晦澀難懂時,不妨換個角度,看一看它的文法圖,說不定能夠豁然開朗。

Jerry之前學習過SAP Commerce,在搭建開發環境執行ant all指令行進行項目建構時,發現會自動生成大量的.java檔案。我的同僚告訴我,這些Java檔案的内容,是基于一個叫做Velocity的Java模闆引擎生成的。

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

這些位于Hybris安裝包内,以.vm結尾的檔案,即Velocity的模闆檔案:

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

打開這些模闆檔案,發現由下圖藍色區域所示的靜态内容和紅色區域所示的變量組成。

SAP ABAP關鍵字文法圖和ABAP代碼自動生成工具Code Composer

在基于這些模闆檔案生成Java檔案時,以開 頭 的 變 量 會 被 運 行 時 計 算 出 的 實 際 值 替 換 , 例 如 開頭的變量會被運作時計算出的實際值替換,例如開頭的變量會被運作時計算出的實際值替換,例如currentDateTime被替換成實際執行ant all指令行建構項目的時間戳。

一個基于上圖模闆檔案生成的Java檔案的例子:

————————————————

版權聲明:本文為CSDN部落客「汪子熙」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:

https://blog.csdn.net/i042416/article/details/105854201