在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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

Fiori Launchpad Tile点击后跳转的调试技巧的更多相关文章

  1. 如何修改Fiori Launchpad里Tile计数调用的时间间隔

    Fiori launchpad里的Tile上有一个数字,例如下图My Leads的例子:每隔指定的时间间隔,会向后台发起一次数据请求,读取当前Lead的个数. 这个请求可以在Chrome Develo ...

  2. 如何将BSP应用配置成Fiori Launchpad上的一个tile

    当我们通过WebIDE或者Eclipse的插件Team Provider把一个本地开发好的UI5应用部署到了ABAP Netweaver服务器上之后,我们可以将该UI5应用配置成Fiori launc ...

  3. 雪妖现世:给SAP Fiori Launchpad增添雪花纷飞的效果

    1995年7月,台湾大宇公司发布了一款国产单机角色扮演游戏神作:<仙剑奇侠传1>,所谓"一包烟,一杯茶",就能在电脑面前坐一整天. 这么经典的游戏Jerry当然已经通关 ...

  4. 如何查找SAP Fiori launchpad Designer的准确路径即url地址

    比如我们知道在SPRO里下面这个路径的customizing activity里打开Fiori Launchpad designer: SAP Netweaver->UI technologie ...

  5. 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容

    http://www.qs5.org/Post/625.html 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容 2016/02/02 | 心得分享 | 0 Replies 有时候调试网页或 ...

  6. UI5-学习篇-18-云端UI5应用部署到Fiori Launchpad

    UI5应用发布SCP 选择UI5应用项目,右键 Deploy - Deploy to SAP Cloud Platform 输入云平台子账号,项目名称,应用名称,如下图所示: 点击Open the r ...

  7. Android Studio 实用调试技巧

    Android Studio 是个发工具,其自身带调式环境是很强大的,我们要摆脱只会使用Log打印日志的低效的方法,掌握高级调试技巧对每个Android开发者都是很必要的,废话少说,直入正题 调试方式 ...

  8. Chrome浏览器调试技巧

    本文主要讲解针对chrome浏览器的调试方案,对于其他浏览器其实大同小异. 先来入门一点的 DOM元素调试 看上图: 以上图表明的1,2,3,4,5标记说明: 1,为移动设备模拟器,chorme现在是 ...

  9. 【工具】VS2010常用调试技巧(1)

    调试是一个程序员最基本的技能,其重要性不言自明.不会调试的程序员就意味着他即使会一门语言,却不能编制出好的软件.本文就本人在开发过程中常用的调试技巧作下简单呢介绍,希望对大家有所帮助,能力超群者请绕道 ...

随机推荐

  1. docker 解决容器时间与主机时间不一致的问题

    环境: 1.阿里云ecs服务器 2.docker 3.docker镜像 centos7.4.1708 方法一: 查看主机时间: [root@iZbp1625jeg61bc2zzfcotZ docker ...

  2. GreenPlum 大数据平台--远程访问-->gpadmin客户端

    一,客户端连接 01,配置文件说明 在master节点的$MASTER_DATA_DIRECTORY(这个是配置的环境变量:/greenplum/data/master/gpseg-1)/pg_hba ...

  3. C++ 17的新标准

    几个自己比较关注的C++新标准,说是17的标准,不过估计要拖到20才能真正支持   Module python的import之类的东西   解决问题: include头文件导致速度变慢的问题   目前 ...

  4. 在lua中解决if else switch问题

    之前写过一个c#版本的使用字典去解决switch问题  http://www.cnblogs.com/sanyejun/p/7806210.html 现在用写lua版本的 function Main( ...

  5. 前端测试框架 puppeteer 文档翻译

    puppeteer puppeteer 是一个通过DevTools 协议提供高级API 来控制 chrome,chromium 的 NODE库; puppeteer默认运行在 headless 模式, ...

  6. c#-FrameWork02泛型

    泛型 l  泛型(generic)编程是一种编程范式,它利用”参数化类型”将类型抽象化,从而可以实现更为灵活的复用.把数据类型参数化 sh泛型集合 泛型集合与集合的对比 泛型集合类 非泛型集合类 Li ...

  7. GridView .net访问

    HTML code <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns=&qu ...

  8. Java反射机制集中学习

    什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言 ...

  9. js之正则表达式基础

    字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...

  10. 【代码笔记】JTable 、TableModel的使用3

    在java中插入Table,并通过TableModel插入表格初始化状态后,如果需要第一行标题栏进行重命名,直接利用TableModel接口去实现列名修改,在图形显示中是无法实现的. 这里需要用到 J ...