---
id: object/page/40017
type: object
title: Page 40017 "Custom Migration Mapping List"
summary: Page 40017 "Custom Migration Mapping List" in HybridBaseDeployment (Microsoft.DataMigration). Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - page
  - hybridbasedeployment
versions:
  introduced: "29"
  last_changed: null
  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: 385b5fe7506c31f4b8cfb0852e7203af757434e18c09aba9e37a17a3619de162
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/HybridBaseDeployment/app/src/CustomMigration/TableMappings/CustomMigrationMappingList.Page.al
    title: src/Apps/W1/HybridBaseDeployment/app/src/CustomMigration/TableMappings/CustomMigrationMappingList.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9200
object_type: page
object_id: 40017
name: Custom Migration Mapping List
caption: Custom Migration Table Mappings
namespace: Microsoft.DataMigration
app: HybridBaseDeployment
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 1
  events: 0
  subscribers: 0
  controls: 6
  actions: 5
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 40017 "Custom Migration Mapping List"

> Page 40017 "Custom Migration Mapping List" in HybridBaseDeployment (Microsoft.DataMigration). Introduced in BC29, still in BC30.

HybridBaseDeployment · Microsoft.DataMigration · captioned "Custom Migration Table Mappings" · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/HybridBaseDeployment/app/src/CustomMigration/TableMappings/CustomMigrationMappingList.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Custom Migration Table Mappings |
| SourceTable | Custom Migration Table Buffer |
| PageType | List |
| ApplicationArea | All |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| TableMappings | MappingType | [Mapping Type](../table/40035.md#fields) | Specifies whether this mapping is for Replication or Migration Setup. <small>from the table field</small> |
|  | TableName | [Table Name](../table/40035.md#fields) | Specifies the name of the table. For example, "Customer" or "Sales Header". <small>from the table field</small> |
|  | CompanyName | [Company Name](../table/40035.md#fields) | Specifies the company name associated with this table mapping. The value should be blank if the table is per-database. <small>from the table field</small> |
|  | PreserveCloudData | [Preserve Cloud Data](../table/40035.md#fields) | Specifies whether to preserve existing data in the cloud during replication. If set to true, existing data in the destination table will not be overwritten during replication, only new records will be added. It is recommended to set this to true for per-database table, while it should be false for p... <small>from the table field</small> |
|  | SourceSqlTableName | [Source Sql Table Name](../table/40035.md#fields) | Specifies the name of the source SQL table to be replicated. The name must match exactly the name of the destination table in SQL. <small>from the table field</small> |
|  | DestinationSqlTableName | [Destination Sql Table Name](../table/40035.md#fields) | Specifies the name of the destination SQL table in the cloud environment. The name must match exactly the name of the destination table in SQL. <small>from the table field</small> |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Add Table Mapping | Add a new table mapping for custom migration. |  |
|  | Delete | Delete the selected table mapping. |  |
|  | Import | Import table mappings from a JSON file. |  |
|  | Export | Export table mappings to a JSON file. |  |
|  | Reset to Defaults | Delete all table mappings and restore the default mappings. |  |

## Procedures

1 local procedures, no public ones.

## Triggers

OnOpenPage

## Relations

- source table [Table 40035 "Custom Migration Table Buffer"](../table/40035.md)

## Recent changes

- 2026-07-23 [#9200 Cloud Migration bug fixes (BC14 reimplementation, custom mapping, OnPrem dev companies)](../../changes/bcapps/9200.md) (main, BC30, fix)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

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). 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: "page", object_name: "Custom Migration Mapping List")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
