這是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,在瀏覽器裡開啟的顯示介面如下:
從瀏覽器位址列裡不難分辨,這個頁面是 SAP GUI 事物碼,透過 Jerry 這兩篇文章介紹的方法,配置到 SAP Fiori Launchpad 裡顯示並使用的:
- 為什麼SAP GUI裡的傳統事務碼能透過Fiori Launchpad啟動並執行在瀏覽器裡
- 一步步把SAP GUI的事務碼配置到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...
建議每位 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 應用。
希望本文介紹的兩種方法對大家有所幫助,感謝閱讀。
更多閱讀
- SAP Fiori應用索引大全
- Fiori Fundamentals和SAP UI5 Web Components
- 為什麼SAP GUI裡的傳統事務碼能透過Fiori Launchpad啟動並執行在瀏覽器裡
- 一步步把SAP GUI的事務碼配置到SAP Fiori Launchpad裡