Table 5335 "Integration Table Mapping"
Base Application · Microsoft.Integration.SyncEngine
Across versions
- BC23present
- BC244 fields added
- BC257 procedures added, 2 events added
- BC26-27unchanged
- BC2813 fields changed
- BC29-30unchanged
Neighbourhood 30 connected objects and pages
Base Application · Microsoft.Integration.SyncEngine · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 7233 “Master Data Synch. Tables” (2 Learn pages).
Properties
| Property | Value |
|---|---|
| Caption | Integration Table Mapping |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Name Δ BC28 | Code[20] | Specifies the name of the integration table mapping entry. | NotBlank |
| 2 | Table ID | Integer | — | TableRelation “Table Metadata”.ID |
| 3 | Integration Table ID | Integer | — | TableRelation “Table Metadata”.ID |
| 4 | Synch. Codeunit ID | Integer | — | TableRelation “Table Metadata”.ID |
| 5 | Integration Table UID Fld. No. | Integer | — | |
| 6 | Int. Tbl. Modified On Fld. No. | Integer | — | |
| 7 | Int. Table UID Field Type | Integer | — | not editable |
| 8 | Table Config Template Code | Code[10] | Specifies a configuration template to use when creating new records out of the table in the source company. via Page 7233 “Master Data Synch. Tables” | TableRelation Table 8618 “Config. Template Header” (“Config. Template Header”.Code where(“Table ID” = field(“Table ID”))) |
| 9 | Int. Tbl. Config Template Code | Code[10] | — | TableRelation Table 8618 “Config. Template Header” (“Config. Template Header”.Code where(“Table ID” = field(“Integration Table ID”))) |
| 10 | Direction Δ BC28 | Option | Specifies the synchronization direction. | OptionCaption: Bidirectional,ToIntegrationTable,FromIntegrationTable |
| 11 | Int. Tbl. Caption Prefix Δ BC28 | Text[30] | Specifies text that appears before the caption of the integration table wherever the caption is used. | |
| 12 | Synch. Int. Tbl. Mod. On Fltr. Δ BC28 | DateTime | Specifies a date/time filter that uses the date on which records were modified to determine which records to synchronize to the integration system. The filter is based on the SystemModifiedAt field on the Business Central table records. | |
| 13 | Synch. Modified On Filter Δ BC28 | DateTime | Specifies a date/time filter that uses the date on which records were modified to determine which records to synchronize from the system you are integrating with. The filter is based on the Modified On field on the integration table records. | |
| 14 | Table Filter | BLOB | — | |
| 15 | Integration Table Filter | BLOB | — | |
| 16 | Synch. Only Coupled Records Δ BC28 | Boolean | Specifies if the synchronization engine will process only currently coupled records or couple the newly created records as well. | |
| 17 | Parent Name | Code[20] | — | |
| 18 | Graph Delta Token | Text[250] | — | |
| 19 | Int. Tbl. Delta Token Fld. No. | Integer | — | |
| 20 | Int. Tbl. ChangeKey Fld. No. | Integer | — | |
| 21 | Int. Tbl. State Fld. No. | Integer | — | |
| 22 | Delete After Synchronization | Boolean | — | |
| 23 | BC Rec Page Id | Integer | The Id of the BC Record Page caption | |
| 24 | CDS Rec Page Id | Integer | The Id of the Dataverse Record Page caption | |
| 25 | Deletion-Conflict Resolution Δ BC28 | Enum “Integration Deletion Conflict Resolution” | Specifies the action to take when a coupled record is deleted in one of the connected applications. | enum Enum 5337 “Integration Deletion Conflict Resolution” |
| 26 | Update-Conflict Resolution Δ BC28 | Enum “Integration Update Conflict Resolution” | Specifies the action to take when a coupled record is updated in both of the connected applications. | enum Enum 5338 “Integration Update Conflict Resolution” |
| 27 | Uncouple Codeunit ID | Integer | — | TableRelation “CodeUnit Metadata”.ID |
| 28 | Coupling Codeunit ID | Integer | — | TableRelation “CodeUnit Metadata”.ID |
| 29 | Synch. After Bulk Coupling | Boolean | Synch. After Match-Based Coupling caption | |
| 30 | Dependency Filter | Text[250] | — | |
| 31 | Create New in Case of No Match | Boolean | — | |
| 32 | Type | Enum “Integration Table Mapping Type” | — | enum Enum 5339 “Integration Table Mapping Type” |
| 33 | Disable Event Job Resch. Δ BC28 | Boolean | Specifies if event-based rescheduling of synchronization jobs should be turned off for this table mapping. | |
| 34 | Multi Company Synch. Enabled Δ BC28 | Boolean | Specifies if the multi-company synchronization is enabled for this mapping. | |
| 35 | Table Caption + BC24 | Text[250] | Specifies the table caption. via Page 7233 “Master Data Synch. Tables” | |
| 98 | No. of Errors + BC24 Δ BC28 | Integer | Specifies the number of errors for this mapping. | FlowField: sum(“Integration Synch. Job”.Failed where(“Integration Table Mapping Name” = field(Name))) |
| 99 | No. of Skipped + BC24 Δ BC28 | Integer | Specifies the number of records that are excluded from the synchronization because of repetitive errors. | FlowField: count(“CRM Integration Record” where(“Table ID” = field(“Table ID”), Skipped = const(true))) |
| 100 | Full Sync is Running | Boolean | — | |
| 101 | Full Sync Session ID | Integer | — | |
| 102 | Last Full Sync Start DateTime | DateTime | — | |
| 103 | User Defined + BC24 Δ BC28 | Boolean | Specifies if the field is generated manually through the integration table mapping wizard. |
Keys
- Key1: Name (clustered)
- Key2: Table ID, Integration Table ID
- Key3: Table ID, Integration Table ID, Type
Events published
OnIsCreateNewInCaseOfNoMatchControlVisible(var IntegrationTableMapping: Record "Integration Table Mapping"; var CreateNewInCaseOfNoMatchControlVisible: Boolean; var IsHandled: Boolean)(integration)- subscribers: Codeunit 7237 “Master Data Mgt. Subscribers” OnIsCreateNewInCaseOfNoMatchControlVisible
OnSynchronizeNow(var IntegrationTableMapping: Record "Integration Table Mapping"; ResetLastSynchModifiedOnDateTime: Boolean; ResetSynchonizationTimestampOnRecords: Boolean; var IsHandled: Boolean)(integration)- subscribers: Codeunit 7233 “Master Data Management” HandleOnSynchronizeNow
OnEnableMultiCompanySynchronization(var IntegrationTableMapping: Record "Integration Table Mapping"; var IsHandled: Boolean)(integration)- subscribers: Codeunit 6610 “FS Int. Table Subscriber” OnEnableMultiCompanySynchronization
OnDisableMultiCompanySynchronization(var IntegrationTableMapping: Record "Integration Table Mapping"; var IsHandled: Boolean)(integration)OnBeforeIsMappingEnabled(RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable; var Result: Boolean; var IsHandled: Boolean)+ BC25 (integration)OnBeforeIsFieldMappingEnabled(FieldNo: Integer; IntegrationTableFieldNo: Integer; RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable; var Result: Boolean; var IsHandled: Boolean)+ BC25 (integration)
Trigger event subscribers
- OnAfterDeleteEvent: Codeunit 5341 “CRM Int. Table. Subscriber” OnAfterDeleteIntegrationTableMapping, Codeunit 7237 “Master Data Mgt. Subscribers” HandleOnAfterDeleteIntegrationTableMapping
- OnAfterModifyEvent: Codeunit 6610 “FS Int. Table Subscriber” IntegrationTableMappingOnAfterModifyEvent
Procedures
FindFilteredRec(RecordRef: RecordRef; var OutOfMapFilter: Boolean): BooleanFindMapping(TableNo: Integer; IntegrationTableNo: Integer): BooleanFindMappingForTable(TableId: Integer): BooleanDoesExistForTable(TableId: Integer): Boolean+ BC25IsFullSynch(): BooleanGetName(): Code[20]GetDirection(): IntegerGetJobLogEntryNo(): IntegerGetTempDescription(): TextGetExtendedIntegrationTableCaption(): TextGetUserFriendlyMappingName(): TextSetTableFilter(Filter: Text)GetTableFilter(): TextSetIntegrationTableFilter(IntTableFilter: Text)SuggestToIncludeEntitiesWithNullCompany(var IntTableFilter: Text)GetIntegrationTableFilter(): TextSetIntTableModifiedOn(ModifiedOn: DateTime)SetTableModifiedOn(ModifiedOn: DateTime)SetJobLogEntryNo(NewJobLogEntryNo: Integer)ShowLog(JobIDFilter: Text)ShowSynchronizationLog(var IntegrationTableMapping: Record "Integration Table Mapping")ShowUncouplingLog(var IntegrationTableMapping: Record "Integration Table Mapping")ShowCouplingLog(var IntegrationTableMapping: Record "Integration Table Mapping")SetOriginalJobQueueEntryOnHold(var JobQueueEntry: Record "Job Queue Entry"; var PrevStatus: Option)SetOriginalJobQueueEntryStatus(var JobQueueEntry: Record "Job Queue Entry"; Status: Option)UpdateTableMappingModifiedOn(LatestModifiedOn: array[2] of DateTime)SynchronizeNow(ResetLastSynchModifiedOnDateTime: Boolean)SynchronizeNow(ResetLastSynchModifiedOnDateTime: Boolean; ResetSynchonizationTimestampOnRecords: Boolean)SynchronizeOptionNow(ResetLastSynchModifiedOnDateTime: Boolean; ResetSynchonizationTimestampOnRecords: Boolean)GetRecordRef(ID: Variant; var IntegrationRecordRef: RecordRef): BooleanSetIntRecordRefFilter(var IntRecordRef: RecordRef)SetIntRecordRefFilter(var IntRecordRef: RecordRef; TableFilter: Text)SetRecordRefFilter(var RecordRef: RecordRef)CopyModifiedOnFilters(FromIntegrationTableMapping: Record "Integration Table Mapping")CreateRecord(MappingName: Code[20]; TableNo: Integer; IntegrationTableNo: Integer; IntegrationTableUIDFieldNo: Integer; IntegrationTableModifiedFieldNo: Integer; TableConfigTemplateCode: Code[10]; IntegrationTableConfigTemplateCode: Code[10]; SynchOnlyCoupledRecords: Boolean; DirectionArg: Option; Prefix: Text[30])CreateRecord(MappingName: Code[20]; TableNo: Integer; IntegrationTableNo: Integer; IntegrationTableUIDFieldNo: Integer; IntegrationTableModifiedFieldNo: Integer; TableConfigTemplateCode: Code[10]; IntegrationTableConfigTemplateCode: Code[10]; SynchOnlyCoupledRecords: Boolean; DirectionArg: Option; Prefix: Text[30]; SynchCodeunitId: Integer; UncoupleCodeunitId: Integer)CreateRecord(MappingName: Code[20]; TableNo: Integer; IntegrationTableNo: Integer; IntegrationTableUIDFieldNo: Integer; IntegrationTableModifiedFieldNo: Integer; TableConfigTemplateCode: Code[10]; IntegrationTableConfigTemplateCode: Code[10]; SynchOnlyCoupledRecords: Boolean; DirectionArg: Option; Prefix: Text[30]; SynchCodeunitId: Integer; UncoupleCodeunitId: Integer; CouplingCodeunitId: Integer)SetFullSyncStartAndCommit()SetFullSyncEndAndCommit()IsFullSyncAllowed(): BooleanEnableMultiCompanySynchronization()(internal)DisableMultiCompanySynchronization()(internal)IsMappingEnabled(RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable): Boolean+ BC25IsFieldMappingEnabled(FieldNo: Integer; IntegrationTableFieldNo: Integer; RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable): Boolean+ BC25GetTableConfigTemplates(IntegrationTableMappingName: Code[20]): Text+ BC25GetIntTableConfigTemplates(IntegrationTableMappingName: Code[20]): Text+ BC25
Plus 9 local procedures.
Triggers
OnDelete
Relations
- drill-down page Page 5335 “Integration Table Mapping List”
- lookup page Page 5335 “Integration Table Mapping List”
- No. of Skipped: CalcFormula Table 5331 “CRM Integration Record”
- No. of Errors: CalcFormula Table 5338 “Integration Synch. Job”
- Int. Tbl. Config Template Code: TableRelation Table 8618 “Config. Template Header”
- Table Config Template Code: TableRelation Table 8618 “Config. Template Header”
Referenced by
5 fields in 5 objects relate to this table (TableRelation or CalcFormula).
- Table 5325 “Table Config Template”: Integration Table Mapping Name
- Table 5326 “Int. Table Config Template”: Integration Table Mapping Name
- Table 5336 “Integration Field Mapping”: Integration Table Mapping Name
- Table 5337 “Temp Integration Field Mapping”: Integration Table Mapping Name
- Table 5338 “Integration Synch. Job”: Integration Table Mapping Name
Pages and codeunits on this table
- Page 5327 “Int. Table Mapping Errors” (source table)
- Page 5335 “Integration Table Mapping List” (source table)
- Page 7233 “Master Data Synch. Tables” (source table)
- Codeunit 5337 “CDS Int. Table Uncouple” (codeunit runs on it)
- Codeunit 5340 “CRM Integration Table Synch.” (codeunit runs on it)
- Codeunit 5360 “CDS Int. Table Couple” (codeunit runs on it)
- Codeunit 5365 “CDS Int. Option Couple” (codeunit runs on it)
- Codeunit 7231 “Integration Master Data Synch.” (codeunit runs on it)
- Codeunit 7235 “Master Data Mgt. Table Couple” (codeunit runs on it)
- Codeunit 7236 “Master Data Mgt. Tbl. Uncouple” (codeunit runs on it)
Extended by
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 5330 “CRM Integration Management” (5 calls:
DisableMultiCompanySynchronization → (object),EnableMultiCompanySynchronization → (object),EnableMultiCompanySynchronization → CheckSolutionVersionOutdated, …) - Codeunit 5334 “CRM Setup Defaults” (3 calls:
DisableMultiCompanySynchronization → GetTableFilterFromView,EnableMultiCompanySynchronization → GetTableFilterFromView,SynchronizeOptionNow → CreateJobQueueEntry) - Codeunit 7200 “CDS Integration Mgt.” (3 calls:
CreateRecord → HasCompanyIdField,DisableMultiCompanySynchronization → GetCDSCompany,EnableMultiCompanySynchronization → GetCDSCompany) - Codeunit 5344 “CRM Product Name” (2 calls:
EnableMultiCompanySynchronization → SHORT,SuggestToIncludeEntitiesWithNullCompany → CDSServiceName) - Codeunit 7201 “CDS Integration Impl.” (2 calls:
DisableMultiCompanySynchronization → FindCompanyIdField,EnableMultiCompanySynchronization → FindCompanyIdField)
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: "table", object_name: "Integration Table Mapping"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.