下表总结了 ABAP/4 中预定义的 基本数据类 型(有效大 小以字节为 单位):
数据类型 默 认大小 有效 大小 初始值 说明
C 1 1 - 65535 SPACE 文 本、字符( 字母数字字 符)
D 8 8 '00000000' 日 期(格式: YYYYMMDD)
F 8 8 0 浮 点数
I 4 4 0 整 型(整数)
N 1 1 - 65535 '00...0' 数 字文本
P 8 1 - 16 0 压缩 号
T 6 6 '000000' 时 间(格式: HHMMSS)
X 1 1 - 65535 X'00' 十 六进制
在各方面, 数据类型 D、F、I 和 T 都是预定义 的,但数据 类型 C、N、P 和 X 可以有附加 说明。例如 ,可以在程 序中定义大 小。
语法
DATA <f>[(<length>)] <type> [<value>] [<decimals>].
数字数据类 型
ABAP/4 支持三种数 字数据类型 。它们是:
? 类型 I 的整型(整 数)
? 类型 P 的压缩号
? 类型 F 的浮点数
类型 I 数据
类型 I 数据的数值 范围是 -2**31 到 2**31-1 并且仅包括 整数。
对算术运算 的非整型结 果(如分数 )进行四舍 五入,而不 是截断。
类型 I 数据可用于 计数器、项 目号、索引 和时间期段 等。
类型 P 数据
类型 P 数据允许在 小数点后有 数字。
类型 P 数据的数值 范围取决于 大小和小数 点后的位数 。有效大小 可以是从 1 到 16 字节的任何 值。将两个 十进制数字 压缩到一个 字节,而最 后一个字节 包含一个数 字和符号。 在小数点后 最多允许 14 个数字。关 于定义小数 点后位数的 详细信息。
使用类型 P 数据时,最 好将程序属 性设置为“ 定点算法” (指定程序属性)。否则, 将类型 P 数字作为整 型对待。
类型 P 数据可用于 如距离、重 量和钱数等 数值。
类型 F 数据
对于正数和 负数,类型 F 数的数值范 围是 1x10**-307 到 1x10**308, 包括 0(零)。
精确范围近 似为 15 位十进制数 ,这取决于 硬件平台的 浮点算法。
由于是在内 部将类型 F 数据转换为 二进制系统 ,因此可能 出现舍入误 差。尽管 ABAP/4 处理器试图 将这些影响 减至最小, 但是如果要 求高精度, 则不应该使 用类型 F 数据。而应 代之以类型 P 数据。
如果需要大 的数值范围 ,而且舍入 误差不重要 ,则可以使 用类型 F 数据。
因为对类型 I 和 F 字段的算术 运算与机器 码语句关系 更紧密,所 以用类型 I 和类型 F 字段的计算 比用类型 P 字段的计算 要快;同时 对 P 字段的运算 要求更多的
软件支持。 尽管如此, 可能仍必须 使用类型 P 数据以满足 精度或数值 范围的要求 。
类型 N 数据不包含 数值。虽然 由数字组成 ,但这些数 字不用于计 算。科目号 和邮编是典 型的类型 N 字段。