如何分辨 SAP Fiori Launchpad 里的"真假" Fiori 应用
这是Jerry 2021年的第 23 篇文章,也是汪子熙公众号总共第 294 篇原创文章。
本文标题里的"真假" Fiori 应用,改成业内术语应该是:基于 SAP UI5 的原生应用(包括 Fiori Elements 实现的应用) 和其他所有采用非 SAP UI5 框架实现的 Fiori-Like 应用,比如嵌入到浏览器里执行的 SAP GUI 应用和基于 SAP WebClient UI 开发的应用。
注:使用 Fiori Fundamentals和SAP UI5 Web Components 开发的 Fiori-Like 应用,不在本文讨论范围之内。
看一些“假” Fiori 应用的例子。
SAP ERP 事物码 MM01,在浏览器里打开的显示界面如下:
https://:44311/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=928&sap-language=EN#Material-create?sap-ui-tech-hint=GUI
从浏览器地址栏里不难分辨,这个页面是 SAP GUI 事物码,通过 Jerry 这两篇文章介绍的方法,配置到 SAP Fiori Launchpad 里显示并使用的:
那么再看下面这个页面呢?
SAP S/4HANA Fiori Launchpad Manage Solution Orders tile:
任意选择一个 Order 进入明细页面:
这个明细页面,到底是 SAP UI5 开发的 Fiori 原生应用,还是通过 SAP GUI 或者 SAP WebClient UI 开发而成的 Fiori-Like 应用呢?
此时单凭肉眼已经很难分辨了,通过观察浏览器地址栏的 url,也看不出端倪:
https://<hostname>/ui?sap-client=715&sap-language=EN#BusinessSolutionOrder-display?BusinessSolutionOrder=100009525
有 SAP 顾问朋友在微信上和我交流,说他使用的办法是,在 Fiori Launchpad 里打开的页面按 F2,如果能看到技术明细对话框弹出,说明该页面是基于 WebClient UI 技术开发的,反之才是 SAP UI5 开发的原生应用。
这种方法经过 Jerry 实际测试发现不太准确,因为在 Fiori Launchpad 环境,我所在的测试系统里,WebClient UI 页面的 F2 功能已经失效了——即使一个页面确实是用 WebClient UI 开发而成,按 F2 也无法再弹出技术明细对话框。
本文介绍两种正确的方法来分辨,Fiori Launchpad 里显示的页面,到底是 SAP UI5 原生应用,还是 Fiori-Like 应用。
方法1:先打开要分辨的 UI,再打开 Chrome 开发者工具,F5 刷新页面:
如果在 Source 标签页里的 sap/bc/ui5_ui5/sap 文件夹下发现新出现了子文件夹,则说明该应用是 SAP UI5 原生应用,且应用名称就是子文件夹的名称,例如下图的 solnord_mans1.
SE80 打开 solnord_mans1, 发现它不仅是一个 SAP UI5 应用,而且是一个基于 Fiori Elements 的 UI5 应用。
再看下图这个页面:
一旦渲染之后,Chrome 开发者工具里出现了一系列子文件夹:
BSPWD_BASICS
bsp_wd_base
bspwd_basics
crm_ui_frame
crm_ui_start
这些都是典型的 WebClient UI Frame 的实现应用名称,这标志着该明细页面的实现技术是 SAP WebClient UI.
那么实现该页面 的 WebClient UI Component 的名称是什么呢?
在该页面上按 F2,虽然没有技术明细对话框弹出,但在 Chrome 开发者工具 network 标签页里观察到一个 HTTP 请求,里面包含了一个 target-id, 值为 TBT172MOV.
在数据库表 CRMC_UI_LLINK 里,通过下列三个步骤,即可查到,Target ID TBT172MOV, 对应的 UI Component 名称为 BT172M_SOLO.
如果您是一个业务顾问,不喜欢使用 Chrome 开发者工具,那么可以使用下面介绍的方法2.
方法2:Fiori应用索引大全。
Jerry 之前的文章 Fiori应用索引大全 曾经介绍过这个工具:
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/index.html
建议每位 SAP Fiori 从业者,都将其加到自己的收藏夹中,因为这个工具使用起来就像字典一样,非常方便。
假设我想查询 SAP S/4HANA Manage Solution Orders 这个 tile 里面的 Fiori 应用明细。点击 All apps for SAP S/4HANA:
这里一目了然,Manage Solution Orders 的入口,是一个 SAP UI5 应用,名称为SOLNORD_MANS1, 这正好和我们方法1里查找到的名称一致。
而方法1里找到的 TBT172MOV, 也被包含在 Manage Solution Orders 的明细介绍里了:
索引网站里明确提到,TBT172MOV 是一个 WebClient UI 应用。
希望本文介绍的两种方法对大家有所帮助,感谢阅读。
更多阅读