CRM和ECC(or S4)订单同步
我是参考了这两个帖子,非常 棒的帖子,前人栽树,后人乘凉,传播正能量哈https://wiki.scn.sap.com/wiki/display/CRM/How+is+the+sales+order+data+replicated+from+CRM+to+ECC
https://blogs.sap.com/2015/07/04/sales-order-custom-field-mapping-from-crm-to-ecc/
debug了一遍,基本就是这样的,先生成BDOC,然后BDOC在FILL BAPI的参数前有MAPPING,在之后也有增强,前面不管怎么转换,最终就是调ECC的BAPI_SALESDOCU_PROXY_UPLOAD函数同步订单的。了解了这个套路,出现问题很容易想像到在哪里查在哪里改。
如果只是现有字段的转换逻辑,或是mapping逻辑的增强,增强这个方法,IF_EX_CRM_DATAEXCHG_BADI~CRM_DATAEXCH_AFTER_BAPI_FILL,按个内表找吧,总有一个你需要的,这里基本可以解决90%的需求了。
如果有增强字段,就另外10%了,其实还是这个BADI还是这个方法,把要增强的字段填充到这个内表ct_bapiparex,需要注意一点的是这个是这个内表的结构因为同时要给idoc用,所以可增强字段的总长度也只有960,就是那4个valuepart,增强加起来不要超过960个字符,这里把要增强的字段放进去,在ECC里用下面这个BADI,增强它的MOVE_EXTENSIONIN方法,这里VBAK\VBAP\VBEP\VBPA\KONV都可以改,用IT_EXTENSIONIN传进来的数据,修改几个CT内表,注意,要在这里用呢,要对几个表、结构进行字段增强,比如要加的字段在VBAP里,就是订单的行项目字段,那就要行在VBAP里APPEND新的字段,然后BAPE_VBAP\BAPE_VBAPX、VBAPKOZ\VBAPKOZX、这几个结构也append对应字段。上面成对出现的结构就不用解释了,怎么增强你懂的。
不懂的可以微信我 wb21648513