今天是2020年1月31日鼠年大年初七,这是Jerry鼠年的第7篇文章,也是汪子熙公众号总共第206篇原创文章。
Jerry之前的文章 为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动 介绍了SAP GUI的事务码能够运行在SAP Fiori Launchpad里的原理,今天我们就来实际动手做一做,将SE80配置到SAP Fiori里并在浏览器里使用它。
Jerry上高中时,正是暴雪公司发布即时战略神作《星际争霸》的时候,当时课堂上,下课后,教室里,操场上,同学们几乎无时无刻不在讨论这款游戏,讨论里面的三个种族。用文字已经无法形容这款游戏的经典程度了。
19年过后,《星际争霸:重制版》上市,在保留了原版的游戏内容和玩法外,增添了重制的高清画面和更精致的显示效果。
如Jerry之前的文章 SAP Fiori应用索引大全 介绍的,借助SAP ITS技术,大量SAP GUI里的传统事务码,在Fiori这种SAP“重制版”UI中,重新焕发了活力。
本文介绍如何将事务码SE80置于SAP Fiori Launchpad并在浏览器里运行。文章的英文版写于2016年12月21日,可以通过文末的“阅读原文”获得。
本文基于的SAP UI5版本号为1.38.9:
根据英文博客的网友反馈,在UI5 1.52.1,S/4HANA 1709上测试通过。
假设我们想把在Fiori Launchpad上启动SE80应用的tile配置到这个名叫“SAP Fiori Extensibility”的catalog去,
首先可以打开Chrome开发者工具,重新刷新页面,在Network标签页里打开Fiori页面加载产生的HTTP请求,在请求正文里把上图catalog ID抄下来:SAP_FIORI_EXTENSIBILITY.
如果不想用Chrome开发者工具,也可以直接登录后台,通过查询登录用户分配的PFCG角色,也能找到这个ID:
打开Fiori Launchpad Designer,输入刚才找到的catalog ID,打开,创建一个新的tile:
维护tile标题,Semantic Object,Action和参数。还记得sap-ui-tech-hint=GUI这个参数么?Jerry前一篇文章 为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动并运行在浏览器里 曾经详细讲过。
保存这个tile,自动生成一个url,后续点击该tile后,新打开的浏览器窗口就会加载它。
下一步我们需要指定这个tile点击后跳转的目标对象(Target Mapping):
在Intent里选择刚才创建tile时维护的Semantic Object和Action,在Target区域,Application Type选择Transaction,只有这样才能在浏览器里打开SAP GUI里的事务码。Transaction字段维护成SE80.
保存之后,在Target Mapping列表里看到一条新生成的记录:
最后一步,将这个新建的tile配置到SAP Fiori Extensibility这个catalog里。
点击Tile,SE80事务码能够如我们期望的方式在浏览器里打开了。
注意这种方式打开的事务码,实际上是运行在Fiori Launchpad所部署在的gateway系统上。如果你的Fiori解决方案,gateway系统和后台系统是两台不同的服务器,需要在SPRO Manage SAP System Aliases里维护一条记录,通过该记录把一个System Alias映射到一个在SM59里创建的,指向后台系统的RFC Destination. 假设这个Alias取名为S4CMD:
然后把该Alias维护到tile的Target Mapping里即可。
不知道大家对通过SAP ITS将SAP GUI事务重新运行在Fiori Launchpad里这种“重制版”技术有何看法?感谢阅读。
更多阅读
Jerry的通过CDS view + Smart Template 开发Fiori应用的blog合集
SAP Fiori应用的三种部署方式
Jerry的Fiori原创文章合集
SAP成都C4C小李探花:浅谈Fiori Design Guidelines
SAP Fiori + Vue = ?
Fiori Fundamentals和SAP UI5 Web Components
30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用
SAP Fiori应用索引大全
介绍一种Fiori标准应用的增强方式
揭开SAP Fiori编程模型规范里注解的神秘面纱 - @ObjectModel.readOnly工作原理解析
为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动并运行在浏览器里