溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ABAP開發(fā)環(huán)境支持哪些變量名

發(fā)布時間:2021-12-29 17:25:45 來源:億速云 閱讀:133 作者:iii 欄目:服務器

這篇文章主要講解了“ABAP開發(fā)環(huán)境支持哪些變量名”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ABAP開發(fā)環(huán)境支持哪些變量名”吧!

Jerry進入SAP成都研究院前,一直是用C/C++開發(fā),所以剛接觸ABAP,對于她在某些語法環(huán)境下大小寫敏感,某些環(huán)境下不敏感的特性很不適應。那時候Jerry深深地懷念之前在C/C++編程時遵循的駝峰命名法和匈牙利命名法。

駝峰命名法:函數(shù)名中的每一個邏輯斷點都有一個大寫字母來標記。方法和變量名的首字母一般小寫,這叫小駝峰命名法,例如printEmployeePaychecks. 類名的首字母一般大寫,這叫大駝峰命名法,比如EmployeeBonusPlanManager.

匈牙利命名法: 變量名= 類型 + 描述。類型一般以一個或多個小寫字母開頭作為前綴,后面跟著一個或多個單詞描述該變量的用途。

假設有這樣一段簡單的ABAP代碼,通過OPEN SQL從名為I_Product的CDS view里讀取數(shù)據(jù)到內(nèi)表lt_table里。

ABAP變量名是大小寫無關的,下圖紅色下劃線lt_table是一個“匈牙利命名法+下劃線命名法”的例子,lt是local table的縮寫, 說明這個變量是一個局部內(nèi)表變量。

ABAP開發(fā)環(huán)境支持哪些變量名

通常情況下我們期望ABAP里的變量名都統(tǒng)一用小寫,為此只需在SAP GUI的ABAP Editor設置里,打開Pretty Printer配置頁面,將Keyword Uppercase的勾打上。

ABAP開發(fā)環(huán)境支持哪些變量名

這樣我們在使用IDE里提供的Pretty Printer,即代碼美化功能時,即使ABAP變量里出現(xiàn)了大小寫混雜的情況,也會全部自動轉換為小寫。

然而Pretty Printer的這種行為會帶來一個小問題,如果代碼里訪問了某個CDS view,比如例子中的I_Product,因為它不是一個ABAP關鍵字,所以也會被轉換成全部是小寫字母的組合:i_product.

ABAP開發(fā)環(huán)境支持哪些變量名

當時我們對這個行為有些不滿意,因為按照我們內(nèi)部開發(fā)規(guī)范,CDS view的首字母和下劃線之后的第一個字母必須大寫。我們期望的結果是,當Pretty Printer執(zhí)行后,代碼中CDS view的名稱仍然是I_Product, 而不是現(xiàn)在的i_product.

后來Jerry想了個辦法,即修改Pretty Printer的處理邏輯:如果掃描到代碼里出現(xiàn)的單詞代表一個CDS view時,讓Pretty Printer高抬貴手,不對這個單詞進行任何操作。

ABAP開發(fā)環(huán)境支持哪些變量名

我把這個方法分享到了SAP社區(qū)上:

Bypass CDS view name case conversion in ABAP source code pretty printer

測試結果:紅色下劃線標注的ABAP變量名被自動格式化成全部小寫,而CDS view的名稱I_Product仍然保持不變。這正是我們期望的結果。

ABAP開發(fā)環(huán)境支持哪些變量名

兩年過去了。如今,這個問題已經(jīng)有了優(yōu)雅的解決方案:如果想使用駝峰命名法,只需要在ABAP Development Tool里把Keep Camel Case Identifiers前面的勾選上即可。

ABAP開發(fā)環(huán)境支持哪些變量名

大家可以比較一下這個勾如果不打上會是什么樣的效果:

ABAP開發(fā)環(huán)境支持哪些變量名

這意味著偏愛駝峰命名法的ABAP開發(fā)人員,如今也可以在IDE的支持下進行ABAP代碼編寫了。

SAP社區(qū)上有ABAP開發(fā)人員聲稱,這是他們盼望了很久的功能:

ABAP開發(fā)環(huán)境支持哪些變量名ABAP開發(fā)環(huán)境支持哪些變量名

注意:目前這個功能只在S/4HANA和SAP云平臺ABAP編程環(huán)境可用。

感謝各位的閱讀,以上就是“ABAP開發(fā)環(huán)境支持哪些變量名”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對ABAP開發(fā)環(huán)境支持哪些變量名這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI