Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
kyou_gu
Employee
Employee

はじめに


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を利用する方法をご紹介します。

 

1. CDS ViewでS/4HANAからフルデータを抽出する場合


シナリオ:CI-DSでCDS Viewを利用してS/4HANAの全件の品目データを抽出します。

 

1.1 データ抽出可能なCDS Viewを定義する


マスターデータを抽出するCDS Viewを定義します。下記のCDS Viewは品目マスタデータを抽出するサンプルです。


DS Annotations:

① @AbapCatalog.sqlViewNameで定義したCDS View名は、CI-DSでデータ取得対象のオブジェクト名になる。

② @Analytics.dataCategory:

  • #DIMENSION:マスターデータ抽出の場合

  • #FACT:トランザクションデータ抽出の場合

  • #CUBE:例外ケースの場合(トランザクションとマスターテーブルジョインしてデータを抽出など)


③ @Analytics.dataExtraction.enabled : trueで、CDSViewはデータ抽出可能にする。

④ @ObjectModel.representativeKeyで、代表的になキー項目を定義する。マスターデータ抽出の場合のみ定義必要。

CDS Annotationsについて、下記のSAPヘルプをご参考ください。

https://help.sap.com/docs/ABAP_PLATFORM/cc0c305d2fab47bd808adcad3ca7ee9d/630ce9b386b84e80bfade96779f...

1.2 CI-DSでCDS Viewを利用する


CI-DS側でCDS Viewオブジェクトの定義をデータストアにインポートしてから、CDSViewをソースデータとしてデータフローを定義します。

①. CDS Viewオブジェクト定義をインポートする。


②. CDS Viewをデータソースとしてデータフローを定義する。



2. S/4HANAから差分データを抽出する場合


シナリオ:CI-DSでCDS Viewを利用してS/4HANAの差分の受注データを抽出します。

 

2.1 パラメータ付きCDS Viewを定義する


前回抽出した日時のパラメータ付きのCDS Viewを定義します。下記のCDS Viewは、差分の受注データを抽出するサンプルです。


前回抽出した日時をCDS ViewのパラメータP_LASTLOADDATEとして定義する。

2.2 CI-DSでパラメータ付きCDS Viewの利用


CI-DSデータフローでパラメータ付きのCDS Viewを利用するには、Custom ABAP Transform でABAP FORMを開発してCDS Viewをアクセスする必要があります。

①. Custom ABAP Transformステップを設定する。




②. Custom ABAP TransformステップのOutput項目を設定する。




③. 前回抽出した日時のGlobal Variablesを定義する。




④. Custom ABAP Transformパラメータを定義し、全ステップで定義したGlobal Variablesに紐つける。




⑤. ABAP FORMでCDS Viewをアクセスし、前回抽出した日時をパラメータに引き渡す。




⑥. Preload scriptsに、CI-DSストレージに保存された前回抽出した日時を取得して、Global Variablesにセットする。




⑦. Postload scriptsに、抽出した日時をCI-DSストレージに保存する。




最後に


S/4HANAとIBP間の連携において、S/4HANAの複数のテーブルに対して、複雑なテーブルジョインまたはフィルタリング処理を行って、データを抽出する連携シナリオの場合、パフォーマンスが優れるため、CDS Viewでのご利用が推奨されています。

本ブログが、CI-DSでCDS Viewの利用方法の理解に少しでも役立てば幸いです。