

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

# Transfer Inkremental berbasis Delta Token
<a name="sap-odata-incremental-transfers"></a>

Untuk mengaktifkan Transfer Inkremental menggunakan Change Data Capture (CDC) untuk entitas berkemampuan ODP yang mendukungnya, ikuti langkah-langkah berikut:

1. Buat pekerjaan Transfer Inkremental dalam mode skrip.

1. Saat membuat DataFrame or Glue DynamicFrame, Anda harus melewati opsi`"ENABLE_CDC": "True"`. Opsi ini memastikan bahwa Anda akan menerima Token Delta dari SAP, yang dapat digunakan untuk pengambilan data yang diubah selanjutnya.

Token delta akan hadir di baris terakhir kerangka data, di kolom DELTA\_TOKEN. Token ini dapat digunakan sebagai opsi konektor dalam panggilan berikutnya untuk mengambil kumpulan data berikutnya secara bertahap.

**Contoh**
+ Kami mengatur `ENABLE_CDC` bendera ke`true`, saat membuat DynamicFrame. Catatan: `ENABLE_CDC` secara `false` default, jika Anda tidak ingin menginisialisasi antrian delta, Anda tidak perlu mengirim bendera ini atau mengaturnya ke true. Tidak menyetel flag ini ke true akan menghasilkan ekstraksi beban penuh.

  ```
  sapodata_df = glueContext.create_dynamic_frame.from_options(
      connection_type="SAPOData",
      connection_options={
          "connectionName": "connectionName",
          "ENTITY_NAME": "entityName",
          "ENABLE_CDC": "true"
      }, transformation_ctx=key)
  
  # Extract the delta token from the last row of the DELTA_TOKEN column
  delta_token_1 = your_logic_to_extract_delta_token(sapodata_df) # e.g., D20241029164449_000370000
  ```
+ Token delta yang diekstraksi dapat diteruskan sebagai opsi untuk mengambil peristiwa baru.

  ```
  sapodata_df_2 = glueContext.create_dynamic_frame.from_options(
      connection_type="SAPOData",
      connection_options={
          "connectionName": "connectionName",
          "ENTITY_NAME": "entityName",
          // passing the delta token retrieved in the last run
          "DELTA_TOKEN": delta_token_1
      } , transformation_ctx=key)
  
  # Extract the new delta token for the next run
  delta_token_2 = your_logic_to_extract_delta_token(sapodata_df_2)
  ```

Perhatikan bahwa catatan terakhir, di mana `DELTA_TOKEN` ada, bukan catatan transaksional dari sumber, dan hanya ada untuk tujuan meneruskan nilai token delta.

Terlepas dari`DELTA_TOKEN`, bidang berikut dikembalikan di setiap baris kerangka data. 
+ **GLUE\_FETCH\_SQ**: Ini adalah bidang urutan, yang dihasilkan dari stempel waktu EPOC dalam urutan catatan diterima, dan unik untuk setiap catatan. Ini dapat digunakan jika Anda perlu mengetahui atau menetapkan urutan perubahan dalam sistem sumber. Bidang ini hanya akan hadir untuk entitas yang diaktifkan ODP.
+ **DML\_STATUS**: Ini akan ditampilkan `UPDATED` untuk semua catatan yang baru dimasukkan dan diperbarui dari sumber, dan `DELETED` untuk catatan yang telah dihapus dari sumber.

Untuk detail selengkapnya tentang cara mengelola status dan menggunakan kembali token delta untuk mengambil catatan yang diubah melalui contoh, lihat bagian tersebut. [Menggunakan skrip manajemen OData status SAP](sap-odata-state-management-script.md)

## Pembatalan Token Delta
<a name="sap-odata-invalidation"></a>

Token delta dikaitkan dengan koleksi layanan dan pengguna. Jika penarikan awal baru dimulai untuk koleksi layanan yang sama dan pengguna, semua token delta sebelumnya yang dikeluarkan sebagai hasil dari inisialisasi sebelumnya akan dibatalkan oleh layanan SAP. `“ENABLE_CDC” : “true”` OData Memanggil konektor dengan token delta yang kedaluwarsa akan menghasilkan pengecualian: 

`Could not open data access via extraction API RODPS_REPL_ODP_OPEN` 