SAP ABAP - 数据类型


在ABAP编程中,我们需要使用各种变量来存储各种信息。变量只不过是用于存储值的保留内存位置。这意味着当您创建变量时,您会在内存中保留一些空间。您可能喜欢存储各种数据类型的信息,例如字符、整数、浮点等。操作系统根据变量的数据类型分配内存并决定可以在保留内存中存储什么。

基本数据类型

ABAP 为程序员提供了丰富的固定长度和可变长度数据类型。下表列出了 ABAP 基本数据类型 -

类型 关键词
字节字段 X
文本域 C
整数
浮点 F
装箱数量
文本字符串 细绳

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

  • 字节
  • 数字
  • 性格似的

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

类型 典型长度 典型范围
X 1字节 任何字节值(00 到 FF)
C 1 个字符 1 至 65535
N(数字文本字段) 1 个字符 1 至 65535
D(类似字符的日期) 8 个字符 8 个字符
T(类似字符的时间) 6 个字符 6 个字符
4字节 -2147483648 至 2147483647
F 8字节 2.2250738585072014E-308 至 1.7976931348623157E+308 正或负
8字节 [-10^(2len -1) +1] 到 [+10^(2len -1) 1](其中 len = 固定长度)
细绳 多变的 任何字母数字字符
XSTRING(字节字符串) 多变的 任何字节值(00 到 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 是一种可用于任何可变长度字符串(文本字符串)的数据类型。STRING 类型数据对象通常应用于固定长度不重要的类似字符的内容。

上面的代码产生以下输出 -

A Chapter on Data Types 
A Program in ABAP 
12092015 

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

复杂类型和引用类型

复杂类型分为结构类型表类型。在结构类型中,基本类型和结构(即嵌入结构中的结构)被分组在一起。您可以仅考虑基本类型的分组。但您必须意识到结构嵌套的可用性。

当基本类型被分组在一起时,数据项可以作为分组数据项来访问,或者可以访问单独的基本类型数据项(结构字段)。在其他编程语言中,表类型更被称为数组。数组可以是简单数组或结构数组。在 ABAP 中,数组称为内表,与其他编程语言相比,可以通过多种方式声明和操作数组。下表显示了表征内部表的参数。

编号 参数及说明
1

线型或行型

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

2

钥匙

指定一个字段或一组字段作为内表的键,用于标识表行。键包含基本类型的字段。

3

接入方式

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

引用类型用于引用类、接口和运行时数据项的实例。ABAP OOP 运行时类型服务 (RTTS) 支持在运行时声明数据项。