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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 使用事务码VD51和VD52创建和修改Customer Material。下图是我在ERP创建的Material,为其维护了一个Customer Material AOP。

image.png

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

image.png

下载Customer Material的主要配置:

  1. 通过表KNMT的字段KUNNR指定待下载的Customer ID:

image.png

  1. 将ERP的Material 1427先下载到CRM

常见错误

  1. 错误消息Number not in interval XXX - XXX when downloading a customer from ERPimage.png
  2. 这个错误是试图从ERP下载上图编号为3471的Customer。

错误消息:

image.png

为什么错误消息里提到的interval是0000300000 - 0000399999?

当ERP的Customer被下载到CRM时,会创建一个对应的Business Partner的实例。

在这个例子里,通过调试方式得知CRM创建Business Partner时使用的Partner group为0002:

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

解决方案:

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

image.png

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

image.png

之后即可成功下载。

image.png

Customer classification 06 does not exist

image.png

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

image.png

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

image.png

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

image.png

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

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

image.png

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

image.png

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

image.png

在Define Customer Classification维护:

image.png

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

  1. Tax number category does not exist
  2. image.png
  3. 错误消息由于表tfktaxnumtype中没有查到US5对应的配置项,所以在第32行报了错误消息:
  4. image.png
  5. 下一步需要搞清楚为什么US5会被查询到。通过调试,发现US5和JERRY都是从ERP传过来的:
  6. image.png
  7. 解决方案:要么在CRM里为US5维护对应的Tax category,要么清掉ERP的Tax number 5这个字段.
  8. image.png
  9. Distribution channel is not allowed for sales organization
  10. image.png
  11. 通过调试发现错误消息在CRM_PR_SALES_CHECK_DISTR_CHAIN里抛出,原因是因为CRM Sales organization O 50040102和distribution chain 01没有找到对应的ERP端的匹配项
  12. image.png
  13. 错误消息在第71行抛出:
  14. image.png
  15. 当我查看内表st_distr_chains时,发现O 50040102只有Channel 10的组合,而缺少01的组合。
  16. image.png
  17. 解决方案:使用事务码PPOMA_CRM添加缺少的distribution channel 01组合以及所有的division 00, 01和07:
  18. image.png
  19. 然后执行HRBCI_ATTRIBUTES_BUFFER_UPDATE来更新表CRMD_ORGMAN_TEMP:
  20. image.png
  21. 确保缓存表里能看到期望的O 50040102拥有的distribution channel和division的组合。错误消息得以解决。


image.png

Parent not O.K.: BUPA_MAIN

image.png

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

image.png

如果这三个对象有一个下载失败,则无法进行CUST_MAT_INFO的下载。技术上说,就是这三个parent对象在表SMOFDSTAT的对应记录的列DNL_STATUS必须为内容D-done。

在我的例子里,Material对象的状态为A-aborted.因此必须先修复Material下载的错误。

image.png

  1. sales area is not assigned for the header product
  2. image.png
  3. 错误在CRM的COM_IL_PRDSCP_CHECK抛出:
  4. image.png
  5. 因为这个product是从ERP下载的,我们不能在CRM端手动为其维护Distribution Chain:
  6. image.png
  7. 回到ERP,检查表MVKE,发现其实Sales Organization 0001和渠道01已经正确地维护到了这个product上。
  8. image.png
  9. 再回到CRM,检查ERP的Sales organization和渠道的组合0001-01是否在CRM端维护有对应的映射关系。 当我使用事务码PPOMA_CRM维护了缺失的映射关系后,
  10. image.png
  11. 重新进行一次下载,此时能观察到Sales Area这一次被成功下载了:
  12. image.png
  13. 之后也能在CRM UI上看到成功下载的Sales Area相关内容。
  14. image.png
相关文章
|
12月前
|
中间件 开发工具
使用 SAP Fiori Tools 提供的中间件导入本地下载的 SAP UI5 库文件来启动 SAP UI5 应用试读版
使用 SAP Fiori Tools 提供的中间件导入本地下载的 SAP UI5 库文件来启动 SAP UI5 应用试读版
|
5月前
|
中间件 Python
中间件应用Django Middleware(Python)
【5月更文挑战第3天】中间件应用Django Middleware(Python)
60 6
中间件应用Django Middleware(Python)
|
canal Java 中间件
相关软件、中间件、组件下载地址珍藏库
相关软件、中间件、组件下载地址珍藏库
|
10月前
|
小程序 中间件 PHP
laravel5.8(六)中间件(middleware)
中间件,第一次听到这个名字感觉好陌生,这是个啥呀,第三方插件?好像不是。之前也没有遇到过这个玩意啊。 之前使用到的thinkphp5.0以及Yii2.0框架都是没有中间件这一说的。 去thinkphp官网查了一下,要到thinkphp5.1.6才开始支持中间件。实现的方式基本上就是仿照laravel。 一:那么什么时中间件呢: HTTP 中间件提供了为过滤进入应用的 HTTP 请求提供了一套便利的机制。 例如,Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。
74 0
|
中间件
如何开发一个 SAP UI5 Tools 的自定义中间件扩展 - Custom Middleware Extension
如何开发一个 SAP UI5 Tools 的自定义中间件扩展 - Custom Middleware Extension
|
存储 JSON 前端开发
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middleware)的使用EP07
前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middleware)的使用EP07
|
Cloud Native 中间件
《云原生中间件精品案例集下载》电子版地址
云原生中间件精品案例集下载
102 2
《云原生中间件精品案例集下载》电子版地址
|
Scala 开发者
CRM 项目-实现 Customer 类 | 学习笔记
快速学习 CRM 项目-实现 Customer 类
CRM 项目-实现 Customer 类 | 学习笔记
|
5月前
|
消息中间件 存储 负载均衡
消息中间件的选择:RabbitMQ是一个明智的选择
消息中间件的选择:RabbitMQ是一个明智的选择
89 0
|
4月前
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
446 0
下一篇
无影云桌面