PSP Driver Workflow
A controller workflow is the invocation mechanism for each PSP procedure. The workflow called PSP Driver Workflow Process is the default controller workflow. When a signal calls the controlling workflow for a process, it passes the names of the PSP procedures to the PSP Driver Workflow.
Arguments for the default PSP Driver Workflow are shown in the following figure. PSP Driver Workflow is set as the controller workflow for the signal CalculatePriceAll in the Service Name field of the Actions tab.
The PSP Driver Workflow acts as the controller workflow for the pricing and eligibility PSP procedures. It calls the Context Service to construct a property set called Row Set containing the selected rows from the source object (Quote, Order, Agreement, or Customizable Product). It also calls the Context Service to construct a property set called Context that contains header-level information shared by all rows (for example: Account Type, Credit Score). It then invokes the PSP procedure specified in its input arguments. The PSP procedure updates and returns a new version of Row Set. Finally, the controller workflow instructs the Context Service to save any changes in Row Set back to the source object.

The PSP Driver Workflow, shown in the following figure, does the following:
-
Asks the Context Service to generate two property sets (row sets): the shared Context and the Row Set containing individual line items. These are representations of the Line Item and Header business components using variable maps. For more information about variable maps, see Variable Maps.
-
Dispatches to the workflow indicated by the process property PSPWorkflowName. For example, in the event the user selected RepriceAll, this step dispatches to the Pricing Procedure - Default workflow to perform all pricing operations.
-
Synchronizes the updated PSP information back to the input data source (Quote, Order, Agreement, or Customizable Product). The synchronization can be skipped by setting the Sync process property.

The following table provides a list of the steps in the PSP Driver Workflow Process, showing also the business service and method called by each step.
Step Name | Type | Business Service | Method | Description |
---|---|---|---|---|
Get Context Row Set |
Business Service |
Context Service |
GetRowSetData |
Generate the Context Property Set which represents the Header Buscomp. |
Get Row Set |
Business Service |
Context Service |
GetRowSetData |
Generate the Row Set Property Set which represents the Line Item Buscomp. |
Set Pricing Date |
Business Service |
Context Service |
GetRowSetData |
Set pricing date. |
Dispatch Service |
Business Service |
ISS PSP Dispatch Service |
CallPSPWorkflow |
Dynamically dispatch to a sub-process. |
Need to Sync? |
Decision Point |
None |
None |
A user decision point of whether synchronization is needed. |
Sync Row Set |
Business Service |
Context Service |
SyncRowSetData |
Synchronizes information back to data sources using Context Service. |