使用 SAPUI5 Flexibility 扩展 SAP Fiori 应用

学习目标

  • 使用 SAPUI5 Flexibility 功能扩展 SAP Fiori 应用

Julie 是 SAP Fiori 开发团队的一名初级开发人员。她构建了一个 SAPUI5 应用,该应用正被多个具有不同需求的客户使用。Julie 收到了一位客户的请求,要求对应用进行一些更改,例如添加、隐藏或重新排列字段,或重命名标签。她需要一些帮助,于是咨询了团队中的高级开发人员 Michael。

为客户调整应用的不同选项。

在本课中,我们将重点介绍 SAPUI5 灵活性。

什么是 SAPUI5 Flexibility?

SAPUI5 Flexibility 提供了相应功能,使不同用户组能够以简单且无需修改的方式调整 SAPUI5 应用。可在 ABAP 平台、Cloud Foundry 环境中的 SAP Cloud 服务上使用。它取代了可扩展性概念,拓宽了 SAPUI5 应用的可调整性,同时提高了可维护性和简单性。

观看此视频,以详细了解 SAPUI5 Flexibility。

视频:本节含 SAP 官方视频(视频 ID 1_m3cp0dg6),需在 learning.sap.com 在线观看。

SAPUI5 的灵活性基于三大支柱:

  • 确保基于增量(delta)的生命周期稳定且无需修改的 UI 更改。

  • 促进扩展应用的成本高效的 UI 更改流程

  • 提供针对特殊目标群体需求量身定制的直观工具

SAPUI5 Flexibility 的功能

UI 调整是 SAPUI5 Flexibility 的一项功能,它使不具备技术知识的关键用户和开发人员都能以所见即所得(WYSIWYG)的方式轻松进行 UI 更改。

该图显示了 SAPUI5 中供开发人员和关键用户调整 UI 的可用工具。可用工具涵盖从添加新字段或分区,到移除字段和分区,最后到拆分与合并。

SAPUI5 Flexibility 允许通过基于现有应用创建应用变体来进行 UI 调整。因此,应用的 UI 可以单独调整,而无需改动原始应用。

该图说明了如何基于原始应用创建应用变体。

有关应用变体概念的更多详细信息,请参见以下链接:应用变体:您需要了解的一切

使用适配项目

在 SAP Business Application Studio 中,适配项目让客户和 SAP 开发人员可以为现有应用创建应用变体,通过 SAPUI5 Visual Editor 对其进行调整,将创建的项目存储到 Git,并部署到系统。SAPUI5 Visual Editor 是 SAP BAS 中的设计时编辑器,提供在不改变基础代码的情况下调整现有 SAPUI5 应用的能力。

见下文说明。

SAPUI5 Visual Editor 支持以下操作:

扩展

标准 SAP Fiori 应用作为应用变体(语义/属性更改、视图/控制器/i18n 扩展)。

创建

视图(控件变体 – flex 变体管理)。

观看这段简短视频,以详细了解 SAPUI5 适配项目。

视频:本节含 SAP 官方视频(视频 ID 1_h2ra6cz9),需在 learning.sap.com 在线观看。

扩展的不同方面

扩展 SAP Fiori 应用有不同层次和类型。下图显示了可以进行扩展的不同方面。

该图说明了下文给出的描述。

如上图所示,可以扩展或替换应用的 OData 服务。

在视图控制器层面,开发人员可以以无需修改的方式扩展现有的控制器实现。也可以替换控制器的完整实现或仅替换部分函数。这称为控制器扩展(Controller Extension)控制器替换(Controller Replacement)

可以在基础应用中实现所谓的扩展点(Extension Points)。扩展此类点称为视图扩展(View Extension)。也可以只更改 UI 控件的值,这称为视图修改(View Modification)。如果基础应用中某个视图的实现完全不合适,则可以替换完整的实现。此过程称为视图替换(View Replacement)

SAP Fiori 应用中的扩展示例

SAP Fiori Apps Reference Library 提供了有关 SAP Fiori 标准应用所提供可扩展性功能的详细信息。

该屏幕截图显示了 SAP Fiori Reference Library,具体在下文中说明。

上图显示了 SAP Fiori 标准应用 Create Sales OrdersImplementation Information 部分。详细信息请参见 SAP Fiori Apps Reference Library > Create Sales Orders

稳定 ID

非常重要的一点是,并非应用中的每个控件都可以修改,只有具有稳定 ID 的控件才能被灵活性工具处理,以更改控件的行为。

  • 稳定 ID 用于在处理过程中标识 UI 控件。

  • 稳定 ID 的使用:

  • 在 id 属性上,即 UI 控件的每一层级。这也意味着布局控件也应具有稳定 ID。

  • 在 viewId 属性上,即路由配置中路由目标配置层级上的属性。

  • 为 ID 使用语义化名称,以便日后更容易识别它们。

如果您希望基于自己实现的应用创建应用变体,则必须确保基础应用使用稳定 ID。只有当某个视觉方面具有稳定 ID 时,才能通过适配项目对其进行调整。

同样重要的是要考虑实例化的顺序。如果具有稳定 ID 的某个方面的父级没有稳定 ID,就将无法通过该稳定 ID 识别该方面。

有关稳定 ID 的更多详细信息,请查看 SAPUI5 文档 稳定 ID:您需要了解的一切以及 使用稳定 ID