こんにちは。CData Software Japan の杉本です。
本記事では、Dynamics 365 Business Central と他システムとの連携を想定して、CData Arc を使ってノーコードでDynamics 365 Business Central とSQL Server を双方向にデータ連携する方法をご紹介します。
この記事では「Dynamics 365 Business Central のデータをSQL Server に」と「SQL Server のデータをDynamics 365 Business Central に」連携するシナリオをそれぞれ作成します。
Dynamics 365 Business Central コネクタについて
CData ArcではアプリケーションコネクタとしてDynamics 365 Business Central コネクタが用意されております。
CData Arc - Dynamics 365 Business Central Connector Setup
またDynamics 365 Business Central コネクタはOData Web サービス経由でMicrosoft Dynamics 365 Business Central への読み/書きアクセスを行います。
Dynamics 365 Business Central 側の準備
Dynamics 365 Business Central コネクタではOData Webサービス経由でデータのアクセスを行うため、必要に応じてアクセスしたいデータをODataとして公開する設定が必要になります。
データの公開方法は以下のCData JDBC Driver for Microsoft Dynamics 365 Business Central のヘルプに記載がございます。
CData JDBC Driver for Microsoft Dynamics 365 Business Central - Tables
今回は以下のCustomer CardのPageをODataとして公開して、対象のデータへのアクセスを行います。
SQLServerの準備
今回はDynamics 365 Business Central のCustomerCardテーブルを対象としたいと思いますので、SQL Server 側には事前に同じ構成のテーブルを用意しました。
連携フローの作成(Dynamics 365 Business Central → SQLServer)
Dynamics 365 Business Central コネクタ
ワークスペースの左上にある「追加」ボタンから「Dynamics 365 Business Central コネクタ」を検索して追加します。
今回は起点のコネクタとなるため「Selectアクション」を選択して、コネクタを作成します。
追加された「Dynamics 365 Business Central コネクタ」を開き、接続を作成します。
接続設定についてはヘルプの「接続設定の入力」をご参照ください。
CData Arc - Dynamics 365 Business Central Connector Setup
接続情報の入力後には赤枠の「接続」ボタンを押下して、実際に接続出来るを確認してから「接続の追加」で接続を保存します。
その後はテーブルの追加より、対象のテーブルを選択します。
今回は商品情報が格納されたItemsテーブルを選択します。
また補足ですが黒い部分はスキーマ名となり、「Dynamics 365 Business Central コネクタ」ではCompany名が入ります。
選択したテーブルのカラム情報が表示されることが確認出来たら、右上の保存ボタンを押して、「Dynamics 365 Business Central コネクタ」を閉じてください。
SQL Server コネクタ
「Dynamics 365 Business Central コネクタ」と同様にワークスペースの左上にある「追加」ボタンから「SQLServerコネクタ」を検索して追加します。
今回は連携先のコネクタとなるため「Upsertアクション」を選択して、コネクタを作成します。
追加された「SQL Server コネクタ」を開き、接続を作成します。接続設定についてはヘルプをご参照ください。
CData Arc - SQL Server Connector Setup
接続設定を追加後はテーブルの追加より、連携先のCustomerCardテーブルを選択します。
XMLMap コネクタ
「Dynamics 365 Business Central コネクタ」と「SQL Server コネクタ」の設定が完了したら、次は「XMLMapコネクタ」を構成します。
「XMLMap コネクタ」をワークスペースに追加して、以下のように「Dynamics 365 Business Central コネクタ」と「SQL Server コネクタ」に接続します。
「XMLMap コネクタ」を開いて、連携する項目を以下のようにマッピングします。
連携フローの実行
トリガー開始の「手動で受信」からフローを実行します。
フロー実行後にSQL Server 側のデータを確認すると、Dynamics 365 Business Central のCustomerCardテーブルの内容が連携されていることを確認出来ます。
連携フローの作成(SQL Server → Dynamics 365 Business Central)
SQLServer 側のデータを更新
Dynamics 365 Business Central からSQLServer に連携したデータを更新します。今回は[NAME]カラムを更新します。更新前のデータは以下の通りです。
UPDATE文を実行してデータを更新します。
そして今度はこのデータをDynamics 365 Business Central に書き戻すフローを作成します。
SQL Server コネクタ
「Selectアクション」の「SQLServer コネクタ」を追加します。
そしてCustomerCardテーブルを選択します。
Dynamics 365 Business Central コネクタ
そして「Upsertアクション」の「Dynamics 365 Business Central コネクタ」を追加します。
補足ですが「Upsertアクション」ではキー項目である「No」に一致する項目が存在すればUpdate、存在しなければInsertが行われます(以下の赤枠箇所が設定箇所に該当します)。今回は一度Dynamics 365 Business Central から連携したデータをSQLServer で更新した値を書き戻しするような動きになるため、Updateされる動きになります。
また一部の項目は読み取り専用で更新出来ませんので、今回は更新する項目以外のチェックを外します(NOとNAMEだけにチェックを入れます)。
XMLMapコネクタ
「XMLMap コネクタ」をワークスペースに追加して、「SQL Server コネクタ」と「Dynamics 365 Business Central コネクタ」に接続します。
連携フローの実行
トリガー開始の「手動で受信」からフローを実行します。フロー実行後にDynamics 365 Business Central 側のデータを確認すると、該当のデータが更新されていることを確認出来ます。
おわりに
今回はCData Arc でDynamics 365 Business Central に双方向にデータ連携を行うシナリオについて解説しました。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc | データ連携、EAI、マネージドファイル転送(MFT)、電子データ交換(EDI)のオールインワンツール
この記事ではCData Arc™ 2024 - 24.3.9159.0を利用しています。