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.
Product settype acts as a very important role in CRM WebClient UI architecture.
The picture belows shows the GenIL passes the settype id to API:
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".
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:
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.
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:
or in WebClient UI:
Let's review the end-to-end process:
Product overview page consists of assignment blocks.
You can assign settypes to a category in GUI tcode COMM_HIERARCHY: