- SAP ABAP 教程
- SAP ABAP - 首页
- SAP ABAP - 概述
- SAP ABAP - 环境
- SAP ABAP - 屏幕导航
- SAP ABAP - 基本语法
- SAP ABAP - 数据类型
- SAP ABAP - 变量
- SAP ABAP - 常量和字面量
- SAP ABAP - 运算符
- SAP ABAP - 循环控制
- SAP ABAP - 决策
- SAP ABAP - 字符串
- SAP ABAP - 日期和时间
- SAP ABAP - 数据格式化
- SAP ABAP - 异常处理
- SAP ABAP - 字典
- SAP ABAP - 数据域
- SAP ABAP - 数据元素
- SAP ABAP - 表
- SAP ABAP - 结构
- SAP ABAP - 视图
- SAP ABAP - 搜索帮助
- SAP ABAP - 锁定对象
- SAP ABAP - 模块化
- SAP ABAP - 子程序
- SAP ABAP - 宏
- SAP ABAP - 函数模块
- SAP ABAP - 包含程序
- SAP ABAP - Open SQL 概述
- SAP ABAP - Native SQL 概述
- SAP ABAP - 内部表
- SAP ABAP - 创建内部表
- ABAP - 填充内部表
- SAP ABAP - 复制内部表
- SAP ABAP - 读取内部表
- SAP ABAP - 删除内部表
- SAP ABAP - 面向对象
- SAP ABAP - 对象
- SAP ABAP - 类
- SAP ABAP - 继承
- SAP ABAP - 多态性
- SAP ABAP - 封装
- SAP ABAP - 接口
- SAP ABAP - 对象事件
- SAP ABAP - 报表编程
- SAP ABAP - 对话编程
- SAP ABAP - 智能表单
- SAP ABAP - SAPscript
- SAP ABAP - 用户出口
- SAP ABAP - 用户出口
- SAP ABAP - 业务附加功能 (Business Add-Ins)
- SAP ABAP - Web Dynpro
- SAP ABAP 有用资源
- SAP ABAP - 问答
- SAP ABAP - 快速指南
- SAP ABAP - 有用资源
- SAP ABAP - 讨论
SAP ABAP - 数据类型
在 ABAP 编程中,我们需要使用各种变量来存储各种信息。变量只不过是保留的内存位置,用于存储值。这意味着当您创建变量时,您会在内存中保留一些空间。您可能希望存储各种数据类型的信息,例如字符、整数、浮点数等。根据变量的数据类型,操作系统分配内存并决定可以在保留的内存中存储什么。
基本数据类型
ABAP 为程序员提供了丰富的固定长度和可变长度数据类型。下表列出了 ABAP 基本数据类型:
类型 | 关键字 |
---|---|
字节字段 | X |
文本字段 | C |
整数 | I |
浮点数 | F |
打包数字 | P |
文本字符串 | STRING |
可以使用一个或多个名称修改某些字段和数字,如下所示:
- 字节
- 数值
- 字符型
下表显示了数据类型、在内存中存储值所需的内存大小以及可以存储在此类变量中的最小值和最大值。
类型 | 典型长度 | 典型范围 |
---|---|---|
X | 1 字节 | 任何字节值 (00 到 FF) |
C | 1 个字符 | 1 到 65535 |
N(数值文本字段) | 1 个字符 | 1 到 65535 |
D(字符型日期) | 8 个字符 | 8 个字符 |
T(字符型时间) | 6 个字符 | 6 个字符 |
I | 4 字节 | -2147483648 到 2147483647 |
F | 8 字节 | 2.2250738585072014E-308 到 1.7976931348623157E+308 正数或负数 |
P | 8 字节 | [-10^(2len -1) +1] 到 [+10^(2len -1) 1] (其中 len = 固定长度) |
STRING | 可变 | 任何字母数字字符 |
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.
在此示例中,我们有一个类型为 C 的字符字符串,其预定义长度为 40。STRING 是一种可用于任何可变长度字符字符串(文本字符串)的数据类型。对于固定长度不重要的字符型内容,通常应使用 STRING 类型的数据对象。
上述代码产生以下输出:
A Chapter on Data Types A Program in ABAP 12092015
DATE 类型用于存储日期信息,可以存储八位数字,如上所示。
复杂类型和引用类型
复杂类型分为结构类型和表类型。在结构类型中,基本类型和结构(即嵌入在结构中的结构)组合在一起。您可以只考虑基本类型的组合。但是您必须意识到结构嵌套的可用性。
当基本类型组合在一起时,可以访问数据项作为分组数据项,或者可以访问各个基本类型数据项(结构字段)。表类型在其他编程语言中更广为人知的是数组。数组可以是简单的数组或结构数组。在 ABAP 中,数组称为内部表,与其他编程语言相比,它们可以以多种方式声明和操作。下表显示了根据其特性来区分内部表的参数。
序号 | 参数和说明 |
---|---|
1 | 行类型 内部表的一行可以是基本类型、复杂类型或引用类型。 |
2 | 键 指定字段或字段组作为内部表的键,用于标识表行。键包含基本类型的字段。 |
3 | 访问方法 描述 ABAP 程序如何访问各个表条目。 |
引用类型用于引用类、接口和运行时数据项的实例。ABAP 面向对象运行时类型服务 (RTTS) 支持在运行时声明数据项。