今年6月SAP发布C/4HANA之后,有顾问朋友们在微信公众号后台留言,询问C/4HANA如何同SAP的数字化核心S/4HANA系统结合起来,从而打通企业的前后端业务,帮助企业实现数字化转型。

有的顾问朋友们询问有没有具体的案例来体现这种前后端一体化的解决方案,正好SAP成都研究院Customer Experience 数字创新空间最近做过一个连接了C/4HANA和S/4HANA的原型开发,这里分享给大家。

这个原型开发的编码部分是由数字创新空间的Wen AvivaWang LeoJerry完成的,前端页面设计和美工由简总负责。王总,雯总师爷负责设计原型的使用场景,设计过程中也得到了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这四个系统之间的时序交互如下图所示:

如果您想了解这个原型开发更详细的技术细节,请联系我。感谢阅读。

更多阅读

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

打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例的更多相关文章

  1. SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例

    今天这篇迟到的文章,来自我的同事Aviva. 去年SAP C/4HANA发布之后,SAP的从业者们可能或多或少都读过一些来自SAP官方渠道,比如微信公众号"SAP天天事"发布的一些 ...

  2. 一些SAP Partners能够通过二次开发实现打通C/4HANA和S/4HANA的方法介绍

    有好几位朋友在公众号后台给我留言询问SAP C/4HANA和S/4HANA集成的方案. 尽管我给这些朋友推送了一个方案:打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例,然而我得到的 ...

  3. 开源一个跨平台运行的服务插件 - TaskCore.MainForm

    本次将要很大家分享的是一个跨平台运行的服务插件 - TaskCore.MainForm,此框架是使用.netcore来写的,现在netcore已经支持很多系统平台运行了,所以将以前的Task.Main ...

  4. 使用MicroService4Net 快速创建一个简单的微服务

    “微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...

  5. APP开发:一个APP开发需要哪些技术人员?

          亿合科技小编了解到:国民老公王思聪曾经在一个访谈中谈到过,如果他是一个普通人,他会选择移动互联网去创业,因为做个网站或者App开发门槛较低,做大做强的机会也比较多.小编觉得创业就是投资,重 ...

  6. [转载]再谈百度:KPI、无人机,以及一个必须给父母看的案例

    [转载]再谈百度:KPI.无人机,以及一个必须给父母看的案例 发表于 2016-03-15   |   0 Comments   |   阅读次数 33 原文: 再谈百度:KPI.无人机,以及一个必须 ...

  7. java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器

    java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...

  8. 用一个下午从零开始搭建一个基础lbs查询服务

    背景 现在做一个sns如果没有附近的功能,那就是残缺的.网上也有很多现成的lbs服务,封装的很完整了. 我首先用了下百度lbs云,但是有点不适合自己的需要,因此考虑用mongodb建一个简单的lbs服 ...

  9. [C语言]一个很实用的服务端和客户端进行TCP通信的实例

    本文给出一个很实用的服务端和客户端进行TCP通信的小例子.具体实现上非常简单,只是平时编写类似程序,具体步骤经常忘记,还要总是查,暂且将其记下来,方便以后参考. (1)客户端程序,编写一个文件clie ...

随机推荐

  1. android实例3:拖动条

    个人网站http://www.ravedonut.com/ 拖动条改变图片的透明度 xml <LinearLayout xmlns:android="http://schemas.an ...

  2. CF-798B

    B. Mike and strings time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  3. 使用jdk获取网页

    参考:https://www.zhihu.com/question/30626103 由于例子比较老了,现在的百度抓不到完整的页面了 import java.io.BufferedReader; im ...

  4. 创建Python本地副本

    创建本地副本后可以避免解释器找不到模块的情况. 1. 创建一个测试用的pl.py def printTest(): print("this is a test") 2. 将pl.p ...

  5. sql #与$的区别

    #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是i ...

  6. Swift协议中类继承协议的mutating问题

    之前实际开发的时候遇到的一个小问题,网上也没有找到相关说明.本来当时弄明白了想着记下来的,但是比较忙就耽搁了,趁今天休息记录一下. 首先,我们看一下下面这个两数之和的协议 protocol Test: ...

  7. springboot与shiro和mybatis和mysql

    测试项目已上传到GitHub:https://github.com/xiaostudy/springboot_shiro_test1 1.创建springboot项目 <!-- 数据库连接池 - ...

  8. CF1175E Minimal Segment Cover 题解

    题意:给出\(n\)个形如\([l,r]\)的线段.\(m\)次询问,每次询问区间\([x,y]\),问至少选出几条线段,使得区间\([x,y]\)的任何一个部位都被至少一条线段覆盖. 首先有一个显然 ...

  9. 黑马MySQL数据库学习day01 安装多个版本MySQL mysqld.exe工具

  10. UILabel和UIbutton(富文本)封装方法

    /** 方法说明:设置label的富文本属性 参数说明:contentStr富文本内容 textColor字体颜色 rangeSet设置字体颜色及大小的位置 */ - (UILabel *)backf ...