Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
DuplicateError Class
Namespace
Example
1// Try to save a duplicate account
2Account duplicateAccount = new Account(Name='Acme', BillingCity='San Francisco');
3Database.SaveResult sr = Database.insert(duplicateAccount, false);
4if (!sr.isSuccess()) {
5
6 // Insertion failed due to duplicate detected
7 for(Database.Error duplicateError : sr.getErrors()){
8 Datacloud.DuplicateResult duplicateResult =
9 ((Database.DuplicateError)duplicateError).getDuplicateResult();
10 System.debug('Duplicate records have been detected by ' +
11 duplicateResult.getDuplicateRule());
12 System.debug(duplicateResult.getErrorMessage());
13 }
14
15 // If the duplicate rule is an alert rule, we can try to bypass it
16 Database.DMLOptions dml = new Database.DMLOptions();
17 dml.DuplicateRuleHeader.AllowSave = true;
18 Database.SaveResult sr2 = Database.insert(duplicateAccount, dml);
19 if (sr2.isSuccess()) {
20 System.debug('Duplicate account has been inserted in Salesforce!');
21 }
22}DuplicateError Methods
The following are methods for DuplicateError.
getDuplicateResult()
Signature
public Datacloud.DuplicateResult getDuplicateResult()
Return Value
Example
This example shows the code used to get the possible duplicates and related match information after saving a new contact. This code is part of a custom application that implements duplicate management when users add a contact. See DuplicateResult Class to check out the entire sample applicaton.
1Datacloud.DuplicateResult duplicateResult =
2 duplicateError.getDuplicateResult();getFields()
Signature
public List<String> getFields()
Return Value
Type: List<String>