CDS Viewの背景
SAP ERPまではDBMSの機能をなるべく使用せず、ABAP言語を使用して処理する方針でした。
今までDBMSでのデータ処理はハードディスクで行われるためパフォーマンスが発揮できないことからアプリケーション側での処理方針だと考えられます。
しかし、現在では電子機器や通信そのものの性能が向上され、DBMSの中でも全てのデータをメモリ上に保有する事が可能なSAP HANAが提供されたことでDBMSのパフォーマンスの欠点が解消されました。
そのため、最大のパフォーマンスを発揮するにはABAP言語を使用した処理は現実的ではなくなり、ABAP言語での処理からSQLで処理する方針(コードプッシュダウン)へと切り替わりました。
この方針により新しく登場した機能がCDS Viewとなります。
CDS Viewの概要
SAP Help Portalに概要説明がありますが簡単に要約してみると以下となります。
開発者がSQL言語を使ってデータベースモデルを作成し、様々なツールを活かすことで業務改善に役立つ技術です。
イメージが付きにくいと思いますため以下3つのポイントで解説します。
今回特に重要なのがデータベースモデルとなります。
- SQL言語
- ツール
- データベースモデル
SQL言語
CDSViewで使用される言語はSQL言語(データベース言語)となります。
データを操作するための言語であり、データ検索やテーブルの結合、集計などが可能です。
今までDBMSの機能をなるべく使用しない方針のため使用できるSQLの範囲が以下の図の赤枠と限定的でした。
今後は赤枠の範囲が広がりOpenSQL92の規格に近付いています。
そのため、CDSViewの技術を習得するためにも必要な知識となります。
ツール
CDSViewでデータ操作をした後、そのデータを活かせるツールが様々あります。
以下図の通り、ABAPプログラムやExcel、Fiori、BW/SACなど様々なツールで業務を改善することが可能です。
例えば、
・昨日受注した内容をCDSVeiwでまとめ、直接Excelに結果を抽出して確認する
・承認依頼をCDSViewでまとめ、Fioriでリスト化でする事でスマホでの承認または差戻しを可能とする
・会社全体の交通費を集計できるCDSVeiwを使用し、SACで各部門の月単位の出費を分析する
データモデル
CDS Viewにはデータモデルがあり以下3つの階層に分かれます。
「Basic View」、「Composite View」、「Consumption View」
簡単に解説すると、
- Basic View:DBと同様に基本となる情報を定義します。
- Composite View:使用する情報を結合し、汎用的な情報を定義します。
- Consumption View:集約されたデータから必要な情報を抜出し機能単位で定義します。
図を見ると分かる通り、Consumption Viewは機能単位で作成され、Basic Viewは今まで通りテーブル単位で作成します。
Composite Viewはモデリングの起点となり、共通化を図る事を意識し作成します。
SAPの機能としてクエリが比較しやすいです。
実際に比較すると
「Basic View⇒DB」、「Composite View⇒インフォセット(SQ02)」、「Consumption View⇒クエリ(SQ01)」
となります。