使用 SAP 適用的 BigQuery Toolkit 將 SAP 資料複製到 BigQuery

如要將 SAP 資料複製到 BigQuery,請在 SAP 應用程式 (例如自訂 ABAP 程式、使用者結束、Business Add-Ins (BAdI) 和增強功能) 中使用資料載入類別 /GOOG/CL_BQTR_DATA_LOAD。您的 SAP 應用程式需要將要複製的資料做為輸入內容傳遞至類別。

呼叫資料複製方法

您需要傳遞大量移轉作業鍵,以及在 BigQuery 資料移轉設定中設定的字典物件名稱,藉此例項化 BigQuery 資料載入類別 /GOOG/CL_BQTR_DATA_LOAD

如要將資料傳送至 BigQuery,請呼叫 /GOOG/CL_BQTR_DATA_LOAD 類別的 REPLICATE_DATA 方法。

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) ).

更改下列內容:

  • MASS_TRANSFER_KEY:在 BigQuery 資料移轉設定中設定的大量移轉金鑰。
  • DATA_SOURCE:SAP 字典物件的名稱,例如資料表、字典檢視區塊或 CDS 檢視區塊。
  • CDC_FRAMEWORK:選用。呼叫程式使用的變更資料擷取 (CDC) 架構。支援的值為 ODQSLT

    BigQuery Toolkit for SAP 內建邏輯,可根據 CDC 架構判斷作業標記 (插入、更新和刪除)。詳情請參閱「記錄變更和計數查詢的額外欄位」。

    CDC_FRAMEWORK 做為 ODQ 傳遞時,BigQuery Toolkit for SAP 會在輸入中傳遞的酬載中取得資料欄 ODQ_CHANGEMODE 的值:

    • 如果值 = C,則 operation_flag 會設為 I
    • 如果值 = U,則 operation_flag 會設為 U
    • 如果值 = D,則 operation_flag 會設為 D
    • 其他值則會設為 Loperation_flag

    CDC_FRAMEWORK 做為 SLT 傳遞時,BigQuery Toolkit for SAP 會從 WA_HEADER 取得「OPERATION」資料欄的值:

    • 如果值 = I,則 operation_flag 會設為 I
    • 如果值 = U,則 operation_flag 會設為 U
    • 如果值 = D,則 operation_flag 會設為 D
    • 其他值則會設為 Loperation_flag

    如果未傳遞 CDC_FRAMEWORK 或傳遞任何其他值,則 operation_flag 會設為 L

  • MANDT_FIELDNAME:選用。需要附加至 BigQuery 資料表定義的 SAP 用戶端欄位名稱。這項功能可用於 CDS 實體等 SAP 字典物件,這些物件的定義中沒有用戶端欄位,但您希望將該欄位新增至 BigQuery。

  • MANDT_VALUE:選用。需要在 BigQuery 中填入的 SAP 用戶端欄位值。只有在填入 IV_FLDNM_MANDT 時,才能使用這個欄位。

  • ITAB_DATADATA_SOURCE 類型的內部資料表。您會將需要複製到 BigQuery 資料表的資料填入 ITAB_DATA

  • WA_HEADER:平面結構,內含有關複製作業的標頭資訊。這項資訊用於判斷 operation_flag,但 CDC_FRAMEWORKSLT

呼叫這個方法時,BigQuery 資料移轉模組會執行下列動作:

  • 根據 BigQuery 資料移轉設定中維護的資料表和欄位設定,將 BigQuery 資料表定義與 SAP 字典物件定義同步。
  • 根據 BigQuery 資料移轉設定中維護的欄位層級設定,將 ITAB_DATA 中填入的資料從 SAP 格式對應至 BigQuery 格式。如果未維護欄位層級設定,系統就會使用預設的資料對應規則。
  • 呼叫 BigQuery API InsertAllTabledata 方法,將資料載入目標 BigQuery 資料表。

如果所有步驟都順利完成,匯出參數 ev_error_code 會傳回 0 值。如果任何步驟發生錯誤,ev_error_code 會傳回非零值,且 et_return 中會填入相應的錯誤訊息。

應用程式開發人員可以處理錯誤,包括儲存錯誤以供日後分析,以及重試載入無法複製的記錄。

取得支援

Google Cloud 提供支援,協助解決與安裝、設定、操作及維護 BigQuery Toolkit for SAP 相關的問題。

如果問題源自 SAP 管理的元件,例如 Operational Data Provisioning (ODP)、Data Migration Server (DMIS)、Core Data Services (CDS)、Internet Communication Manager (ICM) 或第三方軟體, Google Cloud 客戶服務 Google Cloud 會盡力找出根本原因。如要解決這些問題,請與相關供應商或支援服務供應商聯絡。

如要排解 BigQuery Toolkit for SAP 的問題,請參閱「排解 BigQuery Toolkit for SAP 的問題」。

如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作: