The ListAddEditDelete Project is a generic Project for adding data to any List inside the CPQ template.
Out of the box, the ListAddEditDelete Project is set up to work with Group Tables. It can Add, Edit and Delete any data from a DriveWorks Group Table.
The ListAddEditDelete Project is commonly used with the ListView Project. The ListAddEditDelete Project is always loaded in a Specification Host Control as a dialog. When doing so a Calculation Table called AddEditDelete is passed into the Specification Host Control from the ListView Project. This passes in a series of values. These are:
The selected item Id from the ListView Project. Used to determine what item to modify.
The ListView passes either Adding, Editing or Deleting into the ListAddEditDelete Project. This value decides how this Project behaves and what to show.
ViewName is the name of the View you are modifying. This View Name is used to get data about the View and selected item.
ParentID is the parent ID of the List View. This is used to get the correct data for the View and selected item.
The ListAddEditDelete Project has several Variables that pull data into the Project. These Variables can be found under the categories List > Table Data.
The Variables under this category contain Comments which tell you what order they are used in and what each one does.
These Variables pull data into a Constant. The data is combined with parent tables, certain columns are selected and given aliases before it is shown on the Form.
If you want to change the data source for this Project, you can modify these Variables to get the data from any other external source.
To do this, it is recommended that you copy the ListAddEditDelete Project to create a custom Project. Otherwise you risk breaking functionality on other CPQ Views.
There are only 3 forms in the ListAddEditDelete Project. One of which is the Main form that contains a Frame Control. This is the only form that is shown to the user. The Frame Control then determines the content to be shown. This is based on the Method that is being used.
Add and Edit will show the AddEdit form, and Delete will show the Delete form. Add and Edit are one form because they use the same Form Controls as inputs. There is little point duplicating controls to perform a similar task.
AddEdit contains several empty Form Controls. These are left blank when you are adding an item, and are populated with values when you are editing an item.
The controls are driven by a Specification Macro called LoopDriveControls.
Delete is very straight forward. It contains a Delete button and a Cancel button. Delete will remove the selected item from the List View. Cancel will return to the List View without modifying the data.