

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Representasi data dalam ABAP
<a name="representation"></a>

Bagian ini mencakup topik-topik berikut.

**Topics**
+ [Jenis data](#data-types)
+ [AWS tipe data](#aws-api)

## Jenis data
<a name="data-types"></a>

Layanan AWS memiliki seperangkat tipe data standar yang harus dipetakan ke tipe data ABAP. Lihat tabel berikut untuk detail selengkapnya.


<table>
<thead>
  <tr><th>AWS tipe data</th><th>Tipe data ABAP</th><th>Komentar</th></tr>
</thead>
<tbody>
  <tr><td>boolean</td><td>C</td><td>Karakter tunggal "X" dan " "</td></tr>
  <tr><td>String</td><td>STRING</td><td></td></tr>
  <tr><td>Byte</td><td>INT2</td><td>INT2 memiliki jangkauan yang lebih besar dari 0-255. Sebagian besar Layanan AWS akan memotong luapan tetapi perilaku ini tidak didefinisikan secara formal.</td></tr>
  <tr><td>Pendek</td><td>INT2</td><td></td></tr>
  <tr><td>Bilangan Bulat</td><td>INT4</td><td></td></tr>
  <tr><td>Long</td><td>DEC19</td><td>INT8 tidak tersedia sampai ABAP 750. DEC19 digunakan untuk kompatibilitas dan konsistensi di semua platform ABAP yang didukung.</td></tr>
  <tr><td>blob</td><td>XSTRING</td><td>Merupakan data biner</td></tr>
  <tr><td>Desimal</td><td>STRING</td><td rowspan="2">Sementara ABAP mendukung DECFLOATs, itu tidak dapat mewakili nilai-nilai seperti NaN, Infinity dan -Infinity. AWS SDK merepresentasikannya secara internal sebagai STRINGs, dan mengubahnya menjadi saat runtime. DECFLOAT16 Jika NaN, Infinity atau \+Infinity diwakili, pengembang dapat memprosesnya sebagai tanggapan terhadap serangkaian pengecualian atau pemetaan khusus.</td></tr>
  <tr><td>Dua Kali</td><td>STRING</td></tr>
  <tr><td>BigInteger</td><td>STRING</td><td rowspan="2">Nilai-nilai ini mewakili angka panjang tak terhingga yang tidak dapat direpresentasikan dalam ABAP, dan STRINGs digunakan sebagai pengganti BigInteger.</td></tr>
  <tr><td>BigDecimal</td><td>STRING</td></tr>
  <tr><td>Stempel Waktu</td><td> TZNTSTMPS </td><td>TZNTSTMPSmemungkinkan pemrosesan dengan fungsi stempel waktu ABAP asli.</td></tr>
</tbody>
</table>


Layanan AWS juga mengembalikan tipe data agregat berikut.


| AWS tipe data | Tipe data ABAP | Komentar | 
| --- | --- | --- | 
| Struktur | Kelas |  | 
| Union | Kelas | Sebuah serikat adalah sama dengan struktur, kecuali bahwa serikat pekerja tidak akan pernah memiliki lebih dari satu set bidang. Semua bidang lainnya akan disetel ke No Value. | 
| Array | TABEL STANDAR |  | 
| Hash | TABEL HASH | Tabel hash hanya akan memiliki dua kolom: KEY (string) dan VALUE (class).  | 

## AWS tipe data
<a name="aws-api"></a>

Pendekatan berikut telah diintegrasikan untuk mendukung Layanan AWS di ABAP.
+ Tipe AWS data tertentu tidak dapat direpresentasikan dalam ABAP. Misalnya, tipe `float` data di ABAP tidak mendukung`NaN`,`Infinity`, atau `-Infinity` nilai. Oleh karena itu, tipe `float` data direpresentasikan sebagai `STRING` dan diterjemahkan ke `DECFLOAT16` saat runtime.
+ AWS data direpresentasikan pada kawat sebagai JSON atau XHTML, dan nilainya opsional. Misalnya, lihat contoh berikut yang dikembalikan oleh Layanan AWS di JSON.

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

  Jika Ana tidak memiliki nama tengah, layanan mengembalikan output berikut.

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

  ABAP tidak membedakan antara *string dengan panjang 0* dan *string yang tidak memiliki nilai*. Bahasa lain mungkin menetapkan nilai NULL ke string atau membungkus string dalam konstruksi (seperti, pembungkus `Optional<>` Java). Ini tidak didukung di ABAP. *Oleh karena itu, SDK untuk SAP ABAP memfasilitasi perbedaan nilai dengan menyediakan varian metode pengambil.*