為什么SAP GUI里的傳統事務碼能通過Fiori Launchpad啟動
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://
發現了這個片段: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幫助文檔:
https://help.sap.com/saphelp_nw70/helpdata/en/46/668d4b72255de4e10000000a1553f6/frameset.htm
如果我們想體驗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啟動并運行在瀏覽器里
ABAP API GUI JavaScript 應用性能管理 APM
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。