In this series of blogs I am writing about using the Connector for Microsoft Dynamics with the Microsoft Dynamics CRM Instance Adapter to integrate two Microsoft Dynamics CRM Organisations.
In my previous blog I wrote about the need to ensure that Mappings are ordered or scheduled in such a way that Parent records are integrated prior to dependent Child records. I.e. Subjects and parent Subjects; Articles and parent Subjects as shown in the following Entity relationship diagram:
I also mentioned the built in mechanism provided in the Connector for Microsoft Dynamics that, if required, retries the integration of records from the Source Organisation to the Destination Organisation, up to seven times over successive periods of time. I also wrote about my findings with respect to integrating Subject records from the Sample Data provided by Microsoft Dynamics CRM.
In this blog I will mention my findings with respect to the integration of related Article records and also discuss some related findings with respect to the Requirement Level on lookup fields such as parent Subject for Article records and parent Country for Town/City records.
The following screenshot shows the Article records that were created in the Destination Organisation as a result of my integration Subjects and Articles from the Source Organisation to the Destination Organisation. These were successfully integrated as a result of the parent Subject records having been integrated first. However, when the parent Subject records had not been integrated first the dependent child Article records failed to integrate.
For comparison I also tested using two custom related entities: Country and Town/City, with the Requirement Level for the Country field on the Town/City entity set to Business Required as shown in the following diagram and screenshot. However, I only configured the Town/City entity to be integrated from the Source Organisation to the Destination Organisation.
My test results showed that the Town/City records where created by the Connector for Microsoft Dynamics in the Destination Organisation. However, the Country field on those Town/City records was blank because there were no related parent Country records in the Destination Organisation. The key finding here is that the Town/City records where created by the Connector even though the Destination Organisation did not contain required parent Country records. The following screenshot shows this:
A key difference between the Requirement Level set on the Subject field for Articles and the Requirement Level set on the Country field for Towns/Cities is that for the Subject field on Articles the Requirement Level is System Required while for the Country field on Towns/Cities the Requirement Level is Business Required.
It seems that the System Required relationship is enforced while the Business Required relationship is not. In the first case the child Article records fail to integrate while in the second case the child Town/City records are created, but only partially.
I then completed a test where I changed the Requirement Level for the Country field on Towns/Cities in the Source Organisation from Business Required to No Constraint but left the Requirement Level for the Country field on the Towns/Cities in the Destination Organisation set to Business Required.
Source Organisation (No Constraint) Destination Organisation (Business Required)
I added both Countries and Towns/Cities to the Source Organisation but did not select a Country on any of the Towns/Cities. The following screenshot shows an example of a Town/City in the Source Organisation with no Country selected:
I configured the Connector for Microsoft Dynamics to integrate both the Countries (first) and the Towns/Cities (second) from the Source Organisation to the Destination Organisation.
After running the integration both the Countries and Towns/Cities were created in the Destination Organisation. The following screenshots show an example of one of the Countries and one of the Towns/Cities created by the Connector for Microsoft Dynamics in the Destination Organisation:
The key finding here was that though the Requirement Level on the Country field is set to Business Required in the Destination Organisation and No Constraint in the Source Organisation, and though no Country was set on the Towns/Cities added to the Source Organisation, this did not prevent the Towns/Cities from being created in the Destination Organisation.
In my next blog I will review my test results for Created On, Created By, Modified On, Modified By, Owner, Status and Status Reason, Create, Update, Delete, Deactivate, Activate and Duplicate Detection. I will also look at the results when attempting to integrate interdependent Contact and Organisation records, I.e. Organisations with a Primary Contact and Contacts with a Parent Organisation.