

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# ABAP 中的数据表示
<a name="representation"></a>

本节涵盖以下主题。

**Topics**
+ [

## 数据类型
](#data-types)
+ [

## AWS 数据类型
](#aws-api)

## 数据类型
<a name="data-types"></a>

AWS 服务 有一组必须映射到 ABAP 数据类型的标准数据类型。有关更多信息，请参阅下表。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sdk-for-sapabap/latest/developer-guide/representation.html)

AWS 服务 还会返回以下聚合数据类型。


| AWS 数据类型 | ABAP 数据类型 | 评论 | 
| --- | --- | --- | 
| 结构 | 类 |  | 
| Union | 类 | 并集的字段集数量始终不超过一个，除此以外，它与结构一模一样。其他所有字段均设为无值。 | 
| 数组 | 标准表 |  | 
| 哈希 | 哈希表 | 经过哈希处理的表只有两列：键列（字符串）和值列（类）。 | 

## AWS 数据类型
<a name="aws-api"></a>

已在 ABAP AWS 服务 中集成了以下方法来提供支持。
+ 某些 AWS 数据类型无法在 ABAP 中表示。例如，以 ABAP 语言表示的 `float` 数据类型不支持 `NaN`、`Infinity` 或 `-Infinity` 值。因此将 `float` 数据类型表示为 `STRING`，并在运行时将其翻译为 `DECFLOAT16`。
+ AWS 数据在线上以 JSON 或 XML 的形式表示，并且这些值是可选的。例如，请参阅以下由 JSON 格式返回 AWS 服务 的示例。

  ```
  Fullname: {
     Firstname:  "Ana",
     Middlename: "Carolina",
     Lastname:  "Silva"
  }
  ```

  如果 Ana 没有中间名，则此服务会返回以下输出内容。

  ```
  Fullname: {
     Firstname:  "Ana",
     Lastname:  "Silva"
  }
  ```

  ABAP 并不区分*长度为 0 的字符串*和*无值的字符串*。其他语言可能会向字符串分配 NULL 值，或者对构造函数中的字符串进行包装（如 Java 的 `Optional<>` 包装程序）。ABAP 不支持上述操作。因此，适用于 SAP ABAP 的 SDK 可以通过提供 *getter* 方法的变体，有效区分这些值。