标签:Transaction Area Sales BP Organizational organization Model SAP CRM
看一下标准的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结果集。
更多Jerry的原创文章,尽在:"汪子熙":
标签:Transaction,Area,Sales,BP,Organizational,organization,Model,SAP,CRM 来源: https://www.cnblogs.com/sap-jerry/p/15043746.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。