zoukankan      html  css  js  c++  java
  • SAP CRM Product category的决定逻辑

    (1) UI上我们可以看到Category AB里面有一个indicator叫”Base Category”.

    (2)在GenIL这层我们也可以看到Product有两个relation,一个”ProductBaseCategory”,一个”ProductCategory”. 这两个relation共享的一个object(表),也就是”COMM_PRPRDCATR”.

    (3)但是我们发现其实这张表里面并没有存”Is_Base_Category”这个字段。也就是这个字段是在runtime时候determine出来的。

    (4)从下图可以看出这个字段是在MAP_TO_UI_STRUCTURE这个接口里面实现的,这个接口在GenIL API里面用来实现将Native API layer的数据转换成GenIL layer的数据格式的作用。(由此可以看出这个接口可以用来实现一个GenIL layer的transformation field的功能)

    (5) 从上面的代码中可以看出一个category assignment是不是base category,是通过看这个category对应的hierarchy id是不是与product的hierarchy id相同来判断的。而在建立Product时候,第一次选择的category的hierarchy id将会赋给product的hierarchy id。
    而之后在选择category的时候就不能选择与第一个category相同的hierarchy了。

    上图可以看出当你选择category时候,已有的category对应的hierarchy将会被作为”Is Not”的查询参数被默认生成出来。
    如果你强行删除这些限制条件,选择一个不正确的category,如下error message将会触发。

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    wepy ——$apply
    sql常用内置函数
    创建数据表
    wepy —— 组件之间通信
    sql表连接 —— join
    mongo int类型 数据 变成float
    修改Windows 2003的邮件服务器的最大附件限制
    让google.COM不再自动跳转到.CN
    [转载]浮点数在计算机中存储方式
    [转载]内存分配 知识,全局,局部,静态变量
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/12315730.html
Copyright © 2011-2022 走看看