How To: Add Columns to the Order View
The Order View is a unique View. It doesn't reference external data like other Views. Instead it references a Rollup Data Table and Child Specification List that exist in the OrderView Project.
Because of this, adding columns to the Order View requires more steps than a standard List View. Standard List Views use external data that exists at Group Level or externally to the DriveWorks implementation. This means that they can pull a list of table headers. The Order View cannot because its data is internal to a Project.
Adding a column to the Order View
Step 1. Add new Specification Properties to your Projects
- Open each Product's DriveWorks Project. This can be the StandardProduct Project or any Custom Product Projects used in the Order View.
- Add Specification Properties to your Project. Specification Properties are used in the Order View to display results.
Step 2. Add columns to the OrderView Child Specification List
- Open the DriveWorks Project called OrderView.
- Go to the Form called Catalogue and find the Child Specification List named Items.
- Edit the Projects property to open the Child Specification List Editor.
- With the Editor open, go to the tab called Result Columns.
- In the text box named Add Column, type the name of your new Child Specification List column.
- Once entered, press Add on the right-hand side.
- Next, go to the next tab along called Result Column Values.
- Pick your DriveWorks Project from the list on the left-hand side and click the helper link:
The information for the selected child project may be out of date if it has been changed, click here to refresh it.
- Go to your new result column and select the Output Name. In most cases this can be left set to (Auto). Auto will use a Specification Property with the same name as the column.
- To finish, select OK on the Child Specification List Editor.
- Save your OrderView project.
Step 3. Add columns to the OrderItems Rollup Data Table
- Under Define Tables, select the Rollup Data Table called OrderItems.
- Select Configure from the command bar.
- In the Rollup Data Table Editor, select Add to add a new column.
- Enter the name of the new column and press OK.
The name of this column must match the name of the column in the Child Specification List.
- Select Finish on the Rollup Data Table Editor to apply these changes.
- Save your OrderView project.
Step 4: Add the new column to the View List Query
- In the CPQ template, navigate to Dashboard > Admin Panel > View Manager.
- Select the Order view from the left-hand menu.
- In the List Query rule, add a new column to the end of the rule.
If you are adding a column to the default List Query, then you would add column 17 to the end of the function.
- After modifying the List Query, select Update View to save your changes.
Step 5: Add the new column to TableAliases Group Table.
- In DriveWorks Administrator, open the DriveWorks CPQ Group.
- Navigate to Group Tables and open the Group Table called TableAliases.
- Find Order in the ListName column. You are now going to modify the Column Names for this View.
- Add your column to the pipe bar list of column names.
- Press OK on the Group Table to save changes.
The Order view Table Aliases need to be manually edited. You cannot set the table aliases through the CPQ template. This is because the List Query references the Child Specification List contained within the OrderView DriveWorks Project. Because this data is contained at Project level, the list query is unable to read in the column names outside of this Project.
Other list views reference external data. This allows them to pull a list of columns from the source.
Step 6: Add your new column inside the Order View.
- In the CPQ Template, navigate to Dashboard > New Quote. This should start a new quote.
- With an empty Order open, click Settings on the right-hand side.
- Under Columns, your new column should now be listed in the drop downs.
- Select your new column in an empty drop down to add it to the View.
- If you now add your Product, the new column value will be shown in the table.