SAP ODP プラグインによって、Cloud Data Fusion を使用して SAP アプリケーションからの BigQuery または他のサポートされているターゲット システムとのデータの一括統合ができます。プラグインには次の主な特徴があります。
- SAP ECC、SAP S4/HANA、または SAP BW をソースシステムとして使用する
- SAP CDC(変更データ キャプチャ)を使用して、データソース内の新しいデータと差分データを追跡、抽出する
- 一括抽出モードを使用する
- データソースとして SAP DataSources と ABAP CDS ビューをサポートする
サポートされているソフトウェア バージョン
ソフトウェア | Versions |
---|---|
SAP S4/HANA | SAP S4/HANA 1909 以降 |
SAP ECC | SAP ERP6 NW 7.31 SP16 以降 |
SAP JCo | SAP JCo バージョン 3.0.20 以降 |
Cloud Data Fusion | 6.3 以降 |
Google Cloud での SAP の詳細については、Google Cloud での SAP の概要をご覧ください。
始める前に
SAP ODP プラグインで使用される次のシステムとサービスを設定します。
- SAP ERP システムを構成します。このプロセスでは次の処理が行われます。
- SAP トランスポート ファイルをインストールします。
- 必要な SAP の承認とロールを設定します。
- SAP Java コネクタを設定します。
Cloud Data Fusion に ODP プラグインをデプロイします。
- 重要: Cloud Data Fusion のバージョンと互換性のあるプラグインのバージョンを選択してください。
- Cloud Data Fusion インスタンスまたはプラグインのバージョンをアップグレードする場合は、パイプラインの機能スコープとパフォーマンスの変更の影響を評価します。
Cloud Data Fusion と SAP 間の RFC 接続を確立します。
- Cloud Data Fusion インスタンスと SAP サーバー間の通信が有効になっていることを確認します。
- プライベート インスタンスの場合は、VPC ネットワーク ピアリングを設定します。
- SAP システムと Cloud Data Fusion インスタンスの両方が、同じプロジェクト内にある必要があります。
プラグインを構成する
- Cloud Data Fusion ウェブ インターフェースに移動し、[Studio] をクリックします。
- [Realtime] ではなく、[Data Pipeline - Batch] が選択されていることを確認します。
- [Source] メニューで、[SapODP] をクリックします。SAP ODP ノードがパイプラインに表示されます。
- ソースを構成するには、SAP ODP ノードに移動して [Properties] をクリックします。
次のプロパティを入力します。完全版リストについては、プロパティをご覧ください。
- SAP ODP ノードのラベル(例:
SAP ODP tables
)を入力します。 接続の詳細を入力します。新しい 1 回限りの接続または再利用可能な既存接続を設定できます。
新しい接続
SAP に 1 回限りの接続を追加するには、次の手順に従います。
- [接続を使用] をオフのままにします。
[接続] セクションで、これらのフィールドに SAP アカウントの次の情報を入力します。
- [参照名] フィールドに、リネージのこのソースを識別する接続の名前を入力します。
- [SAP クライアント] フィールドに、SAP 内の特定のインスタンスまたは環境のクライアント名を入力します。SAP 管理者がクライアント名を指定できます。
- [SAP の言語] フィールドに、SAP ログオン言語を入力します。デフォルトは EN(英語)です。
次のいずれかの接続タイプを選択します。
- 直接(SAP アプリケーション サーバーを介して)。このデフォルト タイプを選択した場合は、[SAP アプリケーション サーバー ホスト]、[SAP システム番号]、[SAP ルーター] のフィールドに情報を入力します。
- 負荷分散(SAP メッセージ サーバーを介して)。このタイプを選択する場合は、次のフィールドに情報を入力します。SAP Message Server ホスト、SAP Message Server サービスまたはポート番号,、SAP システム ID(SID)、SAP ログオン グループ名。
[コンテキスト] フィールドで、使用するデータソースの種類を選択します。
[SAP ODP ソース名] フィールドに、使用するデータソースの名前を入力します。
[抽出タイプ] フィールドで、データ抽出のタイプを選択します。デフォルトは [Full (all data)] です。
SAP 認証情報を提供します。SAP ログオンのユーザー名とパスワードを SAP 管理者に問い合わせます。
[JCo ライブラリ Cloud Storage のパス] フィールドに、アップロードした SAP JCo ライブラリ ファイルを含む Cloud Storage の SAP Java Connector(SAP JCo)のパスを入力します。
SAP からのメタデータに基づいて SAP のデータ型を対応する Cloud Data Fusion のデータ型にマッピングするスキーマを生成するには、[スキーマの取得] をクリックします。詳細については、データ型マッピングをご覧ください。
省略可: SAP からの取り込み負荷を最適化するには、次のフィールドに情報を入力します。
- [SAP ODP サブスクライバー名] フィールドで、有効な DataSource からのデータ抽出のためのサブスクライバーを特定します。
- [フィルタ オプション] を使用すると、選択条件に基づいてレコードを抽出できます。
- [スプリット数] フィールドで、パーティションを作成してデータレコードを並行して抽出できます。これにより、パフォーマンスが向上します。スプリット数は SAP の作業プロセスに影響する可能性があるため、慎重に選択する必要があります。
- [パッケージ サイズ] フィールドに、単一の SAP ネットワーク呼び出しで抽出するレコードの数を指定します。パッケージ サイズはパフォーマンスと使用可能なリソースに影響するため、慎重に選択する必要があります。
再利用可能な接続
既存の接続を再利用する手順は次のとおりです。
- [接続を使用] をオンにします。
- [接続を参照] をクリックします。
接続名をクリックします。
接続が存在しない場合に、再利用可能な接続を作成するには、次の手順に従います。
- [接続を追加] > [SapOdp] をクリックします。
- 表示された [SapOdp 接続を作成] ページで、接続名と説明を入力します。
- [SAP クライアント] フィールドに、SAP の特定のインスタンスまたは環境のクライアント名を入力します。SAP 管理者はクライアント名を指定できます。
- [SAP の言語] フィールドに、SAP ログオン言語を入力します。デフォルトは EN(英語)です。
次のいずれかの接続タイプを選択します。
- 直接(SAP アプリケーション サーバーを介して)。このデフォルト タイプを選択した場合は、[SAP アプリケーション サーバー ホスト]、[SAP システム番号]、[SAP ルーター] のフィールドに情報を入力します。
- 負荷分散(SAP メッセージ サーバーを介して)。このタイプを選択する場合は、次のフィールドに情報を入力します。SAP Message Server ホスト、SAP Message Server サービスまたはポート番号,、SAP システム ID(SID)、SAP ログオン グループ名。
SAP ODP ソース名に、SAP の ODP DataSource 名を入力します。
SAP 認証情報を提供します。SAP ログオンのユーザー名とパスワードの値を SAP 管理者に問い合わせます。
[JCo Library Cloud Storage のパス] フィールドに、アップロードした SAP JCo ライブラリ ファイルを含む Cloud Storage の SAP Java Connector(SAP JCo)のパスを入力します。
[待ち時間] フィールドに、次の再試行までの待ち時間(秒単位)を入力します(例:
60
)。[再試行回数] フィールドに、再試行の最大数を入力します(例:
3
)。省略可: [追加の SAP 接続プロパティ] フィールドに、SAP JCo のデフォルトをオーバーライドする必要がある Key-Value ペアを入力します。
[作成] をクリックします。
- SAP ODP ノードのラベル(例:
プロパティ
プロパティ | マクロ対応 | 必要なプロパティ | 説明 |
---|---|---|---|
ラベル | × | ○ | データ パイプラインのノードの名前。 |
接続を使用 | × | いいえ | 再利用可能な接続を使用します。接続を使用する場合は、認証情報を提供する必要はありません。詳しくは、接続を管理するをご覧ください。 |
名前 | いいえ | ○ | 再利用可能な接続の名前。 |
SAP クライアント | ○ | ○ | SAP システムの特定のインスタンスまたは環境。 |
SAP の言語 | ○ | ○ | SAP ユーザー インターフェースとデータが表示、処理される言語。 |
接続タイプ | いいえ | ○ | SAP 接続タイプ: 直接または負荷分散。 |
SAP アプリケーション サーバーホスト | ○ | いいえ | 直接接続タイプの場合のみ、このホスト名は SAP アプリケーション サーバーからのものになります。これは、SAP クライアント(SAP ウェブ インターフェース、ウェブブラウザ、モバイルアプリ、など)と基盤となるデータベースの間のミドルウェア レイヤとして機能します。 |
SAP システム番号 | ○ | いいえ | 直接接続タイプの場合のみ、この番号は各 SAP システムに割り当てられた固有識別子です。例: 00 。 |
SAP ルーター | ○ | いいえ | 直接接続タイプの場合のみ、これはプロキシ サーバーのルーター文字列です。これは SAP システムと外部クライアントまたはパートナー間の通信に安全なチャネルを提供します。 |
SAP メッセージ サーバーホスト | ○ | いいえ | 負荷分散接続タイプの場合のみ、これはホストの名前です。これにより、SAP 内の複数のアプリケーション サーバー間の負荷分散が容易になります。 |
SAP メッセージ サーバー サービスまたはポート番号 | ○ | いいえ | 負荷分散接続タイプの場合のみ、これは SAP メッセージ サーバーが SAP 内の SAP クライアントとアプリケーション サーバーからの受信接続をリッスンするネットワーク ポートです。 |
SAP システム ID(SID) | ○ | いいえ | 負荷分散接続タイプの場合のみ、この ID は各 SAP システムに割り当てられます。 |
SAP ログオン グループ名 | ○ | いいえ | 複数の SAP アプリケーション サーバーの論理グループまたは構成の名前。デフォルトは PUBLIC です。 |
オブジェクトの種類 | なし | なし | サポートされているオブジェクト タイプ: DataSources/Extractors または ABAP Core Data Services。 |
SAP ODP ソース名 | ○ | ○ | SAP DataSources または CDS ビュー名(例: 2LIS_02_ITM )。 |
抽出のタイプ | ○ | ○ | プラグインは、次の 2 種類のデータ抽出をサポートしています。
|
SAP ログオン ユーザー名 | ○ | ○ | SAP のユーザー名 推奨: ユーザー名が定期的に変更される場合は、マクロを使用します。 |
SAP ログオン パスワード | ○ | ○ | SAP パスワード。 推奨: 安全なマクロを使用してください。 |
GCP プロジェクト ID | ○ | ○ | Google Cloud プロジェクト ID。 |
SAP JCo ライブラリの GCS パス | ○ | ○ | SAP JCo ライブラリ ファイルをアップロードした Cloud Storage へのパス。 |
スキーマの取得 | なし | なし | プラグインは、SAP からのメタデータに基づいてスキーマを生成し、SAP のデータ型を対応する Cloud Data Fusion のデータ型にマッピングします。データ型マッピングをご覧ください。 |
SAP ODP サブスクライバー名 | ○ | ○ | 有効な SAP DataSource または CDS ビューからのデータ抽出のための ODP サブスクライバー。それは次を満たす必要があります。
|
待機時間 | ○ | いいえ | このプロパティによって、データ エンジニアは、Cloud Data Fusion から SAP への各ネットワーク呼び出しの後に、適切な待ち時間を選択できます。 |
再試行回数 | ○ | いいえ | ネットワーク呼び出しが完了するまでの待機中の再試行回数。 |
フィルタ オプション(Equal) | ○ | いいえ | フィールドで読み取る必要がある値。 フィルタ オプションは、メタデータ フィールド名とその値のペアのリストです。それらは SAP DataSource からデータを読み取るときに適用するフィルタ条件を定義します。条件を満たすレコードのみが抽出されます。 フィルタキーは、スキーマ内のフィールドに対応します。 ARRAY 、RECORD 、UNION ではなく、単純な型である必要があります。使用例:フィールド名: MTART 値: FERT |
フィルタ オプション(Range) | ○ | いいえ | フィールドで読み取る必要がある値の下限と上限。 フィルタ オプションは、メタデータ フィールド名とその値のペアのリストです。それらは SAP DataSource からデータを読み取るときに適用するフィルタ条件を定義します。条件を満たすレコードのみが抽出されます。 フィルタキーは、スキーマ内のフィールドに対応します。それには低と高の形式があります。使用例: フィールド名: ERDAT 低い値: 2023-11-01 高い値: 2023-11-30 |
フィルタ オプション(Less Equal) | ○ | いいえ | フィールドの上限値。 フィルタ オプションは、メタデータ フィールド名とその値のペアのリストです。それらは SAP DataSource からデータを読み取るときに適用するフィルタ条件を定義します。条件を満たすレコードのみが抽出されます。 フィルタキーは、スキーマ内のフィールドに対応します。 ARRAY 、RECORD 、UNION ではなく、単純な型である必要があります。使用例:フィールド名: MATNR 値: 10008 |
フィルタ オプション(Greater Equal) | ○ | いいえ | 読み取るためにフィールドで超えるべき値。 フィルタ オプションは、メタデータ フィールド名とその値のペアのリストです。それらは SAP DataSource からデータを読み取るときに適用するフィルタ条件を定義します。条件を満たすレコードのみが抽出されます。 フィルタキーは、スキーマ内のフィールドに対応します。 ARRAY 、RECORD 、UNION ではなく、単純な型である必要があります。使用例:フィールド名: MATNR 値: 10008 |
フィルタ オプション(Not Equal) | ○ | いいえ | 読み取るためにフィールドで同じにしてはいけない値を定義します。 フィルタ オプションは、メタデータ フィールド名とその値のペアのリストです。それらは SAP DataSource からデータを読み取るときに適用するフィルタ条件を定義します。条件を満たすレコードのみが抽出されます。 フィルタキーは、スキーマ内のフィールドに対応します。 ARRAY 、RECORD 、UNION ではなく、単純な型である必要があります。使用例:フィールド名: MTART 値: FERT |
生成するスプリット数 | ○ | いいえ | パーティションを作成してレコードを並行して抽出します。 ランタイム エンジンは、指定された数のパーティション(および SAP 接続)を作成しながら、レコードを抽出します。 この値を増やす場合は、SAP との同時接続が増加するため、注意してください。 推奨: パイプラインごとに SAP 接続と、同時に実行されるパイプラインの合計数を計画します。 値が 0 または空の場合、Cloud Data Fusion は使用可能なエグゼキュータの数、抽出するレコード、パッケージ サイズに基づいて適切な値を選択します。 |
パッケージ サイズ(KB) | ○ | いいえ | 単一の SAP ネットワーク呼び出しで抽出するレコードの数。これは、すべてのネットワーク抽出呼び出し中に SAP がメモリにバッファするレコードの数です。 このプロパティを設定する場合は注意が必要です。データを抽出する複数のデータ パイプラインによってメモリ使用量がピークに達し、 Out of memory エラーによる障害が発生する可能性があります。
|
追加の SAP 接続プロパティ | ○ | いいえ | 追加の SAP JCo プロパティを設定して、SAP JCo のデフォルトをオーバーライドします。たとえば、jco.destination.pool_capacity = 10 を設定すると、デフォルトの接続プールの容量がオーバーライドされます。 |
データ型マッピング
次の表は、SAP のデータ型と対応する Cloud Data Fusion のタイプの一覧です。
SAP のデータ型 | ABAP のタイプ | SAP description | Cloud Data Fusion のデータ型 |
---|---|---|---|
INT1 (数値) |
b | 1 バイトの整数 | 整数 |
INT2 (数値) |
s | 2 バイトの整数 | 整数 |
INT4 (数値) |
i | 4 バイトの整数 | 整数 |
INT8 (数値) |
8 | 8 バイトの整数 | long |
DEC (数値) |
p | BCD 形式でパックされた番号(DEC) | decimal |
DF16_DEC 、DF16_RAW (数値) |
a | 10 進浮動小数点数 8 バイト IEEE 754r | double |
DF34_DEC 、DF34_RAW (数値) |
e | 10 進浮動小数点数 16 バイト IEEE 754r | double |
FLTP (数値) |
f | バイナリ形式の浮動小数点数 | double |
CHAR 、LCHR (文字) |
c | 文字列 | string |
SSTRING 、GEOM_EWKB (文字) |
string | 文字列 | string |
STRING (文字) |
string | 文字列 CLOB | バイト |
NUMC 、ACCP (文字) |
n | 数値テキスト | string |
RAW 、LRAW (バイト) |
x | バイナリデータ | バイト |
RAWSTRING (バイト) |
xstring | バイト文字列 BLOB | バイト |
DATS (日付/時刻) |
d | Date | date |
TIMS (日付/時刻) |
t | 時間 | 時間帯 |
TIMS (日付/時刻) |
utcl | Utclong), TimeStamp | タイムスタンプ |
制限事項
パイプラインが正しく定義されて実行されるようにするには、次のプラグインの制限を確認してください。
- 50,000 を超えるパッケージ サイズはサポートされていません。
- 差分抽出をサポートしていないデータソースは、同期モードでは失敗します。
- カスタム データソースでは、パッケージ サイズが処理されないと、大量のデータ抽出でパイプラインが失敗します。
ユースケース
次の 2 つの抽出コンテキストがサポートされています。
- DataSources または Extractors(SAPI)
- ODP コンテキスト ABAP CDS(ABAP_CDS)
ODP プラグインは、両方のコンテキストで次の標準とカスタムのデータソースをサポートします。
ODP データソース | コンテキスト | 完全抽出 | 差分抽出 |
---|---|---|---|
事前提供済みの SAP Standard | SAPI | サポート対象 | サポート対象 |
カスタム(Z*) | SAPI | サポート対象 | サポート対象 |
事前提供済みの SAP Standard | ABAP_CDS | サポート対象 | サポート対象 |
カスタム(Z*) | ABAP_CDS | サポート対象 | サポート対象 |
次のステップ
- Cloud Data Fusion について学ぶ。
- Google Cloud での SAP の詳細を確認する。