SAP S/4HANA 迁移常见问题

作者:郑德鼎 约 22 分钟阅读 更新日期:2026-07-18 新发布 标签:S/4HANA, 迁移, HANA, 数字化转型
目录

SAP S/4HANA 迁移是企业数字化转型的关键步骤。随着 SAP 对 ECC 的主流维护支持即将结束,越来越多的企业开始规划 S/4HANA 迁移。本文汇总了迁移过程中最常见的 17 个问题,帮助项目团队提前了解关键挑战并制定应对策略。

一、迁移方式与策略

Q1:System Conversion(系统转换)和 Landscape Transformation(景观变换)有什么区别?

这是 S/4HANA 迁移的两种根本不同的方式:

System Conversion(Brownfield,棕地):在现有 ECC 系统上直接升级转换,保留所有历史数据、配置和自定义开发。系统经历的技术步骤是:ECC → 数据库迁移到 HANA → 升级到 S/4HANA(SUM 工具执行)。

Landscape Transformation(选择性数据迁移):使用 SAP DT(Data Transfer and Replication)工具,从 ECC 系统中选择性地迁移数据到全新的 S/4HANA 系统。可以只迁移必要的历史数据,同时重新设计业务流程。

New Implementation(Greenfield,绿地):全新实施 S/4HANA,不迁移历史数据,重新设计业务流程和系统架构。

选择建议:如果现有系统使用良好、历史数据需要保留,选择 Brownfield;如果希望业务流程重构、清理历史包袱,选择 Greenfield;如果希望保留部分数据同时优化流程,考虑 Bluefield(选择性迁移方案)。

Q2:Greenfield、Brownfield 和 Bluefield 方案如何对比?
对比维度Greenfield(绿地)Brownfield(棕地)Bluefield(蓝地)
起点全新 S/4HANA 系统现有 ECC 系统转换新系统+选择性数据迁移
历史数据不迁移(仅导入期初余额)全部保留选择性迁移
业务流程完全重新设计基本保留现有流程可部分重新设计
自定义代码全部重写需要适配和清理选择性迁移和重构
项目周期12-24 个月6-18 个月9-20 个月
风险等级低技术风险,高业务变更风险高技术风险,低业务变更风险中等
数据清理天然完成(全新系统)需要在迁移前手动清理通过选择性迁移完成
用户培训大量(全新流程)较少(流程基本不变)中等
适用场景现有系统老旧、业务流程需根本性改变现有系统稳定、历史数据必须保留兼顾创新与延续
主要工具SAP Solution Manager、SAP Best PracticesSUM(Software Update Manager)、DMOSAP DT、LT(Landscape Transformation)
Q3:一次典型的 S/4HANA 迁移需要多长时间?

迁移周期取决于多种因素:

迁移方式典型周期主要影响因素
Brownfield(系统转换)6-18 个月自定义代码量、数据量、简化项适配
Greenfield(全新实施)12-24 个月业务流程复杂度、模块数量、集成系统数
Bluefield(选择性迁移)9-20 个月数据迁移范围、流程重新设计程度

注意:以上为整个项目周期,包括准备、实施、测试和上线。实际的技术迁移(SUM DMO 运行)通常在周末完成,对于大型系统可能需要 24-48 小时的停机时间。

二、前提条件与准备

Q4:S/4HANA 迁移的前提条件有哪些?

在启动 S/4HANA 迁移前,必须满足以下前提条件:

  • 源系统版本:ECC 6.0 EhP0 及以上版本均可转换,但建议至少升级到 EhP5+。EhP7/EhP8 最佳。
  • Unicode:源系统必须是 Unicode 系统(非 Unicode 系统需先完成 Unicode 转换)。
  • 数据库:支持从 AnyDB(Oracle、DB2、SQL Server、MaxDB)和 SAP HANA 转换。
  • SUM 版本:使用最新版本的 SUM(Software Update Manager),支持 DMO(Database Migration Option)。
  • SAP Solution Manager:建议 7.2 SP10+,用于 Readiness Check 和项目文档管理。
  • 自定义代码清理:在迁移前完成自定义代码评估和清理,减少迁移风险。
  • 数据量管理:评估并清理不必要的历史数据,减少迁移时间和存储需求。
  • 增强包状态:源系统应处于一致的增强包状态,无未完成的传输。
Q5:什么是 Readiness Check 工具?

Readiness Check 是 SAP 提供的免费自助服务工具,用于评估现有 ECC 系统向 S/4HANA 迁移的可行性:

  • 访问方式:通过 SAP ONE Support Launchpad(support.sap.com/readinesscheck)访问。
  • 工作原理:从 SAP Solution Manager 收集系统数据,上传到 SAP 云端进行分析,生成详细的评估报告。

报告内容包括

  • 简化项(Simplification Items)适配工作量评估
  • 自定义代码的 S/4HANA 兼容性分析(使用 ATC 检查)
  • 数据量和增长趋势分析
  • 已安装的附加组件(Add-on)兼容性
  • 业务伙伴(CVI)转换状态
  • 推荐的迁移路径和时间估算
  • 活跃业务功能(Business Functions)列表

建议在项目启动前 3-6 个月运行 Readiness Check,为项目规划提供数据支撑。

Q6:迁移前需要做哪些数据准备工作?

数据准备是迁移成功的关键,主要包括:

  1. 数据量分析:使用 TAANA(Table Analysis)或自定义程序分析各表的数据量,重点排查超大表。
  2. 数据归档:对 FI、MM、SD 等模块的历史数据进行归档,减少迁移数据量。使用 SARA 事务码执行归档。
  3. 数据一致性检查:运行 SDCCN 检查系统一致性,修复已知的数据库不一致问题。
  4. 清理无用数据:删除临时表数据、清理旧的后台作业日志、删除未使用的客户端。
  5. 业务伙伴准备:提前完成 CVI(客户/供应商集成)转换,确保所有客户和供应商已创建对应的 Business Partner。
  6. 自定义代码清理:删除不再使用的自定义程序,减少 ATC 检查的工作量。

三、简化列表与数据模型变化

Q7:什么是 Simplification List(简化列表)?

Simplification List 是 SAP 发布的文档,列出了 S/4HANA 中所有与 ECC 相比的功能简化项和变更项:

  • 获取方式:通过 SAP ONE Support Launchpad 下载,或从 SAP Help Portal 获取。每个 S/4HANA 版本都有对应的简化列表。
  • 简化项类型
    • 功能删除:ECC 中存在但 S/4HANA 中已移除的功能
    • 功能替代:用新的解决方案替代旧功能
    • 数据模型变更:表结构的变化(如合并、拆分、新增)
    • 流程变更:业务流程的调整
  • 影响评估:每个简化项标注了影响范围(如影响自定义代码、影响业务流程、影响配置等)。
  • 典型简化项:特别总账标识的变更(S/4HANA 中不再支持部分标识)、物料号长度扩展(从 18 位到 40 位)、FI/CO 统一凭证(Universal Journal)、客户/供应商集成为 Business Partner 等。
Q8:S/4HANA 有哪些新的核心数据表?

S/4HANA 引入了多项重大数据模型变更,以下是核心新表:

新表替代/影响说明
ACDOCA替代多个 FI/CO 明细表Universal Journal(统一日记账),合并了 FI 和 CO 的行项目数据,单表包含所有财务和管理会计信息
BKPF(变化)结构变化抬头表仍存在,但部分字段已废弃或移至 ACDOCA
BUT000替代 KNA1/LFA1Business Partner 常规数据,统一管理客户和供应商
MATDOC替代 MKPF/MSEG物料凭证表(HANA 优化视图),合并了凭证抬头和行项目
NSDM_V_MCHB替代 MCHB批次库存(兼容性视图,底层使用新数据模型)
NSDM_V_MARD替代 MARD仓储库存(兼容性视图)
FAGLFLEXT(废弃)被 ACDOCA 替代新总账汇总表在 S/4HANA 中不再使用

重要提示:S/4HANA 为许多被替代的旧表提供了兼容性视图(Compatibility View),使得部分旧代码仍可运行,但建议在迁移过程中逐步迁移到新数据模型。

Q9:ACDOCA 统一日记账有什么影响?

ACDOCA 是 S/4HANA 最核心的数据模型变更,将 FI 和 CO 的行项目数据合并到一张表中:

主要变化

  • FI 凭证和 CO 凭证不再分别存储,统一在 ACDOCA 中
  • 不再需要 FI/CO 对账(因为只有一套数据源)
  • 支持实时利润中心会计(无需单独执行利润中心分配)
  • 科目余额可直接从 ACDOCA 汇总,不再需要余额表

对开发的影响

  • 直接读取 BSEG 的程序需要评估是否可以改为读取 ACDOCA
  • 自定义的 FI/CO 报表需要重写查询逻辑
  • 使用 COEP/COEP_CA 的程序需迁移到 ACDOCA
  • BSEG 表仍然存在但为兼容性视图,读取性能可能下降

四、业务伙伴与 CVI

Q10:迁移过程中业务伙伴(Business Partner)会发生什么变化?

在 S/4HANA 中,Business Partner(BP)是客户和供应商主数据的唯一入口。这意味着:

  • 强制要求:所有客户和供应商必须先创建 Business Partner,再扩展客户/供应商角色。不能再通过 FD01/FK01 直接创建。
  • 迁移影响:ECC 中已有的客户和供应商必须转换为 BP,这个过程称为 CVI(Customer Vendor Integration)。
  • 转换工具:使用事务码 CVI_ECC_VENDOR_LINK 和 CVI_ECC_CUSTOMER_LINK 进行转换。也可以使用 report CVI_COCKPIT 统一管理。
  • 数据映射:KNA1(客户常规数据)→ BUT000(BP 常规数据);LFA1(供应商常规数据)→ BUT000。
  • 编号策略:可选择 BP 编号与客户/供应商编号一致(内部/外部编号),或使用独立的编号范围。
Q11:如何处理客户/供应商集成(CVI)转换?

CVI 转换是 S/4HANA 迁移中最复杂的步骤之一,建议提前规划和执行:

  1. 前置检查:使用 CVI_COCKPIT 中的"一致性检查"功能,检查客户和供应商数据的完整性(如缺少地址、税务信息等)。
  2. 数据清理:修复重复的客户/供应商记录、缺失的必填字段、不一致的组织级别数据。
  3. 配置准备:定义 BP 编号范围、BP 角色映射、BP 分组策略。
  4. 执行转换:在迁移的预处理阶段(SUM 工具的 DOWNTIME 前或期间),运行 CVI 转换程序。
  5. 验证结果:检查 BP 与客户/供应商的关联关系,确认所有记录已成功转换。

注意事项:CVI 转换不可逆!务必在测试系统中多次演练,确认数据质量后再在生产系统中执行。

五、自定义代码影响

Q12:迁移对自定义代码有什么影响?

自定义代码的适配是 S/4HANA 迁移中工作量最大的部分之一。主要影响包括:

影响类别具体影响严重程度
表结构变更直接访问被废弃或改为视图的表(如 BSEG、COEP、MARD)
字段变更字段长度变化(如物料号从18位扩展到40位)
功能删除使用了 S/4HANA 中已删除的功能或事务码
语法兼容性部分 ABAP 语法在新版本中不再支持
增强适配User Exit 或 BADI 在 S/4HANA 中行为可能变化
性能影响兼容性视图的性能可能低于直接表访问
权限变化部分授权对象已变更或新增
Q13:如何评估自定义代码的迁移工作量?

推荐使用 SAP 提供的 ATC(ABAP Test Cockpit)工具进行批量检查:

  1. 配置 ATC 检查:在事务码 ATC 中配置 S/4HANA 专属检查变体(Check Variant),包含 S/4HANA 相关的检查规则。
  2. 执行批量检查:使用事务码 SAT 或 SE80 中的 ATC 批量检查功能,扫描所有自定义代码。
  3. 分析检查结果:ATC 会按严重程度分类报告问题,包括必须修复(红色)和建议修改(黄色)。
  4. 优先级排序
    • 优先修复访问被废弃表的代码
    • 然后修复字段长度不兼容的代码
    • 最后处理性能优化建议

SAP 也提供了 Custom Code Migration app(Fiori 应用),以可视化方式展示自定义代码迁移的影响评估。

Q14:物料号长度扩展(18→40)对自定义代码有什么影响?

S/4HANA 支持物料号长度从 18 位扩展到 40 位,这是一个可选但影响深远的变更:

  • 数据元素变更:MATNR 数据元素从 18 位变为 40 位,所有引用 MATNR 的字段自动扩展。
  • 自定义代码影响
    • 硬编码 18 位长度的变量需要扩展
    • 与物料号相关的 ALV 字段目录需要调整
    • 接口程序中物料号字段的长度需要同步修改
    • 与外部系统交换的文件格式需要调整
  • 不启用 40 位的后果:如果选择保持 18 位,部分 S/4HANA 新功能可能不可用,且未来版本可能强制 40 位。
  • 建议:新实施的项目直接启用 40 位;迁移项目可在迁移时暂不启用,但应规划后续扩展。

六、迁移工具与流程

Q15:SUM DMO 迁移的主要步骤是什么?

SUM(Software Update Manager)with DMO(Database Migration Option)是 Brownfield 迁移的核心工具,主要步骤如下:

  1. 准备阶段(Preprocessing)
    • 下载 S/4HANA 安装包和 SUM 工具
    • 配置 SUM 参数(profile 文件)
    • 执行 Readiness Check,确认前提条件
  2. 初始化阶段(Initialization)
    • SUM 读取源系统信息,计算所需空间
    • 创建 shadow repository(影子仓库)
    • 开始导入 S/4HANA 软件
  3. 停机阶段(Downtime)
    • 锁定源系统,阻止用户访问
    • 执行数据库迁移(AnyDB → HANA)
    • 应用 S/4HANA 升级
    • 执行 CVI 转换
    • 运行数据模型转换(如 ACDOCA 迁移)
  4. 后处理阶段(Postprocessing)
    • 清理影子仓库
    • 更新统计信息和索引
    • 执行 S/4HANA 特有的配置步骤
    • 解锁系统,开放用户访问
Q16:如何减少 SUM DMO 的停机时间?

减少停机时间是迁移项目的核心关注点,以下策略可显著缩短停机窗口:

  • DMO with System Move:在新的 HANA 服务器上执行迁移,源系统在迁移期间仍可使用,仅在最终切换时停机。
  • 预加载(Preload):SUM 支持在停机前预先导入部分数据到 HANA,减少停机期间的数据迁移量。
  • 数据量优化:在迁移前归档和清理不必要的数据,减少需要迁移的数据量。
  • 硬件准备:确保 HANA 服务器有足够的 CPU 和内存,使用 SSD 存储提升 I/O 性能。
  • 多次演练:在测试环境中进行至少 2-3 次完整迁移演练,优化每个步骤的耗时。
  • 自定义代码预处理:在迁移前完成所有必须的代码修改,避免迁移后因代码不兼容导致系统无法使用。

七、迁移后注意事项

Q17:迁移完成后还需要做哪些工作?

迁移上线只是开始,迁移后的优化和适应工作同样重要:

  • 性能优化:S/4HANA 的数据模型和 HANA 数据库带来了全新的性能特征,需要重新评估和优化:
    • 利用 HANA 的列存储特性,将频繁读取的表转为列存储
    • 使用 CDS View 替代传统的 ABAP 报表
    • 调整 HANA 内存参数和索引策略
  • 自定义代码重构:迁移后的临时适配代码需要逐步重构:
    • 将访问兼容性视图的代码迁移到新数据模型
    • 使用 CDS View 和 OData 替代传统 ALV 报表
    • 利用 S/4HANA 新语法和 API 重构旧代码
  • Fiori 启用:配置和部署 Fiori Launchpad,将关键业务场景迁移到 Fiori 应用。
  • 用户培训:S/4HANA 的界面和操作逻辑与 ECC 有显著差异,需要进行系统性的用户培训。
  • 持续监控:使用 SAP Solution Manager 监控系统性能和稳定性,及时发现和解决问题。
  • 功能激活:S/4HANA 提供了大量新的最佳业务实践(Best Practices),根据业务需求逐步激活和实施。
郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由作者基于 SAP S/4HANA 迁移项目经验及 SAP 官方文档整理,仅用于内部技术分享与学习交流。