天天看点

SAP CRM Product Relationship的设计原理

Created by Jerry Wang on Sep 07, 2016

This wiki page contains introduction about product relationship technical design and implementation.

Relation between two business objects.

Product – Product (warranty)

Product – Category

Product – Businesspartner

Product – qualification

Product – counter

Product - ibase

Technical structure

1.client, guid of the relationship record

This is the pure technical key.

2.Guid of the starting point of the relationship(sourceguid)

3.Guid of the target (destination) of the relationship (destinguid)

4.Further key attributes

It is possible to have several lines in the relationship, but those fields are considered as logical key fields, but not as keyfields in the database.

5.Further attributes

Process

The complete processing is done in the functiongroups com_il_api and com_il_db. It handles all type of relationships and has a generic buffer.

Remark:

This is a different approach to the settypes, which generate functiongroups per settype.

Checks can be implemented in the BADI COM_IL_CHECK and a functionmodule can be entered in comc_il_type.

A function group com_product_il serves as layer between the product processing and the relationship processing.

Implementation

Package CRM_PRODIL_BO_INTERLINKAGES with few generic implementations for simple Product-Product and Product-Businesspartner relationships e.g. CL_CRM_PRODIL_IL_PRPR, and special classes for more complicate relationships.

For the CRM Web-Client UI is in the table CRMC_PRIL_IL fixed for each relationship, which , fields and class is used. BADI CRM_PRODIL_BADI is implemented quite often.

Data could be read via FM COM_PRODUCT_IL_GETDETAIL_API.

Important table

COMM_PRCAT_IL: contains category guid, relationship name and direction - transaction data table.

继续阅读