一种轻量级的C4C业务数据同步到S4HANA的方式:Odata通知-阿里云开发者社区

开发者社区> jerrywangsap> 正文

一种轻量级的C4C业务数据同步到S4HANA的方式:Odata通知

简介:
+关注继续查看

SAP Cloud for Customer和SAP其他传统产品的同步,除了使用SAP Netweaver Process Integration和SAP HANA Cloud Integration外,还有一些轻量级的同步方式。

本文介绍其中一种,C4C OData通知(Notification)。

  1. 登录C4C系统,工作中心Administrator,工作中心视图General Settings:

选择OData: Event Notification to External Systems

假设A6P是我的CRM系统,client为213,我期望的同步场景是:C4C上一旦有新的Opportunity创建成功,就会自动同步到CRM去。

为此,我需要创建一个新的consumer,维护一个endpoint:https:// host name>/sap/bc/bsp/sap/crm?sap-client=213,

这个endpoint指向的ICF服务需要在CRM系统A6P/213创建,负责响应C4C系统Opportunity的创建。

在Subscription标签页,选择Opportunity对应的Business Object和OData服务。因为我只希望CRM监控到C4C Oppportunity的创建和更新,因此我只勾选Create和Update两个checkbox。

  1. 到CRM系统使用事务码SICF在路径/sap/bc/bsp/sap/crm下面创建一个新的ICF服务:

创建一个新的处理类:

开发如下的ABAP代码:

METHOD if_http_extension~handle_request.
DATA(lv_payload) = server->request->get_cdata( ).
CALL METHOD zcl_c4c_crm_integration_tool=>parse_json_to_internal_table
EXPORTING
iv_json = lv_payload
IMPORTING
et_node = DATA(lt_node).

READ TABLE lt_node ASSIGNING FIELD-SYMBOL(<event>) WITH KEY attribute = 'event'.

DATA(lv_event) = <event>-value.

READ TABLE lt_node ASSIGNING FIELD-SYMBOL(<opp>) WITH KEY attribute = 'odataServiceEndpoint'.

DATA(lv_opp_detail) = zcl_c4c_crm_integration_tool=>get_opp_detail( <opp>-value ).
CLEAR: lt_node.
CALL METHOD zcl_c4c_crm_integration_tool=>parse_json_to_internal_table
EXPORTING
iv_json = lv_opp_detail
IMPORTING
et_node = lt_node.
ENDMETHOD.

zcl_c4c_crm_integration_tool这个类的完整代码,参考我的Github

现在回到C4C系统,随便修改一个Opportunity,比如修改name字段,将值改为 “Jerry change demo”:

然后C4C系统里注册的CRM的endpoint指向的ICF服务的handler处理类的HANDLE_REQUEST会自动被调用:C4C发生修改的Opportunity的ID和修改类型(新建还是更新)也会自动从C4C传入CRM。

Opportunity的明细也包含在内。可以通过这些信息用One Order API比如CRM_ORDER_MAINTAIN在CRM里创建或者更新对应的Opportunity。

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
将数据从服务器端同步到手机上, 并且需要离线工作,Couchebase Mobile 也许是目前最好的解决方案:
将数据从服务器端同步到手机上, 并且需要离线工作,Couchebase Mobile 也许是目前最好的解决方案: 原文地址: https://www.infinum.co/the-capsized-eight/articles/server-client-syncing-for-mobile-a...
1368 0
后疫情时代,AnalyticDB如何助力企业实现业务增长和创新
7月23日,阿里云全新升级新一代云原生数据仓库AnalyticDB,达摩院数据库首席科学家、阿里云智能数据库事业部总负责人李飞飞重磅发布了“万仓计划”,助力每个企业拥有属于自己的云原生数据仓库。今天小编为您深度解读云原生数据仓库AnalyticDB的全新升级特性。
318 0
基于大数据开发套件的增量同步策略
因为近期遇到用户在做ETL操作导入数据到MaxCompute的时候,对如何设置数据同步策略有疑惑,所以今天第一波我们来聊一下数据的同步策略,根据数据的特性,看看哪些数据适合增量同步,哪些适合全量同步,又是如何实现的?请认真看完下面的介绍,这些问题都不是事儿。
4339 0
企业数据创新之旅——高性能NAS助力业务上云
在2018年云栖大会·南京峰会的飞天技术汇专场中,阿里云产品专家王登宇带来了题为《企业数据创新之旅——高性能NAS助力业务上云》的精彩技术分享。在分享中,他首先介绍了企业上云面临的困难和阿里云存储之路;随后对NAS文件存储产品家族的技术架构和适用场景进行了分析;分享最后,他结合基因、视频、AI等具体客户对NAS助力业务上云进行了详细讲解。
8732 0
Data Lake Analytics助力加和科技广告智能业务 - 性能提升4倍+,临时业务需求承接率提升200%+
阿里云Data Lake Analytics助力加和科技广告智能业务 - 性能提升4倍+,临时业务需求承接率提升200%+
2241 0
手机淘宝短视频业务「哇哦视频」迁移上 FaaS 笔记公开
在看了那么多“技术原理/顶层设计/平台建设”相关的文章之后,我相信你对 FaaS 肯定产生过跃跃欲试的感觉,但也肯定存在诸多疑惑。关于这些疑惑,经过了这四个月的考验,我想我已经有了自己的答案。接下来我将会向大家分享我这四个月的历程,带大家一起看看,在一名一线业务同学的眼中,FaaS 究竟会给前端同学带来什么?
341 0
RDS数据库与自建库的gtid主从同步
一、在centos7上部署MySQL数据库1、从MYSQL官网下载安装文件wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.
1840 0
iOS两个线程间嵌套发送同步消息
 先上代码,主要逻辑可看注释。最好是直接下载demo再往下看了。demo下载地址:http://download.csdn.net/detail/hursing/5159144 @implementation ViewController #d...
873 0
Netflix开源面向稀疏数据优化的轻量级神经网络库Vectorflow
在Netflix公司,我们的机器学习科学家在多个不同的领域处理着各种各样的问题:从根据你的爱好来定制电视和推荐电影,到优化编码算法。我们有一小部分问题涉及到处理极其稀疏的数据;手头问题的总维度数很容易就能达到数千万个特征,即使每次要看的可能只是少数的非零项。
4234 0
+关注
2628
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载