Codeunit 5060 "DuplicateManagement"
Base Application · Microsoft.CRM.Duplicates
Across versions
- BC23present
- BC241 procedures changed, 1 events added
- BC25unchanged
- BC26declaration changed
- BC27unchanged
- BC281 procedures added
- BC29-30unchanged
Neighbourhood 3 connected objects and pages
Base Application · Microsoft.CRM.Duplicates · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | tabledata “Marketing Setup” = r, tabledata “Contact Duplicate” = rid, tabledata “Cont. Duplicate Search String” = rid, tabledata “Duplicate Search String Setup” = r |
Events published
OnBeforeRemoveContIndex(Contact: Record Contact; KeepAccepted: Boolean; var IsHandled: Boolean)(integration)OnBeforeDuplicateExist(Contact: Record Contact; var Result: Boolean; var IsHandled: Boolean)(integration)OnInsDuplContIndexOnBeforeDuplContSearchStringInsert(var Contact: Record Contact; var DuplContSearchString: Record "Cont. Duplicate Search String"; DuplSearchStringSetup: Record "Duplicate Search String Setup")(integration)OnInsDuplContOnAfterDuplContSearchString2SetFilters(var DuplContSearchString: Record "Cont. Duplicate Search String"; var DuplContSearchString2: Record "Cont. Duplicate Search String")(integration)OnInsDuplContOnAfterDuplContSetFilters(var TempDuplCont: Record "Contact Duplicate" temporary; var DuplContSearchString: Record "Cont. Duplicate Search String"; var DuplSearchStringSetup: Record "Duplicate Search String Setup")(integration)OnMakeContIndex(var Contact: Record Contact; var IsHandled: Boolean)(integration)OnMakeContIndexOnBeforeInsDuplCont(var Contact: Record Contact; var IsHandled: Boolean)+ BC24 (integration)
Procedures
MakeContIndex(Cont: Record Contact)RemoveContIndex(Cont: Record Contact; KeepAccepted: Boolean)DuplicateExist(Cont: Record Contact): BooleanLaunchDuplicateForm(Cont: Record Contact)ComposeIndexString(var RecRef: RecordRef; FieldNo: Integer; Part: Option First,Last; ChrToCopy: Integer): Text[10]Δ BC24ComposeSearchString(var RecRef: RecordRef; FieldNo: Integer; StringPart: Enum "Duplicate Search String Part"; ChrToCopy: Integer): Text[10]+ BC28Notify()RunModalContactDuplicates(Notification: Notification)
Plus 2 local procedures.
Triggers
OnRun
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Page 5134 “Contact Duplicates” (2 calls:
LaunchDuplicateForm → (object),RunModalContactDuplicates → (object)) - Codeunit 1511 “Notification Lifecycle Mgt.” (1 call:
Notify → SendNotification)
Called by
- Table 5050 “Contact” (5 calls:
CheckDuplicates → DuplicateExist,CheckDuplicates → LaunchDuplicateForm,CheckDuplicates → MakeContIndex, …)
Recent changes
- 2026-08-10 #10050 Bug 638128: Deadlock in Duplicate Management when multiple users create customers at the same time (main, BC30, fix)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "DuplicateManagement"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.