【发布时间】:2015-12-08 11:40:36
【问题描述】:
我有桌子 A-Z。表 A 有 PK 的 ID,所有其他表都有与表 A 的 ID 相关的字段。
我的任务是进行代码清理,我需要将 TableA 的 ID 从长度 30 更改为 20。我已经完成了其他表 B-Z 以及升级代码单元。但是当我尝试更改 TableA 时,我收到了这个错误:
"是与以下主键相关的更改,可能导致新表中的数据丢失。更改无法处理,因为更改表的TableSyncSetup类型函数的TableUpgradeMode设置为Copy,不复制数据到新表。要解决此问题,您必须将 TableUpgradeMode 选项更改为 Move,然后将 C/AL 代码添加到升级类型函数以处理新表数据。"
错误是什么意思?我是否需要将 TableA 的升级代码单元从 TableSyncSetup.Mode::Copy 更改为 ::Move?有什么指导吗?
我正在使用 Dynamics NAV 2016。
【问题讨论】:
-
如果是这样,可能是您在表 A 中有一条 ID 长度大于 20 的记录?
标签: microsoft-dynamics navision dynamics-nav dynamics-nav-2016