Jerry的CRM Middleware(中间件)文章合集

Stella981
• 阅读 803

我在SAP成都研究院做过的CRM中间件的项目其实并不是很多:

1. 2013年下半年和2014年上半年曾经支持过中联重科和蒙牛的CRM项目相关的中间件问题;

2. 2014年上半年做过一个CRM物料主数据的中间件开发项目;

3. 2014年负责CRM物料主数据的维护工作。

这个列表里所有的文章都是我在实际开发或者项目过程中遇到问题后记录下来的心得。2013年直到清明节前,我其实对CRM中间件是一点都不了解的,但是我的老板Poseidon让我把这一块的知识空缺补上,因为将来成都团队需要负责中间件这块的维护和持续开发。

我先把SAP中间件培训教程CR500看了一遍,了解了一些基本概念。但是这个教程讲的比较笼统,对SAP中间件标准开发人员帮助不是很大。

于是2013年清明节的时候,我把CRM物料主数据这个模块收到的SAP内部测试人员报的所有的tickets搜索出来学习了一遍,一共有200多个。有25%的tickets是因为测试人员的配置不正确造成的。我借此又积累了一些如何处理形如"如果遇到XXX的错误消息, 可能是因为YYY配置出错造成"这类问题的经验。 当我把所有内部tickets过了一遍之后,对中间件的框架代码有了一定的了解,成为写下列这些文章的基础。

我遇到使用中间件时报错误信息的这类问题,分析过程也就下列两种办法:

1. 根据错误信息的technical信息作为关键字去Google或者SAP Community上搜索。如果别人也遇到过同样问题,那就能节省很多debug时间。

2. 自己debug。

CRM中间件的上传下载方向的定义,都是以ERP作为主系统(leading system)而言,所以从ERP上抓数据到CRM称为下载,从CRM主动发送数据到ERP称为上传。

以从CRM上触发从ERP系统下载数据为例。如果下载过程不能按照您期望的工作, 那理论上说,出问题的可能性有以下几种:

1. 代码在ERP上从数据库表中抓取数据时不能正常工作: 没有抓取到期望的数据;

2. 代码从ERP数据库表里成功抓取到期望数据之后,在把数据发送给CRM之前,由于种种原因(比如配置), 一部分数据被过滤掉了,根本没有发送到CRM;

3. ERP工作完全正常,期望的数据全部发送到CRM,但是CRM inbound处理时因为配置的原因,在处理这些数据或者试图存储到CRM数据库表时出错。

这三种可能性分别对应下图Point1,2,3。

Jerry的CRM Middleware(中间件)文章合集

调试的关键在于找到针对这三种可能性的调试入口,即在哪里设置断点。下面我的原创文章里有讲述。

点击文末的"阅读原文", 即可在新打开的页面里通过点击超链接直接跳转到对应的文章。

1. Step by step to debug Product Initial Download in CRM system

讲述如何调试第三种可能性: https://blogs.sap.com/2013/11/27/step-by-step-to-debug-product-initial-download-in-crm-system/

2. Step by step to debug Product Initial Download in ERP system

如何调试第一和第二种可能性:https://blogs.sap.com/2013/11/27/step-by-step-to-debug-product-initial-download-in-erp-system/

3. How to debug Product Delta download in ERP and CRM side

如何调试增量下载:

https://blogs.sap.com/2013/11/28/how-to-debug-product-delta-download-in-erp-and-crm-side/

4. How to debug Product initial upload in ERP and CRM system

如何debug上传:

https://blogs.sap.com/2013/11/28/how-to-debug-product-initial-upload-in-erp-and-crm-system/

5. Step by step for IDOC debug

https://blogs.sap.com/2013/12/16/step-by-step-for-idoc-debug/

6. An example to fix Generic stop set error status in tcode SMQ1

使用事务码SMQ1发现outbound队列里状态为STOP的处理方法:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2014/07/28/an-example-to-fix-generic-stop-set-error-status-in-tcode-smq1/

7. How to resolve error message IB_CRM_UPLOAD_MSG 025 in equipment replication

案例分析: 如何处理设备(equipment)下载时的错误信息IB_CRM_UPLOAD_MSG 25

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2014/08/27/how-to-resolve-error-message-ibcrmuploadmsg-025-in-equipment-replication/

8. Step by step to download equipments from ERP with hierarchy

如何把ERP里具有层级结构的多个设备下载到CRM, 并且层级结构在CRM依然得以保持

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2014/09/03/step-by-step-to-download-equipments-from-erp-with-hierarchy/

9. Step by step to upload equipment from CRM to ERP

如何从CRM上传设备到ERP

https://blogs.sap.com/2014/09/18/step-by-step-to-upload-equipment-from-crm-to-erp/

10. An example of how to find database table and field where Material text and product text is stored in ERP and CRM

同一个概念,比如ERP里叫物料(Material), header数据存在表MARA里,而CRM叫产品(Product), header数据存在COMM_PRODUCT里。这篇文章以物料描述信息这一字段为例,介绍如何去查找这个字段分别是在ERP和CRM哪张表里存储的。

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/05/07/an-example-of-how-to-find-database-table-and-field-where-material-text-and-product-text-is-stored-in-erp-and-crm/

11. A small tip about how to find a given Consolidated Database in Middleware

小技巧: 如何找到对应的Consolidated数据库表

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/05/16/a-small-tip-about-how-to-find-a-given-consolidated-database-in-middleware/

12. How to download ERP plant into CRM via request download

https://blogs.sap.com/2016/09/23/how-to-download-erp-plant-into-crm-via-request-download/

13. How to resolve error message Number not in interval XXX - XXX when downloading a customer from ERP

如何处理这个错误信息:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/09/24/how-to-resolve-error-message-number-not-in-interval-xxx-xxx-when-downloading-a-customer-from-erp/

14. How to deal with error message Form of address 0001 not designated for organization

如何处理这个错误信息:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/09/25/how-to-deal-with-error-message-form-of-address-0001-not-designated-for-organization/

15. Why I always see warning message Object is in status Wait when performing a request download

当我们启动下载时,期望的结果是看到下图所示的绿灯,提示我们下载处于运行(Running)状态。但有时我们收到的消息一直是等待(Wait):

Jerry的CRM Middleware(中间件)文章合集

这篇文章介绍如何分析引起等待状态的原因。

https://blogs.sap.com/2016/09/25/why-i-always-see-warning-message-object-is-in-status-wait-when-performing-a-request-download/

16. How to resolve error message Customer classification does not exist when downloading a customer into CRM

如何处理这个错误消息:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/09/25/how-to-resolve-error-message-customer-classification-does-not-exist-when-downloading-a-customer-into-crm/

17. How to resolve error message Distribution channel is not allowed for sales organization when downloading customer material info record from ERP

如何处理这个错误信息:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/09/26/how-to-resolve-error-message-distribution-channel-is-not-allowed-for-sales-organization-when-downloading-customer-material-info-record-from-erp/

18. How to use SAT to measure CRM Middleware inbound processing performance

如何用SAT分析中间件的性能问题

https://blogs.sap.com/2016/10/10/use-sat-measure-crm-middleware-inbound-processing-performance/

19. How to download Service master from ERP to CRM

如何下载Service Master

https://blogs.sap.com/2016/10/10/download-service-master-erp-crm/

20. How to resolve /SAPPSPRO/S_MAT_ENHANC_COMM issue during request download

一个filter引起的奇怪问题: 在调试器里会观察到一个奇怪的表:/SAPPSPRO/S_MAT_ENHANC_COMM

https://blogs.sap.com/2016/10/27/resolve-sappspros_mat_enhanc_comm-issue-request-download/

21. Material Sales Organization and distribution channel mapping logic in middleware

ERP和CRM销售组织和分销渠道的映射关系:

https://blogs.sap.com/2016/10/28/material-sales-organization-distribution-channel-mapping-logic-middleware/

22. How to download material division to CRM

如何下载ERP物料的division:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/10/28/download-material-division-crm/

23. Settype CRMM_PR_SALESA attributes mapping logic between CRM and ERP

https://blogs.sap.com/2016/10/28/settype-crmm_pr_salesa-attributes-mapping-logic-crm-erp/

24. Settype CRMM_PR_SALESG attributes mapping logic between CRM and ERP https://blogs.sap.com/2016/10/31/settype-crmm_pr_salesg-attributes-mapping-logic-crm-erp/

25. Product Sales status handling logic in Middleware

物料销售状态(Sales Status)的映射逻辑

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/11/01/product-sales-status-handling-logic-middleware/

26. How to resolve error message Parent objects have not been downloaded when downloading a BOM from ERP to CRM

如何处理这个错误信息:

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2016/11/14/how-to-resolve-error-message-parent-objects-have-not-been-downloaded-when-downloading-a-bom-from-erp-to-crm/

27. How to download BOM from ERP to CRM – relationship STRSET or BOMITM

如何下载BOM

https://blogs.sap.com/2016/11/27/how-to-download-bom-from-erp-to-crm-relationship-strset-or-bomitm/

28. Step by step to send IDoc data into external receiver via XIF adapter

IDOC和XIF练习

https://blogs.sap.com/2016/12/23/step-by-step-to-send-idoc-data-into-external-receiver-via-xif-adapter/

29. Settype COM_TA_R3_ID – mapping between ERP Equipment and CRM Individual Object

序列号(Serial Number)知识分享

Jerry的CRM Middleware(中间件)文章合集

https://blogs.sap.com/2017/02/08/settype-com_ta_r3_id-mapping-between-erp-equipment-and-crm-individual-object/

30. Another reason that no IDOC is created for BUS_TRANS_MSG although all system configuration are correctly maintained

IDOC排错案例分享: 销售订单成功保存之后,系统没有自动生成对应的BDOC, 怎么办?

https://blogs.sap.com/2017/10/18/another-reason-that-no-idoc-is-created-for-bus_trans_msg-although-all-system-configuration-are-correctly-maintained/

31. BDOC Content Search tool

自己写的根据关键字搜索BDOC的工具,收到一个DBS的同事反馈说很有用。

https://blogs.sap.com/2017/10/27/bdoc-content-search-tool/

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: Jerry的CRM Middleware(中间件)文章合集

Jerry的CRM Middleware(中间件)文章合集

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这