こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はCData から新しくリリースされるSAP Ariba 連携用コネクターについて紹介したいと思います。
※本コネクターは2023/10/27日時点でベータ製品としてクローズドに提供しています。正式リリース前に先行して試してみたい方はお気軽にお問い合わせください。
https://www.cdata.com/jp/contact/
SAP Ariba とは?
ERP 製品で有名なSAP社が提供する直接材/間接材支出管理のトータルソリューションサービスです。
https://www.sap.com/japan/products/spend-management.html
CData Ariba コネクターとは?
SAP Ariba はシナリオ毎の様々なプロダクトが包括的に含まれたサービスですので、機能もそれぞれのプロダクト毎に大きくことなります。
調達系として利用する「Supplier Risk」「SLP」「Sourcing」「Contracts」、調達・購買向けの「Buying & Invoicing」バイヤー・サプライヤがやり取りするために、「Business Network for Buyer」「Business Network for Supplier」があります。
それぞれで利用するAPIが異なるため、現在CData では「SAP Ariba Procurement」「SAP Ariba Source」という2種類のドライバーでそれぞれの製品のAPIに対応しています。
詳しくは以下の表をご覧ください。
今回はこの中の「Business Network for Buyer」「Business Network for Supplier」のAPIに接続が可能な「CData SAP Ariba Procurement Driver」の使い方・Microsoft のPower BI から本APIにアクセスし、データ分析をする方法を紹介します。
本記事のシナリオ:SAP Ariba 上でのレポートの課題
今回は前述の通り Microsoft のBIツール Power BI からSAP Ariba API に接続しますが、SAP Ariba API は単純にツールと接続することはできません。
認証方式やデータモデルなど標準機能では賄うことが難しい、API仕様の多様性への対応が必要になるためです。
そこで、CData が提供する各種コネクタを利用してこの課題を解決します。
まず、各ツールからはODBCインタフェースでSQL(Select文)をCData Driverに向けて発行してもらいます。そのリクエストを受け取った、CData Driverは、SAP Ariba API のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換します。
リクエスト後、JSON フォーマットで返ってきたデータセットはCData DriverがODBCインタフェースのResultsetに変換してツールに返します。
これにより、各種ツールからはAPIの仕様を意識せずにデータアクセスを達成することができるようになります。
ちなみにSAP Ariba ではデータ分析用のレポート機能が提供されていますが、データロードの頻度などに制限があり、「現時点のデータを見て業務を処理したい!」と思っても、うまく対応できない部分があります。
https://help.sap.com/docs/buying-invoicing/reporting-fact-reference/purchase-order-procurement-invoicing-reporting-fact?locale=ja-JP&version=2305
そういったシチュエーションの場合、リアルタイムにデータアクセスが可能なAPI は有効な手段となり、今回のようなBIツール連携は効力を発揮することでしょう。
手順
それでは実際にCData のコネクタを使ったPower BI とSAP Ariba/Business Network API の連携方法について解説していきます。
Ariba API の利用準備
まずSAP Ariba/Business Network API を使うにあたっての準備を行います。
API を利用するためにはOAuth のアプリケーション作成およびAPIクライアントの接続設定が必要となりますので、この設定を進めていきます。
本記事ではサプライヤー側としての利用方法の手順で進めていきますが、基本的な設定はバイヤー側も一緒です。
まずは以下のURLにアクセスし、ログインします。
https://developer.ariba.com/api/home
「Create Application」をクリックし、新しくAPI アクセスのためのアプリ作成を進めます。
最初にアプリケーションの名前と説明を入力します。
作成が完了したら、アクセスしたいAPI のリクエストを発行します。「Actions」→「Request API Access」をクリックし
「Select an API」から「Ariba network Purchase Orders Supplier API」を選択します。
次に、接続対象として利用しているSAP Business Network のSupplier Realm を選択します。
これで「Submit」をクリックすることでリクエストが行われます。リクエストはAriba側の承認を待つ必要があるようです。タイミングにもよるかもしれませんが、私が試した時は1日で完了しました。
承認されたらSecret Keyをジェネレートし、OAuth Client Id、Application Keyを一緒に控えておきましょう。
最後にSAP Business Network に管理者アカウントでログインし、「アカウント設定」→「API管理」の画面で先程作成したアプリケーションのClient Idを指定し、保存します。
これでAPI 側の準備は完了です。
CData SAP Ariba Procurement ODBC Driver のインストール
続いてCData SAP Ariba Procurement ODBC Driver を対象のマシンにインストールします。
なお、本記事公開時点ではまだベータバージョンであるため、CData Web Siteでは公開していません。「ベータバージョンで良いので使ってみたい!」という方は以下のお問い合わせフォームまでお気軽にお問い合わせください。
https://www.cdata.com/jp/contact/
インストーラーを入手後、対象のマシンでセットアップを進めていきます。
セットアップが完了すると、以下のようにODBC DSNの接続設定画面が表示されるので、SAP Business Network への認証に必要な情報を入力します。
プロパティ
|
設定値
|
備考
|
ANID
|
例)AN000000000
|
接続先のAriba Network realm IDを指定します。
|
API Key
|
例)LhvlBq61efewf13r13r13f13r3f5g43
|
作成したアプリケーションのApplication Key を指定します。
|
API
|
PurchaseOrdersSupplierAPI-V1
|
BuyerもしくはSupplierどちらかを指定します。
|
Auth Scheme
|
OAuthClient
|
|
OAuth Client Id
|
例)XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
|
作成したアプリケーションのClient Idを指定します。
|
OAuth Client Secret
|
例)PMd723r23nifn3283iehw923190fdjAS
|
作成したアプリケーションのClient Secret を指定します。
|
Environment
|
PRODUCTION
|
|
入力完了後「Test Connection」をクリックして、以下のようにメッセージが表示されればOKです。
接続完了後、「Data Model」のページに移動することで、利用できるデータのテーブル・項目一覧が確認できます。
また、プレビューをクリックすることで、実際に取得できるデータも確認可能です。
Power BI からSAP Ariba/Business Network API に接続
それでは、実際にPower BI Desktop を使ってSAP Ariba/Business Network のデータにアクセスしてみましょう。
まずPower BI Desktop を立ち上げて「データを取得」をクリックします。
データソースの一覧から「ODBC」を選択し
事前に作成しておいたCData SAP Ariba Procurement ODBC Driver のDSN を選択します。
接続を進めると、以下のようにOrdersのデータを取得するためのテーブルが表示されるので、これらを選択して「読み込み」をクリックしましょう。
ちなみに、SAP Ariba/Business Network API は仕様上、30日間のデータのみが取得可能となっています。もし取得したい範囲を調整したい場合、以下のように「ODBCからインポート」画面の「SQLステートメント」を利用して、取得範囲をSQLで調整できます。
SELECT * FROM Orders WHERE StartDate = '2023/06/01' AND EndDate = '2023/06/30';
これで以下のようにSAP Ariba/Business Network のデータをPowre BI にロードできます。
あとはPower BI の機能を駆使して、Orders データを分析・可視化することが可能です。
おわりに
このようにAPI の専門的な知識がなくても、CData Driver を利用することで様々なAPI に対して自分の好きなBIツールから接続することが可能です。
今回紹介したSAP Ariba/Business Network API以外にも様々なAPI コネクターを公開していますので、ぜひ自社で使っているサービスに合わせて活用してみてください。
https://www.cdata.com/jp/drivers/
実際に試していく中で、「このAPI にもつなぎたい」「こういう時はどうすればいいの?」といった気になる部分があれば、お気軽にテクニカルサポートフォームまでお問い合わせください。
https://www.cdata.com/jp/support/submit.asp
関連コンテンツ