Dynamics 365 Finance and Operations ~ Dual-Writeを設定する ~

#Power Platform (Dataverse) と FO の連携方式について（データ視点）​
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/ea4b9ada-f0b7-b97e-f694-da4ba7c43887.png)
上記の性質を持つDual-Writeを使う主な理由としては、FO と CE（Dataverse）の両方をお使いのお客様が、「1fact 1place」のごとく、あたかも2つのアプリで1つのDBのようにデータを利用したいからになるかと思います（各システム・アプリごとにデータがバラバラにならないように）。これは、[デジタルフィードバックループ](https://www.bcnretail.com/market/detail/20200123_155393.html)を実現するための重要な技術要素でもあります。

https://docs.microsoft.com/ja-jp/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-overview#top-reasons-to-use-dual-write

#Dual-Writeのセットアップ（新規FOと新規CEでDual-Writeを設定）
Docsに全部やり方はまとまっているのですが、実際にやってみたほうが理解が早いかと思います。
https://docs.microsoft.com/ja-jp/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-system-req

① ライセンスを用意する
Tier2以上の有償ライセンスを購入いただくか、クラウドホスト環境用の[パートナー試用版ライセンス](https://portal.microsoftonline.com/Signup/MainSignUp.aspx?OfferId=AA972CC1-91DB-4CF9-94A1-4A9163ED50C9&pc=2c50e379-9378-4761-84f9-e328da74e657&dl=ERP_INSTANCE_SKU)を準備いただきます。
今回はクラウドホスト環境にてセットアップしました。
※[Dynamics Trial](https://dynamics.microsoft.com/ja-jp/dynamics-365-free-trial/)では、できません。

② クラウドホスト環境を構築する
詳細は割愛しますが、いつもの通り以下のように進めていきます。
Azure Subscription → LCSプロジェクト作成 → ARM設定 → クラウドホスト環境構築
クラウドホスト環境構築の際に、「Power Platformの環境構築設定」があるので、ここがミソです。

https://docs.microsoft.com/ja-jp/dynamics365/fin-ops-core/dev-itpro/dev-tools/access-instances

https://docs.microsoft.com/ja-jp/dynamics365/fin-ops-core/dev-itpro/deployment/arm-onboarding

「Power Platformの環境構築設定」
※これを指定してクラウドホスト環境をデプロイすると、自動的にPower Platform（Dataverse）の環境が作成される。
※今回は、試用という事でPower Platformの環境タイプをSubscription Based Trialにしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/257fecce-d359-4545-8e5d-1e78c88ac5ef.png)

クラウドホスト環境が構築された後に、Power Platform Admin centerを見てみると、Power Platformの環境（Dataverse）が自動的に出来上がっていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/bfc527e1-6cc0-3554-e2c0-7be2bb2577a3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/83497dbd-3f13-ccf1-b846-2ba1186ba433.png)


③ Dual-Writeのリンク（設定）
以下のボタンを押して、FO内に遷移してウィザードが出てくるので、連携したいLegal Entityの選択や正常性チェックを行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/3ee92bfa-7345-39d0-15af-4315fe17c40a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/7ba94755-7c6c-3097-b42a-cac5ef2686ab.png)
このウィザードを正常に完了させられたら、FO と Power Platform がリンクされました。あくまでインフラレベルでピアリングだけできたと考えていただければ。

https://docs.microsoft.com/ja-jp/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/link-your-environment


④ Dual-Writeする対象エンティティ（データ）と初期同期
例. 顧客マスタを連携する（CustomersV3(contacts)）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/c3fa6e11-9ab1-08fe-c5c0-a941aa09e3ac.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/883b5d17-cf65-fd19-cd22-06c6bda54203.png)
※初期同期では、FOの顧客マスタをマスターとする。エンティティは依存エンティティがあるので、それを含めて同期する（2.でチェック）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/411cdc9a-89db-bcf2-608f-8e66efb5b666.png)

データが正常に連携されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375815/b7efd9e4-1b0d-7556-a134-c868296f3b7c.png)