ABAP CDS(Core Data Services)は、データを業務上の意味を持つモデルとして定義する仕組みです。テーブルの単純な結合に加え、関連、注釈、権限などを組み合わせられます。S/4HANAの分析やFioriアプリ、RAPのデータモデルを理解するうえで重要です。
CDSビューが担うこと
たとえば仕訳明細を扱うとき、会社コードや勘定だけでなく、通貨、元帳、会計年度の意味をそろえる必要があります。CDSは必要なデータソースから項目を公開し、関連するマスタとのつながりを表現できます。ACDOCAとBSEGの違いを理解してから参照元を選ぶと誤集計を防げます。
View Entityと従来型の違い
現在のABAP CDSで新規に作る場合は、DEFINE VIEW ENTITYを使うCDS View Entityが基本的な選択肢です。従来のDEFINE VIEWによるDDICベースのCDSビューも既存システムには残ります。利用できる構文や公開APIは製品・リリースで異なるため、対象環境のABAP Development Tools(ADT)とSAPの開発ガイドを確認します。
開発の進め方
- 業務上の問いと必要な粒度を決める。標準の公開CDSビューが使えるか先に調べる。
- ADTでデータ定義を作り、データソース、キー、項目、関連を設計する。
- 通貨・単位やUI用途に応じて注釈を付ける。
- 必要に応じてDCLで行単位の参照制限を定義し、起動権限との役割を分ける。
- データ件数、集計結果、権限の異なるユーザーで結果を確認する。
CDSを作っただけでODataサービスが自動公開されるわけではありません。サービス定義とバインディング等、利用方式に合った公開手順が必要です。また「コードプッシュダウン」が常に速いわけではなく、条件・結合・件数を見て測定します。