はじめに
CData Japan技術ディレクターの桑島です。本記事では、SAP S/4 HANA CloudのOData APIを利用する手順をご紹介します。
SAP S/4 HANA Cloudは、インメモリー型データベースエンジン「SAP HANA」を使用したERPアプリケーションのSaaSです。
www.sap.com
SAP S4/HANA Cloudには、SOAPとODataプロトコルで実装されているAPIがあり、外部システムやアプリケーションとデータ連携を行うことが可能です。APIドキュメントは以下のページから参照することができます。
api.sap.com
OData APIとは
ODataではAPIのメタデータエンドポイントやフィルタ・並び替えといったパラメータで指定するような仕様が定められています。これにより、ODataインタフェースを標準で持っているツール(Power BIなど)からはノーコードでSAP S/4 HANAのデータを参照することができます。ODataのプロトコル仕様については以下ページをご参照ください。
www.odata.org
SAP S/4 HANA CloudのOData APIを利用する手順
API References からの実行
本手順では、Sales Order(受注)についてのAPIを使用していきます。API Referenceの検索ボックスにて「sales order」と検索します。するとSales Orderに関連するAPI Referenceが検索されました。
ちなみに、(A2X)、(A2A)の違いは以下の通りのようです。目的に応じた方を選んでください。今回はA2Xの同期実行を選択しました。
- A2X (Application to X users) : 同期実行
- A2A (Application to Application) : 非同期実行
Sales Order (A2X)のAPI Referencesが開きます。API Environmentが「Sandbox」になっている頃を確認して「GET : /A_Sales_Order」の「Try out」ボタンをクリックします。
するとリクエストパラメータを設定する画面に切り替わります。今回は最初の10件だけを返すように$topに「10」とセットして下の方のExecuteボタンをクリックしてください。
APIからレスポンスが正しく受け取れた場合、Codeは200を返します。
Request URLにて、実際に上記で設定したパラメータがURL内のパラメータとしてセットされていることを確認できます。
https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder?%24top=10
実際のレスポンスとしてAPIから戻ってきたJSON形式データはResponse Bodyのところで確認できます。
なお、今回はSandbox環境でアクセスしましたが、Production(本番)環境にアクセスしたい場合は、API Environment > Configure Environmentsより変更することができるようです。
API Cockpit(BETA) からの実行
API Referencesには、API Cockpit(BETA)と呼ばれる別なAPIをリクエストできる機能があります。BETAとついている通り、現在(2020/03/04時点)はまだベータ版としての提供となっています。
API Cockpit(BETA)をクリックすると下記のようなAPIを追加を促す画面が開きます。「Browse and Add」をクリックします。
APIsの検索ができるウィンドウが開くので、「sales order」で絞り込んでみて「Sales Order (A2X)」を追加してみます。
すると「Your API List」と左側にリストバーが表示されます。この「API Cockpit(BETA) 」では自分がよく使用するAPIをこのようにリスト化して保存できるようです。便利ですね。
それでは、先の「API References からの実行」の時と同じように10件だけを取得するために、$topに10をセットして「Execute」ボタンをクリックしてみます。ResponseのStatusCodeが200で、ResponseBodeyにJSONデータが返ってくれば成功です。
Postmanからの実行
API References以外の環境からAPIをリクエストするにはAPIKeyが必要となります。APIKeyはAPI Referencesから参照できますので手元に控えておきます。
それではAPI管理ツールのPostmanから実行してみましょう。設定項目は以下の通りです。
(注意)URLパラメータに「$format=json」を追加しないとデフォルトではXMLでレスポンスを返すようです。
リクエストを実行してStatus 200、JSONレスポンスが返ってくれば成功です。
まとめ
以上が、SAP S/4 HANA CloudのOData APIの使い方のご紹介でした。弊社CData Software では、本SAP S/4 HANA CloudのOData APIをSQLでCRUD操作可能なデータドライバ製品を開発販売しております。BIツールやExcel・MS-AccessといったOfficeツールからSAP S/4 HANA Cloudへのデータアクセスが可能な製品です。30日間ご利用いただける評価版もございますので是非こちらもお試しください。
CData OData Drivers
www.cdata.com
CData SAP Netweaver Gateway Drivers
www.cdata.com
おしまい
関連コンテンツ