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"用于在声明期间为常量赋予初始值。
我们有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 '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.
我们可以在比较中使用常量引用,或者我们可以将其传递给过程。