Migrating GoldMine to Microsoft CRM 3.0
Phase 2: Accounts & Contacts
Overview

Accounts
Accounts are fairly straightforward. First the table structure is cloned (after deleting any previous instance) from the target database using aSELECT INTO
statement with a TOP 0
clause
to avoid copying any data from the target database. This is the way nearly all other tables in the staging
database are created.The data is copied from the
CONTACT1
Goldmine table, joined with the GMCRMMap
linkage table in a very straight forward way, excluding any records that leave the COMPANY
field
empty. The AccountId
is taken from the linkage table. Here are the column mappings:AccountId: GMCRMMap.AccountId
Name: CONTACT1.COMPANY
CustomerTypeCode: CONTACT1.KEY1
mapped withGetCustomerType
()Telephone1: CONTACT1.PHONE1
Telephone2: CONTACT1.PHONE2
Fax: CONTACT1.FAX
CreatedOn:
Combined fromCONTACT1.CREATEON
andCONTACT1.CREATEAT
ModifiedOn:
Combined fromCONTACT1.LASTDATE
andCONTACT1.LASTTIME
CustomerTypeCode
The CustomerTypeCode is mapped from the CONTACT1.KEY1 table using the previously createdGetCustomerType
function in Phase 0. In order for this
to work you will have to define how the Goldmine values (text) map to the Microsoft Dynamics CRM
CustomerTypeCode enumeration (numeric).You can find out what values are in your Goldmine database by running this query:
SELECT KEY1, COUNT(KEY1) AS Expr1 FROM CONTACT1 GROUP BY KEY1 ORDER BY Expr1 DESCTake these values and decide which ones you want to have in your Microsoft Dynamics CRM database. Then go and create the enumeration values in the web interface, noting down which numbers correspond to which labels. Then go and edit the action that creates the SQL Server function in the SQLTree editor (Initialize\Conversion Functions\Create Function GetCustomerType).