在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应用的存储位置。


注销
1k 声望1.6k 粉丝

invalid