SAP ABAP - 常量 & 字面量
-
简述
字面量是您在程序源代码中创建的未命名数据对象。它们完全由其价值定义。您无法更改字面量的值。常量是使用声明性语句静态创建的命名数据对象。常量是通过为其分配存储在程序内存区域中的值来声明的。分配给常量的值在程序执行期间不能更改。这些固定值也可以被视为字面量。有两种类型的字面量 - 数字和字符。 -
数字字面量
数字字面量是可以有前缀符号的数字序列。在数字字面量中,没有小数点分隔符,也没有尾数和指数的表示法。以下是数字字面量的一些示例 -183. -97. +326.
-
字符字面量
字符字面量是 ABAP 程序源代码中用单引号括起来的字母数字字符序列。用引号括起来的字符字面量具有预定义的 ABAP 类型 C,并被描述为文本字段字面量。用“反引号”括起来的字面量具有 ABAP 类型 STRING,并被描述为字符串字面量。字段长度由字符数定义。Note- 在文本字段字面量中,尾随空白将被忽略,但在字符串字面量中,它们将被考虑在内。以下是字符字面量的一些示例。文本字段字面量
REPORT YR_SEP_12. Write 'CAINIAOYA'. Write / 'ABAP Tutorial'.
字符串字段字面量
REPORT YR_SEP_12. Write `CAINIAOYA `. Write / `ABAP Tutorial `.
上述两种情况的输出相同 -CAINIAOYA ABAP Tutorial
Note− 当我们尝试更改常量的值时,可能会出现语法或运行时错误。在类或接口的声明部分中声明的常量属于该类或接口的静态属性。 -
常量声明
我们可以借助 CONSTANTS 语句来声明命名数据对象。以下是语法 -CONSTANTS <f> TYPE <type> VALUE <val>.
CONSTANTS 语句与 DATA 语句类似。<f> 指定常量的名称。TYPE <type> 表示一个名为<f> 的常量,它继承了与现有数据类型<type> 相同的技术属性。VALUE <val> 将初始值分配给声明的常量名称 <f>。Note− 我们应该在 CONSTANTS 语句中使用 VALUE 子句。子句“VALUE”用于在声明期间为常量分配初始值。我们有 3 种类型的常量,例如初等常量、复数常量和参考常量。以下语句显示如何使用 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 'CAINIAOYA Ltd', Place(10) TYPE C VALUE 'India', END OF EMPLOYEE.
在上面的代码片段中,EMPLOYEE 是一个复杂的常量,由 Name、Organization 和 Place 字段组成。以下语句声明一个常量引用 -CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.
我们可以在比较中使用常量引用,也可以将其传递给过程。