`
JerryWang_SAP
  • 浏览: 1043923 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

利用CRM中间件Middleware从ERP下载Customer Material的常见错误

阅读更多

使用事务码VD51和VD52创建和修改Customer Material。
下图是我在ERP创建的Material,为其维护了一个Customer Material AOP。

 

当下载到CRM后,在WebClient UI上显示如下:

 

 

 

 

下载Customer Material的主要配置:

    1. 通过表KNMT的字段KUNNR指定待下载的Customer ID:
 
    1. 将ERP的Material 1427先下载到CRM

常见错误

    1. 错误消息Number not in interval XXX - XXX when downloading a customer from ERP


       

这个错误是试图从ERP下载上图编号为3471的Customer。
错误消息:

 

 

为什么错误消息里提到的interval是0000300000 - 0000399999?
当ERP的Customer被下载到CRM时,会创建一个对应的Business Partner的实例。
在这个例子里,通过调试方式得知CRM创建Business Partner时使用的Partner group为0002:

 

 

 

查看0002对应的number range设置为07:

 


而07对应的interval即为错误消息里提到的范围:

 


解决方案:把0002对应的number range改为03

 
    1. 错误消息Form of address 0001 not designated for organization


       

通过调试CRM_BUPA_MAIN_VAL,发现错误消息在第34行抛出:

 

 

 

虽然这个Customer实例被判定成一个Organization(因为category字段为2),但是PERSON的字段被置位,而不是ORGANIZATN字段,因此出现这个错误消息。

 


解决方案:

在ERP事务码SM30里,打开view V_TSAD3,把0003标记为Organization:

 

 

 

然后把Customer 3471的title从Ms改成Company:

 


之后即可成功下载。

 
    1. Customer classification 06 does not exist 


      通过调试发现该错误信息是下图第22行抛出的,因为在表crmc_classif里找不到对应的配置项:

 

 

可以在Define Customer Class里维护这个配置表:

 

 

在我的系统里,没有06这个classification对应的配置项。

 


首先要搞清楚代码里的这个06从哪里来的?

在BAPI_CRM_SAVE里设置断点,在调试器里把变量BAPISTRUCTURES的内容下载到本地,用excel打开,搜索关键字06,发现06出现在结构BSS_S040:

 

 

然后对这个结构使用"where used list",发现classification的数据来自KUKLA.

 

 
 

 

classification是在ERP Customer维护界面的Marketing项维护的:

 

 

在Define Customer Classification维护:

 

 
 

 

解决方案:要么像上图所示在CRM里维护06对应的classification,要么将ERP里对应的字段设置为空。

    1. Tax number category does not exist


       

错误消息由于表tfktaxnumtype中没有查到US5对应的配置项,所以在第32行报了错误消息:

 

 

 

下一步需要搞清楚为什么US5会被查询到。通过调试,发现US5和JERRY都是从ERP传过来的:

 
 

 

解决方案:要么在CRM里为US5维护对应的Tax category,要么清掉ERP的Tax number 5这个字段.

 

 
    1. Distribution channel is not allowed for sales organization


       

      通过调试发现错误消息在CRM_PR_SALES_CHECK_DISTR_CHAIN里抛出,原因是因为CRM Sales organization O 50040102和distribution chain 01没有找到对应的ERP端的匹配项.


       

错误消息在第71行抛出:

 

 

 

当我查看内表st_distr_chains时,发现O 50040102只有Channel 10的组合,而缺少01的组合。

 

 

解决方案:使用事务码PPOMA_CRM添加缺少的distribution channel 01组合以及所有的division 00, 01和07:

 

 

 

然后执行HRBCI_ATTRIBUTES_BUFFER_UPDATE来更新表CRMD_ORGMAN_TEMP:

 

 


确保缓存表里能看到期望的O 50040102拥有的distribution channel和division的组合。错误消息得以解决。

 
    1. Parent not O.K.: BUPA_MAIN


       

原因: CUST_MAT_INFO这个下载对象有三个父下载对象。

 

 

如果这三个对象有一个下载失败,则无法进行CUST_MAT_INFO的下载。技术上说,就是这三个parent对象在表SMOFDSTAT的对应记录的列DNL_STATUS必须为内容D-done。
在我的例子里,Material对象的状态为A-aborted.因此必须先修复Material下载的错误。

 

 
    1. sales area is not assigned for the header product
 

错误在CRM的COM_IL_PRDSCP_CHECK抛出:

 

 

因为这个product是从ERP下载的,我们不能在CRM端手动为其维护Distribution Chain:

 

 

回到ERP,检查表MVKE,发现其实Sales Organization 0001和渠道01已经正确地维护到了这个product上。

 

 


再回到CRM,检查ERP的Sales organization和渠道的组合0001-01是否在CRM端维护有对应的映射关系。 当我使用事务码PPOMA_CRM维护了缺失的映射关系后,

 

 

重新进行一次下载,此时能观察到Sales Area这一次被成功下载了:

 

 

之后也能在CRM UI上看到成功下载的Sales Area相关内容。

 

 
 
0
0
分享到:
评论

相关推荐

    CRM500 Middleware Overview

    CRM500 Middleware 是SAP公司推出的一款中间件产品,旨在为企业的客户关系管理(CRM)系统提供强大的中间层支持。该中间件设计用于集成企业内部的各种业务系统和服务,并与外部客户进行高效交互。 #### 二、技术...

    中间件middleware

    ### 中间件(Middleware)概览 #### 一、中间件定义及作用 中间件是一种设计用于帮助管理和解决分布式系统中的复杂性和异构性问题的软件技术。它被定义为位于操作系统之上、应用程序之下的软件层,为分布式系统...

    SAP CRM同步问题记录

    在SAP CRM(客户关系管理)系统中,同步问题往往是由于不同组件间的通信故障或配置错误导致的。本文将深入探讨两个具体的问题及其解决方案,帮助用户理解和处理SAP CRM中的同步异常。 首先,我们遇到的第一个问题是...

    ERP系统信息化资料:SAP专业培训教材 SAP ERP MCS CRM MiddleWare.ppt

    ERP系统信息化资料:SAP专业培训教材 SAP ERP MCS CRM MiddleWare.ppt

    SAP MIDDLEWARE PA教材

    1. 系统集成:通过中间件,可以将CRM系统与SAP ERP、SAP BW、SAP SCM等其他SAP产品或第三方系统集成。 2. 数据同步:确保不同系统间的数据实时、准确同步,以支持业务流程的一致性。 3. 工作流自动化:通过中间件...

    SAP CRM Middleware Common Transactions.pdf

    SAP CRM Middleware 报错往往通过中间件消息无法完全知悉情况,辅助信息是很有必要的,以下是一些比较重要的事务码,辅助帮助大家查找问题 When checking Middleware problems, a review of configuration is ...

    移动中间件,middleware: jini soap RMI 课件

    通过学习这些课件,读者不仅可以理解中间件在移动计算中的作用,还能掌握如何利用Jini、SOAP和RMI来设计和实现高效的分布式系统。对于IT专业人员来说,理解和掌握这些技术对于开发可靠的、可扩展的和跨平台的移动...

    Node.js代理中间件http-proxy-middleware.zip

    http-proxy-middleware 是一套 Node.js 代理中间件 for connect, express 和 browser-sync。安装$ npm install --save-dev http-proxy-middleware配置var proxyMiddleware = require('http-proxy-middleware'...

    Django框架之中间件MiddleWare的实现

    Django框架中的中间件(MiddleWare)是一种强大的工具,它允许开发者在请求处理流程的各个阶段插入自定义逻辑,从而扩展Django的功能。中间件在处理请求和响应时起到一个拦截器的作用,使得开发者能够在不修改视图或...

    深入理解Django的中间件middleware

    在Django的settings.py文件中,MIDDLEWARE配置项是一个列表,用于声明项目中激活的中间件类。配置的顺序非常重要,因为中间件是按照列表中定义的顺序一层层执行的。中间件的依赖性决定了其执行顺序,有些中间件需要...

    Django教程笔记之中间件middleware详解

    中间件介绍 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。 每个中间件都会...

    RFID middleware资料(RFID中间件)

    8. **OSGi-based Reconfigurable RFID Middleware**:基于OSGi(Open Services Gateway Initiative)的可重构RFID中间件利用OSGi服务框架实现模块化和动态配置,使得中间件能够轻松地添加或移除服务,以应对不同场景...

    Middleware

    5. **容器化**:利用容器技术提高中间件的部署效率和资源利用率。 总之,中间件作为连接操作系统和应用程序的关键技术,在分布式计算领域扮演着至关重要的角色。随着技术的不断演进,中间件将继续发挥其重要作用,...

    Node.js-http-proxy-middleware用于把请求代理转发到其他服务器的中间件

    4. **错误处理**:当代理过程中发生错误时,`http-proxy-middleware` 提供了错误处理机制,可以捕获并处理这些错误,避免应用程序崩溃。 5. **浏览器同步**:对于前端开发环境,`http-proxy-middleware` 可以与 ...

    MDK middleware 中间件

    - **MDK中间件**是指在MDK IDE环境下使用的特定中间件库或框架,它们提供了各种高级功能,如实时操作系统支持、USB主机功能等。 ### 2. 基础工程的创建 创建一个名为“STM32F429_CMSIS”的工程需要经历以下步骤: ...

    Django框架教程之中间件MiddleWare浅析

    主要给大家介绍了关于Django框架教程之中间件MiddleWare的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django框架具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    middleware, APItools中间件存储库.zip

    middleware, APItools中间件存储库 APItools中间件存储库 这是你可以在APItools流量监视器中使用的中间件的集合。 要么是在前提下,要么是云 。你可以使用几乎所有的标准库( ),并且有一些例外。创建中间件我们提供...

Global site tag (gtag.js) - Google Analytics