Predefined Actions
Reminder:
- Predefined actions allow to implement On demand (user) actions displayed either:
- 1/ on top of the quote header (OnD Header action)
- 2/ inside the left menu (onD Menu action),
- 3/ on top of the quote spreadsheet (OnD Grid action),
- 4/ inside the pop-up menu associated to the lines in the quote spreadsheet (OnD Line action)
- Predefined actions allow the automation of actions triggered by events raised from the quote header (Auto Header action), the approval step (Auto Status action) or the quote spreadsheet (Auto Grid action).
The table below details the predefined actions available according to the different use cases explained above:
Each Description includes notations of other properties listed below:
- H: OnD Header
- G1: OnD Grid (UI V1)
- G2: OnD Grid (UI V2)
- L: OnD Line
- M1: OnD Menu (UI V1)
- M2: OnD Menu (UI V2)
- AH: Auto Header
- AA: Auto Approval
- AG: Auto Grid
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| BackToCatalog (DEPRECATED-use ListCatalog) | Returns to Catalog (G2) | catalogServiceName=<serviceName> If no catalog has yet been opened, the default catalog specified in this property is used |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| CartRefreshItems | Automates the updates of all lines in the quote (G1, G2, AH, AA, AG) | Standard products: they are refreshed from the catalog: Configured products: configuration process is relaunched and generated information are re-applied Optional parameter: showError=true/false (default=false) When showError=true, if an error occurs during the execution, the following message is displayed: "An error occurred. X lines out of Y have not been refreshed." disablePropagation=true/false (default=false) When set to true, the propagation of the calculations is done only once after the refresh |
| CartRefreshMultiplexingItems | Same as CartRefreshItems but leveraging multi threading. Please contact your PROS representative to activate this feature. Beware, activating this feature without setting cart.multiPlexing.enable to true will result in errors (see administration guide) (G1, G2, AH, AA, AG) | Same as CartRefreshItems |
| CartSave | Saves the updates from the previous save (H, G1, G2, AG) | Optional parameter: delegateClassName=<javaClassName> The javaClassName is executed after the quote has been saved |
| ChangeActiveRelease | Selection of the active release (H, G1, AG) | |
| ChangeCurrency | Applies a temporary conversion of currency on the quote lines (G1, G2) | Exchange rates are defined in services properties file |
| ChangeOwner | Change of quote owner (H, G1, AH, AG) | |
| ChangeStatus | Change of quote status (H, G1, AH, AG) | |
| CloneConfiguration | Duplicates existing product configurations from other quotes to the current quote (G1) | Optional parameters: searchScope=<MyQuotes,MyUserGroup,MyDomain> searchValues=<None,Lookup> searchFields=<header_field1,header_field2,etc.> |
| CloseHeader | Closes the quote Header (H, G1) |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| CloseSpreadsheet | Closes the quote (G1, G2) | Optional parameter: delegateClassName=<java_class_name> The className is executed after the quote has been closed |
| CreateRelease | Creates a new release by copying the current one (H, G1, AG) | |
| Cut/Copy/Paste/Move-to/Delete/Clone | Performs corresponding action in the quote spreadsheet (L) | **Warning: if the spreadsheet is paginated, the actions can only apply on lines displayed in the current page. For the copy action only, a mode can enabled to add a prefix to all created folders after they have been copied/pasted. To do so, enable the cart.copyOf.subfolder setting in the cameleon.properties file, and add translations for the "copyOf" label. |
| DisplayPage | Manages the visibility of a quote page based on a User Group (G1, G2) | pageName=<name of the page> See below for more details |
| EditHeader | Opens the quote header (G1, G2) | |
| EditPromotions (DEPRECATED) | Selects applicable promotions (G1) | |
| EmptySpreadsheet | Empties the content of the quote (all folders, lines and sublines) (G1, G2) | A confirmation message is requested prior to the deletion |
| ExportXML | Exports the entire quote in an XML flow (G1) | XML result is displayed in a pop-up which content can be copied and pasted elsewhere |
| ExportXMLFile | Exports the entire quote in an XML file (G1, G2) | |
| FO_Create | Creates a folder (at the current insertion point) (G1, G2, M1, M2- displayed in the action ribbon) | columnNames=<ColName1...5> The user might be asked to fill-in up to 5 fields associated to the mandatory columns (comma as separator) |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| FormatCSV | Exports the quote content in a CSV file (G1, G2) | CSV file contains 3 sections: Header section preceded by FIELD_BEGIN lists the visible fields along with their respective values. Lines section, preceded by LINE_BEGIN, is divided in 2 parts: The first line lists the column header All other lines list the values for each folder, line and subline Total section, preceded by TOTAL_BEGIN lists all visible total cells along with their respective values. ExportPolicy: (see "CSV export policy paragraph below") |
| GenerateManufacturing | Automates the BOM and routings generation of all quote lines of type "configured product" (G1, G2, AG) | Generated BOM and routings can be visualized using a graphical viewer accessible via a link appearing below the product description. The visualization is made by the re-launch of the configuration process using a dedicated layout (defined in the properties of the service) which must contain the definition of a dedicated page called "ManufacturingPage" |
| GenerateManufacturingItems | Automates the BOM and routings generation of beforehand selected lines of type "configured product" (G1, L) | Generated BOM and routings can be visualized using a graphical viewer accessible via a link appearing below the product description. The visualization is made by the re-launch of the configuration process using a dedicated layout (defined in the properties of the service) which must contain the definition of a dedicated page called "ManufacturingPage" |
| ImportCSV (Deprecated) | Updates the quote content from a CSV file generated by the FormatCSV function (or a file respecting the same format) (G1) | Restrictions: Excel files cannot be imported. Only fields marked as visible, updateable and user-input can be updated Only existing lines can be imported/updated Double lines are warmed but accepted (latest won) |
| ImportXML | Replaces the current quote content by an XML flow (respecting internal XML format) (G1) | The XML flow is copied by the user in a text area displayed in a pop-up |
| ImportXMLFile | Replaces the current quote content by an XML file (respecting internal XML format) (G1) | The end-user is asked to manually upload the XML file |
| ListCatalog | List of services of type Catalog (G1, M1, M2-Displayed in serviceBox) | catalogServiceName=<catalogServiceName1...n>, comma as separator. Restriction: Only one service when the action is declared as a grid action. |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| ListConfigurator | List of services of type Configurator (G1, M1, M2-Displayed in serviceBox) | confServiceName=<confServiceName1...n>, comma as separator. Restriction: Only one service when the action is declared as a grid action. |
| ListReport | List of services of type Report (M1) | reportServiceNames=<reportServiceName1...n>, comma as separator |
| PC_Update | Updates configured product by relaunching the configuration process (M1) | |
| PC_View | Relaunches the configuration process in read only mode (M1) | |
| PrintProposal | Generates a document using the report service specified as setting (G1, AG) | eReport=<reportServiceName> Optional parameter: delegateClassName=<javaClassName> The javaClassName is executed after the document has been generated. |
| RefreshItems | Automates the updates on selected quote lines (G1, L) | Optional parameter: showError=true/false (default=false) When showError=true, if an error occurs during the execution, the following message is displayed: "An error occurred. X lines out of Y have not been refreshed." disablePropagation=true/false (default=false) When set to true, the propagation of the calculations is done only once after the refresh |
| MassRefreshItems | Automates the updates on selected quote lines with optimized propagation (G2, L, AG) | |
| RefreshPromotions (DEPRECATED) | Automates the update of the promotions of all lines in the quote (G1, AA, AG) | |
| RefreshPromotionsItems (DEPRECATED) | Automates the refresh of the promotions of beforehand selected lines (L, AG) |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| SI_QuickCreate | Adds the products matching the search criteria as new lines in the quote. In case of several products are retrieved they are added with the respect of the limit specified by the setting ItemMaxNb (G1, G2, M1, M2- Displayed in the action ribbon) | ItemMaxNb value="<number>" visibleQty value="true/false" defaultQty value="<number>" catalogServiceName value="<serviceName>" userType value="<value1>" (NOTE: if the userType parameter is not specified, the search is performed on the product name, description and RMO Text without userType) |
| searchPolicy value="1...4" : Approximative search ('Like') CaseInsensitive : Approximative search ('Like') CaseSensitive : Exact search CaseInsensitive : Exact search CaseSensitive | ||
| searchMode value="standard/fullText", default value="standard", if searchMode="fullText", userType and searchPolicy are ignored. | ||
| searchScope value="name/description/rmoText" or a comma separated list of these elements, can be used to limit the scope of a product search to its "name", "description" or "rmoText" attrbutes. It is only used when the "searchMode" parameter is equal to "standard". | ||
| checkEligibility="true/false/yes/no/on/off/0/1" Runs an eligibility check (via an eligibility BRC) if the parameter value is "true", "yes", "on" or "1" before a product (standard item or sales product) is added to the quote using "SI_QuickCreate" action. A product which is not eligible won't be added to the quote without any error message | ||
| checkReplacements="true/false/yes/no/on/off/0/1" Runs a replacement check if the parameter value is "true", "yes", "on", or "1" before a standard item is added to the quote using the "SI_QuickCreate" action. When this check fails, a message (error or warning) will be displayed to the user in an information flyer. The "checkReplacements" parameter is only effective on standard items. Replacements cannot be checked for sales products. | ||
| actionOnMouseOver="true/false" When true (defualt), displays the Quick Create window while the user passes his mouse over it. |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| Parameters are: | ||
| catalogServiceName value="<catalogServiceId>" | ||
| targeting the catalog service where products will be | ||
| searched in. | ||
| checkEligibility=”true|false|yes|no|on|off|0|1” Runs an | ||
| eligibility check if the parameter value is "true", "yes", | ||
| "on" or "1" before a product (standard item or sales | ||
| product) is added to the quote. A product which is not | ||
| eligible won't be added to the quote - there will be no | ||
| error message | ||
| Adds products | checkReplacements=”true|false|yes|no|on|off|0|1” | |
| contained in the CSV if | Runs a replacements check if the parameter value is | |
| they are found in the | "true", "yes", "on" or "1" before a standard item is | |
| Catalog. | added to the quote. When this check fails, a message | |
| Column values can be | (error or warning) will be displayed to the user in the | |
| provided in the CSV | import CSV report. The "checkReplacements" | |
| MassImportCSV | provided user has right to edit these columns | parameter is only effective on standard items. Replacements cannot be checked for sales products. |
| for CT7 lines. | fieldSeparator defines the default CSV separator | |
| Finally the products can | value presented at import. Allowed values are ";" "," | |
| be organized in folders. | and "." | |
| Folders are recursively | decimalSeparator defines the default decimal | |
| created if needed.. (G1, | separator presented at import. Allowed values are "." | |
| G2) | and ",". fieldSeparator and decimalSeparator cannot | |
| have the same value. | ||
| CSV Column Names: Folder column should be first | ||
| and be named "FolderPath". Next column should be | ||
| for the SI name and be named "ItemCode". Next | ||
| column should be for quantity (optional) and be | ||
| named "Quantity". All additional columns should be | ||
| named from the quote model column name. | ||
| Only products be created with associated column | ||
| values. folders can only be created as part of the | ||
| hierarchy. Values cannot be provided for them. | ||
| yAxisLabel: Label of the Y axis of the waterfall | ||
| diagram | ||
| diagramTitle: title of the waterfall diagram | ||
| entityList: list of quote columns (for the line action) | ||
| or total cells (for the grid action) to consider as | ||
| entries on the X axis of the waterfall diagram. This list | ||
| is sorted so that the order of elements in the list | ||
| matches the order of bars in the diagram | ||
| Waterfall | Display a waterfall chart in the quote based either on a quote line content or on the whole quote content (G2, L) - see below for more details | positiveEntityList: list the total fields (for the grid action) or columns (for the line action) that have a positive value (meaning that will be represented by a bar in the diagram that goes up) - for instance a list price negativeEntityList: list the total fields (for the grid action) or columns (for the line action) that have a negative value (meaning that will be represented by a |
| bar in the diagram that goes down) - for instance a | ||
| discount or a cost | ||
| totalLabels: list of references of bars that are | ||
| calculated from previous values in the chart. Each | ||
| reference corresponds to the ID of a label defined in | ||
| the quote layout and that is displayed in the waterfall | ||
| under the bar. This reference is associated with one | ||
| or multiple translations in the quote layout |
| FOLDERPATH | ITEMCODE | QUANTITY |
|---|---|---|
| Folder1/Folder1.1 | 73-60050-00 | 5 |
| Folder1/Folder1.1/Folder1.1.1 | STROUPH4 | 4 |
| Folder2 | ||
| Folder2/Folder2.1 | 58-60347-00 | 5 |
Return to table:
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| MassImportCSV (cont.) | checkEligibility="true/false/yes/no/on/off/0/1" Runs an eligibility check if the parameter value is "true", "yes", "on" or "1" before a product (standard item or sales product) is added to the quote using "MassImportCSV" action. A product which is not eligible won't be added to the quote without any error message | |
| checkReplacements="true/false/yes/no/on/off/0/1" Runs a replacements check if the parameter value is "true", "yes", "on" or "1" before a standard item is added to the quote using the "MassImportCSV" action. When this check fails, a message (error or warning) will be displayed to the user in the import CSV report. The "checkReplacements" parameter is only effective on standard items. Replacements cannot be checked for sales products. | ||
| SI_View | Redirects to the corresponding catalog product page (L) | |
| SP_Create | Creates a specific item (at the current insertion point) (G1, G2, M1, M2- Displayed in the action ribbon) | columnNames=<ColName1...5> The user might be asked to fill-in up to 5 fields associated to mandatory columns (comma separator) |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| TryToEdit | Tries to udpdate the quote in order to check whether it has been opened in a read only mode (G1, G2) | |
| Undo | Cancels the actions made on the quote since the last save (G1, G2) | |
| ReplaceItems | Replace the currently selected CT7/LNKCT7 lines by their latest replacement product (if any) (L) | If the selected product has not been superseded, the line is simply refreshed. If the selected product has been superseded, the line is replaced by the replacing item. If the selected product does not exist anymore in the catalog or replaced by an invalid product, an error is raised. NB: When launching the replaceItems functions, the quote creates a specific session setting to identify the originating item (before the replacement): CPE Settings Session OriginatingItem Optional parameter: disablePropagation=true/false (default=false) When set to true, the propagation of the calculations is done only once after the refresh |
| CartReplaceItems | Replace all the CT7/LNKCT7 lines by their latest replacement product (if any) (G1, G2) | If the selected product has not been superseded, the line is simply refreshed. If the selected product has been superseded, the line is replaced by the replacing item. If the selected product does not exist anymore in the catalog or replaced by an invalid product, an error is raised. NB: When launching the replaceItems functions, the quote creates a specific session setting to identify the originating item (before the replacement): CPE Settings Session OriginatingItem Optional parameter: disablePropagation=true/false (default=false) When set to true, the propagation of the calculations is done only once after the refresh |
| NAME | DESCRIPTION | PROPERTIES/EXPLANATIONS |
|---|---|---|
| CartReplaceMultiplexingItems | Same as CartReplaceItems but leveraging multi threading. Please contact your PROS representative to activate this feature. Beware, activating this feature without setting cart.multiPlexing.enable to true will result in errors (see administration guide) (G1, G2, AH, AA, AG) | Same as CartReplaceItems |
| MassReplaceItems | Replace all the CT7/LNKCT7 lines by their latest replacement product (if any) with optimized propagation (G2, L, AG) |
CSV Export Policy
The Quote offers the capability to manage the granularity of the CSV export triggered by the FormatCSV action. This can be done thanks to the ExportPolicy input parameter to specify when configuring the action in the Quote Designer. This parameter can have one value: custom
With the custom policy, the inclusion of the following elements in the CSV format is (de)activable according to a Boolean:
- quoteHeader: inclusion of quote header data
- totalCells: inclusion of quote footer data
- quoteLines: inclusion of quote linesNote: By default, if the parameter is not filled, its boolean value will be equal to "true", meaning that the element (quote header, etc.) IS INCLUDED in the CSV.
The following parameter allows to select the quote column(s) to include in the CSV. All other columns are ignored:
- columnName: the separator used between column names is "~"Note: By default, if the parameter is not filled, all the columns are included.
For instance, the syntax of this parameter can be:
custom;quoteHeader=true;totalCells=true;quoteLines=true;columnName=ItemQty~ListPrice~ TotalListPrice
Mass Import CSV Preview and Report
Importing items in bulk may result in a large amount of lines added. All lines should be added at the same time to prevent confusion for the user.
To prevent only part of the products from being added due to invalid values in some rows, a "Preview" operation must be performed prior to import. A failing Preview will provide insight on what errors were found so users can change their CSV file and try again.
Once Preview is successful, Import can be run. During import, a spinner is displayed. More validation is performed at import for replacements and eligibility. Note that an error found during import for a line will result in that line no being added to the quote. Lines are always inserted at the bottom. Folders are merged for insertion: no duplicate folders are created and new products are added at the bottom of the folder.
Columns values are assigned from the CSV. Other cells formulas are applied. Empty values are accepted except for the Item Code.
Once the import is finished, a summary is displayed. It shows the lines and values from CSV import file. Each line has a status and status message.
A CSV report can also be downloaded with the same information.
Manage the visibility of quote steps based on user groups
The DisplayPage onDemand grid action allows administrators to manage the visibility of quote pages based on User Groups access rights.
The setup procedure is the following:
- Create a Pre-defined “DisplayPage” onDemand Grid action. Set the name of the page to manage in the “pageName” attribute
- Set the Access rights of the Action to “restricted” and Save
- In the “Access rights” matrix, set the visibility of the action to ON for the user groups for which the page has to be displayed:
In previous versions both "/" and "~" characters could be used as folder separators. From 11.16 onward only "/" is supported for security reasons.
Waterfall diagram
This feature allows calculating and displaying a waterfall diagram in a popup on top of the Quote, to review the quote profitability for instance. The component has to be declared as a grid action (waterfall on the quote) or a line action (waterfall on a line). If the grid action is triggered, the popup renders a waterfall based on the quote data. If the line action is triggered, the popup renders a waterfall based on the quote line data.
Here is an example of the setup of a waterfall on a line:
The inputs for the columns of the component would be provided via a list of columns of the current Quote (for the line action) or list of total cells corresponding to those columns of the current Quote (for the grid action). This is the entity list. The list of columns / total cell is sorted so that each one correspond to a column of the waterfall displayed in the same order in the chart as in the list. The label of each column is obtained by retrieving the description of the corresponding column / total cell in the input column / total cell list. The value of each column of the component is obtained by retrieving the value of the corresponding line cell in the input column (waterfall on a quote line) or the total cell of the column (waterfall at the quote level).
The setup of the grid/line action includes the declaration of bars that have a positive impact on the diagram, and bars that have a negative impact. To do so, in the grid action and line action, two additional lists can be leveraged:
- Positive value bars: list the total fields (for the grid action) or columns (for the line action) that have a positive value (meaning that will be represented by a bar in the diagram that goes up) - for instance a list price
- Negative value bars: list the total fields (for the grid action) or columns (for the line action) that have a negative value (meaning that will be represented by a bar in the diagram that goes down) - for instance a discount or a cost
- Those lists come in addition to the entity list as the latter determines the order in which bars are
displayed
- If a field/column is in the entity list but not in the positive, negative or total value list, an error message is displayed.
- If a field/column is in the positive or negative value list, but not in the entity list, it will not be displayed in the diagram
As a complement, it is possible to define bars that are calculated and represent the sum of the previous bars in the chart:
- Total bars: list of references of bars that will be calculated from previous values in the chart
- Each reference corresponds to the ID of a label defined in the quote layout and that is displayed in the waterfall under the bar. This reference is associated with one or multiple translations in the quote layout
- The value of a Total bar is the sum of all positive and negative values since the previous total in the chart (or since the first column for the first total in the list), including the previous total (or including the first column for the first total in the list)
- This bar could be positive or negative but has either its top or bottom on the X axis
The first and last bars of the chart are specific:
- The first column must correspond to a field/column of the quote. It can't be a total bar
- The last bar must be a total. It can't be a field/column of the quote The displayed waterfall is static meaning:
- No user interaction is possible with the chart, except for tooltips on mouse over
- Changing the input values requires to close the popup, use the grid action or the line action on a different line, recalculate the chart to render the changes.
Here is an example of waterfall diagram:
