打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例
今年6月SAP发布C/4HANA之后,有顾问朋友们在微信公众号后台留言,询问C/4HANA如何同SAP的数字化核心S/4HANA系统结合起来,从而打通企业的前后端业务,帮助企业实现数字化转型。
有的顾问朋友们询问有没有具体的案例来体现这种前后端一体化的解决方案,正好SAP成都研究院Customer Experience 数字创新空间最近做过一个连接了C/4HANA和S/4HANA的原型开发,这里分享给大家。
这个原型开发的编码部分是由数字创新空间的Wen Aviva,Wang Leo和Jerry完成的,前端页面设计和美工由简总负责。王总,雯总和师爷负责设计原型的使用场景,设计过程中也得到了SAP成都研究院的其他多位产品经理的帮助,在此表示感谢。
这个智能服务的场景,用一句话概括就是通过微信作为客户端,让用户能够方便地使用C/4HANA和S/4HANA提供的一体化服务流程。其中C/4HANA这个套件里我们选用了SAP Cloud for Customer(C4C)。
原型开发场景介绍
我们先来看看具体的场景。
1. 有一位叫曾海瑞的客户,是绿野种子集团生产主管。由于公司业务需要,他在网上订购了蓝天机器人有限公司的一款机械臂,并关注了蓝天机器人有限公司的公众号。
根据曾海瑞订单上维护的信息,比如姓名和手机号码等,一旦曾海瑞关注了微信公众号,微信公众号的消息服务器会收到一个subscribe事件,通过消息服务器上的编程触发SAP系统中客户主数据的创建。
根据企业实际情况,如果您想把微信触发客户主数据的创建放在C/4HANA的C4C里,可以参考Jerry的公众号文章 C4C和微信集成系列教程 以及Jerry的同事Li Sean的博客:
Integration of WeChat and C4C Service Ticket on HTML5 Client
如果想把客户主数据放在S/4HANA,那么就把S/4HANA客户主数据的创建函数通过Cloud Connector暴露给微信消息服务器调用。具体做法可以参考Jerry这两篇文章:
2. 蓝天机器人的工作人员把机械臂包装好之后,在包装外壳贴了一个二维码,上面包含了这台机械臂的序列号。每台售出的机械臂,在S/4HANA后台对应一个Equipment实例,而序列号就是Equipment上一个字段。
曾海瑞收到机械臂后,用微信扫描包装上的二维码,就会触发S/4HANA的一个预先开发好的函数,完成这台机械臂的序列号和用户信息的绑定,这样无需蓝天机器人公司的S/4HANA操作人员手工在系统里录入。
二维码扫描完成后,曾海瑞在微信上点击“预约”菜单,即可自助预约蓝天机器人公司的技师进行机械臂的上门安装。
3. 在微信预约上门页面里,曾海瑞的当前地址自动被GPS识别出来,当然他也可以手动修改。因为我们开发人员是在公司里做的测试,所以下图的预约地址显示的是SAP成都研究院数字创新空间的实际地址:
曾海瑞微信里显示的安装技师的清单是通过调用C4C的客户主数据服务生成的。这个服务会在C4C后台自动筛选和曾海瑞指定的预约时间匹配的技师,然后返回给微信。
最终曾海瑞在可选技师列表中选择了颜值最高的一位技师,李晓刚。
李晓刚这个名字不是我们杜撰的,现实中是Jerry的同事,SAP成都研究院C4C开发团队的开发人员Li Sean。
李晓刚的业余爱好除了烹饪之外,还喜欢玩飞镖和读佛经。
曾海瑞在微信上选定李晓刚作为安装技师后,李晓刚手机上的C4C应用程序立即收到一条消息提醒:
你有新的工单。用户预定了上门安装服务,请及时查看工单详情。
李晓刚点击消息提示,进入C4C手机应用的工单明细页面,看到这个机械臂的安装明细信息。
到了曾海瑞预约的日期,在李晓刚出发之前,他可以点击C4C工单界面底部工具栏上的"共享你的位置"按钮,向曾海瑞发起一个实时位置共享。
此时曾海瑞在微信里就可以随时查看李晓刚的实时位置。
5. 李晓刚到达现场完成机械臂安装之后,在自己的C4C手机应用上,点击按钮"推送账单",将本次安装费用的账单明细推送到曾海瑞的微信上。账单里除了本次安装费用后,还包括了该机械臂在S/4HANA系统里维护的和交叉销售(Cross Selling)相关的信息,比如和机械臂配套的喷嘴冲洗枪。
李晓刚和曾海瑞当面沟通后,曾海瑞决定将这个喷嘴冲洗枪也一并购买。于是李晓刚在推送账单之前,将相关产品区域喷嘴冲洗枪前面的勾选框选中,再点击"推送账单"按钮。
曾海瑞微信上收到账单后,确认信息无误后进行支付。当然这里的支付也可以和S/4HANA的billing流程集成,只是这个原型开发我们没有做。
6. 曾海瑞支付完成后,会在手机上看到一个对这次安装服务满意程度的调查问卷。
这里我们直接使用了S/4HANA Survey的数据模型,把调查问卷提交函数通过Cloud Connector暴露出来给微信应用消费。
曾海瑞在微信页面上打了五星好评后,该结果通过S/4HANA的Survey API写入数据库中。
关于用ABAP代码提交S/4HANA Survey数据的更多细节,参考我的博客:
Use ABAP code to fill CRM Survey question and submit
原型开发架构介绍
下面是智能服务原型开发的架构图。
1. 白色图例代表SAP成都研究院数字创新空间的开发人员为这个原型做的开发内容,这些开发包含:
新的代码,比如图中C4C和S/4 API endpoint是我们在Netweaver后台新创建的API。
新的配置,比如在SAP云平台上创建的一些Destination配置。
新的数据模型,比如在S/4HANA创建的CDS view,用于存储用户提交的Survey结果,借助CDS view本身强大的实时数据分析功能进行各种报表的自开发。
更详细的用自开发的CDS view和前台界面来渲染S/4HANA Survey结果的细节,请参考我的博客:
Develop your own Chart to visualize your CRM Survey result
2. 浅绿色图例代表蓝天机器人公司微信公众号的消息服务器,我们部署在阿里云平台上。
3. 深绿色图例代表SAP产品里的标准功能。
Account Management: 曾海瑞关注微信公众号后,在C4C生成一个客户主数据,使用的是C4C Account Maangement提供的OData服务。
Service Ticket: 李晓刚收到的工单和曾海瑞收到的账单我们都用Service Ticket这个模型来实现。
Offline Pricing:因为是原型开发,为简单起见,对于C4C的账单计费需求,我们并未使用和S/4HANA集成的计费方案。
Product Master:S/4HANA的物料主数据通过HANA Cloud Integration同步到C4C中,从而被C4C工单和账单使用。
4. 灰色图例代表这个原型开发里使用到的SAP产品:
C4C
S/4HANA
SAP Cloud Connector
SAP Cloud Platform
这个原型开发从技术上来说,客户曾海瑞,技师李晓刚,C4C和S/4HANA这四个系统之间的时序交互如下图所示:
如果您想了解这个原型开发更详细的技术细节,请联系我。感谢阅读。
更多阅读
SAP C/4HANA到底包含哪些产品:https://zhuanlan.zhihu.com/p/45188119
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例的更多相关文章
- SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例
今天这篇迟到的文章,来自我的同事Aviva. 去年SAP C/4HANA发布之后,SAP的从业者们可能或多或少都读过一些来自SAP官方渠道,比如微信公众号"SAP天天事"发布的一些 ...
- 一些SAP Partners能够通过二次开发实现打通C/4HANA和S/4HANA的方法介绍
有好几位朋友在公众号后台给我留言询问SAP C/4HANA和S/4HANA集成的方案. 尽管我给这些朋友推送了一个方案:打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例,然而我得到的 ...
- 开源一个跨平台运行的服务插件 - TaskCore.MainForm
本次将要很大家分享的是一个跨平台运行的服务插件 - TaskCore.MainForm,此框架是使用.netcore来写的,现在netcore已经支持很多系统平台运行了,所以将以前的Task.Main ...
- 使用MicroService4Net 快速创建一个简单的微服务
“微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...
- APP开发:一个APP开发需要哪些技术人员?
亿合科技小编了解到:国民老公王思聪曾经在一个访谈中谈到过,如果他是一个普通人,他会选择移动互联网去创业,因为做个网站或者App开发门槛较低,做大做强的机会也比较多.小编觉得创业就是投资,重 ...
- [转载]再谈百度:KPI、无人机,以及一个必须给父母看的案例
[转载]再谈百度:KPI.无人机,以及一个必须给父母看的案例 发表于 2016-03-15 | 0 Comments | 阅读次数 33 原文: 再谈百度:KPI.无人机,以及一个必须 ...
- java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器
java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...
- 用一个下午从零开始搭建一个基础lbs查询服务
背景 现在做一个sns如果没有附近的功能,那就是残缺的.网上也有很多现成的lbs服务,封装的很完整了. 我首先用了下百度lbs云,但是有点不适合自己的需要,因此考虑用mongodb建一个简单的lbs服 ...
- [C语言]一个很实用的服务端和客户端进行TCP通信的实例
本文给出一个很实用的服务端和客户端进行TCP通信的小例子.具体实现上非常简单,只是平时编写类似程序,具体步骤经常忘记,还要总是查,暂且将其记下来,方便以后参考. (1)客户端程序,编写一个文件clie ...
随机推荐
- web.xml报错Cannot resolve class 'StrutsPrepareAndExecuteFilter' (idea创建SSH项目)
原因: xwork-core.jar包已经合并到struts2-core.jar下,并且点开jar包,发现没有 org.apache.struts2.dispatcher.ng.filter.Stru ...
- linux中网络编程<1>
1 网络编程API (1)网络层的ip地址可以唯一标识网络中的主机,传输层通过协议+端口唯一标识主机中的应用程序.这样以来使用三元组(地址,协议,端口)标识网络的进程. (2)socket---> ...
- 【Data Structure & Algorithm】求子数组的最大和
求子数组的最大和 题目:输入一个整型数组,数组里有正数和负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值,要求时间复杂度为O(n).例如输入数组为1, - ...
- 关于Angular6版本升级和RXJS6新特性的讲解
从Angular5升级到Angular6, angular6相比较于angular5 总体变化不大,但是在RXJS上面却有一些变动,不得不说,虽然很讨厌break update但是RXJS6的新特性对 ...
- [Xcode 实际操作]一、博主领进门-(2)第一个工程项目:将导入的图片显示到屏幕上
目录:[Swift]Xcode实际操作 本文将演示创建第一个工程项目. 在项目导航区,鼠标右键[Assets.xcassets]资源文件夹. 隔壁右侧区域左下角点击[+],打开资源文件管理菜单-> ...
- 计算机网络自顶向下方法第3章-传输层 (Transport Layer).1
3.1 概述和运输层服务 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication)功能. 3.1.1 运输层和网络层的关系 网络层提供了主机之间的逻辑通信,而 ...
- Promise对象深入理解
目录 基本用法 返回另一个 Promise 实例 Promise.prototypeof.then Promise.prototype.catch Promise.prototype.finally ...
- 11-1模拟赛 By cellur925
期望得分:70+100+60 实际得分:70+20+60 \(qwq\). T1:有一个 \(n\) × \(n\) 的 \(01\) 方格, 图图要从中选出一个面积最大的矩形区域, 要求这个矩形区域 ...
- 康少带你手撸orm
orm 什么是orm? 对象关系映射: 一个类映射成一张数据库的表 类的对象映射成数据库中的一条条数据 对象点数据映射成数据库某条记录的某个值 优点:不会写sql语句的程序员也可以很6的操作sql语句 ...
- kuangbin大佬的高斯消元模板
dalao解释的博客 #include <bits/stdc++.h> using namespace std; ; int a[MAXN][MAXN];//增广矩阵 int x[MAXN ...