DriveWorks Pro 16: How To: Setup a DriveWorks Project as a Custom Product [send feedback...]

How To: Setup a DriveWorks Project as a Custom Product

The DriveWorks CPQ Template can contain Standard, Custom and Special Products within the catalogue.

An existing DriveWorks Project (DriveWorks Configurators) can become a Custom Product that can run inside the DriveWorks CPQ Template. It is easy to turn a normal DriveWorks Project into a Custom Product.

Setting up a DriveWorks Project to be a Custom Product

A DriveWorks Project needs to contain additional features for it to work inside the DriveWorks CPQ Template.

These are:

  • Form Design

    Certain Form Controls are required to calculate Discounts, Quantities and the final Product Price.

  • Constants

    Constants are used to pass down and store information in the DriveWorks Project.

  • Variables

    Variable are used to calculate the Products cost along with parameters like currency and discounts.

  • Specification Properties

    Specification Properties are used to pass information back up to the OrderView DriveWorks Project. These are shown in the Child Specification List.

  • Specification Macros

    Specification Macros are used to add the Product to the Basket and refresh data in the Host Specification.

  • Specification Flow

    An update needs to be made to the Specification Flow of the Custom Product. This lets CPQ know if the DriveWorks Project is running and how to handle calculations.

Copying Project Data

Step 1. Creating a template Project to copy data from

  1. Create a new DriveWorks Project.
  2. Create this Project from the template called CPQ - Custom Product Project.
  3. Select a Location and Name for the new DriveWorks Project.
  4. Select Next and the wizard will create the new DriveWorks Project from the template.

Step 2. Copying Form Controls

Copy the following Form Controls from the Form ProductDetails into your DriveWorks Project.

Control NameTypeUse
UnitPriceLabelDisplays the unit price of the product.
ProductPrice1LabelDisplays the unit price of the product. If a lower bulk price is used then that will be shown.
ProductPrice2LabelDisplays the bulk price of the product. If a lower discounted price is used then that will be shown.
FurtherDiscountNumeric Text BoxAllows a user to enter a discount percentage amount. This will discount the price further.
ProductPrice3LabelDisplays the discounted price of the product. If a further discounted price is used then that will be shown.
QuantitySpin ButtonIncreases the quantity of the product being added to the basket.
ProductTotalPriceLabelDisplays the final total price of the product. This includes discounts, quantities and any bulk discounts.
AddToBasketMacro ButtonRuns the Specification Macro called AddToBasket. This adds the Project to the Child Specification List and saves the Specification.

Step 3. Copying Constants

  1. Go to Define Constants in the new Custom DriveWorks Template Project.
  2. Copy all of the Constants visible in this area.
  3. Go to the DriveWorks Project you are adding into CPQ and paste the Constants into that Project.
  4. You should end up with 8 additional Constants in your DriveWorks Project.
    • CurrencyID
    • CustomerID
    • IsRunning
    • ParentSpecID
    • ProductItemID
    • StoredProductFurtherDiscount
    • StoredProductItemID
    • StoredProductItemQuantity

Step 4. Copying Variables

  1. Go to Define Variable in the new Custom DriveWorks Template Project.
  2. Copy every Variable in the CPQ Category Folder (Include all Child Variables).
  3. Go to the DriveWorks Project you are adding into CPQ and paste the Variable into a new Category Folder called CPQ.
  4. You are adding 72 Variables to this folder.
  5. Next, you need to set a Variable within your DriveWorks Project.
  6. Build a rule for the Variable called CustomProductPrice.
  7. Add in a rule that calculates the price of your Product.

Step 5. Copying Specification Properties

  1. Go to Specification Properties in the new Custom DriveWorks Template Project.
  2. Copy every Specification Property in this area.
  3. Go to the DriveWorks Project you are adding into CPQ and paste the Specification Properties into the same area.
  4. You are adding 9 Specification Properties to this Project.
    Rules will be copied across. These are required.

Step 6. Copying Specification Macros

  1. Go to Specification Macros in the new Custom DriveWorks Template Project.
  2. Copy every Specification Macro under the CPQ > Product Macros category.
  3. Go to the DriveWorks Project you are adding into CPQ and paste the Specification Macros into a CPQ category.
  4. You are adding 3 Specification Macros to your Project.

Step 7. Modifying Specification Flow

With Specification Flow, you can choose to use the CPQ - Custom Product template Specification Flow or you can modify your existing Specification Flow.

Using the CPQ - Custom Product template:

  1. In your DriveWorks Project, go to Specification Flow in DriveWorks Administrator.
  2. If you haven't already, select Customize Specification to modify the default Specification Flow.
  3. Next, select Load Template, and a dialog will appear.
  4. Select the template called CPQ - Custom Product and select Finish.
  5. This will add the CPQ - Custom Product Specification Flow to your Project.

Modifying an existing Specification Flow:

  1. In every Running State, you need to add a Run Macro Specification Macro Task.
  2. This Run Macro task needs to run the Specification Macro called IsSpecificationRunning.
  3. Next you need to run the AddToBasket Specification Macro to Transition the Specification.
  4. The AddToBasket must be run to store data and Transition the Specification.

Table of Contents