SAP データを BigQuery にレプリケートするには、カスタム ABAP プログラム、ユーザー エグジット、ビジネス アドイン(BAdI)、拡張機能など、SAP アプリケーション内のデータ読み込みクラス /GOOG/CL_BQTR_DATA_LOAD
を使用します。SAP アプリケーションは、複製するデータをクラスへの入力として渡す必要があります。
データ レプリケーション メソッドを呼び出す
一括転送キーと、BigQuery Data Transfer 構成で構成されたディクショナリ オブジェクトの名前を渡して、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 Transfer 構成で構成された一括転送キー。DATA_SOURCE
: テーブル、ディクショナリ ビュー、CDS ビューなどの SAP ディクショナリ オブジェクトの名前。CDC_FRAMEWORK
: 省略可。呼び出し元プログラムで使用される変更データ キャプチャ(CDC)フレームワーク。サポートされている値はODQ
とSLT
です。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
に設定されます。 - 他のすべての値の場合、
operation_flag
はL
に設定されます。
CDC_FRAMEWORK
がSLT
として渡されると、BigQuery Toolkit for SAP はWA_HEADER
から「OPERATION」列の値を取得します。- 値が
I
の場合、operation_flag
はI
に設定されます。 - 値が
U
の場合、operation_flag
はU
に設定されます。 - 値が
D
の場合、operation_flag
はD
に設定されます。 - 他のすべての値の場合、
operation_flag
はL
に設定されます。
CDC_FRAMEWORK
が渡されなかった場合、または他の値として渡された場合、operation_flag
はL
に設定されます。- 値が
MANDT_FIELDNAME
: 省略可。BigQuery テーブル定義に追加する必要がある SAP クライアント フィールドの名前。これは、定義にクライアント フィールドがないが、BigQuery にフィールドを追加する必要がある CDS エンティティなどの SAP ディクショナリ オブジェクトに使用できます。MANDT_VALUE
: 省略可。BigQuery に入力する必要がある SAP クライアント フィールドの値。これは、IV_FLDNM_MANDT
にも値が入力されている場合にのみ使用できます。ITAB_DATA
:DATA_SOURCE
型の内部テーブル。ITAB_DATA
には、BigQuery テーブルに複製する必要があるデータを入力します。WA_HEADER
: レプリケーションに関するヘッダー情報が含まれるフラットな構造。これは、CDC_FRAMEWORK
がSLT
の場合にoperation_flag
を決定するために使用されます。
このメソッドを呼び出すと、BigQuery Data Transfer モジュールは次のアクションを実行します。
- BigQuery Data Transfer 構成で維持されているテーブルとフィールドの設定に基づいて、BigQuery テーブル定義を SAP ディクショナリ オブジェクト定義と同期します。
- BigQuery Data Transfer 構成で維持されているフィールドレベルの設定に基づいて、
ITAB_DATA
に入力されたデータを SAP 形式から BigQuery 形式にマッピングします。フィールドレベルの設定が維持されていない場合、デフォルトのデータ マッピング ルールが使用されます。 - BigQuery API の
InsertAllTabledata
メソッドを呼び出して、ターゲットの BigQuery テーブルにデータを読み込みます。
すべてのステップが成功すると、エクスポート パラメータ ev_error_code
は値 0
を返します。いずれかのステップでエラーが発生した場合、ev_error_code
はゼロ以外の値を返します。対応するエラー メッセージが et_return
に入力されます。
アプリケーション デベロッパーは、後で分析するためにエラーを保存したり、レプリケーションに失敗したレコードの読み込みを再試行したりするなど、エラーを処理できます。
サポートを受ける
Google Cloud は、BigQuery Toolkit for SAP のインストール、構成、運用、メンテナンスに関連する問題や質問に対応します。ただし、サポートはツールキット自体に限定されます。
Google Cloud は、ネットワーク インフラストラクチャ、データベース、オペレーティング システム、サードパーティ ソフトウェアなどの他の環境コンポーネントはサポートしていません。BigQuery Toolkit for SAP 以外の環境コンポーネントに関する問題については、適切なベンダーまたはサポート プロバイダにお問い合わせください。
SAP が提供する機能(Operational Data Provisioning(ODP)や SAP Landscape Transformation(SLT)など)については、SAP サポートにお問い合わせください。
BigQuery Toolkit for SAP に関する問題のトラブルシューティングについては、BigQuery Toolkit for SAP のトラブルシューティングをご覧ください。
ABAP SDK for Google Cloud の問題を解決するには、次の操作を行います。
Cloud フォーラムのコミュニティで ABAP SDK for Google Cloud について質問し、ディスカッションに参加します。
入手可能なすべての診断情報を収集し、Cloud カスタマーケアにお問い合わせください。カスタマーケアへのお問い合わせについては、SAP に関するサポートを利用する Google Cloudをご覧ください。