随笔 - 207  文章 - 0  评论 - 508 

  随着公司发展,所使用的系统越来越多.ERP系统使用SAP,CRM系统使用SIEBEL,系统之间共享及交换数据在所难免.下面就我所了解到的SAP与SIEBEL集成的方案做下介绍.

  为何系统间要进行数据共享及交换?盖因为系统各自的功能侧重不同.如CRM系统侧重管理客户/销售/业绩等信息用于对产品的销售等进行分析,客户数据就比较全面,而物料信息则只需要使用客户交易时用到的物料即可;ERP系统中存储的客户范围较窄,只存储了与公司有直接交易的合同客户,对物料来说,因为ERP系统包括对生产进行管控,所以原料/半成品等物料信息也需要进行管理.即,ERP系统中的客户是CRM系统中客户的子集,CRM中物料是ERP系统中物料的子集.如果两边一起维护数据,很容易造成混乱,最好的方法就是在一端维护后,通过程序直接传递致另一个系统.如ERP系统中维护物料数据,再将CRM系统中需要的物料同步至CRM系统.

  方式有同步异步之分.同步即A端向B端发出请求或发送数据后,B端立即进行处理,并可返回处理结果等信息;异步则不一定立即进行处理,请求会排队等待处理,并且一般不返回处理结果.

  1.   同步的集成方式主要是BAPI的调用,也就是RFC函数的调用.在SAP中表现为SE37创建FUNCTION,标记为RFC函数,SIEBEL端进行调用.当然,SAP也可以调用SIEBEL提供的FUNCTION,但目前还没有使用过这种方式.轻量级,优点在于可以立即返回处理结果,对实时性要求比较高的,或要求返回值的比较适用;但SAP系统中BAPI函数或自定义RFC函数被调用并没有留下记录,不知道执行结果如何(BASIS也许能找到调用LOG?).
  2.   异步的集成方式,我主要使用了IDOC方式.使用IDOC方式,SAP端要先定义一个IDOC数据结构,系统在传输数据时,会将数据串成一串,向外系统发送(如果是inbound,则会将接收到的串按相应结构解析),外系统接收到后,按照约定格式解析出每个字段的值,并进行相应处理即可.IDOC可一次发送一条或多条,进入相应的处理队列,等待处理.量级比BAPI方式略重(但过于大量的数据数据不是很理想),优点是每个IDOC的出入站都有记录,数据信息及控制信息都很容易找到,便于追踪数据的同步更新结果,便于跟踪调试.
posted on 2011-06-07 23:13 小猪凯 阅读(...) 评论(...) 编辑 收藏