Codeunit 7231 "Integration Master Data Synch."
MasterDataManagement · Microsoft.Integration.MDM
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 10 connected objects and pages
MasterDataManagement · Microsoft.Integration.MDM · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Integration Table Mapping |
| Permissions | tabledata “Master Data Mgt. Coupling” = ri, tabledata “Master Data Management Setup” = r |
Events published
OnGetCrossEnvMaxPagesPerRun(var MaxPages: Integer)(internal)OnQueryPostFilterIgnoreRecord(SourceRecordRef: RecordRef; var IgnoreRecord: Boolean)(integration)OnBeforeRun(IntegrationTableMapping: Record "Integration Table Mapping"; var IsHandled: Boolean)(integration)- subscribers: Codeunit 7234 “MDM Contact Relation Cache” MarkSyncRunStart
OnAfterRun(IntegrationTableMapping: Record "Integration Table Mapping")(integration)- subscribers: Codeunit 7234 “MDM Contact Relation Cache” MarkSyncRunEnd
OnSyncLocalTableToIntegrationTableOnBeforeCheckLatestModifiedOn(var SourceRecordRef: RecordRef; IntegrationTableMapping: Record "Integration Table Mapping")(integration)OnFindModifiedIntegrationRecords(var TempIntegrationRecordRef: RecordRef; IntegrationTableMapping: Record "Integration Table Mapping"; var FailedNotSkippedIdDictionary: Dictionary of [Guid, Boolean]; var IsHandled: Boolean)(internal)OnFindFailedNotSkippedIntegrationRecords(var TempIntegrationRecordRef: RecordRef; IntegrationTableMapping: Record "Integration Table Mapping"; var TempMasterDataMgtCoupling: Record "Master Data Mgt. Coupling" temporary; var IntegrationSystemIDDictionary: Dictionary of [Guid, Boolean]; var Found: Boolean; var IsHandled: Boolean)(internal)OnCacheFilteredIntegrationRecords(var IntegrationSystemIDFilterList: List of [Text]; IntegrationTableMapping: Record "Integration Table Mapping"; var TempIntegrationRecordRef: RecordRef; var Cached: Boolean; var IsHandled: Boolean)(internal)
Event subscriptions
- OnBeforeModifyJobQueueEntry subscribes to Table “Job Queue Entry” OnBeforeModifyEvent
- OnSynchJobEntryCanBeRemoved subscribes to Table “Integration Synch. Job” OnCanBeRemoved
Procedures
SplitLocalTableFilter(var IntegrationTableMapping: Record "Integration Table Mapping"; var TableFilterList: List of [Text]): Boolean(internal)SplitIntegrationTableFilter(var IntegrationTableMapping: Record "Integration Table Mapping"; var TableFilterList: List of [Text]): Boolean(internal)GetOutOfMapFilter(): Boolean(internal)SynchRecord(IntegrationTableMapping: Record "Integration Table Mapping"; SourceID: Variant; ForceModify: Boolean; IgnoreSynchOnlyCoupledRecords: Boolean): Guid(internal)SyncLocalRecordToIntegrationTable(var SourceRecordRef: RecordRef; IntegrationTableMapping: Record "Integration Table Mapping"; var IntegrationTableSynch: Codeunit "Integration Table Synch."; var TempMasterDataMgtCoupling: Record "Master Data Mgt. Coupling" temporary; var LatestLocalModifiedOn: DateTime)(internal)CreateMasterDataMgtCouplingClone(ForTable: Integer; var TempMasterDataMgtCoupling: Record "Master Data Mgt. Coupling" temporary)(internal)
Plus 19 local procedures.
Triggers
OnRun
Relations
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 5335 “Integration Table Synch.” (10 calls:
PerformScheduledSynchFromIntegrationTable → BeginIntegrationSynchJob,PerformScheduledSynchFromIntegrationTable → EndIntegrationSynchJob,PerformScheduledSynchToIntegrationTable → BeginIntegrationSynchJob, …) - Codeunit 7233 “Master Data Management” (5 calls:
FindFailedNotSkippedIntegrationRecords → OnSetSourceCompanyName,FindModifiedCrossEnvironmentRecords → GetTelemetryCategory,FindModifiedIntegrationRecords → GetTelemetryCategory, …) - Codeunit 5336 “Integration Record Synch.” (4 calls:
FindFailedNotSkippedIntegrationRecords → GetIdFilterList,SplitIntegrationTableFilter → SplitTableFilter,SplitLocalTableFilter → SplitTableFilter, …) - Codeunit 4100 “Temp Blob” (2 calls:
CopyRecordReference → FromFieldRef,CopyRecordReference → ToFieldRef) - Codeunit 7237 “Master Data Mgt. Subscribers” (1 call:
SynchIntegrationTableToLocalTable → GetRowLastModifiedOn) - Codeunit 7249 “MDM Cross-Env Data Source” (1 call:
FindModifiedCrossEnvironmentRecords → GetModifiedBatch)
Called by
- Codeunit 7237 “Master Data Mgt. Subscribers” (2 calls:
SynchRecordIfMappingExists → GetOutOfMapFilter,SynchRecordIfMappingExists → SynchRecord) - Codeunit 7235 “Master Data Mgt. Table Couple” (1 call:
CoupleRecords → SplitIntegrationTableFilter) - Codeunit 7236 “Master Data Mgt. Tbl. Uncouple” (1 call:
UncoupleRecords → CreateMasterDataMgtCouplingClone)
Recent changes
- 2026-09-10 #10753 Cross-environment Master Data synchronization (same tenant) (main, BC30, feature)
- 2026-09-09 #11160 Ruleset hardening: promote three mechanical rules to Error (main, BC30, refactor)
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: "Integration Master Data Synch."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.