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的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    函数防抖与函数节流 封装好的debounce和throttle函数
    机顶盒
    getchar() putchar()
    【整】char、varchar、nchar、nvarchar的区别
    主机名
    主机
    java中的匿名内部类总结
    智能路由器又多一个玩家——乐视TV
    乐视开始折腾路由器,小米与极路由还会好过吗?
    带你认识什么是路由器
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/12315730.html
Copyright © 2011-2022 走看看