SAP Fiori Elements 应用中 table id 的生成逻辑

简介: SAP Fiori Elements 应用中 table id 的生成逻辑

id:jerryfiorielement01::sap.suite.ui.generic.template.ListReport.view.ListReport::SEPMRA_C_PD_Product–listReport


SAP Fiori Elements 是 SAP 提供的一种开发框架,允许开发者使用预定义的页面类型(如 List Report,Object Page 等)和配置,而不是编写大量的前端代码来创建 Fiori 应用。


在 Fiori Elements 中,控件的 ID 通常由多部分构成,这些部分由 “::” 分隔。这个 ID 在运行时由框架动态生成,以保证每个控件的 ID 在应用中都是唯一的。


根据我们在 Chrome 开发者工具看到的 ID(“jerryfiorielement01::sap.suite.ui.generic.template.ListReport.view.ListReport::SEPMRA_C_PD_Product–listReport”),可以看出它由三部分组成:


1.“jerryfiorielement01”:这是应用或组件的 ID,通常这是在应用的 manifest.json 文件中定义的,如下图所示:


04ec62944bc400d43e6a494388d90b9a_format,png.png

2.“sap.suite.ui.generic.template.ListReport.view.ListReport”:这部分表示的是 SAP Fiori Elements 的模板类型,这里是 ListReport。这个模板在运行时会被实例化,并根据OData 服务和 annotations 自动生成 UI。


3.“SEPMRA_C_PD_Product–listReport”:这部分通常由你的实体集(这里是 “SEPMRA_C_PD_Product”)和视图类型(这里是 “listReport”)组成。这些信息通常来自 annotations 文件和 manifest.json 文件。


至于如何在 Chrome 开发者工具中设置断点,首先需要知道,由于这些 ID 是在运行时动态生成的,可能无法在源代码中找到具体的生成位置。但是,可以尝试在 SAPUI5 的核心代码或 Fiori Elements 的代码中设置断点,看看是否可以在控件 ID 生成时暂停执行。


具体来说,可以尝试在以下文件和方法中设置断点:

  1. sap.ui.core.Element.js 中的 sap.ui.core.Element.prototype.getId 方法。这个方法用于获取控件的 ID。
  2. sap.ui.core.mvc.Controller.js 中的 sap.ui.core.mvc.Controller.prototype.getView 方法。这个方法用于获取控件所在的视图,可能在生成控件 ID 时被调用。


让我们通过一个例子来具体了解一下这个 ID 的生成逻辑。


假设我们有一个名为 ‘myFioriApp’ 的 Fiori Elements 应用,它基于一个 OData 服务,该服务有一个名为 ‘SalesOrder’ 的 Entity Set。我们想在这个应用中创建一个列表报告视图来显示所有的销售订单。为此,我们需要在我们的应用中添加一个 ListReport 视图。


首先,我们的应用的命名空间会是 ‘myFioriApp’。这是一个全局唯一的标识,我们可以通过它来找到我们的应用。


接下来,我们需要添加一个 ListReport 视图。这个视图的命名空间会是 ‘sap.suite.ui.generic.template.ListReport.view.ListReport’。这个命名空间告诉我们这是一个 ListReport 视图的实例。


然后,我们需要指定这个视图是基于哪个 Entity Set 构建的。在这个例子中,我们的 Entity Set 是 ‘SalesOrder’。所以,我们的视图的 ID 会包含 ‘SalesOrder’ 这个部分。


最后,我们需要指定我们的控件的类型。在这个例子中,我们的控件是一个列表报告控件,所以我们的控件的 ID 会包含 ‘listReport’ 这个部分。


因此,我们的控件的 ID 会是 ‘myFioriApp::sap.suite.ui.generic.template.ListReport.view.ListReport::SalesOrder–listReport’。


相关文章
|
2月前
|
数据库 API
启用SAP Fiori之前的一些注意事项
启用SAP Fiori之前的一些注意事项
|
2月前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
|
2月前
|
BI 数据库
SAP ABAP ALV 报表单击某列后执行某段 ABAP 逻辑的实现方式 - hotspot 行为实现试读版
SAP ABAP ALV 报表单击某列后执行某段 ABAP 逻辑的实现方式 - hotspot 行为实现试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
|
2月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
2月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
2月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
2月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
2月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍