java系统找不到指定文件怎么解决
528
2022-09-26
SAP Field Service Management 和微信集成的案例分享和实现介绍
SAP FSM(Field Service Management), 属于SAP C/4HANA五朵云里的Service Cloud.
一种简易的方式就是使用FSM提供的Query API. 打开FSM官网的帮助文档: API的相关部分:
通过阅读文档,得知FSM Query API采用一种和Facebook Query Language,SAP Hybris Flexible Search和ABAP Open SQL类似的思路,即仿SQL语法的查询方式,从FSM系统里读取数据。
下图是Facebook Query Language的一个例子:
下图是SAP Hybris Commerce Flexible Search的例子:
ABAP Open SQL的例子我就不贴了,大家太熟悉了。 那么FSM的Query API如何使用呢?
在弹出来的控制台里,输入类SQL语句: SELECT bp FROM BusinessPartner bp 默认返回了前40条数据:
那么如何使用代码来触发Query API查询呢?官网上给出了一个基于nodejs的SDK,可以轻易实现用代码调用Query API的需求。
按照帮助文档上的示例代码,将自己FSM系统里创建的API client对应的credential维护到代码里,得到一个CoreAPIClient实例。
ClientIdentifier和clientSecret等Credential字段的值,可以通过Admin标签页,新建一个Client后获得:
使用CoreAPIClient实例的query方法向FSM系统发起Query API请求,输入参数一为应用程序里拼接的类SQL查询语句,参数二为Data Transfer Object的名称,在帮助文档里能查到。
通过Visual Studio Code调试器观察上面这个API调用返回的结果。因为我的752和753行代码分别指定了Item和BusinessPartner的查询,因此API调用返回的响应是一个数组,其内两个元素分别包含了Item和BusinessPartner各前40条数据。
每个Item和Business Partner实例的明细在调试器里显示如下:
那么首先要设计一个Web应用,在该Web应用里通过第一篇文章介绍的方式,使用SAP FSM提供的nodejs SDK去调用API.
为此,我们开发了一个Vue应用,在Vue生命周期钩子函数mounted里,发起对SAP FSM employee(技师)数据的请求:
比如employeeID为2E9BC784D477CA3DD048E593D853CFF1的这条数据,可以直接在FSM里通过这个url查看:
FSM里成功创建的预约记录。
下面我们到SAP FSM里根据这些GUID,去详细查看API到底在系统里生成了哪些记录。
这个Service Call有一个同名的Activity,编号为205.
在SAP FSM的Activities页面可以查到这条编号为205的记录,其所属的Service Call为175,即上图显示的Call内容。
Service Call和Activities创建之后,调度员就可以相应地派工,然后李小刚就可以动身出发了。下图显示的李小刚在系统中被分配了多个安装任务,这是Jerry反复测试时创建的数据,其中任务显示上标有的白色小旗,代表任务已完成。
在我们的后台服务实现里,使用SAP FSM nodejs SDK,依次调用了Service Call,Activity的创建API来创建对应的记录。同时安装技师和安装任务的分配关系,是通过创建一个新的ServiceAssignment对象来维护的。这三个API的说明在SAP FSM官方网站上有文档: https://docs.coresystems.net/dev-index.html
总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~