本記事ではASTERIA Warp上で、SAP S/4 HANA CloudのデータをSQL Serverに連携させる方法を紹介します。
ASTERIA Warpは簡単なGUIを用いて作成するフローによって既存のデータベース、ファイルシステム、各種業務システム、各種クラウドサービスと簡単に接続、連携することのできるデータ連携ツールです。
連携シナリオ
今回はSAP S/4 HANA Cloudの受注(Sales Orders)データをASTERIA Warpを利用してSQL Serverに登録します。 SAP S/4 HANA Cloudからのデータ取得にはASTERIA WarpのRDBコンポーネントを利用します。 RDBコンポーネントはJDBCドライバを通してデータソースからのデータ取得や更新を行います。
SAP S/4 HANA CloudのデータにアクセスするJDBCドライバとしてCData SAP Gateway JDBC Driver を利用します。 CData SAP Gateway JDBC Driverは、SAP S/4 HANA CloudのWeb APIへのアクセスをJDBCインタフェースに変換するドライバです。 RDBコンポーネント単体ではWeb APIへアクセスすることはできませんが、これを利用することでSAP S/4 HANA CloudのWeb APIへの操作をデータベースの操作のように扱うことができます。
連携データ項目
今回連携対象とするデータ項目の一覧を以下に示します。
項目名 | |
---|---|
SalesOrder | オーダID |
CreationDate | オーダ作成日 |
OverallDeliveryStatus | 配送ステータス |
RequestedDeliveryDate | 希望納品日 |
TotalNetAmount | 合計数量 |
SQL Serverのデータ登録用テーブル
SAP S/4 HANAのデータを登録する先としてSQL Serverにテーブルを一つ追加します。
事前準備
事前準備として、SAP S/4 HANA Cloudへの接続に必要な情報の取得と、データソースにアクセスするJDBCドライバのインストールを行います。
SAP S/4 HANA CloudのAPIキーの取得
SAP S/4 HANA CloudからAPI経由でデータを取得するにはAPIKeyが必要となります。APIKeyの取得についてはこちらの記事をご参照ください。
https://www.cdatablog.jp/entry/saps4hanaapi
尚、接続方法は環境によって異なる場合があります。 詳細はこちらをご覧ください。
SAP S/4 HANA CloudのSales OrdersデータAPIのURL取得
SAP S/4 HANA CloudのSales OrdersデータへアクセスするAPIエンドポイントのURLを取得します。 SAP API Business Hubにアクセスし、トップ画面の[SAP S/4HANA Cloud]をクリックします。 検索フォームに「Sales Orders」と入力して検索ボタンをクリックし、検索結果から[Sales Orders (A2X)]をクリックします。
[Details]タブを開くと、このAPIの詳細が表示されます。 この画面の[Sandbox URL]がSales OrdersのAPIエンドポイントのURLとなります。
ここで取得したURLはこの後の接続設定で入力するため控えておいてください。
CData SAP Gateway JDBC Driverのインストール
続いてASTERIA Warpがインストールされている環境にCData SAP Gateway JDBC Driverをインストールします。 CData Software Japan社のCData SAP Gateway JDBC Driverダウンロードページにアクセスしてください。 ダウンロードページの[ダウンロード 評価版]をクリックすると必要事項入力画面が表示されます。
必要事項を入力し、[ダウンロード]をクリックするとCData SAP Gateway JDBC Driver評価版のインストーラがダウンロードされます。 ダウンロードしたファイルをダブルクリックするとインストーラが起動しますので、ウィザードに従ってインストールしてください。
ドライバの配置
ASTERIA Warpへのドライバーファイルの配置方法はASTERIAのヘルプをご参考ください。
ここでは手動でドライバファイルをASTERIA Warpの外部ドライバフォルダにコピーする手順を示します。
SQL Server JDBC Driverの配置
SQL ServerのJDBCドライバを入手し、以下のASTERIA Warp外部ドライバフォルダに配置します。
C:\asteriahome5\system\lib\drivers
SAP Gateway JDBC Driverの配置
CDataドライバのインストールフォルダのlibフォルダ配下に以下のファイルがあることを確認してください。
例:C:\Program Files\CData\CData JDBC Driver for SAP Gateway 2020J\lib
これらをSQL ServerのJDBCドライバと同様にASTERIA Warpの外部ドライバフォルダにコピーします。
C:\asteriahome5\system\lib\drivers
ASTERIA Warp 接続の作成
それではASTERIA Warp上で接続の作成とフローの作成・実行を行います。
SAP Gateway接続の作成
画面左のコネクションペイン上にあるボタンをクリックすると、[コネクションの作成]ダイアログが表示されます。 [接続種別]に「RDB」を選択、[名前]に分かりやすい名前を設定し[OK]をクリックします。
作成したコネクションをダブルクリックすると、画面右のインスペクタに接続プロパティが表示されます。 [データベースタイプ]に「Other」を選択し、[ドライバー]に先ほど配置したドライバファイル名「cdata.jdbc.sapgateway.jar」を入力します。 [URL]には以下の形式の接続文字列を設定します。
接続文字列:
jdbc:sapgateway:Url=<SAP S4 HANA APIエンドポイントのURL>;APIKey=<APIキー>;
今回は以下の接続文字列を設定しました。
接続文字列の例:
jdbc:sapgateway:Url=https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV;APIKey=Wxwohk4jfnpLSA2CPUz1Lfax3XeO7G5p;
接続文字列の詳細はこちらをご覧ください。
接続設定が完了したらコネクションペイン上で作成した接続を右クリックし、[接続テスト]をクリックします。 テスト結果に「成功」と表示されれば接続設定は完了です。
SQL Server接続の作成
SQL Serverへの接続として、RDBのコネクションを新規作成します。 [データベースタイプ]に「SQLServer」、[ドライバ]に「com.microsoft.sqlserver.jdbc.SQLServerDriver」、 [URL]、[ユーザ名]、[パスワード]に接続先のSQL Serverの情報をそれぞれ入力してください。
接続設定が完了したら先ほどと同様に接続テストを実行し、SQL Serverへの接続が成功することを確認してください。
ASTERIA Warp フローの作成
SAP S/4 HANAからSales Ordersのデータを読み取り、それをSQL Serverに登録する処理として以下のフローを作成しました。
SAP S/4 HANAへのアクセスにはRDBGetコンポーネント、SQL ServerへのアクセスにはRDBPutコンポーネントを使用しています。
RDBGet : SAP S/4 HANAからのデータ取得
RDBGetコンポーネントは先ほど作成したSAP S/4 HANAへのコネクションを使用します。 取得するデータ項目は連携シナリオの「連携データ項目」で挙げた項目です。 [SQL]にはこれらの項目を取得するSQL文を設定します。
SELECT SalesOrder, CreationDate, OverallDeliveryStatus, RequestedDeliveryDate, TotalNetAmount FROM SAPGateway.A_SalesOrder A
RDBPut : SQL Serverへのデータ登録
RDBputコンポーネントは先ほど作成したSQL Serverへのコネクションを使用します。 今回はデータ登録のため[実行する操作]には「Insert」を選択します。 [テーブル名]には予め作成したデータ登録用のテーブル名を指定します。
Mapper
最後にデータ項目のマッピングを設定します。 今回は取得したデータをそのままSQL Serverに送信するため、ここでは各項目を結合するだけです。
動作確認
作成したフローを実行します。 実行ダイアログの[ステータス]に「正常終了」と表示されれば処理は成功です。
フローの実行後SQL Serverのデータを確認すると、以下のようにSAP S/4 HANAのSales Ordersのデータが登録されていることが確認できました。
おわりに
本記事ではASTERIA WarpでSAP S/4 HANAのデータをSQL Serverに登録する方法を紹介しました。 SAP S/4 HANAへの接続に使用したCData SAP Gateway JDBC Driverは30日間無料でお試しいただけます。 SAP S/4 HANAとのデータ連携をご検討の方はぜひお試しください。