zoukankan      html  css  js  c++  java
  • SAP CRM organization Model(组织架构模型)自动决定的逻辑分析

    看一下标准的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的原创文章,尽在:"汪子熙":

  • 相关阅读:
    记录一次无法很好解决的问题
    java与进制转换
    花了点时间写了下测试框架
    利用eclipse或者pycharm编写monkeyrunner脚本,cmd打开应用“转转”并截图保存到D盘
    Instrumentation
    关于学生机受控应用的问题总结
    忙里偷闲一天
    linux下python3的安装(已安装python2的情况下)
    ROS上利用usb_cam读取摄像头图像
    ch8 -- directMethod
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/15043746.html
Copyright © 2011-2022 走看看