Design

The main requirement of the CPQ Package version 2.0 is to allow custom code from the library to be executed by CPQ logics.

In this section:

Overview

CPQ Package version 2.0 has the following functionality:

  • Allows you to run custom libraries on the quote header. The libraries can run both in pre-phase and post-phase.

  • There are task runners for data query, data processing, input, and output generator

  • Allows you to set the priority of tasks for each runner. In addition, some tasks can depend on the results of other tasks.

  • Existing logics are split into multiple modules and plugins as CPQ default configurations.

Per Quote Type Configuration

Each quote type defines a name of the PP table which is the main entry for other configurations; the table contains other configurations:

  • Configurations – Define the PP table which contains core configurations used by CPQ.

  • Processing_Configurations– Define the PP table which contains configurations for data query and data processing.

  • Input_Output_Configurations – Define the PP table which contains configurations for inputs and outputs generator.

Task Runner

Task Runner is an element in the header and line item logic that allows running the custom library and handles data sharing between a task and other Task Runners.

Tasks define the library path that contains the logic for the execution.

Task Processor is a library that is responsible for running the library defined in the task, recording the result, and sharing it with other tasks.

Data Sharing

Data are shared from pre-phase to post-phase using the shared cache.