Mapping MDM and Salesforce.com metadata

InfoSphere® MDM is code table/reference data driven. If you attempt to insert a record with an invalid code type, the transaction fails. Use these steps to import the code type from MDM and create validation rules.

About this task

The fields in Account and Contact are mapped to MDM Code types as shown in this table.

Table 1.
Salesforce.com fields MDM code types
Account Type CDORGTP
Industry CDINDUSTRYTP
Billing State CDPROVSTATETP
Billing Country CDCOUNTRYTP

Based on the customer domain implementation, these reference code types can be populated and synchronized. (You must verify that the metadata is correctly synchronized between Salesforce.com and MDM.)

The current implementation of the synchronization scenario provides following options to synchronize the reference code types.
  1. Account Type and Industry are a pick list in Salesforce.com. The com.ibm.mdm.integration.sfdc\mdm\configuration_mdmae_cap.sql file contains all the default values that Salesforce.com provides. By seeding this to MDM, you must synchronize the two fields.
    Note: If your implementation requires you to use different values than what is provided in Saleforce.com, you can update the pick list and insert the same values in the MDM code tables.
  2. Billing State and Billing Country are free form text in Salesforce.com. To verify the validation against the MDM code type, you must create a validation rule against the lookup object in Salesforce.com. The lookup object is populated with the MDM code type.

Procedure

  1. Import the MDM code type.
    1. Log in to Salesforce.com.
    2. Click Setup, and then select Data Management > Data Import Wizard.
    3. Click Launch Wizard!.
    4. Import your data into Salesforce.com by clicking Custom Objects and selecting CountryCdTp. Click Add new records.
    5. Click CVS > Browse. Select the com.ibm.mdm.integration.sfdc\testData\ CountryCdTp__c.csv file and click Next.
    6. Complete the mapping in this table and then click Next > Finish.
      Mapped Salesforce Object CSV Header
      CountryCdTp Name Name
      LAND_TP_CD LAND_TP_CD__c
      COUNTRY_TP_CD COUNTRY_TP_CD__c
      NAME NAME__c
      DESCRIPTION DESCRIPTION__c
    7. Repeat the same steps for code type StateCdTp__c.csv.
      Note: CountryCdTp__c.csv and StateCdTp__c.csv are extracted from the MDM code tables CDCOUNTRYTP and CDPROVSTATETP. If you have different values, you can update the MDM code tables and corresponding .csv files accordingly. You can also build a separate orchestration to automatically synchronize the Saleforce.com object when MDM code tables are updated.
  2. Create validation rules. Two separate rules for are required for Account and Contact objects. If you are using the sample project, these rules are already created and you can skip these steps. Use these steps to create validation rules if you are not using the sample project.
    1. Log in to Salesforce.com.
    2. Click Setup and then select Customize > Accounts > Validation Rules.
    3. Click New to create a rule. Enter the values as shown in this table to create the rule for the Account object.
      Rule Name Rule Error message
      BillingCountryLookupRule VLOOKUP( $ObjectType.CountryCdTp__c.Fields.Name , $ObjectType.CountryCdTp__c.Fields.Name , BillingCountry )!= BillingCountry Billing Country does not match with MDM CDCOUNTRYTP reference data
      BillingStateLookupRule VLOOKUP( $ObjectType.StateCdTp__c.Fields.Name , $ObjectType.StateCdTp__c.Fields.Name , BillingState ) != BillingState Billing State does not match with MDM CDPROVSTATETP reference data
    4. Click New to create a rule. Enter the values as shown in this table to create the rule for the Contact object.
      Rule Name Rule Error message
      CountryLookupRule VLOOKUP( $ObjectType.CountryCdTp__c.Fields.Name , $ObjectType.CountryCdTp__c.Fields.Name , MailingCountry )!= MailingCountry || VLOOKUP( $ObjectType.CountryCdTp__c.Fields.Name , $ObjectType.CountryCdTp__c.Fields.Name , OtherCountry )!= OtherCountry Billing Country or Shipping Country does not match with MDM CDCOUNTRYTP reference data
      StateLookupRule VLOOKUP( $ObjectType.StateCdTp__c.Fields.Name , $ObjectType.StateCdTp__c.Fields.Name , MailingState ) != MailingState || VLOOKUP( $ObjectType.StateCdTp__c.Fields.Name , $ObjectType.StateCdTp__c.Fields.Name , OtherState ) != OtherState Billing Country or Shipping Country does not match with MDM CDCOUNTRYTP reference data