

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Rappresentazione dei dati in ABAP
<a name="representation"></a>

Questa sezione comprende i seguenti argomenti.

**Topics**
+ [Tipi di dati](#data-types)
+ [AWS tipi di dati](#aws-api)

## Tipi di dati
<a name="data-types"></a>

Servizi AWS dispongono di un set standard di tipi di dati che devono essere mappati ai tipi di dati ABAP. Per ulteriori dettagli, consulta la tabella seguente.


<table>
<thead>
  <tr><th>AWS tipo di dati</th><th>tipo di dati ABAP</th><th>Commenti</th></tr>
</thead>
<tbody>
  <tr><td>booleano</td><td>C</td><td>Carattere "X" singolo e " "</td></tr>
  <tr><td>Stringa</td><td>STRING</td><td></td></tr>
  <tr><td>Byte</td><td>INT2</td><td>INT2 ha un intervallo più ampio di 0-255. La maggior parte Servizi AWS troncherà gli overflow, ma questo comportamento non è definito formalmente.</td></tr>
  <tr><td>Breve</td><td>INT2</td><td></td></tr>
  <tr><td>Numero intero</td><td>INT4</td><td></td></tr>
  <tr><td>Long</td><td>DEC19</td><td>INT8 non è disponibile fino a ABAP 750. DEC19 viene utilizzato per la compatibilità e la coerenza tra tutte le piattaforme ABAP supportate.</td></tr>
  <tr><td>Blob</td><td>XSTRING</td><td>Rappresenta dati binari</td></tr>
  <tr><td>Float</td><td>STRING</td><td rowspan="2">Sebbene ABAP supporti DECFLOATs, non può rappresentare valori come NaN, Infinity e -Infinity. AWS SDK li rappresenta internamente come e li converte in fase di STRINGs esecuzione. DECFLOAT16 Se NaN, Infinity o \+Infinity sono rappresentati, lo sviluppatore può elaborarli in risposta a una serie speciale di eccezioni o mappature.</td></tr>
  <tr><td>Doppio</td><td>STRING</td></tr>
  <tr><td>BigInteger</td><td>STRING</td><td rowspan="2">Questi valori rappresentano numeri di lunghezza infinita che non possono essere rappresentati in ABAP e STRINGs vengono utilizzati al posto di BigInteger.</td></tr>
  <tr><td>BigDecimal</td><td>STRING</td></tr>
  <tr><td>Timestamp</td><td> TZNTSTMPS </td><td>TZNTSTMPSabilita l'elaborazione con funzioni di timestamp ABAP native.</td></tr>
</tbody>
</table>


Servizi AWS restituiscono anche i seguenti tipi di dati aggregati.


| AWS tipo di dati | tipo di dati ABAP | Commenti | 
| --- | --- | --- | 
| Struttura | Classe |  | 
| Union | Classe | Un'unione è uguale a una struttura, tranne per il fatto che un'unione non avrà mai più di un set di campi. Tutti gli altri campi verranno impostati su Nessun valore. | 
| Array | TABELLA STANDARD |  | 
| Hash | TABELLA CON HASH | La tabella con hash avrà solo due colonne: una KEY (stringa) e un VALUE (classe).  | 

## AWS tipi di dati
<a name="aws-api"></a>

I seguenti approcci sono stati integrati per il supporto Servizi AWS in ABAP.
+ Alcuni tipi di AWS dati non possono essere rappresentati in ABAP. Ad esempio, il tipo di `float` dati in ABAP non supporta i valori `NaN``Infinity`, o`-Infinity`. Pertanto, il tipo di `float` dati viene rappresentato come `STRING` e viene tradotto `DECFLOAT16` in fase di esecuzione.
+ AWS i dati sono rappresentati in rete come JSON o XML e i valori sono opzionali. Ad esempio, vedi i seguenti esempi restituiti da un Servizio AWS in JSON.

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

  Se Ana non ha un secondo nome, il servizio restituisce l'output seguente.

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

  ABAP non fa distinzione tra *una stringa di lunghezza 0* e *una stringa priva di valore*. Altre lingue potrebbero assegnare un valore NULL alla stringa o racchiudere la stringa in un costrutto (come il wrapper di Java). `Optional<>` Questi non sono supportati in ABAP. *Pertanto, SDK per SAP ABAP facilita la distinzione dei valori fornendo varianti del metodo getter.*