原文标题:SAP S/4HANA Extensibility – Simplified Guide for Beginners
原文链接:SAP S/4HANA Extensibility – Simplified Guide for Beginners
介绍
可扩展性(Extensibility)是 SAP ECC 和 SAP S/4HANA 的一项关键功能。它使客户能够通过定制其业务流程来创造竞争优势,并使合作伙伴能够通过量身定制的解决方案来丰富核心 ECC 或 S/4HANA。
在过去的几十年中,SAP 的 on-premise 版本客户和合作伙伴主要使用经典的 ABAP 扩展性来扩展他们的 ERP 解决方案。经典扩展性允许 ABAP 开发人员使用甚至修改所有 SAP 对象。尽管经典扩展性非常强大和灵活,但在当今的云世界中,它已不再是一个好的选择。
根据云战略,SAP S/4HANA 提供了全新的升级稳定的云可扩展性模型( upgrade-stable cloud extensibility model ),通过公共 SAP APIs 和 SAP 扩展点明确区分 SAP 代码和扩展。
在本博客中,我们将了解:
- 什么是 S/4HANA 扩展,为什么我们需要它们?
- 经典扩展如何在传统 SAP ECC 系统中发挥作用?
- 为什么经典扩展在云世界不再是好选择?
- 什么是 “Clean Core” 范式?
- 作为 SAP 合作伙伴或客户,应该如何选择正确的可扩展性选项?
- SAP S/4HANA 企业内部部署和私有云(On-Premise and Private Cloud)客户应如何切换到新的可扩展性模式?
目标读者
在 SAP S/4HANA 上构建新扩展或将现有扩展从传统 SAP ECC 迁移到 SAP S/4HANA 的 SAP 合作伙伴和客户。
需要全面了解 SAP S/4HANA 扩展性模型的 SAP 顾问/架构师。
**注:**由于我已经涵盖了与 SAP S/4HANA 可扩展性相关的所有主要概念,因此本博客略显冗长。但我相信,一旦你读完这篇博客,你就会对 SAP S/4HANA 可扩展性有一个清晰的认识。
在阅读本博客之前,最好先了解 SAP BTP。如果您是 SAP BTP 的新手,请先花 2 分钟阅读本博客 - 向初学者解释 SAP 业务技术平台 (SAP BTP)。
让我们开始吧!
什么是 S/4HANA 扩展?为什么我们需要扩展?
我们都知道,标准的 SAP 软件并不能涵盖公司所有的业务流程。我们总是需要新的应用程序、新的报告或新的功能。传统上,SAP 合作伙伴和客户一直使用 ABAP 代码在 SAP ECC 系统上构建扩展程序。然而,随着 SAP S/4HANA 和客户向云技术的数字化转型,我们需要一个更强大但松散耦合的可扩展性模型(more robust yet loosely coupled extensibility model。
经典可扩展性是什么?
传统上,SAP 合作伙伴和客户一直使用经典 ABAP 扩展性来扩展他们的 ERP 解决方案。
SAP S/4HANA(或 SAP ECC)中的经典扩展性(又称经典 ABAP 定制开发):
- 允许您使用传统的开发工具和技术(如事务码 SE80、Eclipse IDE、BAdIs 等)
- 功能和特性非常丰富。
- 非常灵活,甚至可以修改 SAP 代码本身。
经典扩展性的缺点?
虽然经典可扩展性非常强大、灵活和流行,但也有一些主要缺点。
其中之一就是升级工作量大!
由于 SAP 代码与扩展之间缺乏明确的接口,可能会导致升级过程中扩展出现问题。因此,升级需要大量的规划、回归测试和适配工作,这也是客户推迟升级的原因之一。
举例:
如果您在扩展中使用了未被 SAP 列入白名单的 SAP 对象。升级后,使用的 SAP 对象被更改或删除。这时您就必须调整扩展,从而导致升级延迟。
在云环境中,经典扩展不再是一个好的选择。
经典扩展性是否仍然可用?
在 S/4HANA Cloud 中,所有客户都会并行运行自动软件更新。因此在这种环境下不支持经典扩展。
在 S/4HANA私有云 版本和本地部署(On-Premise) 版本中 - 经典扩展虽然可用但不推荐使用。
什么是 Clean Core 范式?
Clean Core是一种扩展方法,其中:
- 扩展与SAP应用程序严格分离
- 扩展只能通过定义明确的、稳定的升级接口访问 SAP 业务对象
遵循 Clean Core 范式可以确保:
- 扩展不会影响升级,升级也不会破坏扩展
- 从 SAP S/4HANA 本地版本迁移到 SAP S/4HANA Cloud 时扩展不会造成问题
SAP 提出"clean core"范式的理念很简单 - 允许客户扩展其 SAP S/4HANA 软件,同时使软件更新最终成为非事件。
Clean Core 范式的好处
Clean Core 范式是