Difference between revisions of "Dual-write"

From Power Wiki
Jump to navigation Jump to search
Line 1: Line 1:
Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations apps.
+
Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations (F&O) apps.
  
 
== Good to know ==
 
== Good to know ==
 
This section gathers some random good-to-know info which is correct on the 2022-04-25 but could be changed in the future. Take is "as-is", this is written from experience of using Dual-write.
 
This section gathers some random good-to-know info which is correct on the 2022-04-25 but could be changed in the future. Take is "as-is", this is written from experience of using Dual-write.
* There are different ways and approaches to link Dataverse and FnO. You can link two environments together or you can choose to create a Dataverse environment from FnO (LCS)  
+
* There are different ways and approaches to link Dataverse and F&O. You can link two environments together in the F&O app or you can choose to create a Dataverse environment from F&O (LCS). Creating it from LCS is the Microsoft recommended approach and in the future it will be possible to link to an existing Dataverse environment also from LCS.
* An environment which has been created from FnO can not be renamed in Admin Center
+
* An environment which has been created from F&O can not be renamed in Admin Center
* When taking a Copy from a set of Dataverse + Fno and restoring to another set of Dataverse + Fno, the initial link (linked FnO environment) shown in Admin Center under the Dataverse environment remains.
+
* When taking a Copy from a set of Dataverse + F&O and restoring to another set of Dataverse + F&O, the initial link (linked F&O environment) shown in Admin Center under the Dataverse environment remains.
 
* A guidance for when to do initial sync and not to can be found in MS Docs, [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/initial-sync-guidance#guidance-matrix Guidance Matrix]
 
* A guidance for when to do initial sync and not to can be found in MS Docs, [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/initial-sync-guidance#guidance-matrix Guidance Matrix]
 
* There is an article describing the linking process, written by Faisal Fareed: [https://daxture.blogspot.com/2020/11/steps-to-follow-when-refresh-dual-write.html Steps to follow when refresh dual-write integrated environments (FO and CE)]. That is a good go-to article each time you need to re-link environments, see the section below.
 
* There is an article describing the linking process, written by Faisal Fareed: [https://daxture.blogspot.com/2020/11/steps-to-follow-when-refresh-dual-write.html Steps to follow when refresh dual-write integrated environments (FO and CE)]. That is a good go-to article each time you need to re-link environments, see the section below.
  
== Re-link Dataverse-FnO ==
+
== Re-link Dataverse-F&O ==
The list below is available here all thanks to Faisal Fareed and his article which was the inspiration to the list. Source environments below means the environments which we want to copy from (e.g. Prod). Target enrironments means the environments we want to copy to (e.g. UAT/Test).
+
The list below is available here all thanks to Faisal Fareed and his article which was the inspiration to the list. Source environments below means the environments which we want to copy from (e.g. Prod). Target environments means the environments we want to copy to (e.g. UAT/Test).
  
1. Go to FnO (target environment) Data Management -> Dual Write and stop all jobs.
+
1. Go to F&O (target environment) Data Management -> Dual Write and stop all jobs.
  
2. Copy from FnO source environment to FnO target environment and Dataverse source environment to Dataverse target environment. (Note, we assume that the source environments are linked).   
+
2. Copy from F&O source environment to FnO target environment and Dataverse source environment to Dataverse target environment. (Note, we assume that the source environments are linked).   
  
3. Go to FnO (target environment) Data management > Dual write and Unlink environments.
+
3. Go to F&O (target environment) Data management > Dual write and Unlink environments.
  
4. Delete data from the following tables in FnO if data exists
+
4. Delete data from the following tables in F&O if data exists
 
DualWriteProjectConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectConfiguration&cmp=<CompanyId>
 
DualWriteProjectConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectConfiguration&cmp=<CompanyId>
 
DualWriteProjectFieldConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectFieldConfiguration&cmp=<CompanyId>
 
DualWriteProjectFieldConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectFieldConfiguration&cmp=<CompanyId>
Line 28: Line 28:
 
7. Apply Microsoft Dual-Write solutions and custom solution if any
 
7. Apply Microsoft Dual-Write solutions and custom solution if any
  
8. Start jobs. No init sync needed if copied from both Dataverse and FnO environments which were linked. If copied only from one the two Dataverse or FnO, then also do an init sync.  
+
8. Start jobs. No init sync needed if copied from both Dataverse and FnO environments which were linked. If copied only from one the two Dataverse or F&O, then also do an init sync.  
  
 
== Reading list ==  
 
== Reading list ==  
Line 34: Line 34:
  
 
* Release info Dual-Write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/whats-new-dual-write What's new or changed in dual-write]
 
* Release info Dual-Write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/whats-new-dual-write What's new or changed in dual-write]
* Step-by-step instructions for enabling Dual-write in Dataverse and FnO: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/requirements-and-prerequisites System requirements and prerequisites System requirements and prerequisites].
+
* Step-by-step instructions for enabling Dual-write in Dataverse and F&O: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/requirements-and-prerequisites System requirements and prerequisites System requirements and prerequisites].
 
* Application lifecycle management / Install the dual-write table maps solution: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/app-lifecycle-management Managing dual-write - ALM]
 
* Application lifecycle management / Install the dual-write table maps solution: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/app-lifecycle-management Managing dual-write - ALM]
 
* Unlink and relink dual-write environments: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/relink-environments Relink environments].
 
* Unlink and relink dual-write environments: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/relink-environments Relink environments].
Line 43: Line 43:
 
* Unified Product experience: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/product-mapping Product Mapping]
 
* Unified Product experience: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/product-mapping Product Mapping]
 
* Prospect to cash in dual-write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-prospect-to-cash Dual-write Prospect to Cash]
 
* Prospect to cash in dual-write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-prospect-to-cash Dual-write Prospect to Cash]
 +
* Prerequisites for Prospect to Cash: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-prospect-to-cash#prerequisites-and-mapping-setup Prerequisites and mapping setup]
 
* Changing the owning team for "global tables": [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/user-specified-team-owner User-specified team owner]
 
* Changing the owning team for "global tables": [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/user-specified-team-owner User-specified team owner]
 
* Setting default companies on records in CRM: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/company-data Company concept in Dataverse]
 
* Setting default companies on records in CRM: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/company-data Company concept in Dataverse]

Revision as of 12:37, 11 May 2022

Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations (F&O) apps.

Good to know

This section gathers some random good-to-know info which is correct on the 2022-04-25 but could be changed in the future. Take is "as-is", this is written from experience of using Dual-write.

  • There are different ways and approaches to link Dataverse and F&O. You can link two environments together in the F&O app or you can choose to create a Dataverse environment from F&O (LCS). Creating it from LCS is the Microsoft recommended approach and in the future it will be possible to link to an existing Dataverse environment also from LCS.
  • An environment which has been created from F&O can not be renamed in Admin Center
  • When taking a Copy from a set of Dataverse + F&O and restoring to another set of Dataverse + F&O, the initial link (linked F&O environment) shown in Admin Center under the Dataverse environment remains.
  • A guidance for when to do initial sync and not to can be found in MS Docs, Guidance Matrix
  • There is an article describing the linking process, written by Faisal Fareed: Steps to follow when refresh dual-write integrated environments (FO and CE). That is a good go-to article each time you need to re-link environments, see the section below.

Re-link Dataverse-F&O

The list below is available here all thanks to Faisal Fareed and his article which was the inspiration to the list. Source environments below means the environments which we want to copy from (e.g. Prod). Target environments means the environments we want to copy to (e.g. UAT/Test).

1. Go to F&O (target environment) Data Management -> Dual Write and stop all jobs.

2. Copy from F&O source environment to FnO target environment and Dataverse source environment to Dataverse target environment. (Note, we assume that the source environments are linked).

3. Go to F&O (target environment) Data management > Dual write and Unlink environments.

4. Delete data from the following tables in F&O if data exists DualWriteProjectConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectConfiguration&cmp=<CompanyId> DualWriteProjectFieldConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectFieldConfiguration&cmp=<CompanyId>

5. Delete data from DualWriteRunTimeConfiguration Table in Dataverse, e.g. using Advanced Find.

6. Link the target environments

7. Apply Microsoft Dual-Write solutions and custom solution if any

8. Start jobs. No init sync needed if copied from both Dataverse and FnO environments which were linked. If copied only from one the two Dataverse or F&O, then also do an init sync.

Reading list

Here follows some links which might be worth taking a look at when learning how to set-up dual-write.

For instance, if customers have a self-references or circular references (like "Billing Account" or "Primary Contact") you might get errors, see Self-reference or circular reference failures during initial synchronization

Microsoft Resources

Community Resources