

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Representação de dados no ABAP
<a name="representation"></a>

Esta seção abrange os seguintes tópicos.

**Topics**
+ [Tipos de dados](#data-types)
+ [AWS tipos de dados](#aws-api)

## Tipos de dados
<a name="data-types"></a>

Serviços da AWS têm um conjunto padrão de tipos de dados que devem ser mapeados para tipos de dados ABAP. Para obter mais detalhes, consulte a tabela a seguir.


<table>
<thead>
  <tr><th>AWS tipo de dados</th><th>Tipo de dados do ABAP</th><th>Comentários</th></tr>
</thead>
<tbody>
  <tr><td>boolean</td><td>C</td><td>Caractere único "X" e " "</td></tr>
  <tr><td>String</td><td>STRING</td><td></td></tr>
  <tr><td>Byte</td><td>INT2</td><td>INT2 tem um intervalo maior que 0-255. A maioria Serviços da AWS truncará os estouros, mas esse comportamento não está definido formalmente.</td></tr>
  <tr><td>Short</td><td>INT2</td><td></td></tr>
  <tr><td>Inteiro</td><td>INT4</td><td></td></tr>
  <tr><td>Longo</td><td>DEC19</td><td>INT8 não está disponível até o ABAP 750. DEC19 é usado para fins de compatibilidade e consistência em todas as plataformas ABAP suportadas.</td></tr>
  <tr><td>Blob</td><td>XSTRING</td><td>Representa dados binários</td></tr>
  <tr><td>Float</td><td>STRING</td><td rowspan="2">Embora o ABAP ofereça suporte DECFLOATs, ele não pode representar valores como NaN, Infinity e -Infinity. AWS O SDK os representa internamente como STRINGs e os converte em em tempo de execução. DECFLOAT16 Se NaN, Infinity ou \+Infinity estiverem representados, o desenvolvedor poderá processá-los em resposta a um conjunto especial de exceções ou mapeamentos.</td></tr>
  <tr><td>Duplo</td><td>STRING</td></tr>
  <tr><td>bigInteger</td><td>STRING</td><td rowspan="2">Esses valores representam números de comprimento infinito que não podem ser representados em ABAP e STRINGs são usados em vez de BigInteger.</td></tr>
  <tr><td>bigDecimal</td><td>STRING</td></tr>
  <tr><td>Timestamp</td><td> TZNTSTMPS </td><td>TZNTSTMPS permite o processamento com funções nativas de carimbo de data/hora ABAP.</td></tr>
</tbody>
</table>


Serviços da AWS também retorne os seguintes tipos de dados agregados.


| AWS tipo de dados | Tipo de dados do ABAP | Comentários | 
| --- | --- | --- | 
| Estrutura | Classe |  | 
| Union | Classe | Uma união é o mesmo que uma estrutura, exceto que uma união nunca terá mais de um conjunto de campos. Todos os outros campos serão definidos como Sem valor. | 
| Array | TABELA PADRÃO |  | 
| Hash | TABELA COM HASH | A tabela com hash terá apenas duas colunas: uma KEY (string) e uma VALUE (classe).  | 

## AWS tipos de dados
<a name="aws-api"></a>

As seguintes abordagens foram integradas para dar suporte Serviços da AWS ao ABAP.
+ Certos tipos de AWS dados não podem ser representados no ABAP. Por exemplo, o tipo de dados `float` em ABAP não suporta os valores `NaN`, `Infinity` ou `-Infinity`. Portanto, o tipo de dados `float` é representado como `STRING` e traduzido para `DECFLOAT16` em runtime.
+ AWS os dados são representados no fio como JSON ou XML, e os valores são opcionais. Por exemplo, veja os exemplos a seguir retornados por um AWS service (Serviço da AWS) em JSON.

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

  Se Ana não tiver um segundo nome, o serviço retornará a seguinte saída.

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

  O ABAP não distingue entre *uma string de comprimento 0* e *uma string que não tem valor*. Outras linguagens podem atribuir um valor NULL à string ou envolvê-la em uma estrutura (como o wrapper `Optional<>` do Java). Eles não são suportados no ABAP. Portanto, o SDK for SAP ABAP facilita a distinção de valores ao fornecer variantes do método *getter*.