【Memo】ABAP CDSビューについての雑記

ABAP CDSとは

S4HANAがリリースされて冗長テーブルが排されて、テーブル構造がシンプルになった代わりにABAP CDSビューという、アノテーションで計算処理とか色々できるView機能がABAP CDSビュー。

ABAPの移送機能が使えるのでHANA単体のCDSよりも推奨される。

このあたりが参考によさそう。

Getting Started with ABAP Core Data Services | SAP Blogs

 

SAPエンジニアがABAP CDS取り組むべき理由

非正規化されてた集計テーブルとか多数の冗長テーブルを無くせたのは、CDS Viewで従来のDBでは重くてできなかった処理をDBにpushdownできたから。
それ故、標準を触る上でCDS Viewの理解は必須。
さらに、従来ABAP の内部テーブルでぶん回してたアドオン処理もDBに寄せれてアドオンも楽になるし、ついでにOdata化とかAnnotationでできるようになってるよ。

 

CDSビューとUIの関連

CDSは単にビューを作るものではなく、データモデリングを行うもの。
エンティティ間の関係性をCDSモデリングし、そこにくっついてるAnnotationを元に、UIはFiori Smart Templateで自動生成しちゃう。

更新系だとBusiness Logicの実装にBOPFも必要。
参照系も更新系も(分析系も)同じモデルをベースに作ることになるイメージ

BOPF関連リンク
https://archive.sap.com/documents/docs/DOC-45425
https://blogs.sap.com/2018/05/01/where-to-find-learning-material-about-bopf/
https://sapyard.com/bopf-for-beginners-part-1-introduction/

 

データマネジメント観点でのCDS View

データの利活用って観点を入れた時に、上記の自動生成系UIとデータモデルが密結合になるアーキテクチャが良いのか、っていうのは正直疑問だなー。

非正規化してCDSで加工して見せるというのは大賛成だけど、CDSやUI生成ツールの特性に合わせて、データモデルが制約を受けるようなケースが有ると望ましくない。

DAとアプリケーションは切り離されるべき。

このあたりは検証しながら考えていきたい。