Prodly provides powerful upsert features which take the standard Salesforce upsert functionality to a whole new level. The following sections describe each approach. In Prodly, you need to specify the approach for each data set object independently.
The default record matching method at the time of installation is Virtual External ID. To change the default record matching method, navigate to Setup > Objects and Fields > Object Manager > Data Set > Fields & Relationships > Upsert Record Handling and select a new default in the Values table.
Virtual External ID (VEID)
Prodly virtual external ID (VEID) allows you to upsert records without having to know or define any Salesforce external ID fields or specify fields in Prodly as part of Prodly composite external IDs. During initial deployment to an empty destination org, the Prodly VEID manager captures source record IDs and creates associations between source and destination record IDs. Then, the Prodly VEID manager tracks any subsequent deployments of the same record IDs between any of your orgs.
If you are not starting with an empty destination org, refer to VEID Setup During A Development Cycle before proceeding.
New users have a much quicker time to deployment, less ramp up effort, less frustration, and reduced learning curve. Experienced users can simplify their data set model and streamline their deployment performance.
To use VEID, simply select Virtual External ID from the Record Matching Method picklist on the Settings tab in the data set Object view and perform a deployment.
The Prodly VEID manager cannot match differing IDs of data records you create in an org by any method (such as a data loader or manual entry) other than a Prodly VEID org-to-org or version-control deployment. For the VEID to be successful, the IDs of records created with a sandbox refresh, sandbox cloning, or tools other than Prodly VEID must match in your source and destination orgs. Refer to the links in this note for more information.
Composite External IDs (CEID) / Standard Upsert
Performs the action of a standard Salesforce upsert. If the SOQL query returns more than one matching record, Prodly generates an error. If one record matches, Prodly updates the record. If no record matches, Prodly inserts a new record.
Prodly allows you to concatenate fields to create composite IDs, rather than rely on traditional Salesforce external IDs. Prodly provides the following expanded capabilities for creating composite external IDs:
- Select any object field to be an external ID, not just fields that are explicitly identified as external IDs in Salesforce.
- Select multiple fields to create a composite external ID. For example, you can uniquely identify an account by combining its name and type.
- Select one or more parent lookup fields as an external ID to uniquely match a record under the parent records instead of the entire org. This technique is useful for records that do not have a unique org-wide identifier.
To use CEID:
- In the Object view Settings tab, select Standard Upsert, Match First Found, or Skip Duplicate from the Record Matching Method picklist.
- For each field that comprises the composite ID, on the Fields tab, click the Edit Field gear icon, and select External ID.
- Perform a deployment.
Salesforce Formal External IDs (FEID)
Prodly supports the standard Salesforce external IDs. For clarity, Prodly refers to these IDs as formal external IDs (FEID). To Prodly, FEIDs are the same as CEIDs. To use FEID, follow the steps for CEID above.
Match First Found
If the SOQL query returns more than one matching record, Prodly skips that source record and does not insert or update any of the matching records in the destination org. If one record matches, Prodly updates the record. But if no record matches, Prodly inserts a new record.
Skip Duplicate
If the SOQL query returns more than one matching record, Prodly skips that source record and does not insert or update any of the matching records in the destination org. If one record matches, Prodly updates the record. But if no record matches, Prodly inserts a new record.
Options for Handling Duplicate Records
Prodly record matching methods provide these ways to handle multiple matching records:
- Update the first match found.
- Skip the record entirely.
- Perform a standard Salesforce upsert (that throws errors when more than one record matches).
The methods apply to both FEIDs you define in Salesforce and CEIDs you define in the field properties on the Fields tab.