SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係

i042416發表於2020-07-12

問題:已經看到了SAP Fiori Launchpad上的某個tile,如何反推後臺需要配置哪個PFCG Role才能看到該tile?

這個問題是今天一個朋友在微信上問我的。因為我最近忙著學習一個新的SAP產品,所以這個問題也沒有時間展開來寫,本文就只做概要介紹。

下圖是一個Gateway系統上開啟的SAP CRM Fiori Launchpad:


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


如何弄清楚後臺使用者配置了哪個PFCG Role之後,才能看到Sales Representative(CRM)這個Group下的tile?

既然當前我使用的使用者Jerry Wang登入系統之後能看到這些tile,那麼用Chrome開發者工具觀察該使用者登入之後,從瀏覽器向Gateway系統發起的請求和收到的響應即可找到線索。

下圖Chrome開發者工具Network標籤頁裡,在藍色高亮的start_up請求之前還有6個請求:

第一個請求是讀取Fiori Launchpad的html實現原始碼; 第二個請求abap.js是前臺UI5連線以ABAP為技術棧的SAP後臺系統所需的ABAP Unified Shell的引導庫檔案; 第三到第六個請求core-min-<數字>.js用來載入UI5庫檔案;


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


高亮的請求(start_up),讀取的是當前登入使用者儲存在ABAP後臺系統的User Profile,比如日期格式,數字格式,登入語言設定等等。


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係 SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


這個start_up請求和後臺PFCG Role的配置無關,因此我們跳過,繼續看下一個PageSets請求:


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


這個PageSets請求返回一個Catalog Group,title資訊正好是我們在Launchpad裡看到的Sales Representative (CRM),ID為SAP_CRM_BCG_SalesRep.

實際上找到這個ID就足夠了。在Gateway系統上執行事務碼/UI2/FLPD_CUST,開啟Fiori Launchpad Designer,根據ID SAP_CRM_BCG_SalesRep找到這個Group,發現裡面包含的tile正是Jerry Wang這個使用者登入系統後看到的tile.


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


以及Catalog ID:SAP_CRM_BC_SalesRep.


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


接下來的TargetMappings請求,依次取出Catalog下面每個tile的SemanticAction和Semantic Object:


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


有了這兩個欄位,UI5框架就知道該tile點選之後,應該跳轉到哪個具體的UI5應用去。Semantic Object和Semantic Action這對欄位,同UI5應用的對映關係,同樣在SAP Fiori Launchpad Designer裡維護。以上圖的MyAccounts tile為例,在Launchpad Designer裡選擇Target Mapping,點選Configure:


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


Semantic Object和Action這對欄位,在Target Mapping明細頁面裡,同藍色高亮區域的三個欄位建立了一一對映關係:

Role:UICRM001 Launchpad Instance: TRANSACTIONAL Application Alias: MyAccounts

其中綠色高亮欄位Application Alias,能夠唯一標識一個UI5應用。


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


Gateway系統後臺執行事務碼LPD_CUST, 找到上圖藍色區域裡Role和Instance對應的記錄,雙擊檢視明細:


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


明細頁面裡,Fiori Launchpad tile MyAccounts維護在Launchpad Designer裡的Application Alias,對映到一個能夠在SE80裡找到的SAP UI5應用(以一個BSP應用的載體儲存在ABAP系統裡).


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係 SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


以上就是當使用者點選了Fiori Launchpad某個tile之後,SAP UI5框架是如何解析出tile包含的Semantic Object和Semantic Action,進而得到Application Alias,最後得到實際的UI5應用名稱的過程。

回到這位朋友問的問題,任意新建一個PFCG Role,在這個Role的Menu裡維護上我們之前在Chrome開發者工具裡找到的Catalog Group和Catalog ID即可。

例如下圖這個我新建的PFCG Role ZSAP_CRM_BCR_SALESREP:


SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係 SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


當然,SAP也預定義了一些標準的PFCG Role,比如SAP_CRM_BCR_SALESREP,因此我們可以從這些標準的PFCG Role拷貝新的Role出來,再根據我們的實際需求進行修改。

感謝閱讀。

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

SAP Fiori Launchpad Tile,UI5應用,和PFCG Role的對應關係


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2703961/,如需轉載,請註明出處,否則將追究法律責任。

相關文章