SAP ABAP 数据类型

在 ABAP 中编程时,我们需要使用各种变量来存储各种信息。

变量只是用于存储值的保留内存位置。这意味着,当您创建一个变量时,您会在内存中保留一些空间。您可能希望存储各种数据类型的信息,如字符、整数、浮点等。操作系统根据变量的数据类型分配内存并决定可以在保留内存中存储的内容。


基本数据类型

ABAP 为程序员提供了丰富的固定长度和可变长度数据类型。

下表列出了 ABAP 基本数据类型:

类型关键字
Byte fieldX
Text fieldC
IntegerI
Floating pointF
Packed numberP
Text stringSTRING

可以使用一个或多个名称修改某些字段和数字,如下所示:

  • byte
  • numeric
  • character-like

下表显示了数据类型、在内存中存储值所需的内存量,以及可以存储在此类变量中的最小值和最大值。

类型典型长度典型范围
X1 byteAny byte values (00 to FF)
C1 character1 to 65535
N (numeric text filed)1 character1 to 65535
D (character-like date)8 characters8 characters
T (character-like time)6 characters6 characters
I4 bytes-2147483648 to 2147483647
F8 bytes2.2250738585072014E-308 to 1.7976931348623157E+308 positive or negative
P8 bytes[-10^(2len -1) +1] to [+10^(2len -1) 1] (where len = fixed length)
STRINGVariableAny alphanumeric characters
XSTRING (byte string)VariableAny byte values (00 to FF)
实例
  1. REPORT YR_SEP_12.
  2. DATA text_line TYPE C LENGTH 40.
  3. text_line = 'A Chapter on Data Types'.
  4. Write text_line.
  5. DATA text_string TYPE STRING.
  6. text_string = 'A Program in ABAP'.
  7. Write / text_string.
  8. DATA d_date TYPE D.
  9. d_date = SY-DATUM.
  10. Write / d_date.

在本例中,我们有一个预定义长度为 40 的 C 类型字符串。STRING 字符串是一种数据类型,可用于任何长度可变的字符串(文本字符串)。字符串类型的数据对象通常应用于固定长度不重要的类似字符的内容。

结果如下:

  1. A Chapter on Data Types
  2. A Program in ABAP
  3. 12092015

DATE 日期类型用于存储日期信息,可以存储八位数字,如上所示。


复杂和引用类型

复杂类型分为 结构类型表类型。在结构类型中,基本类型和结构(即嵌入结构中的结构)被分组在一起。您可以只考虑基本类型的分组。

但您必须了解结构嵌套的可用性。

将基本类型分组在一起时,可以将数据项作为分组数据项进行访问,也可以访问单个基本类型数据项(结构字段)。在其他编程语言中,表类型通常被称为数组。数组可以是简单数组或结构化数组。在 ABAP 中,数组被称为内部表,与其他编程语言相比,可以通过多种方式声明和操作数组。

下表显示了内部表格的特征参数:

编号参数 & 描述
1

Line or row type

内部表的行可以是基本、复杂或引用类型。

2

Key

指定一个字段或一组字段作为标识表行的内部表的键(Key)。一个键包含基本类型的字段。

3

Access method

描述 ABAP 程序如何访问各个表条目。

引用类型用于引用类、接口和运行时数据项的实例。

ABAP OOP 运行时类型服务(RTTS)支持在运行时声明数据项。