見出し画像

【工事中】CDSの留意点

   注:草案中ですが一旦公開します。
     頻繁に更新するのでご了承ください。



SAP S/4HANAで追加された機能である CDS(Core Data Services)は、その名のとおり、中核となるデータを提供する実装方法の総称です。

CDSコードの書き方が Select文に似ていることや、CDSを有効化した後にDB Viewが自動生成されることから、CDSについて少々誤解されている面があるようです。そのような誤解を少しでも解消できるよう、留意点をいくつかまとめました。

5つの留意点

CDSには多くの特徴があります。しかし、CDSコードがSelect文に似ていることから誤解している方も少なくないようです。私が特に留意してほしいと思う点を5つ挙げます。

 1.CDS(Basic)は、概念ERDをCDSコードに変換して作成し、
   必要な Annotation などを追加して作成する。
 2.Select文を自動生成する機能である。
 3.DBMSである SAP HANA を十分に引き出すためには、CDS設計だけ
   でなく、適切に設計されたDBテーブルが前提となる。
 4.クライアント機能を自動生成する機能も持つ。
 5.CDSコードそのものが設計書である。

留意点1~5の補足

留意点1

留意点1から、CDS(Basic)を設計する場合には、概念データモデリングのスキルが必要だと言えます。

今までは、物理データモデル(DBテーブルやDBビューなど)やSelect文の実装を重視し、概念データモデルを軽視してきた技術者が多いのではないでしょうか。そのような技術者が CDS(Basic)を適切に設計するのは困難です。CDSだけでなく、概念データモデリングについても学びましょう。

留意点2

CDSコードは、(SAP HANA用のSQL仕様に合う)Select文に変換されます。そして、そのSelect文がSAP HANAに対して発行されます。そのSelect文は、SAP用語でいえば「Native SQL」にあたります。

CDSコードがSelect文に似ていることから、Select文のつもりでCDSコードを書くことが多いと思います。CDSの学び始めはその姿勢でもよいのです。しかし、ある程度慣れてきたら、どのようなSelect文(しかも、Native SQL)が自動生成されるのかも意識するようにしましょう。

留意点3

留意点3から、CDSを設計する前に適切なDBテーブル設計が必要だと言えます。

これは、一般的なSelect文を考える場合と同じです。そのため、特徴(2-a)から導ける特徴です。しかし、DBテーブル設計が不慣れまたは未経験な場合には気づきにくいので、留意点として挙げました。

留意点4

ここでいう「クライアント機能」は、SAPでいえば、SAP Fiori アプリケーションや、SAP BI アプリケーション(SAP Analytics Cloud など)などを指します。

これらのクライアント機能をノーコード・ローコード開発する場合は、呼び出すCDSコードの定義を元に自動生成することから始めます。CDSを設計する場合は、クライアント機能のことも考慮することが求められます。

なお、SAP Fiori アプリケーションの場合は、Webアプリケーションに関するスキルも必要になります。また、SAP BI アプリケーションの場合は、BI や DWH(Data Warehouse)モデリングに関するスキルも必要になります。

留意点5

結論からいえば、CDSの理解が深まれば分かることですが、CDSコードを使わずに、CDSの仕様を正確に伝えることは不可能です。したがって、一般的なプログラミング設計書のようなドキュメントに頼らずに、CDSコードを書くスキルが求められます。

ただし、留意点1にある概念ERDや、複数のCDSの関係を表す図(※)などのドキュメントについては作成したほうが望ましいです。技術者間の議論や保守などで役に立つので。


いいなと思ったら応援しよう!