当前位置:网站首页>SAP CRM organization Model(组织架构模型)自动决定的逻辑分析
SAP CRM organization Model(组织架构模型)自动决定的逻辑分析
2022-07-01 15:19:00 【华为云】
看一下标准的OPPT是如何determine organization的:
查看Transaction Type OPPT的配置,找到Organization Data Profile:
SPRO->CRM->Transactions->Basic Settings->Define Transaction Types

发现配的profile为000000000005,双击进入,找到对应的profile:

可以看到对应的Organizational Model Determin. Rule为10000144, 而Responsibilities Determin. Rule没有配。
参考CR100上的解释:

Organizational Model Rule是需要根据search的结果来确定Organizational Unit. Responsibilities Rule是直接指定对应的Organizational Unit.
查看Determination Rule:
SPRO->CRM->Master Data->Organizational Management->Organizational Data Determination->Maintain Determination Rules

找到对应的10000144的rule:
可以看到对应的determination用的FM是CRM_ORGMAN_ORGOBJECTS_FIND_4
点击Container tab可以看到rule 10000144配置的parameter:

说明在执行FM CRM_ORGMAN_ORGOBJECTS_FIND_4需要的两个参数为BP Number和Transaction Type:
SPRO文档里面有对标准的determination function的解释:

前两个是针对Sales Transaction的,后两个是Service Transaction,根据解释FM CRM_ORGMAN_ORGOBJECTS_FIND_4是根据BP的Sales Area来查找对应的Organizational Unit。
进入CRM_ORGMAN_ORGOBJECTS_FIND_4的代码:
从Container里面拿到BP Number, 在根据BP Number拿到对应的GUID:

根据BP GUID获取对应的Sales Area:

从CRMM_BUT_LNK0011表里面拿BP Number对应的Sales Area

上一步没有找到Sales Area的情况下从CRMM_BUT_LNK0031表里面拿

E.g. 拿到BP 4103080的Sales Area:

上面讲到的Container配的另外一个参数Transaction Type在这里只是用来检查根据BP Number拿到的Sales Area是否valid:

然后调用FM CRM_ORGMAN_ORGOBJECTS_FIND_1根据Sales Area的attribute来查找organization。参考上面的文档,CRM_ORGMAN_ORGOBJECTS_FIND_1其实是一个通用的根据organization attribute来查询的FM

这里的attribute就是Organizational Unit在Web UI里面维护的attribute:

注意在这里并没有用Transaction Type去直接跟Organizational Unit维护的Transaction Type attribute作比较。
E.g. 最后根据BP 4103080得到的Organization为50000732:

还有一个更抽象的查询Org的API FM: CRM_ORGMAN_DETERMINE_ORGOBJS,该API返回sales areas结果集。
边栏推荐
- Apk signature principle
- Opencv learning notes 5 -- document scanning +ocr character recognition
- 贝联珠贯加入龙蜥社区,共同促进碳中和
- Sort out the four commonly used sorting functions in SQL
- 【STM32-USB-MSC问题求助】STM32F411CEU6 (WeAct)+w25q64+USB-MSC Flash用SPI2 读出容量只有520KB
- Tableapi & SQL and Kafka message insertion in Flink
- leetcode:329. Longest increasing path in matrix
- What data capabilities do data product managers need to master?
- 采集数据工具推荐,以及采集数据列表详细图解流程
- 做空蔚来的灰熊,以“碰瓷”中概股为生?
猜你喜欢

竣达技术丨多台精密空调微信云监控方案

雷神科技冲刺北交所,拟募集资金5.4亿元

S32K1xx 微控制器的硬件設計指南

MySQL 服务正在启动 MySQL 服务无法启动解决途径

Qt+pcl Chapter 9 point cloud reconstruction Series 2

Qt+pcl Chapter 6 point cloud registration ICP Series 2

openssl客户端编程:一个不起眼的函数导致的SSL会话失败问题

《QT+PCL第六章》点云配准icp系列2

厦门灌口镇田头村特色农产品 甜头村特色农产品蚂蚁新村7.1答案

"Qt+pcl Chapter 6" point cloud registration ICP Series 6
随机推荐
Tableapi & SQL and MySQL insert data of Flink
[lock] redis lock handles concurrency atomicity
solidty-基础篇-基础语法和定义函数
数字化转型:数据可视化赋能销售管理
The difference between arrow function and ordinary function in JS
Introduction to MySQL audit plug-in
采集数据工具推荐,以及采集数据列表详细图解流程
TS报错 Don‘t use `object` as a type. The `object` type is currently hard to use
《QT+PCL第六章》点云配准icp系列5
三十之前一定要明白的职场潜规则
MySQL service is starting. MySQL service cannot be started. Solution
【ROS进阶篇】第五讲 ROS中的TF坐标变换
How to realize clock signal frequency division?
点云重建方法汇总一(PCL-CGAL)
What are the test items of juicer ul982
Opencv Learning Notes 6 -- image feature [harris+sift]+ feature matching
Can I choose to open an account on Great Wall Securities? Is it safe?
如何实现时钟信号分频?
入侵检测模型(An Intrusion-Detection Model)
Flink 系例 之 TableAPI & SQL 与 Kafka 消息插入