SAP ABAP 数据类型
在 ABAP 中编程时,我们需要使用各种变量来存储各种信息。
变量只是用于存储值的保留内存位置。这意味着,当您创建一个变量时,您会在内存中保留一些空间。您可能希望存储各种数据类型的信息,如字符、整数、浮点等。操作系统根据变量的数据类型分配内存并决定可以在保留内存中存储的内容。
基本数据类型
ABAP 为程序员提供了丰富的固定长度和可变长度数据类型。
下表列出了 ABAP 基本数据类型:
类型 | 关键字 |
---|---|
Byte field | X |
Text field | C |
Integer | I |
Floating point | F |
Packed number | P |
Text string | STRING |
可以使用一个或多个名称修改某些字段和数字,如下所示:
- byte
- numeric
- character-like
下表显示了数据类型、在内存中存储值所需的内存量,以及可以存储在此类变量中的最小值和最大值。
类型 | 典型长度 | 典型范围 |
---|---|---|
X | 1 byte | Any byte values (00 to FF) |
C | 1 character | 1 to 65535 |
N (numeric text filed) | 1 character | 1 to 65535 |
D (character-like date) | 8 characters | 8 characters |
T (character-like time) | 6 characters | 6 characters |
I | 4 bytes | -2147483648 to 2147483647 |
F | 8 bytes | 2.2250738585072014E-308 to 1.7976931348623157E+308 positive or negative |
P | 8 bytes | [-10^(2len -1) +1] to [+10^(2len -1) 1] (where len = fixed length) |
STRING | Variable | Any alphanumeric characters |
XSTRING (byte string) | Variable | Any byte values (00 to FF) |
实例
REPORT YR_SEP_12.
DATA text_line TYPE C LENGTH 40.
text_line = 'A Chapter on Data Types'.
Write text_line.
DATA text_string TYPE STRING.
text_string = 'A Program in ABAP'.
Write / text_string.
DATA d_date TYPE D.
d_date = SY-DATUM.
Write / d_date.
在本例中,我们有一个预定义长度为 40 的 C 类型字符串。STRING
字符串是一种数据类型,可用于任何长度可变的字符串(文本字符串)。字符串类型的数据对象通常应用于固定长度不重要的类似字符的内容。
结果如下:
A Chapter on Data Types
A Program in ABAP
12092015
DATE
日期类型用于存储日期信息,可以存储八位数字,如上所示。
复杂和引用类型
复杂类型分为 结构类型 和 表类型。在结构类型中,基本类型和结构(即嵌入结构中的结构)被分组在一起。您可以只考虑基本类型的分组。
但您必须了解结构嵌套的可用性。
将基本类型分组在一起时,可以将数据项作为分组数据项进行访问,也可以访问单个基本类型数据项(结构字段)。在其他编程语言中,表类型通常被称为数组。数组可以是简单数组或结构化数组。在 ABAP 中,数组被称为内部表,与其他编程语言相比,可以通过多种方式声明和操作数组。
下表显示了内部表格的特征参数:
编号 | 参数 & 描述 |
---|---|
1 | Line or row type 内部表的行可以是基本、复杂或引用类型。 |
2 | Key 指定一个字段或一组字段作为标识表行的内部表的键(Key)。一个键包含基本类型的字段。 |
3 | Access method 描述 ABAP 程序如何访问各个表条目。 |
引用类型用于引用类、接口和运行时数据项的实例。
ABAP OOP 运行时类型服务(RTTS)支持在运行时声明数据项。