使用 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 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 标准应用 Create Sales Orders 的 Implementation 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