CDS View(Core Data Service View)でS/4HANAのテーブルのジョインとフィルターをかけて、データを抽出することができます。CDS Viewを利用する場合、抽出ロジックはS/4HANAのHANA DBにプッシュダウンして実行することで、データの抽出処理の時間を大幅に短縮することが可能になります。CI-DSによるS/4HANAからIBPへのデータ連携において、S/4HANA側のデータ件数が多いまたは複雑のテーブルジョインとフィルター処理が必要な場合、CI-DSからS/4HANA側のCDS Viewを利用することでパフォーマンスの向上を図ります。
本ブログは、データ抽出可能なCDS Viewの定義、またはCI-DSでCDS Viewを利用する方法をご紹介します。
シナリオ:CI-DSでCDS Viewを利用してS/4HANAの全件の品目データを抽出します。
マスターデータを抽出するCDS Viewを定義します。下記のCDS Viewは品目マスタデータを抽出するサンプルです。
DS Annotations:
① @AbapCatalog.sqlViewNameで定義したCDS View名は、CI-DSでデータ取得対象のオブジェクト名になる。
② @Analytics.dataCategory:
③ @Analytics.dataExtraction.enabled : trueで、CDSViewはデータ抽出可能にする。
④ @ObjectModel.representativeKeyで、代表的になキー項目を定義する。マスターデータ抽出の場合のみ定義必要。
CDS Annotationsについて、下記のSAPヘルプをご参考ください。
CI-DS側でCDS Viewオブジェクトの定義をデータストアにインポートしてから、CDSViewをソースデータとしてデータフローを定義します。
①. CDS Viewオブジェクト定義をインポートする。
②. CDS Viewをデータソースとしてデータフローを定義する。
シナリオ:CI-DSでCDS Viewを利用してS/4HANAの差分の受注データを抽出します。
前回抽出した日時のパラメータ付きのCDS Viewを定義します。下記のCDS Viewは、差分の受注データを抽出するサンプルです。
前回抽出した日時をCDS ViewのパラメータP_LASTLOADDATEとして定義する。
CI-DSデータフローでパラメータ付きのCDS Viewを利用するには、Custom ABAP Transform でABAP FORMを開発してCDS Viewをアクセスする必要があります。
S/4HANAとIBP間の連携において、S/4HANAの複数のテーブルに対して、複雑なテーブルジョインまたはフィルタリング処理を行って、データを抽出する連携シナリオの場合、パフォーマンスが優れるため、CDS Viewでのご利用が推奨されています。
本ブログが、CI-DSでCDS Viewの利用方法の理解に少しでも役立てば幸いです。