SAP ABAP - 常量與字面量



字面量是在程式原始碼中建立的未命名的資料物件。它們完全由其值定義。您無法更改字面量的值。常量是使用宣告語句靜態建立的命名資料物件。常量是透過為其分配一個儲存在程式記憶體區域中的值來宣告的。在程式執行期間,不能更改分配給常量的值。這些固定值也可以視為字面量。字面量有兩種型別:數值型和字元型。

數值型字面量

數字字面量是數字序列,可以有字首符號。在數字字面量中,沒有小數點分隔符,也沒有尾數和指數表示法。

以下是一些數值型字面量的示例:

183. 
-97. 
+326.

字元型字面量

字元型字面量是 ABAP 程式原始碼中用單引號括起來的字母數字字元序列。用引號括起來的字元型字面量具有預定義的 ABAP 型別 C,並被描述為文字欄位字面量。用“反引號”括起來的字面量具有 ABAP 型別 STRING,並被描述為字串字面量。欄位長度由字元數定義。

注意 - 在文字欄位字面量中,尾隨空格將被忽略,但在字串字面量中,它們將被考慮在內。

以下是一些字元型字面量的示例。

文字欄位字面量

REPORT YR_SEP_12. 
Write 'Tutorials Point'. 
Write / 'ABAP Tutorial'.  

字串欄位字面量

REPORT YR_SEP_12. 
Write `Tutorials Point `. 
Write / `ABAP Tutorial `. 

以上兩種情況的輸出相同:

Tutorials Point  
ABAP Tutorial

注意 - 當我們嘗試更改常量的值時,可能會發生語法或執行時錯誤。在類的宣告部分或介面中宣告的常量屬於該類或介面的靜態屬性。

CONSTANTS 語句

我們可以使用 CONSTANTS 語句宣告命名資料物件。

以下是語法:

CONSTANTS <f> TYPE <type> VALUE <val>.

CONSTANTS 語句類似於 DATA 語句。

<f> 指定常量的名稱。TYPE <type> 表示名為 <f> 的常量,它繼承與現有資料型別 <type> 相同的技術屬性。VALUE <val> 為宣告的常量名稱 <f> 分配初始值。

注意 - 我們應該在 CONSTANTS 語句中使用 VALUE 子句。“VALUE”子句用於在宣告常量時為其分配初始值。

我們有三種類型的常量,例如基本常量、複雜常量和引用常量。以下語句顯示瞭如何使用 CONSTANTS 語句定義常量:

REPORT YR_SEP_12. 
CONSTANTS PQR TYPE P DECIMALS 4 VALUE '1.2356'. 
Write: / 'The value of PQR is:', PQR.

輸出為:

The value of PQR is: 1.2356

這裡指的是基本資料型別,被稱為基本常量。

以下是複雜常量的示例:

BEGIN OF EMPLOYEE,  
Name(25) TYPE C VALUE 'Management Team',  
Organization(40) TYPE C VALUE 'Tutorials Point Ltd',  
Place(10) TYPE C VALUE 'India',  
END OF EMPLOYEE.

在上面的程式碼片段中,EMPLOYEE 是一個由 Name、Organization 和 Place 欄位組成的複雜常量。

以下語句宣告一個常量引用:

CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.

我們可以使用常量引用進行比較,或者將其傳遞給過程。

廣告