Replikasi data SAP ke BigQuery menggunakan BigQuery Toolkit untuk SAP

Untuk mereplikasi data SAP ke BigQuery, Anda menggunakan class pemuatan data /GOOG/CL_BQTR_DATA_LOAD dalam aplikasi SAP seperti program ABAP kustom, keluar pengguna, Add-In Bisnis (BAdI), dan peningkatan. Aplikasi SAP Anda harus meneruskan data yang akan direplikasi sebagai input ke class.

Panggil metode replikasi data

Anda membuat instance class pemuatan data BigQuery /GOOG/CL_BQTR_DATA_LOAD dengan meneruskan kunci transfer massal dan nama objek kamus yang dikonfigurasi dalam konfigurasi BigQuery Data Transfer.

Untuk mengirim data ke BigQuery, Anda memanggil metode REPLICATE_DATA dari class /GOOG/CL_BQTR_DATA_LOAD.

DATA(lo_bq_data_load) =
  NEW /GOOG/CL_BQTR_DATA_LOAD( IV_MASS_TR_KEY = 'MASS_TRANSFER_KEY'
                               IV_DATA_SOURCE = 'DATA_SOURCE'
                               IV_CDC_FRAMEWORK = 'CDC_FRAMEWORK'
                               IV_FLDNM_MANDT = 'MANDT_FIELDNAME'
                               IV_MANDT_VALUE = 'MANDT_VALUE'
 ).
"Write Logic to populate ITAB_DATA, WA_HEADER

"Replicate Data to BigQuery
lo_bq_data_load->replicate_data(
  EXPORTING
    it_content       = ITAB_DATA
    IS_HEADER_INFO   = WA_HEADER
  IMPORTING
    ev_error_code    = data(lv_error_code)
    et_return        = data(lt_return) ).

Ganti kode berikut:

  • MASS_TRANSFER_KEY: Kunci transfer massal yang dikonfigurasi di konfigurasi BigQuery Data Transfer.
  • DATA_SOURCE: Nama objek kamus SAP seperti tabel, tampilan kamus, atau tampilan CDS.
  • CDC_FRAMEWORK: Opsional. Framework Pengambilan Data Perubahan (CDC) yang digunakan oleh program pemanggil. Nilai yang didukung adalah ODQ dan SLT.

    BigQuery Toolkit for SAP memiliki logika bawaan untuk menentukan flag operasi (penyisipan, update, dan penghapusan) berdasarkan framework CDC. Untuk mengetahui informasi selengkapnya, lihat Kolom tambahan untuk perubahan kumpulan data dan kueri jumlah.

    Jika CDC_FRAMEWORK diteruskan sebagai ODQ, BigQuery Toolkit for SAP akan mendapatkan nilai kolom ODQ_CHANGEMODE dalam payload yang diteruskan dalam input:

    • Jika nilai = C, operation_flag disetel ke I.
    • Jika nilai = U, operation_flag disetel ke U.
    • Jika nilai = D, operation_flag disetel ke D.
    • Untuk semua nilai lainnya, operation_flag ditetapkan ke L.

    Jika CDC_FRAMEWORK diteruskan sebagai SLT, BigQuery Toolkit for SAP akan mendapatkan nilai kolom 'OPERATION' dari WA_HEADER:

    • Jika nilai = I, operation_flag disetel ke I.
    • Jika nilai = U, operation_flag disetel ke U.
    • Jika nilai = D, operation_flag disetel ke D.
    • Untuk semua nilai lainnya, operation_flag ditetapkan ke L.

    Jika CDC_FRAMEWORK tidak diteruskan atau diteruskan sebagai nilai lain, operation_flag akan ditetapkan ke L.

  • MANDT_FIELDNAME: Opsional. Nama kolom klien SAP yang perlu ditambahkan ke definisi tabel BigQuery. Kolom ini dapat digunakan untuk objek kamus SAP seperti entitas CDS, yang tidak memiliki kolom klien dalam definisinya, tetapi Anda ingin kolom tersebut ditambahkan ke BigQuery.

  • MANDT_VALUE: Opsional. Nilai kolom klien SAP yang perlu diisi di BigQuery. Kolom ini hanya dapat digunakan jika IV_FLDNM_MANDT juga diisi.

  • ITAB_DATA: Tabel internal berjenis DATA_SOURCE. Anda mengisi ITAB_DATA dengan data yang perlu direplikasi ke tabel BigQuery.

  • WA_HEADER: Struktur datar, yang berisi informasi header tentang replikasi. Ini digunakan untuk menentukan operation_flag saat CDC_FRAMEWORK adalah SLT.

Saat Anda memanggil metode ini, modul BigQuery Data Transfer akan melakukan tindakan berikut:

  • Menyelaraskan definisi tabel BigQuery dengan definisi objek kamus SAP berdasarkan setelan tabel dan kolom yang dipertahankan dalam konfigurasi BigQuery Data Transfer.
  • Memetakan data yang diisi di ITAB_DATA dari format SAP ke format BigQuery berdasarkan setelan tingkat kolom yang dipertahankan dalam konfigurasi BigQuery Data Transfer. Jika setelan tingkat kolom tidak dipertahankan, aturan pemetaan data default akan digunakan.
  • Panggil metode InsertAllTabledata BigQuery API untuk memuat data ke tabel BigQuery target.

Jika semua langkah berhasil, parameter ekspor ev_error_code akan menampilkan nilai 0. Jika terjadi error di salah satu langkah, ev_error_code akan menampilkan nilai bukan nol dan pesan error yang sesuai akan diisi di et_return.

Sebagai developer aplikasi, Anda dapat menangani error, termasuk menyimpannya untuk analisis nanti dan mencoba lagi pemuatan data yang gagal direplikasi.

Mendapatkan dukungan

Google Cloud menawarkan dukungan untuk masalah dan pertanyaan terkait penginstalan, konfigurasi, pengoperasian, dan pemeliharaan BigQuery Toolkit untuk SAP.

Untuk masalah yang berasal dari komponen yang dikelola SAP seperti Operational Data Provisioning (ODP), Data Migration Server (DMIS), Core Data Services (CDS), Internet Communication Manager (ICM), atau software pihak ketiga, Google Cloud Customer Care berupaya sebaik mungkin untuk mengidentifikasi penyebab utamanya. Untuk mengatasi masalah ini, hubungi vendor atau penyedia dukungan terkait.

Untuk memecahkan masalah terkait BigQuery Toolkit untuk SAP, lihat Memecahkan masalah BigQuery Toolkit untuk SAP.

Jika Anda memerlukan bantuan untuk menyelesaikan masalah terkait ABAP SDK untuk Google Cloud, lakukan hal berikut: