---
id: object/table/5335
type: object
title: Table 5335 "Integration Table Mapping"
summary: Table 5335 "Integration Table Mapping" in Base Application (Microsoft.Integration.SyncEngine). 41 fields, 46 public procedures, 6 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 517555e11022830853e024d30ede16d10ed8e3a17f29c3bc0d0cce5e6fa19d0c
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Integration/SynchEngine/IntegrationTableMapping.Table.al
    title: src/Layers/W1/BaseApp/Integration/SynchEngine/IntegrationTableMapping.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/admin-set-up-data-sync
    - https://learn.microsoft.com/dynamics365/business-central/admin-sync-master-data
  objects: []
  features: []
  topics:
    - topic/business-central/development-and-administration/synchronize-master-data-across-companies
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 5335
name: Integration Table Mapping
namespace: Microsoft.Integration.SyncEngine
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 41
  procedures: 61
  events: 6
  subscribers: 0
relations:
  out: 6
  referenced_by: 5
  pages: 3
  extended_by: 1
  event_subscribers: 6
  calls: 5
  called_by: 0
  implements: 0
---

# Table 5335 "Integration Table Mapping"

> Table 5335 "Integration Table Mapping" in Base Application (Microsoft.Integration.SyncEngine). 41 fields, 46 public procedures, 6 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28.

Base Application · Microsoft.Integration.SyncEngine · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Integration/SynchEngine/IntegrationTableMapping.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 7233 "Master Data Synch. Tables"](../page/7233.md) (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 | 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. <small>via [Page 7233 "Master Data Synch. Tables"](../page/7233.md)</small> | TableRelation [Table 8618 "Config. Template Header"](../table/8618.md) ("Config. Template Header".Code where("Table ID" = field("Table ID"))) |
| 9 | Int. Tbl. Config Template Code | Code[10] | — | TableRelation [Table 8618 "Config. Template Header"](../table/8618.md) ("Config. Template Header".Code where("Table ID" = field("Integration Table ID"))) |
| 10 | Direction | Option | Specifies the synchronization direction. | OptionCaption: Bidirectional,ToIntegrationTable,FromIntegrationTable |
| 11 | Int. Tbl. Caption Prefix | 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. | 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 | 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 | 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 <small>caption</small> |  |
| 24 | CDS Rec Page Id | Integer | The Id of the Dataverse Record Page <small>caption</small> |  |
| 25 | Deletion-Conflict Resolution | 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"](../enum/5337.md) |
| 26 | Update-Conflict Resolution | 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"](../enum/5338.md) |
| 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 <small>caption</small> |  |
| 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"](../enum/5339.md) |
| 33 | Disable Event Job Resch. | Boolean | Specifies if event-based rescheduling of synchronization jobs should be turned off for this table mapping. |  |
| 34 | Multi Company Synch. Enabled | Boolean | Specifies if the multi-company synchronization is enabled for this mapping. |  |
| 35 | Table Caption | Text[250] | Specifies the table caption. <small>via [Page 7233 "Master Data Synch. Tables"](../page/7233.md)</small> |  |
| 98 | No. of Errors | 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 | 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 | 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"](../codeunit/7237.md) OnIsCreateNewInCaseOfNoMatchControlVisible
- `OnSynchronizeNow(var IntegrationTableMapping: Record "Integration Table Mapping"; ResetLastSynchModifiedOnDateTime: Boolean; ResetSynchonizationTimestampOnRecords: Boolean; var IsHandled: Boolean)` (integration)
  - subscribers: [Codeunit 7233 "Master Data Management"](../codeunit/7233.md) HandleOnSynchronizeNow
- `OnEnableMultiCompanySynchronization(var IntegrationTableMapping: Record "Integration Table Mapping"; var IsHandled: Boolean)` (integration)
  - subscribers: [Codeunit 6610 "FS Int. Table Subscriber"](../codeunit/6610.md) OnEnableMultiCompanySynchronization
- `OnDisableMultiCompanySynchronization(var IntegrationTableMapping: Record "Integration Table Mapping"; var IsHandled: Boolean)` (integration)
- `OnBeforeIsMappingEnabled(RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeIsFieldMappingEnabled(FieldNo: Integer; IntegrationTableFieldNo: Integer; RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable; var Result: Boolean; var IsHandled: Boolean)` (integration)

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 5341 "CRM Int. Table. Subscriber"](../codeunit/5341.md) OnAfterDeleteIntegrationTableMapping, [Codeunit 7237 "Master Data Mgt. Subscribers"](../codeunit/7237.md) HandleOnAfterDeleteIntegrationTableMapping
- OnAfterModifyEvent: [Codeunit 6610 "FS Int. Table Subscriber"](../codeunit/6610.md) IntegrationTableMappingOnAfterModifyEvent

## Procedures

- `FindFilteredRec(RecordRef: RecordRef; var OutOfMapFilter: Boolean): Boolean`
- `FindMapping(TableNo: Integer; IntegrationTableNo: Integer): Boolean`
- `FindMappingForTable(TableId: Integer): Boolean`
- `DoesExistForTable(TableId: Integer): Boolean`
- `IsFullSynch(): Boolean`
- `GetName(): Code[20]`
- `GetDirection(): Integer`
- `GetJobLogEntryNo(): Integer`
- `GetTempDescription(): Text`
- `GetExtendedIntegrationTableCaption(): Text`
- `GetUserFriendlyMappingName(): Text`
- `SetTableFilter(Filter: Text)`
- `GetTableFilter(): Text`
- `SetIntegrationTableFilter(IntTableFilter: Text)`
- `SuggestToIncludeEntitiesWithNullCompany(var IntTableFilter: Text)`
- `GetIntegrationTableFilter(): Text`
- `SetIntTableModifiedOn(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): Boolean`
- `SetIntRecordRefFilter(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(): Boolean`
- `EnableMultiCompanySynchronization()` (internal)
- `DisableMultiCompanySynchronization()` (internal)
- `IsMappingEnabled(RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable): Boolean`
- `IsFieldMappingEnabled(FieldNo: Integer; IntegrationTableFieldNo: Integer; RequestedDirection: Option Bidirectional,ToIntegrationTable,FromIntegrationTable): Boolean`
- `GetTableConfigTemplates(IntegrationTableMappingName: Code[20]): Text`
- `GetIntTableConfigTemplates(IntegrationTableMappingName: Code[20]): Text`

Plus 9 local procedures.

## Triggers

OnDelete

## Relations

- drill-down page [Page 5335 "Integration Table Mapping List"](../page/5335.md)
- lookup page [Page 5335 "Integration Table Mapping List"](../page/5335.md)
- No. of Skipped: CalcFormula [Table 5331 "CRM Integration Record"](../table/5331.md)
- No. of Errors: CalcFormula [Table 5338 "Integration Synch. Job"](../table/5338.md)
- Int. Tbl. Config Template Code: TableRelation [Table 8618 "Config. Template Header"](../table/8618.md)
- Table Config Template Code: TableRelation [Table 8618 "Config. Template Header"](../table/8618.md)

## Referenced by

5 fields in 5 objects relate to this table (TableRelation or CalcFormula).

- [Table 5325 "Table Config Template"](../table/5325.md): Integration Table Mapping Name
- [Table 5326 "Int. Table Config Template"](../table/5326.md): Integration Table Mapping Name
- [Table 5336 "Integration Field Mapping"](../table/5336.md): Integration Table Mapping Name
- [Table 5337 "Temp Integration Field Mapping"](../table/5337.md): Integration Table Mapping Name
- [Table 5338 "Integration Synch. Job"](../table/5338.md): Integration Table Mapping Name

## Pages and codeunits on this table

- [Page 5327 "Int. Table Mapping Errors"](../page/5327.md) (source table)
- [Page 5335 "Integration Table Mapping List"](../page/5335.md) (source table)
- [Page 7233 "Master Data Synch. Tables"](../page/7233.md) (source table)
- [Codeunit 5337 "CDS Int. Table Uncouple"](../codeunit/5337.md) (codeunit runs on it)
- [Codeunit 5340 "CRM Integration Table Synch."](../codeunit/5340.md) (codeunit runs on it)
- [Codeunit 5360 "CDS Int. Table Couple"](../codeunit/5360.md) (codeunit runs on it)
- [Codeunit 5365 "CDS Int. Option Couple"](../codeunit/5365.md) (codeunit runs on it)
- [Codeunit 7231 "Integration Master Data Synch."](../codeunit/7231.md) (codeunit runs on it)
- [Codeunit 7235 "Master Data Mgt. Table Couple"](../codeunit/7235.md) (codeunit runs on it)
- [Codeunit 7236 "Master Data Mgt. Tbl. Uncouple"](../codeunit/7236.md) (codeunit runs on it)

## Extended by

- [Table extension 7235 "MasterDataMgtTableMapping"](../tableextension/7235.md)

## 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"](../codeunit/5330.md) (5 calls: `DisableMultiCompanySynchronization → (object)`, `EnableMultiCompanySynchronization → (object)`, `EnableMultiCompanySynchronization → CheckSolutionVersionOutdated`, …)
- [Codeunit 5334 "CRM Setup Defaults"](../codeunit/5334.md) (3 calls: `DisableMultiCompanySynchronization → GetTableFilterFromView`, `EnableMultiCompanySynchronization → GetTableFilterFromView`, `SynchronizeOptionNow → CreateJobQueueEntry`)
- [Codeunit 7200 "CDS Integration Mgt."](../codeunit/7200.md) (3 calls: `CreateRecord → HasCompanyIdField`, `DisableMultiCompanySynchronization → GetCDSCompany`, `EnableMultiCompanySynchronization → GetCDSCompany`)
- [Codeunit 5344 "CRM Product Name"](../codeunit/5344.md) (2 calls: `EnableMultiCompanySynchronization → SHORT`, `SuggestToIncludeEntitiesWithNullCompany → CDSServiceName`)
- [Codeunit 7201 "CDS Integration Impl."](../codeunit/7201.md) (2 calls: `DisableMultiCompanySynchronization → FindCompanyIdField`, `EnableMultiCompanySynchronization → FindCompanyIdField`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, BC28

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## 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.
