JerryWang_SAP 阅读(58) 评论(0)

 

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

 

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: