Codeunit 7249 "MDM Cross-Env Data Source"
MasterDataManagement · Microsoft.Integration.MDM
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 8 connected objects and pages
MasterDataManagement · Microsoft.Integration.MDM · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
Events published
OnGetCrossEnvPageSize(var PageSize: Integer)(internal)
Procedures
GetModifiedSet(IntegrationTableMapping: Record "Integration Table Mapping"; TableFilter: Text; var SourceRecordRef: RecordRef): BooleanGetByFilter(IntegrationTableMapping: Record "Integration Table Mapping"; TableFilter: Text; var SourceRecordRef: RecordRef): BooleanGetModifiedBatch(IntegrationTableMapping: Record "Integration Table Mapping"; TableFilter: Text; StartCursor: Text; MaxPages: Integer; var SourceRecordRef: RecordRef; var EndCursor: Text; var HasMore: Boolean): Boolean(internal): Fetches at most MaxPages pages of changed source records starting from StartCursor (a cursor selector). MaxPages = 0 means unbounded. On return EndCursor holds the resume point and HasMore tells the caller whether more pages remain past the cap, so the next job run can continue from where this one s…SourceHasRecords(IntegrationTableMapping: Record "Integration Table Mapping"; TableFilter: Text): Boolean(internal): Cheap existence probe for the full-synch review: the source reports an empty lastModifiedAt for an empty table, so this avoids counting the whole table over the wire.GetBySystemId(IntegrationTableId: Integer; SystemId: Guid; var SourceRecordRef: RecordRef): BooleanGetById(IntegrationTableMapping: Record "Integration Table Mapping"; ID: Variant; var SourceRecordRef: RecordRef): BooleanGetByUidFilter(IntegrationTableMapping: Record "Integration Table Mapping"; UidFilter: Text; var SourceRecordRef: RecordRef): BooleanGetSourceRecordsByFilter(TableId: Integer; RowFilter: Text; var SourceRecordRef: RecordRef): Boolean(internal)TryBulkGetSourceRecordsByFilter(TableId: Integer; RowFilter: Text; var SourceRecordRef: RecordRef; var NotIndexed: Boolean): Boolean(internal)
Plus 25 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 7248 “MDM Source Response” (23 calls:
FetchBySystemIds → InsertRecords,GetModifiedBatch → GetNextCursor,GetModifiedBatch → HasMore, …) - Codeunit 7246 “MDM Source Capabilities” (6 calls:
FetchBySystemIds → EnsureSupported,GetModifiedBatch → EnsureSupported,GetSourceRecordsByFilter → EnsureSupported, …) - Codeunit 7233 “Master Data Management” (3 calls:
LogConsentRequired → GetTelemetryCategory,LogParseFailure → GetTelemetryCategory,LogProbeFailure → GetTelemetryCategory) - Codeunit 7232 “MDM Inline Media” (1 call:
GetModifiedBatch → Reset) - Codeunit 7239 “MDM Source Watermark” (1 call:
GetModifiedBatch → Reset) - Codeunit 7244 “MDM Source Connection” (1 call:
GetTransport → GetTransport)
Called by
- Codeunit 7234 “MDM Contact Relation Cache” (3 calls:
LoadLinkType → TryBulkGetSourceRecordsByFilter,ReadSingleContactNo → GetSourceRecordsByFilter,ReadSingleRelationNo → GetSourceRecordsByFilter) - Codeunit 7231 “Integration Master Data Synch.” (1 call:
FindModifiedCrossEnvironmentRecords → GetModifiedBatch) - Codeunit 7233 “Master Data Management” (1 call:
GetIntegrationRecRefCount → SourceHasRecords)
Implements
Recent changes
- 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, added)
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: "MDM Cross-Env Data Source"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.