1. 程式人生 > >【第五篇】SAP ABAP7.50新語法之命名規約

【第五篇】SAP ABAP7.50新語法之命名規約

原文連結:SAP ABAP7.50系列之命名規約

公眾號:SAP Technical

命名約定

以下約定適用於ABAP程式中所有可定義物件的名稱,例如資料型別,資料物件,類,巨集或儲存過程:

1、名稱最長可達30個字元。
2、允許的字元是從“A”到“Z”的字母,從“0”到“9”的數字和下劃線(_)。
3、名稱必須以字母或下劃線(_)開頭。

      只有在ABAP物件之外,名稱也可以以不同的字元開頭。
4、名稱可以具有名稱空間字首。

      名稱空間字首由至少三個由兩個正斜槓(/.../)括起來的字元組成。

      字首和名稱的整個長度不能超過30個字元。
5、預定義的ABAP型別或預定義資料物件的名稱不能用於資料型別或資料物件。
6、實際上並未禁止使用為ABAP字等保留的ID 以用於自定義定義,但強烈建議不要這樣做。
7、欄位符號是特殊的,因為它們的名稱必須用尖括號(<...>)括起來。

     尖括號是名稱的一部分,這意味著欄位符號可能被稱為<>(但不建議這樣做)。

 

程式內名稱規則

程式內部名稱描述在程式中宣告的實體,在程式中呼叫或由其他程式呼叫。典型示例包括資料型別和資料物件的識別符號以及方法和方法介面引數。
可以在不同的上下文中配置程式內部宣告,這些上下文都跨越單獨的名稱空間。這些上下文按從本地到全域性的順序排列:
1、程式中的本地宣告(方法)
2、類中例項元件和靜態元件的宣告
3、程式宣告部分中的全域性宣告
這裡區域性宣告總是隱藏更高上下文的更全域性宣告。不同型別的宣告在其上下文中跨越單獨的名稱空間,但類元件除外,它們都位於一個名稱空間中,而不管其型別如何。

 

資料宣告

1、g_用於全域性資料物件
2、l_用於隱藏靜態屬性的本地資料物件
3、i_用於IMPORTING引數
4、e_用於EXPORTING引數
5、c_用於CHANGING引數
6、r_用於RETURNING引數

 

ABAP中可能的所有型別都在名稱空間中。資料型別和物件型別沒有單獨的名稱空間。例如,無法使用已在ABAP字典中用於資料型別的名稱建立全域性類。
必須遵循此處提供的命名約定。它們不會通過語法檢查完全檢查,但它們不能超出絕對必要的範圍。

 

名稱空間

在類宣告之外,不同的物件具有單獨的名稱空間,因此資料型別,資料物件或過程可能具有相同的名稱。因此,類和介面與資料型別位於同一名稱空間中。名稱空間對於相應的上下文有效。在上下文中,相同物件的名稱必須是唯一的。例如,在ABAP程式中只能有一個具有相同名稱的子程式,並且在整個AS ABAP中只能有一個具有相同名稱的功能模組 。

在類宣告中,每個類元件的名稱(資料型別,屬性,方法,事件或別名)必須是唯一的。