我们在做 ECC 到 SAP S/4HANA 转换,或者在 SAP S/4HANA Private Cloud 里继续维护老的 Z 程序时,经常会碰到一个看起来很简单的问题,什么叫 ABAP code 已经做到 SAP S/4HANA-compliant。这个词不能只理解成程序能激活、能执行、没有语法错误。很多老代码在 SAP S/4HANA 上确实可以跑,甚至业务用户短时间内也没发现问题,但它依然可能不是 SAP S/4HANA-compliant。因为 SAP S/4HANA-compliant 关心的是,代码是否适应了 SAP S/4HANA 的简化数据模型、是否能在 SAP HANA 上稳定并高效地执行、是否不再依赖被 SAP 改造或移除的内部对象、是否符合升级稳定性和 Clean Core 的方向。
SAP 官方的 Custom Code Migration Guide 把自定义代码迁移分成准备分析和实际适配两大块,准备阶段包括 custom code scoping 和 custom code analysis,实际阶段才进入 custom code adaptation。SAP 也明确建议在 ADT 里运行带有 SAP S/4HANA checks 的 ABAP Test Cockpit,ATC 结果会列出与 SAP S/4HANA simplifications 有关的发现,并关联到说明修复方式的 SAP Notes。这个官方流程很能说明问题,compliant 不是单纯把语法错误清掉,而是要让代码经过 SAP S/4HANA 简化项、运行时语义、HANA 性能和升级稳定性的共同检验。




