为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动

今天是农历鼠年大年初六,本文是鼠年第6篇文章,也是汪子熙公众号第205篇原创文章。

大家这几天宅得怎么样了?


Jerry之前的文章 那些年我用过的SAP IDE 曾经提到,我们可以把SAP GUI里的传统事务码放到SAP Launchpad里启动,并在浏览器里运行。

这是SE80在浏览器里运行的界面:

为响应government号召,尽量少出门,反正也闲着没事,今天我们就来聊聊这一切是怎么实现的。

Jerry最初注意到这种将SAP GUI里的事务码运行在浏览器里的做法,是在日常工作的测试时,发现Fiori Launchpad里这个Create Material的tile.

回忆一下,原生的Fiori应用,无论我们在页面内进行何种点击操作,都不会跳转到一个全新的页面去,即不会打开一个新的浏览器窗口,或者一个新的标签页——Fiori原生应用,所有的用户操作都在一个页面内完成,页面的切换通过SAP UI5的router组件完成,这是一个典型的Single Page Application的特征。

反之,当我点击了上图Create Material tile之后,启动的应用是在另一个新的Chrome标签页里打开并操作的,请大家注意上图红色新开启的标签页。

这就说明,这个Create Material tile背后的应用不是基于SAP UI5开发的Fiori原生应用。

那么它又是用什么技术开发的呢?仔细观察url:

https://:44311/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=928&sap-language=EN#Material-create?sap-ui-tech-hint=GUI

发现了这个片段:sap-ui-tech-hint=GUI

这暗示我们,该应用的UI是基于SAP GUI绘制的。

我们在浏览器里打开该应用:

把上图该应用的界面同SAP GUI里S/4HANA的物料主数据创建事务码MM01的界面做对比:

发现除了外观风格外,二者的字段名称,位置,布局完全一致。结合种种我们观察到的结果,显然这个Create Material tile指向的应用是基于SAP GUI里MM01事务码包裹而成的。

在浏览器里打开该tile,在Chrome开发者工具中把tile所属的Fiori Catalog ID记录下来:SAP_CMD_BC_PR_MAINT

在Fiori Launchpad里根据该ID打开对应的catalog,发现有好几个和Material相关的跳转对象,其类型都为SAP GUI里的Transaction:

我们之前发现的url片段,sap-ui-tech-hint=GUI,就配置在这里:

跳转的目的事务码ID MM01,配置在此处。同时Device Types里只支持桌面,这没什么问题,因为SAP GUI通过浏览器渲染出来的界面,不像SAP UI5那样具有响应式布局的功能,因此只能运行在桌面浏览器里。

在运行时,一旦SAP UI5框架代码解析到sap-ui-tech-hint参数的值为GUI,就执行对应的渲染逻辑。

在Chrome开发者工具的Sources标签页里,能看到gui/sap/its这个路径片段。

ITS即Internet Trasaction Server,SAP Netweaver里一项非常古老的技术,这个技术提供的组件能解析使用SAP GUI技术开发出的screen的元数据并渲染成HTML,从而能够让SAP GUI的事务码运行在浏览器里。

关于SAP ITS in SAP NetWeaver Application Server的更多介绍,参考SAP帮助文档:

https://help.sap.com/saphelp_nw70/helpdata/en/46/668d4b72255de4e10000000a1553f6/frameset.htm

如果我们想体验ITS,也很容易。SICF事务码,输入webgui,执行:

发现这个节点正好位于本文正在讨论的its节点下:

右键单击webgui,选择Test Service:

自动弹出了浏览器窗口,显示的页面同使用SAP GUI登录系统后显示的初始页面一致。

接下来可以像使用SAP GUI那样,在浏览器里输入事务码并执行了。比如SE38进入ABAP编辑器:


后续Jerry会介绍如何把一个SAP GUI的事务码(无论是标准的事务码还是用户自定义的事务码)配置到SAP Fiori Launchpad并打开。

《终结者》里最经典的机器人型号T-800,内置金属骨架,外表覆盖生物组织以及仿生皮肤,由于外表和人类几乎一模一样,所以能轻松渗透到人类群体。然而人类忠实的伙伴,狗,可以轻松分辨出T-800和普通人类。

希望本文Jerry介绍的这些内容也能帮助大家轻松分辨Fiori原生应用和采用SAP ITS技术渲染的伪Fiori应用。感谢阅读。

更多阅读

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

原文地址:https://www.cnblogs.com/sap-jerry/p/12243056.html

时间: 2024-08-25 15:30:16

为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动的相关文章

SAP GUI里Screen Painter的工作原理

我们在SAP GUI里双击一个screen编号: 单击Layout按钮可以打开Screen Painter: 这背后的工作原理是什么? 是这个RFC destination在起作用: Connection Type为T,当Layout按钮被点击后,通过TCP/IP通知执行文件gnetx.exe: 从任务管理器里能查看到这个执行文件的进程: 要获取更多Jerry的原创文章,请关注公众号"汪子熙": 原文地址:https://www.cnblogs.com/sap-jerry/p/9821

SAP ABAP编程 批量查询事务码对应的授权对象和字段值

1.事物代码 2.选择事务代码 3.结果如下:

一步步把SAP GUI的事务码配置到SAP Fiori Launchpad里

今天是2020年1月31日鼠年大年初七,这是Jerry鼠年的第7篇文章,也是汪子熙公众号总共第206篇原创文章. Jerry之前的文章 为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动 介绍了SAP GUI的事务码能够运行在SAP Fiori Launchpad里的原理,今天我们就来实际动手做一做,将SE80配置到SAP Fiori里并在浏览器里使用它. Jerry上高中时,正是暴雪公司发布即时战略神作<星际争霸>的时候,当时课堂上,下课后,教室里,操场上,同学们几乎

不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题.很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse/IntelliJ IDEA/Visual Studio这些现代IDE,对于SAP GUI这个比较"复古"的IDE不太适应. 其实还有一个选择:ABAP Development Tools,最初在SAP内部称为ABAP in Eclipse.这个工具SAP在很多场合简称为ADT,本文后续部分也使用这个简称. 简单地说,SAP

[SAP ABAP开发技术总结]ABAP常用事务码

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: SE16N 业务顾问表数据查询工具  日志分析 SM13:查看Update Table更新(当使用V3更新时)  入站处理代码 CS11逐层显示BOM CS12 多层显示BOM ME11创建采购信息记录,类似销售里的条件记录VK11, 物料号+采购组织+供应商+工厂(可选)决定一条 Info Record MIGO 入库.收货 MMBE 按公司.工厂.库位.批次,库存分类汇总显示

中间件事务码R3AC1里Block Size的含义

在中间件事务码R3AC1可以为一个中间件的适配器对象维护Block size的大小. 以上图的尺寸为50为例,假设在ERP系统里有110个设备(equipment)需要下载,那么CRM中间件会自动生成3个inbound队列执行下载任务,其中2个队列各下载50个设备,另外1个队列下载剩下的10个设备. 这些下载队列的事务处理是彼此隔离的,也就是说即使某个队列的下载出了错,这个队列里待下载的ERP设备未能成功存储到CRM系统里,但是并不会影响到其他队列的处理. 我的SAP community博客St

使用事务码DBCO实现SAP链接外部数据库以及读取例程

一.链接SQLServer数据库 执行事务码DBCO,点新条目按钮,填写如下图所示信息 这里的连接信息很接近 Sql Server 的连接字符串,但是参数名略有不同.指定主机IP.数据库名即可. 二.链接DB2数据库 执行事务码DBCO,点新条目按钮,填写如下图所示信息 连接信息看上去比较直接,分别是数据库名.端口号.主机IP地址. 三.链接Oracle数据库 执行事务码DBCO,点新条目按钮,填写如下图所示信息 连接信息比较隐晦,必须在 SAP 应用服务器上安装 Oracle Client,然

SAP事务码 一

SE80 -- edit source code. SE24 -- class create or display. SFP -- created and maintained independently of Web Dynpro applications using the Form Builder. SFW1 SFW2 SFW3 -- 与增强有关 SY-SUBRC 返 回代码值( 0,如果操 作成功)   SY-UNAME 用 户的登录名   SY-DATUM 当 前日期   SY-UZE

另一种方式实现事务码SE16里的结果集修改

注: 这种方法不同于网上流传的在调试器里修改fcode的那种解决方案. 使用场景:我们需要直接在开发系统的事务码SE16里修改某些结果集的值,但是在SE16的工具栏里看不见修改按钮: 解决方案 使用/h进入调试模式: 点击Script tab, 使用按钮"Load Script": 再点Start Script: 之后就可使用Edit icon进行编辑: 要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: 原文地址:https://www