关于sap:SAP-UI5-Fiori-应用在启动时向-ABAP-后台发起的-OData-请求序列的顺序和作用分析试读版

27次阅读

共计 1465 个字符,预计需要花费 4 分钟才能阅读完成。

本文的写作动机,来源于我的常识星球里一位敌人的发问:

咱们当初在 BTP 上给 successfactors 加强一个性能,画面 fiori,针对画面上的 fo 字段或者 picklist 类型字段,为了不便画面比拟容易输出值,下拉框外面的值个别通过什么形式做成,而且不影响性能,当初咱们思考通过追加代码去获得下拉框的值,然而画面初期关上的时候,如果这样我的项目特地多,特地影响性能,想问一下有什么好的方法?或者这样例子应该怎么去实现?谢谢

我的一些回复:

首次关上画面的时候,能不能做到下拉框的提早加载呢?也就是说,首次关上时,页面是只读模式的,此时下拉框的地位,仅仅须要显示下拉框里默认抉择的 key 值对应的形容信息,此时下拉框进化成一个 Text Field.

仅仅当切换到编辑模式时,才从数据库读取 key 和 description. 这种形式在点 Edit 按钮切换成编辑模式时,也会感到一点提早。

更高级一点的做法,就是在只读模式下,没等点击 Edit 按钮,就开始异步的去后盾读取 key 和 description.

这个问题促使我去思考一个问题:SAP 规范的 Fiori 利用,在启动时是如何治理和解决发送到后盾的 ABAP HTTP OData 申请的?

带着这个问题,我找了一个 SAP 规范的 Fiori 利用,CRM 畛域的 My Opportunity,钻研了这个利用关上时往 ABAP 后盾发送的全副 OData 申请,并逐个剖析了每个 OData 申请的发送起因,对每个申请的 HTTP 申请和 HTTP 响应的头部字段和注释负载 (payload),也做了具体的阐述。

咱们在 SAP CRM Fiori Launchpad 里点击 My Opportunity 的 tile:

这个 Fiori 利用得以启动,看到如下的界面:

这是一个典型的 Master – Detail 布局的 SAP UI5 利用,右边的区域称之为 Master List,左边是 Detail 视图。这种 Master-Detail 布局的利用开发方式,在笔者另一套 SAP UI5 开发教程里有具体叙述:

  • SAP UI5 利用开发教程之一百零五 – SAP UI5 Master-Detail 布局模式的联动成果实现明细介绍

上图图例 1 显示了 零碎里总共的 Opportunity 条数为 451,区域 2 显示了默认 20 条数据。当咱们滚动鼠标到第 20 条数据之后持续向下滚动,就会触发第 21 条数据到第 40 条数据的加载。这其实设计到 OData 读取数据的分页概念,默认状况下每页蕴含 20 条 Opportunity 数据,当利用启动时,只读取第一页的 Opportunity 数据,即默认显示 20 条 Opportunity.

图例 3 即 Opportunity 明细页面,这里显示的是第一页 20 条 Opportunity 中的第一条数据。

https://<host>:44355/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=001#Opportunity-manageOpportunity&/detail/Opportunities(guid’FA163EE5-6C3A-1ED6-9DC1-A73EEF634C10′)

咱们关上 Chrome 开发者工具,切换到 Networks 标签页,在 filter 里输出 /sap/opu/odata/sap/CRM_OPPORTUNITY,这是该 Fiori 利用生产后盾 ABAP 服务的 url(图例 2).

通过这个过滤条件,network 里显示了全副 6 条 OData 申请。

本文余下局部逐个介绍这六条 OData 申请的明细。

正文完
 0