明天我的 SAP 开发技术交换群里,有敌人问这样的问题:
在 Fiori 界面中,怎么查看以后 Client?
我感觉要答复这个问题,须要发问的敌人提供更多的背景信息,比方:
Fiori 界面,是运行在 ABAP On-Premises 上,还是 Cloud 环境(Cloud 环境下想晓得 Client ID 貌似没有意义,因为这个字段值只对 SAP Support Engineer 有用)?
Fiori 界面是 Fiori 1.0,2.0 还是 Fiori 3.0?
在不同的 Fiori 部署形式和版本,查看以后 Client 的办法稍微有些差别。Jerry 近期会逐个介绍。
在开始介绍查看 Client 办法之前,咱们能够先温习一下这几篇文章介绍到的常识:
- SAP Fiori 利用的三种部署形式
- 如何分辨 SAP Fiori Launchpad 里的 ” 虚实 ” Fiori 利用
- SAP Fiori Launchpad Tile,UI5 利用,和 PFCG Role 的对应关系
上面咱们从 Fiori 1.0 开始聊起。
SAP Fiori 1.0 正式公布于 2013 年,旨在通过 Mobile First(挪动设施优先)的设计策略,对 SAP 不同畛域应用频率最高的利用进行重构。Fiori 1.0 在这门设计语言倒退历史上,起到的最重要的作用,就是提出了基于角色的利用拜访准则(Role-based Access Principle),指标是开发出具备 simple, responsive, coherent 和 delightful 个性的应用程序。这些准则和指标,贯通于 Fiori 长达 10 年的漫长演进历史中。
Fiori 1.0 基于的 SAP UI5 版本号范畴是 1.26 到 1.38. 下图是我早在 2014 年时,在 SAP 成都研究院 CRM Fiori 开发团队负责开发的 My Opportunity 利用的截图。
从利用的地址栏里,能够一眼看出这个 Fiori 利用的 ABAP 零碎名称为 GM4,Client ID 为 001.
如果用户拜访的零碎 url 被重定向或者因为种种其余起因,无奈间接从地址中提取出零碎名称和 Client ID,能够关上 Chrome 开发者工具,切换到 network 面板,输出关键字 start_up 进行过滤:
这个 start_up 申请的响应里,就蕴含了以后零碎的 System 和 Client ID,如下图图例 1 和 2 所示。除此之外,还有以后登录用户的明细,比方应用的语言,所处时区等信息。
晓得了 ABAP On-Premises 零碎的零碎 ID 和 Client ID,精确的说,这个零碎特指 SAP Gateway(也称为 Frontend) 服务器。
Frontend 服务器通过 ABAP RFC 与运行 SAP 业务逻辑的后盾零碎连贯。
在 SAP Gateway 零碎上的事务码 /IWFND/MAINT_SERVICE 里,能够指定 Frontend 服务器同后盾服务器的映射关系。比方下图的配置,语义就是 GM4 Gateway 零碎,能够通过 RFC 连贯到两个后盾 ABAP 零碎,别离是 GHD/504 和 AG3/001. 至于以后登录用户,运行时理论被调配到哪个后盾零碎,是通过用户调配的 PFCG role,即下图绿色高亮区域所示的角色决定的。
在 Gateway 零碎的 /IWFND/CL_MGW_REQUEST_MANAGER~CALL_BACKEND 办法设置断点,运行时通过 Destination 的值,就能分辨出以后用户的申请,到底被 Gateway 零碎散发到哪个后盾服务器上了。
后续我会介绍如何在更高版本的 SAP Fiori UI 中实现同样的目标,比方 SAP S/4HANA 2021 的 Fiori 3.0 界面里如何找到 Client ID.
我之前写过一套基于 SAP ABAP SEGW 实现的 OData 服务开发教程,曾经更新了 35 篇,外面蕴含了 SAP ABAP OData 服务的开发技巧,以及相干的零碎设计原理,思路和相干开发工具。上面是 35 篇文章的目录:
- 在 SAP ABAP 事物码 SEGW 里创立 SAP OData 我的项目
- 在 SAP ABAP 系统对事物码 SEGW 创立的 OData 服务进行配置并测试
- SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的应用办法
- SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 办法实现指南
- SAP ABAP OData 服务如何反对 $filter (过滤)操作
- 应用 Postman 工具高效治理和测试 SAP ABAP OData 服务
- SAP ABAP OData 服务如何反对 $orderby (排序)操作
- SAP ABAP OData 服务如何反对创立 (Create) 操作
- SAP ABAP OData 服务如何反对删除 (Delete) 操作
- SAP ABAP OData 服务如何反对批改 (Update) 操作
- 应用 HTTP PUT, PATCH 以及 MERGE 申请生产 SAP ABAP OData 服务批改操作的实现及其区别
- SAP ABAP OData 服务如何反对 $select 有选择性地仅读取局部模型字段值
- SAP ABAP OData 服务的分页加载数据集的实现(Paging)
- 几种 SAP ABAP OData 服务的性能评估和测试工具介绍
- SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别
- 如何批改 SAP ABAP OData 模型,使其反对 $expand 操作
- 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 申请中返回多个节点的数据
- SAP ABAP OData 服务嵌套创立性能的实现步骤(Create Deep)
- 如何应用 ABAP 程序生产 SAP ABAP OData 服务
- 如何应用 ABAP 代码生产须要传递 CSRF token 的 OData 服务
- SAP ABAP OData 服务的 $count 操作实现
- SAP ABAP OData 服务的 $count 和 $inlinecount 两个操作的区别
- 如何给 SAP ABAP SEGW 开发的 OData 服务增加 Access-Control-Allow-Origin 响应头
- SAP 规范产品里应用 OData 服务的一些细节分享
- 答疑 – SAP OData 框架解决 Metadata 元数据申请的实现细节,前后端组件部署在同一台物理服务器
- SAP ABAP OData Gateway 框架里 /IWFND, /IWBEP 这些缩写代表了什么含意?
- SAP OData 框架里的缓存 (Cache) 设计专题讲座
- 如何应用 SAP OData 服务向 ABAP 服务器上传文本格式的文件
- 如何通过 ABAP 代码给 SAP OData 元数据削减注解
- 如何应用 SEGW 的 redefine 性能对 SAP 规范 OData 服务进行扩大
- SAP UI5 Fiori 利用在启动时向 ABAP 后盾发动的 OData 申请序列的程序和作用剖析
- 对于 Fiori 利用里 SAP UI5 前端开发和 SEGW 后盾 OData 服务开发的工作量比值问题
- 如何找出 SAP Fiori Launchpad 里点击 tile 之后,读取业务数据调用的是哪个 SAP 后盾零碎的 OData 服务
- 如何应用 Postman 发送 SAP OData Batch 申请到 ABAP 后盾服务器
- 如何自行查找出 SAP ABAP 规范的 OData 服务返回数据的后盾数据库表和表字段名称