補足情報
11.6 補足情報
OData API
SAP S/4 HANAには標準のOData APIが用意されており、手軽にデータ連携が実現できるほか、
SQLなどの簡単なプログラミング言語を理解していれば、自作でODataサービスを作成することもできます。
OData APIとは
ODataではAPIのメタデータエンドポイントやフィルタ・並び替えといった
パラメータで指定するような仕様が「標準ルール」として定められています。
これにより、ODataインタフェースを標準で持っているツール(Power BIなど)からは、
ノーコードでSAP S/4 HANAのデータを参照することができます。
メタデータエンドポイントとは
ODataの入り口として「メタデータエンドポイント」というものがあります。
「このODataサービスにはどんなデータ(テーブル、項目)があるのか」を機械が自動で理解できる説明書のようなものです。
ツールとノーコード連携
Power BIなどのBIツールは、ODataの「標準ルール」を知っています。
つまり、メタデータを読んで「どんな項目があるか」を自動で理解し、フィルタや並べ替えも自動で反映できます。
結果として、ユーザーはプログラムを書かなくても、
画面操作だけでSAP S/4 HANAのデータを呼び出して分析できます。
「ノーコードでデータ分析ができる」 というのはこれらが理由です。
例えば、ユーザーの画面操作にてチェックボックスで「国 = 日本」を選ぶと、
ツールが裏側(自動)でURLにしてSAPに問い合わせしているイメージです。
ODataの構成要素
データ取得・参照=GETのみを行う場合と、データ登録/更新/削除=POST/PUT/DELETEも行う場合とで異なりますが、
SAP S/4 HANA環境におけるODataは次の要素で構成されます。
メソッド
プロジェクトにはメソッドを紐づけ、GET/POST/PUT/DELETEといった操作ごとに処理内容を定義します。
例えば、販売伝票や購買伝票のように「ヘッダ」と「明細」に分かれているデータの場合、
ヘッダで指定した条件に基づいて、ヘッダと明細を関連付け(Association)することで、
まとめて取得することができます。
さらに「Deep Insert」という仕組みを使えば、
ヘッダ1件に対して複数の明細をまとめて登録することも可能です。
プロジェクト
ODataの構成単位はこの「プロジェクト」となります。
プロジェクトにメソッドを定義することでODataを利用できます。
例えば、複数の異なる処理ロジックを持つメソッドを、1つのプロジェクト内にまとめて定義することも可能です。
また、用途は似ていても入力内容や処理ロジック、出力内容が異なるメソッドを、
1つのプロジェクト=1つのODataとして整理することもできます。
一方で、管理上の理由などから、メソッドごとにODataを分けて厳密に定義することも可能です
CDSビュー
CDSビューを利用すると、ODataのGETメソッドを容易に実装することができます。
CDSビューには独自のルールがありますが、基本的にはSQLを用いて定義するため、
SQLの知識があれば比較的簡単に実装可能です。
また、SAP S/4 HANAには標準のCDSビューが多数用意されています。
もし取得したいテーブルやカラム、条件に合致する標準CDSビューが存在すれば、
コーディング不要でODataのGETメソッドを実装することも可能です。
さらに、標準CDSビューを活用することは、将来的なSAPのバージョンアップを見据えた開発にも有効です。
標準CDSビューについては、バージョン間の差異をSAP社が保証しているため、
それを利用したODataサービスはバージョンアップ時の影響を最小限に抑えることができます。