SAP FSM 学习笔记(一) : 使用API消费FSM的数据

SAP FSM(Field Service Management), 属于SAP C/4HANA五朵云里的Service Cloud.

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

关于其综述,可以参考Jerry同事许聚龙2018年的文章:SAP成都研究院许聚龙:Hello, Coresystems!

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

因为项目需要,Jerry得学习使用FSM。今天刚拿到系统账号,下午学习了三个小时,用组内同事Li Cris编写的代码在系统里做了一些测试,把学习笔记写下来。

本文没有介绍任何高深的东西,纯粹是记录我个人的学习笔记,方便将来查阅。

之前Jerry推送的视频 SAP FSM和微信集成的智能服务场景 介绍的原型开发里,需要在微信里能够显示FSM的数据,比如FSM里的产品和客户主数据:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据
SAP FSM 学习笔记(一) : 使用API消费FSM的数据

一种简易的方式就是使用FSM提供的Query API.

打开FSM官网的帮助文档:
https://docs.coresystems.net/dev-index.html

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

进入Query API的相关部分:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

通过阅读文档,得知FSM Query API采用一种和Facebook Query Language,SAP Hybris Flexible Search和ABAP Open SQL类似的思路,即仿SQL语法的查询方式,从FSM系统里读取数据。

下图是Facebook Query Language的一个例子:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

下图是SAP Hybris Commerce Flexible Search的例子:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

ABAP Open SQL的例子我就不贴了,大家太熟悉了。

那么FSM的Query API如何使用呢?

登录FSM,点击Query API:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

在弹出来的控制台里,输入类SQL语句:

SELECT bp FROM BusinessPartner bp
默认返回了前40条数据:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

那么如何使用代码来触发Query API查询呢?官网上给出了一个基于nodejs的SDK,可以轻易实现用代码调用Query API的需求。

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

点击超链接后,会跳转到github的一个仓库:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

按照帮助文档上的示例代码,将自己FSM系统里创建的API client对应的credential维护到代码里,得到一个CoreAPIClient实例。

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

ClientIdentifier和clientSecret等Credential字段的值,可以通过Admin标签页,新建一个Client后获得:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

使用CoreAPIClient实例的query方法向FSM系统发起Query API请求,输入参数一为应用程序里拼接的类SQL查询语句,参数二为Data Transfer Object的名称,在帮助文档里能查到。

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

通过Visual Studio Code调试器观察上面这个API调用返回的结果。因为我的752和753行代码分别指定了Item和BusinessPartner的查询,因此API调用返回的响应是一个数组,其内两个元素分别包含了Item和BusinessPartner各前40条数据。

SAP FSM 学习笔记(一) : 使用API消费FSM的数据

每个Item和Business Partner实例的明细在调试器里显示如下:

SAP FSM 学习笔记(一) : 使用API消费FSM的数据
SAP FSM 学习笔记(一) : 使用API消费FSM的数据

后续Jerry会继续学习FSM并把所学分享给大家,感谢阅读。

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

上一篇:Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建


下一篇:如何选择阿里云 服务器配置及服务器搭建