CRM 系统里销售订单模型的 Item Category 的计算逻辑解析

举报
汪子熙 发表于 2021/10/13 22:54:26 2021/10/13
【摘要】 One Order的行项目里有个字段叫Item Category,我们在行项目里加入一个product后,就会自动带出Item Category来。这个值是怎么计算出来的?检查CRMD_ORDERADM_I,能发现后台OBJECT_TYPE字段存储的值为BUS2000130.Item Category Determination的配置:在我的例子里,我创建的Opportunity的Trans...

One Order的行项目里有个字段叫Item Category,我们在行项目里加入一个product后,就会自动带出Item Category来。这个值是怎么计算出来的?

检查CRMD_ORDERADM_I,能发现后台OBJECT_TYPE字段存储的值为BUS2000130.

Item Category Determination的配置:

在我的例子里,我创建的Opportunity的Transaction type为OPPT,我插入行项目的Product "JerryWang"上维护的item category的值为NORM。因此按照上图的配置,会自动带出OPPT - Opportunity Item。而OPPT对应的object type BUS2000130维护在如下配置里:

具体细节可以通过调试函数CRM_ORDER_ITEM_TYPE_SELECT_CB来理解.

关键字

CRMD_ORDERADM_I, OBJECT_TYPE, CRM_ORDER_ITEM_TYPE_SELECT_CB

另外,如何处理错误信息 Pricing procedure could not be determined?

当给一个SAP CRM Quotation文档的行项目维护一个产品时,遇到如下错误信息:

When I inserted one product to a quotation, I meet with the following error message: Pricing procedure could not be determined

通过调试得知错误消息在function module CRM_PRIDOC_COM_PRCPROC_DET_SEL第55行抛出:

在subroutine DETERMINE_PROCEDURE内,得知CRM系统里计算出一个对应的pricing procedure需要5个输入参数,依次列于第81行到85行:

  • Sales Organization ID

  • distribution channel ID

  • division ID

  • custom pricing procedure标志位

  • document pricing procedure

这5个参数联合起来得出的pricing procedure的名称存储在第87行的输出参数ls_prcproc_det里。

错误消息的解决方案

根据调试得出的5个输入参数的值,到SPRO里维护一个pricing procedure即可。这里我使用的procedure为0CRM02。

Document pricing procedure的值A意为Standard。

如下是我维护的Procedure,之后错误消息消失。

我们在product overview page里能看到很多的assignment block。但是runtime的时候真正显示出来的内容只是configuration里面看到内容的一个子集。

Product category能够assign很多settype和relationship,每个settype和relationship都对应一个UI view.

runtime的时候,我们会根据product category找到上面assign的settype和relationship,再把对应的UI以assignment block的形式显示出来。具体逻辑:

(1) 首先在这个方法GET_LIST_OF_STATIC_VIEWS里拿到Workbench configuration里面看到的view list:

(2) 这个GET_VIEWS_TO_DISPLAY方法会determine出运行时真正应该显示给最终用户看的view list:

调试GET_VIEWS_TO_DISPLAY能获得更多信息。

首先找到product的category分配的settype和relationship list:

表CRMC_PRIL_UIU存放了settype和UI view的映射关系:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。