在SAP Fiori launchpad 裡點選某個tile之後,背景會計算出跳轉的目标url傳回給前台。
下圖中一個個白色的方框就成為tile。每個tile點選之後,會打開一個對應的Fiori應用。

本文介紹如何在背景調試這個跳轉目标的計算邏輯。
首先我們可以直接在浏覽器裡點選tile或者用Postman手動觸發這個跳轉目标的url解析請求:
在背景使用事務碼SICF, 在該icf node的handler class的HANDLE_REQUEST裡設定斷點:
在Postman裡觸發請求,斷點觸發,在第61行裡從Fiori的前台系統執行進入Fiori背景系統的執行。
關于Fiori前背景系統的區分,參考我的微信公衆号文章SAP Fiori應用的三種部署方式
背景執行邏輯: 首先拿中繼資料metadata
再取實際資料。下圖是資料請求正文:
得到action名稱:
然後根據action名稱調用對應的處理邏輯:
首先從cache裡讀取:
cache沒命中:
于是去資料庫取:
得到結果。下圖解析的結果SAPUI5.Component=後面的字元串cus.crm.mycalendar就是tile點選之後待打開的Fiori應用。字段URL的值就是該應用對應的BSP應用的存儲位置。