為什麼SAP GUI裡的傳統事務碼能通過Fiori Launchpad啟動
今天是農曆鼠年大年初六,本文是鼠年第6篇文章,也是汪子熙公眾號第205篇原創文章。
大家這幾天宅得怎麼樣了?
Jerry之前的文章 那些年我用過的SAP IDE 曾經提到,我們可以把SAP GUI裡的傳統事務碼放到SAP Launchpad裡啟動,並在瀏覽器裡執行。
這是SE80在瀏覽器裡執行的介面:
為響應government號召,儘量少出門,反正也閒著沒事,今天我們就來聊聊這一切是怎麼實現的。
Jerry最初注意到這種將SAP GUI裡的事務碼執行在瀏覽器裡的做法,是在日常工作的測試時,發現Fiori Launchpad裡這個Create Material的tile.
回憶一下,原生的Fiori應用,無論我們在頁面內進行何種點選操作,都不會跳轉到一個全新的頁面去,即不會開啟一個新的瀏覽器視窗,或者一個新的標籤頁——Fiori原生應用,所有的使用者操作都在一個頁面內完成,頁面的切換通過SAP UI5的router元件完成,這是一個典型的Single Page Application的特徵。
反之,當我點選了上圖Create Material tile之後,啟動的應用是在另一個新的Chrome標籤頁裡開啟並操作的,請大家注意上圖紅色新開啟的標籤頁。
這就說明,這個Create Material tile背後的應用不是基於SAP UI5開發的Fiori原生應用。
那麼它又是用什麼技術開發的呢?仔細觀察url:
https://<hostname>: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-ui-tech-hint=GUI
這暗示我們,該應用的UI是基於SAP GUI繪製的。
我們在瀏覽器裡開啟該應用:
把上圖該應用的介面同SAP GUI裡S/4HANA的物料主資料建立事務碼MM01的介面做對比:
發現除了外觀風格外,二者的欄位名稱,位置,佈局完全一致。結合種種我們觀察到的結果,顯然這個Create Material tile指向的應用是基於SAP GUI裡MM01事務碼包裹而成的。
在瀏覽器裡開啟該tile,在Chrome開發者工具中把tile所屬的Fiori Catalog ID記錄下來:SAP_CMD_BC_PR_MAINT
在Fiori Launchpad里根據該ID開啟對應的catalog,發現有好幾個和Material相關的跳轉物件,其型別都為SAP GUI裡的Transaction:
我們之前發現的url片段,sap-ui-tech-hint=GUI,就配置在這裡:
跳轉的目的事務碼ID MM01,配置在此處。同時Device Types裡只支援桌面,這沒什麼問題,因為SAP GUI通過瀏覽器渲染出來的介面,不像SAP UI5那樣具有響應式佈局的功能,因此只能執行在桌面瀏覽器裡。
在執行時,一旦SAP UI5框架程式碼解析到sap-ui-tech-hint引數的值為GUI,就執行對應的渲染邏輯。
在Chrome開發者工具的Sources標籤頁裡,能看到gui/sap/its這個路徑片段。
ITS即Internet Trasaction Server,SAP Netweaver裡一項非常古老的技術,這個技術提供的元件能解析使用SAP GUI技術開發出的screen的後設資料並渲染成HTML,從而能夠讓SAP GUI的事務碼執行在瀏覽器裡。
關於SAP ITS in SAP NetWeaver Application Server的更多介紹,參考SAP幫助文件:
如果我們想體驗ITS,也很容易。SICF事務碼,輸入webgui,執行:
發現這個節點正好位於本文正在討論的its節點下:
右鍵單擊webgui,選擇Test Service:
自動彈出了瀏覽器視窗,顯示的頁面同使用SAP GUI登入系統後顯示的初始頁面一致。
接下來可以像使用SAP GUI那樣,在瀏覽器裡輸入事務碼並執行了。比如SE38進入ABAP編輯器:
後續Jerry會介紹如何把一個SAP GUI的事務碼(無論是標準的事務碼還是使用者自定義的事務碼)配置到SAP Fiori Launchpad並開啟。
《終結者》裡最經典的機器人型號T-800,內建金屬骨架,外表覆蓋生物組織以及仿生皮膚,由於外表和人類幾乎一模一樣,所以能輕鬆滲透到人類群體。然而人類忠實的夥伴,狗,可以輕鬆分辨出T-800和普通人類。
希望本文Jerry介紹的這些內容也能幫助大家輕鬆分辨Fiori原生應用和採用SAP ITS技術渲染的偽Fiori應用。感謝閱讀。
更多閱讀
- Jerry的通過CDS view + Smart Template 開發Fiori應用的blog合集
- SAP Fiori應用的三種部署方式
- Jerry的Fiori原創文章合集
- SAP成都C4C小李探花:淺談Fiori Design Guidelines
- SAP Fiori + Vue = ?
- Fiori Fundamentals和SAP UI5 Web Components
- 30分鐘用Restful ABAP Programming模型開發一個支援增刪改查的Fiori應用
- SAP Fiori應用索引大全
- 介紹一種Fiori標準應用的增強方式
- 揭開SAP Fiori程式設計模型規範裡註解的神祕面紗 - @ObjectModel.readOnly工作原理解析
- 為什麼SAP GUI裡的傳統事務碼能通過Fiori Launchpad啟動並執行在瀏覽器裡
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙".
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2674608/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一步步把SAP GUI的事務碼配置到SAP Fiori Launchpad裡GUI
- SAP Fiori應用沒能從Fiori Launchpad啟動的一個可能原因及分析過程
- 如何分辨 SAP Fiori Launchpad 裡的真假 Fiori 應用
- SAP GUI裡的收藏夾事務碼管理工具GUI
- 在 SAP Fiori Launchpad 裡給需要執行的 SAPGUI 事物碼配置系統別名GUI
- 如何讓SAP S/4HANA的Material Fiori應用配置到Fiori Launchpad裡
- 把經典的ABAP webdynpro應用配置到SAP Fiori Launchpad裡Web
- 如何把SAP UI5應用部署到SAP雲平臺的Fiori Launchpad裡去UI
- SAP Fiori介面上輸入事務程式碼的設定
- SAP Fiori Launchpad url 引數 sap-app-origin-hint 的含義APP
- 什麼是SAP GUI的clientGUIclient
- SAP Fiori Launchpad tile裡顯示的數字的重新整理間隔是在伺服器端什麼地方配置的伺服器
- SAP Fiori Launchpad 應用的兩個實用技巧分享
- 什麼是 SAP Fiori Tools
- 在 SAP Fiori Gateway 系統配置一個指向 SAPGUI 事務的 tileGatewayGUI
- SAP Fiori Launchpad 上看不到任何 tile 應該怎麼辦?
- 通過實際案例摸清楚Spring事務傳播的行為Spring
- SAP Cloud for Customer和SAP Fiori系統裡的OData測試工具Cloud
- 介紹一種對 SAP GUI 裡的收藏夾事務碼管理工具增強的實現方案GUI
- 如何查詢SAP Fiori launchpad Designer的準確路徑即url地址
- 到底什麼樣的ABAP系統能執行Fiori應用
- 如何修改Fiori Launchpad裡Tile計數呼叫的時間間隔
- SAP 往一個角色裡增加事務程式碼
- SAP QM 事務程式碼QA11裡的to New Material
- SAP GUI裡Screen Painter的工作原理GUIAI
- 如何根據角色批量啟用SAP Fiori服務
- 什麼是事務、事務特性、事務隔離級別、spring事務傳播特性?Spring
- SAP MM MI01事務程式碼裡的批次確定
- SAP事務碼MM02裡的欄位屬性控制
- SAP Fiori裡的兩種鎖機制
- 如何將本地 SAP UI5 應用配置到本地 Fiori Launchpad 中UI
- SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係UI
- 企業為什麼要上ERP?SAP系統好在哪裡?
- SAP Fiori Launchpad頁面在伺服器端的配置背後的實現原理伺服器
- SAP 事務碼記錄~
- win10 電腦音訊怎麼啟動gui windows10怎麼啟動guiWin10音訊GUIWindows
- SAP HUM 事務程式碼HUMO為整託做Scrap
- spring事務的傳播屬性是什麼?它會影響什麼?Spring