SAP云为客户和SAP其他传统产品的同步,除了使用SAP Netweaver流程集成和SAP HANA云集成外,还有一些轻量级的同步方式。
本文介绍其中一种,C4C OData通知(通知)。
-
<李>
登录C4C系统,工作中心管理员,工作中心视图一般设置:
李>选择OData:外部系统的事件通知
假设A6P是我的CRM系统,客户为213,我期望的同步场景是:C4C上一旦有新机会的创建成功,就会自动同步到CRM去。
为此,我需要创建一个新的消费者,维护一个端点:https://
这个端点指向ICF的服务需要在CRM系统A6P/213创建,负责响应C4C系统机会的创建。
在订阅标签页,选择机会对应的业务对象和OData服务。因为我只希望CRM监控到C4C Oppportunity的创建和更新,因此我只勾选创建和更新两个复选框。
-
<李>
到CRM系统使用事务码SICF在路径/sap/bc/bsp/sap CRM下面创建一个新ICF的服务:
李>
创建一个新的处理类:
开发如下的ABAP代码:
<前> METHOD if_http_extension ~ handle_request。 数据(lv_payload),=,服务器→请求→get_cdata (,)。 CALL METHOD  zcl_c4c_crm_integration_tool=祝辞parse_json_to_internal_table 出口 iv_json =lv_payload 进口 时间=et_node 数据(lt_node)。 READ TABLE  lt_node ASSIGNING  FIELD-SYMBOL (& lt; event>), WITH KEY attribute =, & # 39;事件# 39;。 数据(lv_event),=, & lt; event>价值。 READ TABLE  lt_node ASSIGNING  FIELD-SYMBOL (& lt; opp>), WITH KEY attribute =, & # 39; odataServiceEndpoint& # 39;。 数据(lv_opp_detail),=, zcl_c4c_crm_integration_tool=祝辞get_opp_detail (, & lt; opp> -value )。 明确:lt_node。 CALL METHOD  zcl_c4c_crm_integration_tool=祝辞parse_json_to_internal_table 出口 iv_json =lv_opp_detail 进口 et_node =lt_node。 ENDMETHOD。 >之前zcl_c4c_crm_integration_tool这个类的完整代码,参考我的 Github
现在回到C4C系统,随便修改一个机会,比如修改名字字段,将值改为“杰瑞改变演示”:
然后C4C系统里注册的CRM的端点指向ICF的服务的处理程序处理类的HANDLE_REQUEST会自动被调用:C4C发生修改的机会的ID和修改类型(新建还是更新)也会自动从C4C传入CRM。