The Salesforce upsert operation creates a new record or updates an existing record in a Salesforce object. You must provide one of the following types of fields to upsert records to a Salesforce object:
External ID field.
You can use a custom Salesforce field to uniquely identify each record in a Salesforce object. You can create a custom external ID field for each object in Salesforce. You can view the properties of a Salesforce target definition in the PowerCenter Designer to see if the object includes an external ID field.
idLookup field.
You can use a Salesforce idLookup field to identify each record in a Salesforce object. Salesforce creates idLookup fields for each standard Salesforce object. For example, the Email field is an idLookup field for the Contact object. Custom Salesforce objects do not contain an idLookup field. For more information about idLookup fields, see the Salesforce documentation.
A Salesforce target object may have multiple external ID or Idlookup fields. By default, the PowerCenter Integration Service uses the first external ID or Idlookup field it encounters. However, you can specify the external ID or Idlookup field to use for the upsert operation in the session properties.
To configure the upsert operation for a session that writes to a Salesforce target:
Map the external ID or idLookup field from the source to the target in the mapping. If you are using an external ID, map the external ID to the external ID field in the Salesforce target object. If you are using an idLookup field, map the field to the appropriate target field. For example, map the email source field to the Email field in the Salesforce Contact object target.
Configure the Treat Insert as Upsert or Treat Update as Upsert session properties to configure a Salesforce session to upsert records.
To use the idLookup field instead of an external ID field, enable the Use IdLookup Field for Upserts session property. By default, the PowerCenter Integration Service uses the external ID for upserts. You can configure the session to override the external ID, and use the idLookup instead.
To specify which external ID or Idlookup field to use, enter the external ID or Idlookup field name in the Use this ExternalId/Idlookup Field for Upserts session property.
If you do not enter the name of the external ID or Idlookup field, the PowerCenter Integration Service selects the first external ID or Idlookup field it encounters. If you specify a field that is not an external ID or Idlookup field, or you misspell the field name, the session fails.