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.
我们可以在比较中使用常量引用,或者我们可以将其传递给过程。
关于赛锐信息
作为SAP的资深合作伙伴,赛锐信息是一家专业提供SAP行业化管理软件解决方案的顾问公司,致力于为企业提供SAP ERP系统咨询服务、IT规划、业务流程优化、信息系统实施、行业信息系统方案开发,运营外包及售后维护等全面的服务方案。已服务1000+家不同行业、规模的大中小型企业客户。在电子高科技、汽车零部件、印刷包装、医疗器械、快消品、专业服务等行业信息化管理领域具有领导性地位。