跳至正文

SAP数据迁移为什么会失败,以及如何补救

大多数SAP数据迁移之所以失败,是因为计划建立在业务以为自己的数据是什么样子的基础上。本指南介绍导致大多数切换失败的五个错误、一份可以照搬的模拟加载计划,以及哪些S/4HANA工具适合哪类工作。

数据迁移团队在SAP实施切换准备期间,审查提取错误和映射表
目录
  1. 为什么SAP的数据比看上去更难
  2. 为什么数据质量发现得太晚
  3. 导致大多数迁移失败的五个错误
  4. 1. 把迁移当作后期的技术任务
  5. 2. 业务参与太少
  6. 3. 规划的模拟加载太少
  7. 4. 没有对试加载做对账
  8. 5. 切换时的加载与演练不一致
  9. 一份可以照搬的模拟加载计划
  10. 2026年的迁移工具
  11. 常见问题

SAP数据迁移失败,最主要的原因只有一个:计划是建立在业务以为自己的数据是什么样子的基础上,而不是建立在数据提取所显示的内容之上。本指南写给S/4HANA项目上的项目总监、数据负责人和财务负责人。内容包括迁移为什么会出问题、导致大多数切换失败的五个错误、一份可以照搬的模拟加载计划,以及2026年哪些SAP工具适合哪类工作。如果这周您只做一件事,就把客户、供应商和物料主数据完整提取一遍,亲自数一数记录条数。

一家制造企业为SAP实施花了18个月、450万美元。上线那天到了。每个人都紧张而兴奋。然后,数据迁移失败了。

没有一样东西是对的。客户数据缺失。库存数字有误。会计无法结账。CEO勃然大怒。

问题不在软件,也不在实施团队。失败出在业务以为自己的数据是什么样子,与数据实际是什么样子之间的差距。

SAP的数据模型不是一次平面导入。记录之间相互依赖。物料主数据有通用记录(MARA)、工厂数据(MARC)、估价数据(MBEW),如果使用MRP区域,还有MRP区域数据(MDMA)。只加载抬头而不加载与之相关的视图,物料是存在了,却无法在事务中使用。

S/4HANA还有自己的规则。客户和供应商是业务伙伴。遗留系统中的客户,会变成带有客户角色的业务伙伴,供应商则变成带有供应商角色的业务伙伴。信用额度、银行信息和税号都挂在这个业务伙伴之下。遗留系统能容忍存在缺口的记录,在这里会通不过校验。

然后是数据量。大多数企业对自己实际拥有的数据量之大感到震惊。一位客户以为自己有大约50,000条物料记录。把所有变体和工厂层级的记录都算上,数字接近500,000。按第一个数字制定的计划,经不住第二个数字。

计划所假设的数据,与数据提取所发现的数据一位客户的大致数字。在成为迁移问题之前,这个差距首先是一个范围界定问题。
范围内的物料记录500,000+450,000 · +900%
业务方的估计50,000
完整提取500,000
  • 每个变体和工厂层级的记录都计入
  • 按估计数字制定的计划经不住它

那不是数据迁移问题,而是一个演变成了数据迁移问题的范围界定问题。

项目开始时的数据质量评估,通常是对数据的描述,而不是对数据的检查。财务总监说供应商主数据维护得很好。仓库经理说物料大体是干净的。这些都是印象。

第一次数据提取才会告诉您真相。本该在几年前清理却没有清理的供应商。早就停产却从未停用的物料。国家代码不一致的客户地址。通过电子转账付款的供应商缺少银行信息。

每一项都需要业务决策,而不是技术修复。只有应付账款部门能说出两个重复的供应商哪个才对。只有采购部门能说出哪些过时物料要冻结,哪些不带过去。这些决策需要时间,也需要了解这些数据的人。如果评估不是基于真实的数据提取,计划就建立在经不起数据检验的假设之上。一旦您有了真实的记录数,我的免费数据迁移估算器可以帮助估算工作量。

1. 把迁移当作后期的技术任务

迁移属于SAP Activate的每一个阶段。Explore阶段界定范围:对象、源系统、数据量和质量。Realize阶段构建模板并运行模拟加载。Deploy阶段运行最后的演练和切换加载。Run阶段在实际数据上对第一个期间的结账进行对账。

在Deploy阶段才开始迁移工作的项目,开始得晚了好几个月。本该在Realize阶段解决的质量问题,会在第一次模拟时冒出来,而这离切换只有几周。我的SAP时间表规划指南展示了迁移在整体计划中的位置。

2. 业务参与太少

迁移在执行上是技术性的,在决策上则是业务活动。IT无法生成重复供应商的清单。哪些客户账户作为活跃账户迁移,哪些作为历史保留,是财务决策。清理过时物料,需要采购、仓库和产品管理共同参与。

只用技术人员来配备迁移工作、把业务当作最后签字环节的项目,产出的数据可以加载进去,但从商业上看是错的。

3. 规划的模拟加载太少

一个运作良好的SAP数据迁移,在切换之前至少需要三次模拟加载,复杂的项目需要更多。只规划一两次的项目,是在为干净的数据和干净的映射做规划。这种情形很少见。更多的循环,并不说明迁移出了问题,而说明它规划得当。

4. 没有对试加载做对账

加载作业无错误完成,不等于校验。校验是把已加载的内容与预期的内容做比较:记录条数、财务合计数、未清项余额。然后再用流程冒烟测试,确认数据在事务中能用。

没有对账的试加载,照样浪费时间。它造成的缺口依然存在,到了下一次模拟,只不过更难追溯到原因。开始下一次之前,要先把每一次加载都对账。

5. 切换时的加载与演练不一致

切换迁移应当完全重复最后一次模拟:同样的提取脚本、转换逻辑、加载顺序、检查和时间安排。切换时的任何改动,都是在项目压力最大的时刻引入的未经测试的风险。

测试最少的部分,通常是增量。在最后一次模拟与切换之间,业务仍在新增供应商、修改订单、移动库存。要确定数据冻结日期,并把增量加载作为最后一次模拟的一部分来演练。

您的SAP实施是成是败,取决于您对数据迁移处理得好不好。就这么简单。

以这个循环结构为起点。每个循环都有目标和退出标准,对账签字之前,它就不算完成。

循环目标退出标准负责人
模拟1结构:每个对象按依赖顺序加载按对象记录映射缺口和格式错误数据迁移负责人
模拟2质量:测试映射修复,并暴露数据问题每个对象的错误率下降;清理决策已记录数据管家
模拟3业务规则:例外和边缘情形管家接受每个领域中经过对账的样本数据管家
模拟4全量生产规模下的数据量和时间全量加载在切换窗口内完成切换经理
最后演练切换的彩排,包括增量和冻结条数和财务合计数已对账并签字财务主管和数据负责人

围绕这份计划,有五件事会带来差别:

  1. 在Prepare阶段做一次完整提取。 是全部,而不是样本。对完整性、准确性、一致性和重复项做分析,然后根据结果估算清理工作量和时间表。
  2. 逐对象映射。 对每个对象(业务伙伴、物料、未清采购订单和销售订单、未清项、库存、固定资产),记录源到目标的字段、转换规则、校验检查和例外规则。
  3. 指定数据管家。 财务负责客户和供应商的财务数据。采购负责物料主数据。仓库负责库存。每个管家在每个循环之后,为自己的领域签字确认。
  4. 事先定义对账。 在第一次模拟之前,就商定哪些条数和合计数可以证明一次加载是正确的,这样到了切换时就没人再为此争论。
  5. 书面的切换顺序。 冻结、提取、转换、加载、校验、业务签字、上线与否决策(go/no-go)。与最后一次演练的顺序相同。

对于新的S/4HANA实施,SAP S/4HANA Migration Cockpit是SAP推荐的初始加载工具。自S/4HANA 2020起,它以Fiori应用Migrate Your Data的形式运行。事务码LTMC已弃用,现有的LTMC项目只能查看。该应用提供两种方式:使用暂存表迁移数据(由文件或您自己的工具填充),以及直接从SAP源系统迁移数据。本地部署和私有云的团队使用事务码LTMOM,即迁移对象建模器,来调整标准对象或构建自己的对象。Cockpit是为初始加载而建的,不适用于周期性接口或批量修改。

SAP Data Services是SAP的ETL平台。适用于大数据量、重度转换逻辑、多个源系统,或者您想要一个能在项目结束后继续使用的、可复用的数据质量框架。

第三方ETL工具,如Informatica、Talend或Microsoft SSIS,适用于组织已经拥有并具备相应技能的情况。

SAP Datasphere现已成为SAP Business Data Cloud的一部分,它不是迁移工具。它的位置是上线后的分析层。如果您把历史数据留在遗留系统里,又仍需对其出具报表,它就很重要。

对大多数标准实施来说,Migration Cockpit覆盖了大部分对象。高数据量、大量定制的遗留系统,或不寻常的源结构,通常需要Data Services或ETL工具与它配合使用。从ECC做转换,则是另一回事,详见我的ECC到S/4HANA迁移指南。

什么是SAP数据迁移?

SAP数据迁移,是在实施或转换中,从遗留系统提取数据,把它转换成适合SAP结构和规则的形式,再加载到SAP里。典型的对象有业务伙伴(客户和供应商)、带工厂数据的物料、未清采购订单和销售订单、库存余额、财务未清项和固定资产。它之所以难,是因为SAP强制执行依赖关系和校验规则,而遗留系统往往没有这些。

SAP数据迁移有哪些主要方式?

新建实施(绿地)把选定的主数据和未清项加载到全新的S/4HANA系统,把历史留在遗留系统或归档里。系统转换(棕地)就地转换现有的ECC系统及其历史数据。选择性数据转换介于两者之间,迁移选定的公司代码、对象或时间切片。选哪一种,取决于数据质量、对历史数据的要求,以及您想保留多少旧流程。

什么是SAP Migration Cockpit,什么时候该用它?

SAP S/4HANA Migration Cockpit是SAP推荐的、向S/4HANA做初始数据加载的工具,适用于所有版本。自S/4HANA 2020起,它以Fiori应用Migrate Your Data的形式运行;事务码LTMC已弃用。它提供预定义的迁移对象,在过账之前校验数据,并在字段级别报告错误。标准对象、正常数据量时用它。当数据量、转换逻辑或源结构超出模板的处理范围时,再加上SAP Data Services或其他ETL工具。

SAP数据迁移计划应安排几次模拟加载?

至少三次,最后一次是完整的切换演练。复杂的项目需要更多。在典型的计划里,第一次发现结构性的映射缺口。第二次测试修复,并暴露数据质量问题。第三次处理业务规则和边缘情形。最后一次完全重复切换,它的对账结果,成为上线当天的基线。

如何把客户和供应商迁移到SAP S/4HANA?

作为业务伙伴。在S/4HANA中,客户和供应商主数据通过业务伙伴维护,并附加客户角色和供应商角色。在新建实施中,Migration Cockpit通过它的业务伙伴对象加载它们。在从ECC转换时,必须在转换本身之前,先设置并运行客户与供应商集成。

是什么导致SAP数据迁移在切换时失败?

五种模式造成了大多数切换失败。模拟加载太少。切换顺序从未做过端到端测试。最后一次模拟之后遗留系统发生了变化,增量加载未经测试。对账缺口一直没有关闭。业务签字只依据抽查。“前1,000条记录看上去没问题”不算校验。上线需要对账过的条数和合计数。

Noel D'Costa

作者

Noel D'Costa

我在航空、政府、金融、零售和制造行业的SAP与Oracle ERP项目中工作了25年,财务出身。我帮助管理层如实界定转型范围,挽救陷入困境的项目,并搭建能够撑过上线第一年的系统。

下一步

您现在正在推进ERP项目吗?

如果这篇文章谈到的正是您当前正在推进的项目,那么一次30分钟的交流,往往比再花一周做内部分析走得更远。