介绍开发人员可扩展性

学习目标

  • 浏览 ABAP RESTful 应用程序编程模型业务对象可扩展性。

  • 浏览业务加载项设计。

开发人员可扩展性

开发人员可扩展性允许明确区分 SAP 解决方案和编程扩展。

开发人员扩展面向传统 ABAP 开发人员角色。使用已发布的扩展点,开发人员可以实施更复杂的用例。其中一些可能性如下:

  • 需要频繁和/或复杂 SQL 访问数据的扩展

  • 在与 SAP 应用程序相同的逻辑工作单元 (LUW) 中运行的扩展

  • 用作并行应用程序的远程应用程序编程接口 (API) 的扩展

开发人员扩展使用 ABAP Cloud 开发模型在 SAP S/4HANA Cloud ABAP 环境(面向 SAP S/4HANA 的 ABAP 平台的一部分)中实施。使用模型的所有构件块,例如使用面向 Eclipse 的 ABAP 开发工具、使用公共发布的接口等。

为客户提供开发人员可扩展性有两种可能性,如下所示:

  • ABAP RESTful 应用程序编程模型可扩展性选项

  • 业务加载项

与传统可扩展性一样,SAP 决定是否提供这两种可能性以及提供的程度。目前,客户可以使用超过 125 个业务对象接口(列出 ABAP RESTful 应用程序编程模型 BO 的可扩展部分)和 800 多个业务加载项。

通过添加新字段实施扩展

练习开始练习(SAP 官方交互式练习)

通过添加新操作实施扩展

练习开始练习(SAP 官方交互式练习)

通过添加新验证实施扩展

练习开始练习(SAP 官方交互式练习)

通过添加新节点实施扩展

练习开始练习(SAP 官方交互式练习)

SAP S/4HANA Cloud 业务加载项 (BAdI)

SAP S/4HANA Cloud 业务加载项 (BAdI)

SAP S/4HANA Cloud 业务加载项 (BAdI) 是提供的附加增强选项。

SAP S/4HANA Cloud 业务加载项 (BAdI) 是提供的附加增强选项。业务加载项概念并非新概念 - 多年来一直作为 SAP ERP 平台的扩展可能性提供。业务加载项在其设计和实施中是面向对象的,并且与 clean core 概念一致,与其扩展的基础 SAP 对象是分开的。此外,与 ABAP RESTful 应用程序编程模型可扩展性一样,SAP S/4HANA Cloud 更新不会影响业务加载项扩展实施,反之亦然。有关详细信息,包括创建业务加载项实施的示例,请参阅 SAP Learning Web 站点上的"使用 SAP S/4HANA Cloud ABAP 环境开发扩展"课程中的练习使用关键用户和开发人员可扩展性实施扩展。

堆栈内开发人员可扩展性的系统架构

最初,在两个租户架构中向客户提供 SAP S/4HANA Cloud:用于开发、配置和测试活动的质量租户以及以生产容量工作的生产系统。此设置对于关键用户可扩展性已足够。

但是,由于堆栈上开发人员扩展的实施需要基于 ABAP 的工具以及关联的 ABAP 代码,因此需要稍微更改租户配置。与传统的企业预置设计类似,为 SAP S/4HANA Cloud 客户提供单独的开发、测试和生产租户。关键扩展和开发人员扩展都分配到要测试的传输,并在生产环境中使用。

SAP S/4HANA Cloud ABAP RESTful 应用程序编程模型可扩展性

ABAP RESTful 应用程序编程模型每一层的大多数部件都可以扩展。

在第 3 单元第 2 课"浏览 ABAP 云开发模型 (ABAP Cloud)"中,我们检查了各种 ABAP RESTful 应用程序编程模型部件,例如 ABAP RESTful 应用程序编程模型业务对象和服务定义,以及 ABAP 云开发如何使用 ABAP RESTful 应用程序编程模型。因此,ABAP RESTful 应用程序编程模型可扩展性成为 SAP S/4HANA Cloud 中实现开发人员可扩展性的方式之一。ABAP RESTful 应用程序编程模型可扩展性为客户提供在 ABAP RESTful 应用程序编程模型堆栈的每一层为 ABAP RESTful 应用程序编程模型业务对象创建升级和生命周期稳定的扩展的功能。原始 ABAP RESTful 应用程序编程模型 BO 由 SAP 开发,在每个层,SAP 都可以启用可扩展性,还可以指定允许哪些特定类型的扩展。一般来说,整个 ABAP RESTful 应用程序编程模型堆栈中可能的扩展类型如下:

  • 数据模型扩展

  • 字段行为和行为扩展

  • 节点和服务定义扩展

  • 数据模型扩展 这些扩展有两种形式数据库表扩展和 CDS 视图扩展。向数据库表添加新字段的概念是 ABAP 开发人员熟悉的概念。通过开发人员可扩展性,SAP 创建的表通过注释显式发布为可扩展。SAP 还为 ABAP 开发人员提供扩展结构(也显式发布为可扩展)以放置新字段,并且该表显式引用此结构。对于 CDS 视图,如果 ABAP 开发人员使用新字段扩展数据库表,则与该表相关的任何 CDS 实体也会相应地扩展。与数据库级别类似,使用 SAP 创建的 CDS 视图和链接的扩展包括视图(均显式发布为可扩展)。这样可以确保 CDS 视图了解并可以选择创建的任何新字段。除新字段外,还允许对新关联进行建模。

  • 字段行为和行为扩展 这些扩展类型使 ABAP 开发人员能够通过新行为丰富 ABAP RESTful 应用程序编程模型业务对象。以下是客户可用的一些扩展可能性:

  • 可以将新字段添加到原始 ABAP RESTful 应用程序编程模型业务对象模型,并在附加字段映射中使用。

  • 可在原始 ABAP RESTful 应用程序编程模型业务对象中执行新操作、确定和验证。

  • 可以定义和实施附加保存。

  • 对于已启用草稿的 ABAP RESTful 应用程序编程模型业务对象,可以添加新的确定操作,并且可以扩展提供的 ABAP RESTful 应用程序编程模型框架确定操作准备。

  • 节点和服务定义扩展 与字段和字段行为扩展密切相关,节点可扩展性允许将附加 ABAP RESTful 应用程序编程模型 BO 实体添加到现有 ABAP RESTful 应用程序编程模型业务对象。例如,未在提供的 SAP ABAP RESTful 应用程序编程模型 BO 中表示的客户特定表仍可以作为新的 ABAP RESTful 应用程序编程模型 BO 扩展实体集成到其中,即使新的 BO 实体上一部分中概述的字段和字段行为扩展可用于确保为新业务对象实体实施正确的业务逻辑。最后,为确保新节点可用于服务使用,可以扩展服务定义以包括新的 ABAP RESTful 应用程序编程模型业务对象实体。

可扩展性启用与可扩展性配置

在理解扩展时,术语对于最大限度地减少混淆非常重要。与传统可扩展性一样,确定是否允许可扩展性由 SAP 完成,因此将使用"可扩展性启用"一词。扩展的实际使用(即"扩展")由客户完成,术语"可扩展性配置"将用作参考术语。

实施已发布的业务加载项

练习开始练习(SAP 官方交互式练习)