SAP ABAP 常量和字面量

2020-12-09 09:46 更新

文字是您在程序的源代碼中創(chuàng)建的未命名數(shù)據(jù)對象。 他們完全由他們的價值定義。 您不能更改文字的值。 常量是通過使用聲明性語句靜態(tài)創(chuàng)建的命名數(shù)據(jù)對象。 通過為程序的存儲區(qū)域中存儲的值分配一個常量來聲明該常量。 分配給常數(shù)的值在程序執(zhí)行期間不能更改。 這些固定值也可以被視為文字。 有兩種類型的文字 - 數(shù)字和字符。

數(shù)字字面量

數(shù)字文字是可以有前綴符號的數(shù)字序列。 在數(shù)字文字中,沒有十進制分隔符,也沒有帶尾數(shù)和指數(shù)的符號。

183. 
-97. 
+326.

字符文字

字符文字是用單引號括起來的ABAP程序的源代碼中的字母數(shù)字字符序列。 用引號括起來的字符文字具有預(yù)定義的ABAP類型C,并被描述為文本字段文字。 包含在“后引號"中的文字具有ABAP類型STRING,并且被描述為字符串文字。 字段長度由字符數(shù)定義。
注意 - 在文本字段文字中,尾隨空白將被忽略,但在字符串文字中,它們將被考慮在內(nèi)。
以下是字符文字的一些示例。

文本字段字面值

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

字符串字面值

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

在上述兩種情況下的輸出相同 

Tutorials Point  
ABAP Tutorial

注意 - 當我們嘗試更改常量的值時,可能會發(fā)生語法或運行時錯誤。 在類或接口的聲明部分中聲明的常量屬于該類或接口的靜態(tài)屬性。

CONSTANTS聲明

我們可以在CONSTANTS語句的幫助下聲明命名的數(shù)據(jù)對象。

以下是語法 -

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

CONSTANTS語句類似于DATA語句。

< f > 指定常量的名稱。 TYPE< type> 表示常數(shù),其命名為< f > ;,其繼承與現(xiàn)有數(shù)據(jù)類型< type>相同的技術(shù)屬性。 VALUE< val > 為聲明的常量名< f >賦值一個初始值。

注意 - 我們應(yīng)該使用CONSTANTS語句中的VALUE子句。 子句“VALUE"用于在聲明期間為常量賦予初始值。

我們有3種類型的常數(shù),如基本,復(fù)雜和參考常數(shù)。 以下語句顯示如何使用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

這里它涉及基本數(shù)據(jù)類型并且被稱為基本常數(shù)。

下面是復(fù)常數(shù)的示例 :

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字段組成的復(fù)雜常量。

以下語句聲明一個常量引用:

CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號