问题:已经看到了SAP Fiori Launchpad上的某个tile,如何反推后台需要配置哪个PFCG Role才能看到该tile?

这个问题是今天一个朋友在微信上问我的。因为我最近忙着学习一个新的SAP产品,所以这个问题也没有时间展开来写,本文就只做概要介绍。

下图是一个Gateway系统上打开的SAP CRM Fiori Launchpad:

如何弄清楚后台用户配置了哪个PFCG Role之后,才能看到Sales Representative(CRM)这个Group下的tile?

既然当前我使用的用户Jerry Wang登录系统之后能看到这些tile,那么用Chrome开发者工具观察该用户登录之后,从浏览器向Gateway系统发起的请求和收到的响应即可找到线索。

下图Chrome开发者工具Network标签页里,在蓝色高亮的start_up请求之前还有6个请求:

第一个请求是读取Fiori Launchpad的html实现源代码;
第二个请求abap.js是前台UI5连接以ABAP为技术栈的SAP后台系统所需的ABAP Unified Shell的引导库文件;
第三到第六个请求core-min-<数字>.js用来加载UI5库文件;

高亮的请求(start_up),读取的是当前登录用户存储在ABAP后台系统的User Profile,比如日期格式,数字格式,登录语言设置等等。


这个start_up请求和后台PFCG Role的配置无关,因此我们跳过,继续看下一个PageSets请求:

这个PageSets请求返回一个Catalog Group,title信息正好是我们在Launchpad里看到的Sales Representative (CRM),ID为SAP_CRM_BCG_SalesRep.

实际上找到这个ID就足够了。在Gateway系统上执行事务码/UI2/FLPD_CUST,打开Fiori Launchpad Designer,根据ID SAP_CRM_BCG_SalesRep找到这个Group,发现里面包含的tile正是Jerry Wang这个用户登录系统后看到的tile.

以及Catalog ID:SAP_CRM_BC_SalesRep.

接下来的TargetMappings请求,依次取出Catalog下面每个tile的SemanticAction和Semantic Object:

有了这两个字段,UI5框架就知道该tile点击之后,应该跳转到哪个具体的UI5应用去。Semantic Object和Semantic Action这对字段,同UI5应用的映射关系,同样在SAP Fiori Launchpad Designer里维护。以上图的MyAccounts tile为例,在Launchpad Designer里选择Target Mapping,点击Configure:

Semantic Object和Action这对字段,在Target Mapping明细页面里,同蓝色高亮区域的三个字段建立了一一映射关系:

Role:UICRM001
Launchpad Instance: TRANSACTIONAL
Application Alias: MyAccounts

其中绿色高亮字段Application Alias,能够唯一标识一个UI5应用。

Gateway系统后台执行事务码LPD_CUST, 找到上图蓝色区域里Role和Instance对应的记录,双击查看明细:

明细页面里,Fiori Launchpad tile MyAccounts维护在Launchpad Designer里的Application Alias,映射到一个能够在SE80里找到的SAP UI5应用(以一个BSP应用的载体存储在ABAP系统里).


以上就是当用户点击了Fiori Launchpad某个tile之后,SAP UI5框架是如何解析出tile包含的Semantic Object和Semantic Action,进而得到Application Alias,最后得到实际的UI5应用名称的过程。

回到这位朋友问的问题,任意新建一个PFCG Role,在这个Role的Menu里维护上我们之前在Chrome开发者工具里找到的Catalog Group和Catalog ID即可。

例如下图这个我新建的PFCG Role ZSAP_CRM_BCR_SALESREP:


当然,SAP也预定义了一些标准的PFCG Role,比如SAP_CRM_BCR_SALESREP,因此我们可以从这些标准的PFCG Role拷贝新的Role出来,再根据我们的实际需求进行修改。

感谢阅读。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP Fiori Launchpad Tile,UI5应用,和PFCG Role的对应关系相关推荐

  1. SAP Fiori Launchpad Tile点击后跳转的调试技巧

    在SAP Fiori launchpad 里点击某个tile之后,后台会计算出跳转的目标url返回给前台. 下图中一个个白色的方框就成为tile.每个tile点击之后,会打开一个对应的Fiori应用. ...

  2. SAP Fiori Launchpad tile跳转目标的解析逻辑

    在launchpad 里点击某个tile之后,UI5 返回的navigation target 的逻辑debug.在处理customer incident时很有用. 使用postman 测试 navi ...

  3. SAP Fiori Launchpad tile点击之后的跳转链接是如何解析出来的

    Created by Jerry Wang, last modified on Jan 17, 2015 原标题:where and when navigation target url is ret ...

  4. SAP Fiori Launchpad tile instance creation

    Created by Wang, Jerry, last modified on Oct 19, 2015

  5. SAP Fiori Launchpad tile里显示的数字的刷新间隔是在服务器端什么地方配置的

    Created by Jerry Wang, last modified on Dec 16, 2014 原标题:where is count server execution interval co ...

  6. SAP Fiori Launchpad tile点击之后,后台的调整url解析机制

    Created by Jerry Wang, last modified on Jan 17, 2015 原标题:How is navigation target url request handle ...

  7. 33. 如何找出 SAP Fiori Launchpad 里点击 tile 之后,读取业务数据调用的是哪个 SAP 后台系统的 OData 服务

    文章目录 如何找到 SAP Fiori Launchpad tile 对应的 SAP UI5 应用名称 如何找到 SAP UI5 应用发出的 OData 请求明细 如何找到 SAP UI5 应用发送的 ...

  8. 如何将自开发的SAP UI5应用以tile的方式配置到SAP Fiori Launchpad里

    使用一个具有Business Role SAP_CORE_BC_EXT的用户登录S/4HANA: 在Custom Catalog Extensions tile里搜索需要配置到SAP Fiori La ...

  9. 如何处理SAP Fiori Launchpad KPI tile点击后出现的错误消息

    点击了SAP Fiori Launchpad KPI tile后一个典型的错误消息: 2015-08-24 16:12:25 Error Preparing Query Service Uri usi ...

最新文章

  1. 面试官:react和vue有什么区别吗?
  2. Android Gradle manifestPlaceholders 占位符详解
  3. python几多级证书_Openssl 生成多级证书
  4. 个人计算机既pc机,个人计算机简称pc机这种计算机属于___pc机开机后计算机执行_个人计算机即pc机(14)...
  5. PHP ajax 传递中文乱码,ajax+php传递中文乱码解决办法
  6. 游戏之旅 我的编程感悟_我的外展之旅的特别时刻
  7. 织梦php版本图片不能上传,织梦Dedecms会员中心无法上传图片的解决方法
  8. 一个简单 JDK 动态代理的实例
  9. C#中机密文本的保存方案
  10. Get value from agent failed:cannot connect to[[192.168.1.113];10050]:[111]Co
  11. 教你一秒理解setInterval与setTimeout的使用和区别
  12. 如何通过a/a中的href刷新当前界面
  13. java带参数的方法笔记_Java学习笔记十一:Java中的方法
  14. pytest文档1-环境准备与入门
  15. 基于MSCNN的人群密度估计之数据集制作
  16. 关于Altium Designer的BOM,元件清单
  17. 谜底是计算机的谜语英语,有关英语谜语大全及答案
  18. 求矩阵乘法及行列式的值
  19. Unix File Permissions and ACLs in OS X
  20. Java 设置PDF文档过期时间(有效时间)

热门文章

  1. Servlet实现Session
  2. Oracle FGA审计记录的清理步骤
  3. 在对的时间 遇见对的人 是一种幸福
  4. WPF Demo18 路由事件
  5. 湖人豪华助教团散伙 德帅身边恐仅剩两名帮手
  6. dual graph
  7. 对于sonar展示的问题数的研究
  8. J2EE看tomcat运行参数和去掉工程名作为请求的根路径
  9. 第三次学JAVA再学不好就吃翔(part59)--冒泡排序选择排序以及二分查找
  10. HTTPS原理和CA证书申请