Product settype acts as a very important role in CRM WebClient UI architecture
Product settype acts as a very important role in CRM WebClient UI architecture.

The GenIL layer knows nothing about attributes modeled in settype. Instead, it only knows product BOL model attributes.
The API knows nothing about attributes modeled in Genil model. Instead, it only knows attributes modeled in settype.

In GenIL implementation, there is a util class CL_CRM_PRODIL_UTIL~GET_REQUEST_INFO which maps the name of requested BOL model node name into the name of settype. The mapping from BOL model name and settype are maintained in configuration table CRMC_PRIL_OBJ. The GenIL implementation will use this table to get settype GUID, and then get the name of corrresponding settype by GUID and pass the settype name to API.

Let's review the end-to-end process:
Product overview page consists of assignment blocks.

Each assignment block is technically modeled based on a GenIL model node. There is association modeled in GenIL Model which connects root node to this node used in assignment block view. The picture below shows the technical implementation of assignment block view "Categories".

When the product overview page is opened, the data for each assignment block should be queried and displayed in WebClient UI. The GenIL model node name is passed from UI component discussed above to GenIL. GenIL then find the id of settype according to the following logic and pass the settype ID to API:

The picture belows shows the GenIL passes the settype id to API:

Set types are assigned to categories and not to products directly. By assigning set types to categories, and then in turn assigning the categories to products, you can make available the data you require to describe your products.
The mechanism is illustrated below:

You can assign settypes to a category in GUI tcode COMM_HIERARCHY:

or in WebClient UI:

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

Product settype acts as a very important role in CRM WebClient UI architecture的更多相关文章
- How to update BOL entity property value via ABAP code
Suppose I have one product with ID I042416 which could be found in CRM WebClient UI: I would like to ...
- CRM product model的用法
User scenario An example from sap help For a car, the interior, the engine capacity, and the exterio ...
- 案例:WLC HA主WLC进入维护模式
案例场景: 如图所示,7609-1和7609-2分别是网络中的核心设备,起了HSRP,7609-1连接的是WLC-1,,7609-2连接的是WLC-2,WLC1和WLC2的RP口相互连接. WLC的管 ...
- Jerry的Fiori原创文章合集
我曾经于2014年10月到2016年5月工作于SAP CRM Fiori应用的开发团队, 我所在的团队负责下列这8个Fiori应用的维护和持续开发: My Opportunities My Tasks ...
- Jerry的WebClient UI 42篇原创文章合集
我要感谢CRM On Premise, 因为在这个产品上做开发让我得以使用WebClient UI框架.有些朋友觉得这个SAP自己发明的基于HTML+ABAP的MVC框架,和现在流行的三驾马车(Ang ...
- Hello World, S/4HANA for Customer Management 1.0
SAP CRM的前世今生 在我之前的微信公众号文章 SAP的这三款CRM解决方案,您能区分清楚么我曾经提到过我作为成都SAP研究院CRM产品开发团队的一员工作过一段时间. 我向在SAP德国总部工作的德 ...
- SAP S4CRM和C4C的技术比较
如果您对SAP S/4HANA for Customer Management(以下简称S4CRM)和SAP Cloud for Customer(以下简称C4C)不甚熟悉,那我建议您可以先浏览我之前 ...
- 如何查看CRM WebUI,C4C和Hybris里的页面技术信息
CRM 在WebClient UI页面上按F2,就能看到页面的技术信息, 可以找到当前页面是哪一个BSP component实现的: C4C 在浏览器url里添加debugMode=true,然后按住 ...
- SAP产品的Field Extensibility
SAP开发人员的工作职责,除了实现软件的功能性需求外,还会花费相当的精力实现一些非功能性需求,来满足所谓的SAP Product Standard(产品标准).这些产品标准,包含在SAP项目实施中大显 ...
随机推荐
- Directory traversal
Find the hidden section of the photo galery. 找到相册的隐藏部分. 直接能够目录遍历: 虽然galerie禁止访问,但是密码就在里面----直接爆破或者爬虫 ...
- 【Linux】bat文件如何执行
绝对路径,"/home/myDir/xxx.bat" OR 所在的目录,:"./xxx.bat".
- MyBatisSystemException 【exception】
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: ...
- DS18B20温度获取
https://detail.tmall.com/item.htm?id=40083203373&spm=a1z09.2.0.0.31cd2e8d1sb06V&_u=e1qf7bf56 ...
- attribute和property的区别是什么?
attribute property 标签属性 对应html 对象属 ...
- haproxy 配置文件详解 之 global
配置示例: global log 127.0.0.1 local0 info maxconn user nobody group nobody daemon nbproc pidfile /usr/l ...
- React 积累
1. Fragment 标签 使用介绍:因React要求每个组件都需要一个大的外层包裹起来才可以,否则报错,如果你并不想组件外层由一个大大外层包裹,则可以使用Fragment 标签 代码示例: imp ...
- vue 实现模块上移下移 实现排序
效果图 上移 下移 首先想到的是 数组的相互替换嘛 <template> <div> <div class="box" v-for="(it ...
- C++ 派生类覆盖重载基类函数
派生类希望基类重载函数可见,情况有三种: a)派生类中覆盖某个版本,则某个版本可见,全部都覆盖重写,则全部版本可见. b)派生类中一个也不覆盖,则全部基类版本可见. c)派生类需要添加新的重载版本,同 ...
- 解决mybatis中#{}导致的The error may involve defaultParameterMap的问题
今天想实现给指定表插入数据,出现了 ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an ...