Migrating GoldMine to Microsoft CRM 3.0
Relationships

Overview
In most cases at least some of your Goldmine contacts will be related to each other (Goldmine calles these Referals). These relationships can get quite messy if the they are not entered consistently. For instance one relationship may be called "Business" the other "Business Contact" and then another " Business C.", all basically meaning the same thing. When migrating to Microsoft Dynamics CRM these relationship names need to be grouped into predefined relationship roles and then have the relationships linked to these roles.In the standard project/script the actions that do this (higlighted in image on right) are deactivated as they will need adjusting to your own data. Following is a description on these actions and instructions on how to activate and adapt them for your own use.
The "GetRelationshipType" Function
This function takes the Goldmine relationship name and returns our Microsoft Dynamics CRM equivalent of it. You will have to come up with your own conversion list/map that suits your data. In order to find the different names, run this query on your Goldmine database:SELECT DISTINCT CONTSUPREF, COUNT(CONTSUPREF) FROM Goldmine.dbo.CONTSUPP WHERE RECTYPE = 'R' AND NOT CONTSUPREF IS NULL AND NOT CONTSUPREF = '' GROUP BY CONTSUPREF
Then take the resulting list and decide how you want the individual items grouped. Mach each of them as a "WHEN - THEN" clause to your desired role. If a role in the Microsoft Dynamics CRM system already exists, it will be used - otherwise newly created.
The Contact Relationships Folder
All you need to do here is make sure this folder action is active. No other adjustments should be needed.What it does is as follows:
-
Create RelationshipRoleBase & CustomerRelationshipBase Table
The tables RelationshipRoleBase and CustomerRelationshipBase are created as copies of the target database (without the data). This is where the data will be assembled into. -
Create RelationshipMap Table
Creates an intermediate table where each two reciprocal relationships are represented as one record. -
Populate RelationshipMap
Fills the RelationshipMap table with records of RECTYPE R from the Goldmine CONTSUPP table. Relationship names are filtered and transformed using the previously created GetRelationshipType function. -
Populate RelationshipRoleBase
First all originally existing relationships are copied from the target Microsoft Dynamics CRM database. Then a DISTINCT over all entries in our new RelationshipMap table extracts the unique values for the new Relationship roles. -
Map RelationshipRoleBase Values
Here the CustomerRoleId and PartnerRoleId fields are mapped to the newly created relationship roles.