Codeunit 7237 "Master Data Mgt. Subscribers"
MasterDataManagement · Microsoft.Integration.MDM
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 14 connected objects and pages
MasterDataManagement · Microsoft.Integration.MDM · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Master Data Mgt. Coupling” = rm, tabledata “Integration Field Mapping” = r, tabledata “Integration Table Mapping” = rm, tabledata “Tenant Media” = imd, tabledata “Tenant Media Set” = imd, tabledata “Tenant Media Thumbnails” = imd, tabledata “Integration Synch. Job” = r, tabledata “Job Que… |
Event subscriptions
- HandleOnAfterDeleteIntegrationTableMapping subscribes to Table “Integration Table Mapping” OnAfterDeleteEvent
- OnAfterJobQueueEntryRun subscribes to Codeunit “Job Queue Start Codeunit” OnAfterRun
- OnFindingIfJobNeedsToBeRun subscribes to Table “Job Queue Entry” OnFindingIfJobNeedsToBeRun
- CleanupSetupAfterCreatedNewCompanyByCopyCompany subscribes to Report “Copy Company” OnAfterCreatedNewCompanyByCopyCompany
- OnOpenSourceRecord subscribes to Page “Integration Synch. Error List” OnOpenSourceRecord
- OnTransferFieldData subscribes to Codeunit “Integration Record Synch.” OnTransferFieldData
- OnBeforeIsFieldModified subscribes to Codeunit “Integration Record Synch.” OnBeforeIsFieldModified
- OnDetermineSynchDirection subscribes to Codeunit “Integration Table Synch.” OnDetermineSynchDirection
- OnIsCreateNewInCaseOfNoMatchControlVisible subscribes to Table “Integration Table Mapping” OnIsCreateNewInCaseOfNoMatchControlVisible
- HandleOnAfterCreatedNewCompanyByCopyCompany subscribes to Report “Copy Company” OnAfterCreatedNewCompanyByCopyCompany
- OnFindAndSynchRecordIDFromIntegrationSystemId subscribes to Codeunit “CRM Synch. Helper” OnFindAndSynchRecordIDFromIntegrationSystemId
- HandleOnAfterInsertRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterInsertRecord
- OnBeforeModifyRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeModifyRecord
- OnAfterModifyRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterModifyRecord
- OnBeforeTransferRecordFields subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeTransferRecordFields
- OnAfterTransferRecordFields subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterTransferRecordFields
- OnBeforeDetermineConfigTemplateCode subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeDetermineConfigTemplateCode
- OnWasModifiedAfterLastSynch subscribes to Codeunit “Integration Rec. Synch. Invoke” OnWasModifiedAfterLastSynch
- OnInsertNewContactFromCustomerOnBeforeAssignNo subscribes to Codeunit “CustCont-Update” OnInsertNewContactOnBeforeAssignNo
- OnInsertNewContactFromVendorOnBeforeAssignNo subscribes to Codeunit “VendCont-Update” OnInsertNewContactOnBeforeAssignNo
- OnInitContactFromBankAccountOnBeforeAssignNo subscribes to Codeunit “BankCont-Update” OnInitContactFromBankAccountOnBeforeAssignNo
- HandleOnBeforeInsertRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeInsertRecord
- HandleOnAfterUnchangedRecordHandled subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterUnchangedRecordHandled
Procedures
HandleOnAfterJobQueueEntryRun(var JobQueueEntry: Record "Job Queue Entry")(internal)HandleOnFindingIfJobNeedsToBeRun(var Sender: Record "Job Queue Entry"; var Result: Boolean)(internal)HandleOnBeforeIsFieldModified(var SourceFieldRef: FieldRef; var Result: Boolean; var IsHandled: Boolean)(internal)HandleOnTransferFieldData(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var NewValue: Variant; var IsValueFound: Boolean; var NeedsConversion: Boolean)(internal)HandleOnFindAndSynchRecordIDFromIntegrationSystemId(IntegrationSystemId: Guid; TableId: Integer; var LocalRecordID: RecordID; var IsHandled: Boolean)(internal)RenameIfNeededOnBeforeModifyRecord(IntegrationTableMapping: Record "Integration Table Mapping"; SourceRecordRef: RecordRef; var DestinationRecordRef: RecordRef)(internal)HandleOnAfterTransferRecordFields(SourceRecordRef: RecordRef; var DestinationRecordRef: RecordRef)(internal)HandleOnWasModifiedAfterLastSynch(IntegrationTableConnectionType: TableConnectionType; IntegrationTableMapping: Record "Integration Table Mapping"; var SourceRecordRef: RecordRef; var SourceWasChanged: Boolean; var IsHandled: Boolean)(internal)GetRowLastModifiedOn(IntegrationTableMapping: Record "Integration Table Mapping"; var FromRecordRef: RecordRef): DateTime(internal)
Plus 23 local procedures.
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.
- Codeunit 7233 “Master Data Management” (30 calls:
FixPrimaryContactNo → IsEnabled,GetRowLastModifiedOn → OnGetIntegrationRecordRefBySystemId,HandleOnAfterDeleteIntegrationTableMapping → OnHandleOnAfterDeleteIntegrationTableMapping, …) - Codeunit 4100 “Temp Blob” (7 calls:
GetBlobFieldText → CreateInStream,GetBlobFieldText → FromFieldRef,GetBlobFieldText → HasValue, …) - Codeunit 7232 “MDM Inline Media” (5 calls:
HandleOnAfterTransferRecordFields → IsBlobSkipped,HandleOnBeforeIsFieldModified → IsBlobSkipped,HandleOnTransferFieldData → IsBlobSkipped, …) - Codeunit 7234 “MDM Contact Relation Cache” (4 calls:
OnInitContactFromBankAccountOnBeforeAssignNo → TryGetSourceContactNo,OnInsertNewContactFromCustomerOnBeforeAssignNo → TryGetSourceContactNo,OnInsertNewContactFromVendorOnBeforeAssignNo → TryGetSourceContactNo, …) - Codeunit 5338 “Integration Record Management” (2 calls:
HandleOnWasModifiedAfterLastSynch → IsModifiedAfterIntegrationTableRecordLastSynch,HandleOnWasModifiedAfterLastSynch → IsModifiedAfterRecordLastSynch) - Codeunit 5342 “CRM Synch. Helper” (2 calls:
ApplyTransformations → TransformValue,UpdateContactParentCompany → SetContactParentCompany) - Codeunit 5345 “Integration Rec. Synch. Invoke” (2 calls:
FixPrimaryContactNo → WasModifiedAfterLastSynch,UpdateContactParentCompany → WasModifiedAfterLastSynch) - Codeunit 7231 “Integration Master Data Synch.” (2 calls:
SynchRecordIfMappingExists → GetOutOfMapFilter,SynchRecordIfMappingExists → SynchRecord) - Codeunit 10 “Type Helper” (1 call:
HandleOnTransferFieldData → CompareDateTime) - Codeunit 1336 “Item Templ. Mgt.” (1 call:
HandleOnBeforeInsertRecord → FillItemKeyFromInitSeries) - Codeunit 1381 “Customer Templ. Mgt.” (1 call:
HandleOnBeforeInsertRecord → FillCustomerKeyFromInitSeries) - Codeunit 1385 “Vendor Templ. Mgt.” (1 call:
HandleOnBeforeInsertRecord → FillVendorKeyFromInitSeries) - Codeunit 700 “Page Management” (1 call:
OnOpenSourceRecord → PageRun) - Codeunit 7239 “MDM Source Watermark” (1 call:
GetRowLastModifiedOn → TryGet)
Called by
- Codeunit 7231 “Integration Master Data Synch.” (1 call:
SynchIntegrationTableToLocalTable → GetRowLastModifiedOn) - Codeunit 7233 “Master Data Management” (1 call:
HandleOnUpdateIntegrationRecordTimestamp → GetRowLastModifiedOn)
Recent changes
- 2026-09-28 #11896 [Master Data Management] Cross-env over-cap blob clears the subsidiary blob (main, BC30, fix)
- 2026-09-22 #11626 [Master Data Management] Fixing synchronization of contacts, media, date, datetime, source watermarking, permission issue and minor UX issues (main, BC30, fix)
- 2026-09-10 #10753 Cross-environment Master Data synchronization (same tenant) (main, BC30, feature)
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: "Master Data Mgt. Subscribers"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.