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的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP CRM Product category的决定逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP CRM WebClient UI
- 下一篇: gta5手游在哪里下载