Dynamic Pricing Procedure Workflow
The Dynamic Pricing Procedure workflow, as shown in the following figure, provides the advanced pricing capabilities. It contains steps and subprocedures that populate the List Price, Start Price, and Net Price fields. It also calculates the monthly recurring and nonrecurring subtotals for root Customizable Products. These prices and subtotals are calculated based on information from price lists, customizable product adjustments, volume discounts, attribute adjustments, aggregate discounts, service price details, product promotions, and manual discounts.

Workflow Description
This workflow does the following:
Checks for price list effectivity. The application will throw any error if the price list is not yet effective or has expired.
Calculates the extended quantity of all component products of a CP instance. Also, it carries over some useful information from the CP root to CP components for later use.
Gets the list price for each row in the row set, and appends other values from the Price List Item Buscomp to the row.
Puts the CP Root Price List Item Id on each component of the CP for later use.
Moves those rows with an action code that are not priced to another row set that will not be priced throughout the procedure.
Gets CP Pricing Designer adjustments for components of a CP.
Initializes the start price value as the list price value.
Applies attribute adjustments to the start price and throws an error when an invalid combination for attribute pricing occurs.
Moves service products from the row set into another row set for use in the service pricing subprocedure.
Calls subprocedure Pricing Procedure - Calculate Net Price for nonservice products.
Updates the covered product net price field on the service product rows in the row set.
Calls subprocedure Pricing Procedure – Service to handle the service product-specific pricing for service products.
Calls subprocedure Pricing Procedure - Calculate Net Price for service products.
Merges the service and nonservice row sets into one row set.
Establishes the NRC and MRC prices for one-time and monthly recurring price types, which will later be used for Customizable Product Rollup.
Merges the priced and unpriced row sets into one row set.
Spreads the discount of the root bundle products to the bundle component products.
Rolls up the prices of component products to the CP root.
The following table lists the steps in the Dynamic Pricing Procedure workflow with the business service and method that is called by each step.
Name Type Business Service Method Sub Process Description Check Header Price List
Business Service
Row Set Transformation Toolkit Service
Query Transform
Not applicable
Determines if the header price list is expired or not yet effective.
Raise Expired Error
Business Service
Pricing Manager
Raise Price List Expired Error
Not applicable
Halts execution and provides an error message to the user if the header Price List is expired.
Raise Not Effective Error
Business Service
Pricing Manager
Raise Price List Not Effective Error
Not applicable
Halts execution and provides an error message to the user if the header Price List is not yet effective.
Customizable Product Roll-Down
Business Service
Row Set Transformation Toolkit Service
Hierarchical Transform
Not applicable
Calculates the quantity of a component product of a CP instance.
Get List Price
Business Service
Row Set Transformation Toolkit Service
Simple Look-Up Transform
Not applicable
Gets the list price for each row in the row set. Appends other values from the price list item Buscomp to the row.
Get Root Price List Item Id
Business Service
Row Set Transformation Toolkit Service
Hierarchical Transform
Not applicable
Puts the CP root price list item ID on each component of the CP for later use.
Split Unpriced Actions
Business Service
Row Set Transformation Toolkit Service
Split Transform
Not applicable
Moves those rows with an action code that are not priced to another row set that will not be priced throughout the procedure.
Customizable Product Adjustment
Business Service
Row Set Transformation Toolkit Service
Simple Look-Up Transform
Not applicable
Gets CP adjustments for components of a CP.
Start = List
Business Service
Row Set Transformation Toolkit Service
Conditional Action Transform
Not applicable
Initializes the start price value as the list price value.
Matrix Adjustment
Business Service
Row Set Transformation Toolkit Service
Dynamic Lookup Transform
Not applicable
Applies attribute adjustments to the start price.
Invalid Combination?
Decision Point
Not applicable
Not applicable
Not applicable
Determines if there was an invalid combination for the attribute pricing matrix.
Display Invalid Combination Error
Business Service
Dynamic Matrix Retrieval Service
Throw Invalid Combination Error
Not applicable
Halts execution of procedure and throws an error when an invalid combination for attribute pricing occurs.
Split Service Products
Business Service
Row Set Transformation Toolkit Service
Split
Not applicable
Moves service products from the row set into another row set for use in the service pricing subprocedure.
Discount Non Service Products
Sub Process
Not applicable
Not applicable
Pricing Procedure – Calculate Net Price
Not applicable
Update Covered Product Net Prices
Business Service
Row Set Transformation Toolkit Service
Row Set Lookup Transform
Not applicable
Updates the covered product net price field on the service product rows in the row set.
Price Service Products
Sub Process
Not applicable
Not applicable
Pricing Procedure – Calculate Net Price
Prices the service product row set.
Discount Service Products
Sub Process
Not applicable
Not applicable
Pricing Procedure – Service
Service Pricing.
Merge Service Products
Business Service
Row Set Transformation Toolkit Service
Merge Transform
Not applicable
Merges the service and nonservice row sets into one.
Get MPT Prices
Business Service
Row Set Transformation Toolkit Service
Conditional Action Transform
Not applicable
Establishes the NRC and MRC prices for One-Time and Monthly Recurring price types.
Merge Unpriced Actions
Business Service
Row Set Transformation Toolkit Service
Merge Transform
Not applicable
Merges the priced and unpriced row sets into one.
Roll-down bundle prices
Business Service
Row Set Transformation Toolkit Service
Hierarchical Transform
Not applicable
Spreads the discount of the root bundle products to the child products.
Customizable Product Roll-ups
Business Service
Row Set Transformation Toolkit Service
Hierarchical Transform
Not applicable
Rolls up the prices of component products to the CP root.