天天看點

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

在SAP Fiori launchpad 裡點選某個tile之後,背景會計算出跳轉的目标url傳回給前台。

下圖中一個個白色的方框就成為tile。每個tile點選之後,會打開一個對應的Fiori應用。

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

本文介紹如何在背景調試這個跳轉目标的計算邏輯。

首先我們可以直接在浏覽器裡點選tile或者用Postman手動觸發這個跳轉目标的url解析請求:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

在背景使用事務碼SICF, 在該icf node的handler class的HANDLE_REQUEST裡設定斷點:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

在Postman裡觸發請求,斷點觸發,在第61行裡從Fiori的前台系統執行進入Fiori背景系統的執行。

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

關于Fiori前背景系統的區分,參考我的微信公衆号文章SAP Fiori應用的三種部署方式

背景執行邏輯: 首先拿中繼資料metadata

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

再取實際資料。下圖是資料請求正文:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

得到action名稱:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

然後根據action名稱調用對應的處理邏輯:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

首先從cache裡讀取:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧
SAP Fiori Launchpad Tile點選後跳轉的調試技巧

cache沒命中:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧

于是去資料庫取:

SAP Fiori Launchpad Tile點選後跳轉的調試技巧
SAP Fiori Launchpad Tile點選後跳轉的調試技巧

得到結果。下圖解析的結果SAPUI5.Component=後面的字元串cus.crm.mycalendar就是tile點選之後待打開的Fiori應用。字段URL的值就是該應用對應的BSP應用的存儲位置。

SAP Fiori Launchpad Tile點選後跳轉的調試技巧