Implementation

Estimated reading: 2 minutes 5 views

Introduction

The implementation of the CPQ is based in different components or groups, each one with a specific and clear mission. All of them together build the CPQ functionality.

Component/Group Type Description
Data Model SObjects The different objects that stores the product setup definition and the resulting entities as assets and agreements
Catalog Manager Apex Class It’s in charge of getting the required Catalog information when configuring a Product.
Catalog Cache Manager Apex Class Simple Cache Handle to manage the Product definition cache.
ConfiguraionManager Apex Class It’s in charge of loading the Product Definition or existing orders and converting them in a structure that the Configurator can manage. It’s also the gateway for the different operations performed during the configuration process as validation, checkout, etc.
OrderManager Apex Class It keeps the logic for order activation and handling.
AgreementMappingRuleEngine Apex Class It’s in charge of converting the Product into an agreement.
Validation Engine Apex Class It performs the product validation when it’s requested.
Compatibility Engine Apex Class It checks the compatibility rules for the current configuration.
Eligibility Engine Apex Class In charge of identifying which products are available or not based on the Eligibility Rules
Unique Factory Apex Class It generates an unique id
ConfigurationWrapper Apex Class DTO Class used to handle and share the Configuration Context
UI Components LWC The different user interface components used to build the configurator
UI Helpers LWC Different Javascript helper classes to manage common operations

Key Concepts

The ConfigurationWrapper

The CPQ involves differente engines, classes and processes, and all of them needs to work on a specific Configuration Context. The Configuration Context is the group of all the current setup product along with it’s attributes, relationships, etc.

More information on [ ConfigurationWrapper ]({{< relref “configurationWrapper” >}}).

Leave a Comment

       
Euphoria, forever till the end of times

Euphoria

Share this Doc

Implementation

Or copy link

CONTENTS