本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ABAP 中的数据表示
本节涵盖以下主题。
数据类型
Amazon Web Services 服务 有一组必须映射到 ABAP 数据类型的标准数据类型。有关更多信息,请参阅下表。
| Amazon 数据类型 | ABAP 数据类型 | 评论 | 
|---|---|---|
| 布尔值 | C | 单字符 "X"和"
              " | 
| 字符串 | string | |
| 字节 | INT2 | INT2 的范围大于 0-255。大多数 Amazon Web Services 服务 会截断溢出,但这种行为尚未正式定义。 | 
| 短型 | INT2 | |
| 整数 | INT4 | |
| 长整型 | DEC19 | INT8 直到 ABAP 750 才可用。 DEC19 用于在所有支持的 ABAP 平台之间实现兼容性和一致性。 | 
| Blob | XSTRING | 表示二进制数据 | 
| 浮点型 | STRING | 虽然 ABAP 支持 DECFLOATs,但它不能表示诸如 NaN、Infinity 和-Infinity 之类的值。 Amazon SDK 在内部将它们表示为 STRINGs,并在运行 DECFLOAT16 时将其转换为。如果 NaN、Infinity 或 +Infinity 得以表示,则开发人员可以根据一组特殊异常或映射来处理这些值。 | 
| 双精度 | string | |
| bigInteger | string | 这些值表示无法在 ABAP 中表示的无限长度数字,用于代替 BigInteg STRINGs er。 | 
| bigDecimal | string | |
| Timestamp | TZNTSTMPS | TZNTSTMPS允许使用 ABAP 原生时间戳函数进行处理。 | 
Amazon Web Services 服务 还会返回以下聚合数据类型。
| Amazon 数据类型 | ABAP 数据类型 | 评论 | 
|---|---|---|
| 结构 | 类 | |
| Union | 类 | 并集的字段集数量始终不超过一个,除此以外,它与结构一模一样。其他所有字段均设为无值。 | 
| 数组 | 标准表 | |
| 哈希 | 哈希表 | 经过哈希处理的表只有两列:键列(字符串)和值列(类)。 | 
Amazon 数据类型
已在 ABAP Amazon Web Services 服务 中集成了以下方法来提供支持。
- 
        某些 Amazon 数据类型无法在 ABAP 中表示。例如,以 ABAP 语言表示的 float数据类型不支持NaN、Infinity或-Infinity值。因此将float数据类型表示为STRING,并在运行时将其翻译为DECFLOAT16。
- 
        Amazon 数据在线上以 JSON 或 XML 的形式表示,并且这些值是可选的。例如,请参阅以下由 JSON 格式返回 Amazon Web Services 服务 的示例。 Fullname: { Firstname: "Ana", Middlename: "Carolina", Lastname: "Silva" }如果 Ana 没有中间名,则此服务会返回以下输出内容。 Fullname: { Firstname: "Ana", Lastname: "Silva" }ABAP 并不区分长度为 0 的字符串和无值的字符串。其他语言可能会向字符串分配 NULL 值,或者对构造函数中的字符串进行包装(如 Java 的 Optional<>包装程序)。ABAP 不支持上述操作。因此,适用于 SAP ABAP 的 SDK 可以通过提供 getter 方法的变体,有效区分这些值。