Skip to main content

Master Data Management

Master Data Management (MDM) solutions ensure data is consistent and accurate within . supports integrating MDMs with Veeva Network, Veeva CRM, and custom account search handlers. Visit the Account Search page for more information.

MDM Connection

The MDM Connection (MED_MDM_Connection__mdt) custom metadata type houses configuration to be leveraged when communicating with a given Veeva Network instance, Veeva CRM, and custom account search handlers. Items contained within an entry include items like authentication credentials in addition to field mappings to receive and route data elements from inbound Accounts returned via Account Searches in addition to data change request (DCR) synchronization.

Note: To get help with details on individual field values, visit How to Contact Customer Support.

Default Mapping

Mappings defined on Default instances can work in conjunction with the other MDM Connection type. In cases where multiple types are present and there are overlapping configurations, non-default entries take precedence over the default entry. If this field is checked only one connection will be set as default mapping.

Named credentials

In cases where remote MDM instances are being leveraged, named credentials are required to facilitate the integration.

Segment

The Segment (MED_Segment__c) field is a required configuration links to the metadata record that controls where this connection configuration applies.

Handler Class

The Handler Class (MED_Handler_Class__c) field indicates what MDM Search Handler can use this type. It is a required field and must be one of the class names from the Configuring the Account Search feature section on the Account Search page (or your organization's custom class name).

Define MDM Field Mappings

Access the MDM Field Mapping custom metadata type and review any existing entries that are present, making the necessary changes required to match your integration requirements.

Field mappings can be against the Default instance type, which will apply to all Veeva Network instances, or a specific instance if only certain fields should be mapped to a specific instance. The overall mapping set used for any given Veeva Network instance is the combination of the Default mapping and the specific remote instance being connected to. Specific instance mappings will override any overlapping configurations made at the default level.

MDM Field Mapping (MED_MDM_Field_Mapping__mdt) Custom Metadata Type
FieldDescriptionRequired (Yes/No)
LabelThe label for the field to which you are mapping.Yes
MDM ConnectionMDM Connection where this mapping is used.Yes
MDM Field Mapping NameThe unique name used by the API and managed packages. The name must begin with a letter and use only alphanumeric characters and underscores. The name cannot end with an underscore or have two consecutive underscores.Yes
SObject API NameSObject API Name where this field mapping will be used.Yes
Record TypeRecord Type of the SObject where it is possible to use this field mapping. "All" applies for any Record Type.Yes
SF Field NameSalesforce field API name of the field in Salesforce that is being mapped.Yes
MDM Field NameIndicates the name of the field returned by the MDM service to be used in the mapping.Yes
MDM Field TypeProvide the field type for the MDM Field. Used to properly handle building queries and parsing results. If not provided, assumes String.No

Define MDM Value Mappings

In addition to the field mappings available to route inbound fields to local fields, there exists the ability to map, or convert values within fields with values contained in . To configure value maps for the search handler, use the MDM Value Mapping custom metadata type to specify if a value must be converted to a specific value for the correct functionality. It is highly recommended for picklist values such as countries or states. This MDM Value Mapping will be related to just one MDM Field Mapping for a specific field search handler.

MDM Value Mappings can also be specified as only inbound (from the Veeva Network to Account/Contact Information) or outbound (from the Account/Contact Information, to the remote MDM system).

MDM Value Mappings (MED_MDM_Value_Mapping__mdt) Custom Metadata Type
FieldDescriptionRequired (Yes/No)
LabelThe label of the field to which you want to map.Yes
MDM Field MappingUse the lookup to search for a MDM Field Mapping.Yes
MDM Value Mapping NameThe unique name used by the API and managed packages. The name must begin with a letter and use only alphanumeric characters and underscores. The name cannot end with an underscore or have two consecutive underscores.Yes
InboundIf checked, means that the value mapping will be applied inbound (CMS > MDM). :::: note ::: title ::: This value is checked by default. ::::
OutboundIf checked, means that the value mapping will be applied outbound (MIC > MDM). :::: note ::: title ::: This value is checked by default. ::::
Salesforce valueThe value to be used in Salesforce and stored (inbound) or converted (outbound).Yes
MDM ValueThe value to be used in the MDM System and stored (outbound) or converted (inbound).Yes

Configuration considerations

Important points to consider when leveraging MDMs are as follows:

  • If the remote MDM, like Veeva Network, does merge, a custom integration will need to be built to proactively update merged accounts in to prevent issues during account search and MIRF processing.

  • If a custom integration is not built to proactively update merged accounts:

    • When selecting an account during account search, a Salesforce Unexpected Error or an unable to reparent a master-detail relationship error might be thrown.

    • When creating Cases or Requests for Inbound Forms, an MED_CreateRequestsForInboundForms failed with an Unknown Exception error might be thrown with an error ID of unable to reparent a master-detail relationship.

Troubleshooting MDMs

To resolve issues that stemmed from not proactively updating merged accounts when leveraging a remote system, try the following steps to manually merge accounts in :

  1. Gather all address IDs from the MDM system for the failed accounts.

  2. Search for the address IDs in . If the accounts exist on Contact Information records, check if the parent accounts match the ID from the MDM system.

  3. Correct the address IDs by manually updating the data or merging in .

  4. Click Re-run to run Case create for the Inbound Forms once more.