Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

Examples

Navigation Tips

SEARCH PANEL

The search panel is available in the top bar.



Results are displayed directly in a panel.



This search is performed on

  • Steps/Pages
  • Widgets
  • Actions
  • View/Components
  • Line templates/Columns/Fields
  • Session states
  • Formula content
  • Data Sources
  • Etc.

You can filter categories from the left part and by clicking on a result, you are redirected to the right place.

FOOTER TABS



The Footer tabs allows to:

  • display modeling errors
  • display warnings
  • display where an element is used

Errors Tab

The error tab contains the list of errors that prevent quote model activation. Errors are detected during modeling (for example, you created an element without a mandatory information). As soon as the error is fixed, it disappears from the error tab.

Warnings Tab

The Warnings tab contains the list of unused elements. An element is flagged as unused when it is not referenced in the quote model (warning, some elements such as the component used for document generation are not used in the quote model but used by the word template). Warnings don't prevent activating the model.

Where Used Tab

The Where used tab is available when you select:

  • A column
  • A line template
  • A field
  • A view
  • A component
  • A data source map
  • An action

When available, the Where Used tab list all elements referencing the selected entity. Then, by clicking on the line, the user is redirected on the element.



Defining a Matching Rule for a Line Template and a Product

USE CASE:

The product catalog contains Food products however, some different additional computations need to be managed for only Fruit products. The way to price/quote of the Fruit products follows a logic that is different from Food.

What you will learn

  • How to define a line template
  • How to associate the right line template to the right product using matching rules and resolution order

Process to follow in the Designer:

Pre-requisite: Define a way to distinguish the Food and Fruits products in the Product catalog, for example, use a particular BusinessProperty called "type" in the catalog. This allows the administrator to identify Fruit-type products.

  1. Define the catalog data source: Go to Data Model / Data Source / Catalog and create a new catalog.

  2. Create 2 PRODUCT type line templates: Go to Data Model / Columns & Fields / Columns & Lines and create 2 PRODUCT type line templates - one for Food and one for Fruit.

  3. Define a matching rule for your Fruit line template: Select the Fruit line template and in the left pane and edit the Matching Rule.

Create a new resolution variable. It will be used to retrieve the "type" from the catalog (see pre-requisites above).







Click on the pencil icon to define the key that is used to retrieve the "type" from the catalog data source: "CPE.currentItem.wksFood/BPS/bpsProperties.BP/bpType.value".



You can also access this mapping from the Line Resolution menu located on the right side of the action bar. Select Resolution Variables.





  1. Manage the resolution order: Now you need to manage the resolution order. In this example, 2 line templates were defined and only 1 has a matching rule (for Fruit). Access the Resolution Order from the Line resolution menu in the action bar.



  2. In the following definition, the matching rule of the Food line template will be executed first. As there is no matching rule, all products will match that line template including the Fruit products. In order to get the Fruit line template applied to Fruit products, the resolution order must be changed so that the Fruit line template is executed BEFORE the Food line template. Use the arrows next to the name of the line template to change the order.

    Note: The more specific line template needs to be executed first.

Managing a Configuration Process in Your Quote

USE CASE:

The product catalog allows you to configure Pizzas. A Pizza product contains several elements: Cheese, Meat, and other Ingredients.

Four line templates need to be defined:

  • Pizza
  • Cheese
  • Meat
  • Ingredient

A property called "type" allows you to identify line templates. In addition, the property "calorie" needs to be retrieved on the Pizza. This property is generated by the configuration.

Definition in Designer:

  1. Define the catalog data source: Go to Data Model / Data Source / Catalog and create a new catalog.

  2. Create 4 PRODUCT type line templates: Go to Data Model / Columns & Fields / Columns & Lines and create 4 PRODUCT line templates.

  3. Define product hierarchy: Go to Data Model / Columns & Fields / Columns & Lines and select the Pizza line template. From the left pane, click on Edit in the Child Products section. From this popup, select the child line templates - cheese, meat, ingredient.

In this popup, the order of the child products corresponds to the resolution order. In this example, the matching rules will be executed in the following order:

  1. Cheese
  2. Meat
  3. Ingredient

The hierarchy can also be displayed by clicking on the Line Hierarchy button located on the right side of the action bar.



  1. Define matching rules: Matching rules will be defined using the "type" resolution variable. This variable is defined with a business property containing the line/sub line type.

  2. Define Product Map In order to solve child line templates, the resolution variable ("type" in this example) must be filled based on the root line. This means the resolution variable ("type") must be defined on the root line (not on the child lines). Select the pizza line template (as this line template is the root line) and in the left pane, click Edit in the Product Map section.

From this popup, define the property used to fill the resolution variable type used in child line templates. In addition, as we need to retrieve the Calorie of the Pizza which is a property coming from the SBL, you need to create a local variable.



CPE examples for Configurable Products attributes When defining the mapping above, you must declare some CPEs pointing at elements from the Configuration Process that you want to retrieve. Those CPEs can reference different types of elements, including prices, business properties, sales information grids elements, etc. In order to help you in this process, here are the CPE keywords to use depending on the use case:

Use the keyword currentItem to retrieve a:

  • Name: CPE.currentItem.name
  • Description: CPE.currentItem.descr
  • Business property: CPE.currentItem.wks/BPS/bpsPerformanceQuoting.wks/BP/bpColor.value

    Use the keyword currentItemOrSBL to retrieve:

  • Prices: CPE.currentItemOrSBL.GET(CPE.Settings.Session.PricingMethod[1]).Range[1].value

    Use the keyword currentResult to retrieve:

  • Quantity: CPE.currentResult.quantity

    Use the keywork currentSBL to retrieve:

  • Elements from a Sales Information Grid

    (SIG): CPE.currentSBL.salesInformation.result[1].wks/BPS/dimension.BP/length.value

    For information, depending on the context (e.g. complete matching or codification), the CPE

    representing the above keywords can differ (see below). Using the keywords listed above guarantees that the CPEs will be correct for each use case for both complete matching and codification.

    Complete matching type of SBL:

  • currentSBL=CPE.wksCM/CP/CpR.gp.wksCM/SBL/total.wksCM/SBL/line1
  • currentResult=CPE.wksCM/CP/CpR.gp.wksCM/SBL/total.wksCM/SBL/line1.completeMatching[ 1]
  • currentItem=CPE.wksCM/CP/CpR.gp.wksCM/SBL/total.wksCM/SBL/line1.completeMatching[1]

    .item

  • currentItemOrSBL=CPE.wksCM/CP/CpR.gp.wksCM/SBL/total.wksCM/SBL/line1.completeMatc hing[1].item

    Codification type of SBL:

  • currentSBL=CPE.wksCO/CP/CpR.gp.wksCO/SBL/total
  • currentResult=CPE.wksCO/CP/CpR.gp.wksCO/SBL/total.codification
  • currentItem=CPE.wksCO/CP/CpR.gp.wksCO/SBL/total.codification.item
  • currentItemOrSBL=CPE.wksCO/CP/CpR.gp.wksCO/SBL/total

Retrieving Data on a Line

USE CASE

The quote contains several PRODUCT lines and some data have to be retrieved:

  • Product information
  • Pricing information

WHAT YOU WILL LEARN

  • How to define data maps
  • How to associate data maps to a line template
  • Process to follow into the Designer

Pre-requisites:

  • Products are defined in the Catalog with properties (Business Properties)
  • Products are defined in RTPE with prices
  • Line templates are already defined in the Designer

In order to retrieve data on a line, the administrator must define Data Sources. Data Sources define how external systems are connected with the quote (Pricing, Catalog, CRM, etc.).

  1. To retrieve product properties, Catalog Data Source has to be defined: Go to Data Model / Data Source / Catalog and open the catalog used to add Products in the quote.

Open the tab Get Column Mapping as the target is to retrieve data on a line. Add a new map.



A map defines a mapping between quote data and the catalog. The policy defines when this map is refresh. Here Once is selected as we want to retrieve this data when the line is added.



For this use case, only the Row Item (representing the product) has to be sent to the catalog. The output mapping allows to define the data that have to be retrieved.



The Key corresponds to the property you need to retrieve (for Smart CPQ catalog, represented by CPE). Then the column to store this data has to be selected.

**Retrieve Pricing Information:

Same process to retrieve Pricing information. Only the Data Source is different (Pricing instead of Catalog).

  1. Associate the map to the line template to retrieve the data on the line.

Go to Data Model / Columns & Fields / Columns & Lines and select the line template where you want to get this data. In the left pane, a section Data Source Maps allows to add data maps on line templates.



Click on Add Map and select the map just created.



By adding the map, automatically, columns referenced in this map are defined as computed (in this example, the column Weight).





Modeling Scale Pricing

Note: It's highly recommended to consult the Scaled Pricing documentation to get familiar with all the concepts associated with Scale Pricing.

OVERVIEW

Two main workflows can leverage scale pricing:

  • Quote-to-Order: Scale data is available as read only. No scaled pricing negotiation is involved and the scale data is displayed as a support for decision on the quantity to agree on to get the right price.
  • Quote-to-Agreement: Scale grids can be both read and created/edited. The negotiation is focused on the scale grid content itself and not on the target price per se.

Implementing Scale Pricing involves four modules of the PROS Platform:

  • Control: Scale grids are created and associated with component types. It is also where the negotiated scale grids are published at the end of the process via the Agreement module.
  • Real Time Pricing: Real Time Pricing makes the connection between Control and Smart CPQ. It is responsible for providing scale grids to CPQ and to calculate projections/target prices for each scale break of a given grid.
  • Smart CPQ: CPQ is the interface where you can see, create and negotiate scale grids and where input is defined for RTPE to compute scaled prices.
  • Agreements: Module responsible for building an Agreement from the CPQ quote and to publish negotiated scale grids to Control when approved.

This section is CPQ-centric to illustrate how-to model scale pricing within the Quote Designer. Please refer to Control, RTPE and Agreements documentation on Connect for more details.

SCALE GRID

The scale structure is displayed in a grid, each line of this grid representing a given scale break. Each Scale Grid is made of the following columns:

  • A threshold: based on the scale criterion, the threshold represents the value defining the scale break (e.g. 3000 and above). It must be associated with a Unit of Measure.
  • An offset: for each scale break, an offset value is set to reflect the variation of the reference value for that given scale break. It could be a percentage or an absolute value associated with a currency.
  • A target: the target is the price resulting from the calculation based on the offset (e.g. Invoice price). It is associated with a currency.

The computation of the target is based on base value (e.g. base price): each target is obtained by applying the offset to that base value. A scale grid in CPQ is represented by a JSON structure containing the scale data as well as the metadata defining the grid (base value, computation method, offset type, etc.). A scale grid is stored in a column of the quote spreadsheet. This column represents the base value. The scale grid itself cannot be manually manipulated in the Quote.

LINE TEMPLATES

In order to use Scales in the Quote, five columns must be defined as part of the Quote Spreadsheet. For instance, if the goal of a given scale structure is to compute the invoice price of a product based on a quantity, the five required columns are:

  • Threshold (e.g. Quantity): this represents the column associated with the threshold / scale criterion in the scale grid and on which the scale breaks are based.
  • Unit of Measure: this represents the unit of measure of the quote line item. This UoM is used to compute the price (e.g. Invoice Price here) on the quote line.
  • Target (e.g. Invoice Price here): this represents the column to compute based on scales. This column has a type corresponding to the target (e.g. Monetary for the Invoice Price).
  • Reference Base Price: this represents the base value and scale grid retrieved directly from RTPE. This column is of type "Scale". It is recommended to hide that column as its purpose is mainly for change tracking.
  • Negotiated Base Price: this represents a copy of the reference scale grid to be manually overridden during the negotiation in CPQ. This column is of type "Scale". This column must be visible. This column is optional in the case where no scale negotiation is allowed (e.g. Quote to Order scenario).

A given product may be considered in one of these 4 scenarios:

  • The product is associated with a scale structure in Control editable in CPQ.
  • The product is not associated with a scale structure in Control but is authorized to have a scale structure created from scratch in CPQ.
  • The product is not associated with a scale structure in Control and is not authorized to have one created in CPQ.
  • The product is associated with a scale structure in Control visible but not editable in CPQ.

Depending on the above scenarios, the following cells must be added to the corresponding line template definition:

LINE TEMPLATEITEM SHEETQUANTITY (THRESHOLD)LINE ITEM UOMREFERENCE BASE PRICENEGOTIATED BASE PRICEINVOICE PRICE (TARGET)
LT1 – products with existing scale structure for editionXXXXXX
LT2 – products without scale structure but authorized to have one created in CPQXXXXXX
LT3 – products without scale structure and not authorized to have oneXXXX
LT4 – product with existing scale structure for visualization (read-only)XXXXX

As a given product may be associated with several scale structures / targets, this design pattern must be repeated for each one of them. As part of the line template definition and resolution, you

must define columns and cells in the quote spreadsheet model to reference the scale grid(s) and target:

Column Definition

The first step consists in defining columns for a given line template. In this example, we consider ourselves in the scenario of the line template "LT1" in the above table:

  1. In the Data Model menu, select Columns & Lines.
  2. In the right part, select the line template you want to add scales to.
  3. Click Add Column.

For the target, you may already have defined a column. If not follow these steps:

  1. Give it a name and a description.
  2. The type of the column must be Monetary.
  3. The currency must be the same as the two scale grid columns (System currency in this example).
  4. Click Save.

Nothing special must be done on the Threshold (e.g. quantity) column.

For the Line Item UoM, you may already have defined a column. If not follow these steps:

  1. Give it a name and a description.
  2. The type of the column must be Unit of Measure.
  3. Click Save.

For the Reference Base Price column:

  1. Give it a name and a description.
  2. The type of the column must be Scale Grid.
  3. The currency must be the same as the target column (System currency in this example).
  4. Click Save.

Once the column created:

  1. Click on its header.
  2. In the left part, go in the Scale Pricing section and click on Edit.
  3. Select Reference Scale.
  4. Click Save.

For the Negotiated Base Price column:

  1. Give it a name and a description.
  2. The type of the column must be Scale Grid.
  3. The currency must be the same as the target column (System currency in this example).
  4. Click Save.

Once the column created:

  1. Click on its header.
  2. In the left part, go in the Scale Pricing section and click on Edit.
  3. Select Negotiated Scale.
  4. Fill in the Reference scale grid and target price columns.
  5. Click Save.

For each column, a translation must be provided. To do so:

  1. Go in the Translations menu.
  2. Select Columns as the type of element to translate.
  3. Fill the required fields corresponding to the columns you have just created.

Cell Definition

To define the cells corresponding to the columns defined above and the corresponding line templates:

  1. Navigate to Data Model > Columns and Lines.
  2. Select the line template to edit.
  3. Click on the cell corresponding to each column defined above.
  4. Edit the cell information in the left part.

For the Reference Base Price cell:

  1. Make sure that User Input is set to false.
  2. Associate the permissions to that cell.
  3. The calculation is detailed in the Data Provider chapter.

For the Negotiated Base Price cell:

  1. Make sure that User Input is set to true.
  2. Associate the permissions to that cell.
  3. Optionally, define a Domain of value for the unit of measure of the negotiated scale grid:
    • In the Domain section, click on Edit.
    • Manually enter the values one by one and click Add.
    • Only static domains are handled.

  • The calculation is detailed in the Data Provider chapter.

For the target cell:

  1. Make sure that User Input is set to true.
  2. Associate the permissions to that cell.
  3. The calculation is detailed later in the Data Provider chapter.

For the UoM cell (unit of measure of the Threshold):

  1. Make sure that User Input is set to true.
  2. Associate the permissions to that cell.
  3. Define a Domain with at least one value ("EA" in the example):
    • In the Domain section, click on Edit.
    • Manually enter the values one by one and click on Add.
    • Only static domains are handled.

DATA PROVIDERS

RTPE is the only provider of scale-related data to CPQ. In order to get and compute the information for the cells defined in the previous chapter, two different data providers, requesting RTPE, must be defined:

  • One to retrieve the reference scale grid ("DP RTPE 1" below).
  • One to compute the target (e.g. Invoice price here), optionally based on the negotiated scale grid

    ("DP RTPE 2" below).

The missing link is built between the reference scale grid and the negotiated scale grid via an encapsulated formula: anytime the reference scale grid is retrieved from RTPE, it is automatically copied by the CPQ Quote engine to the negotiated scale grid cell - if not already overridden.



Data Provider Definition

To define the data providers:

  1. Navigate to Data Model > Data Source > Pricing.
  2. Click on Add Pricing.
  3. Give a name to the data provider and click on Add.

Once created, you must set the General Settings:

Click on General Settings and fill in the Pricing Method.

Component Type:

The use of the Component Name in this screen is deprecated since V12.11. PROS strongly recommends to not use that field anymore.

Starting in V12.12, the Component Name field is not available anymore for new Data Providers. If you were using the field before V12.12, it is still available but will be automatically removed if you empty it.

The component type is required by RTPE to retrieve scale grids in Smart CPQ. The field displayed in this screen allows you to declare only one static component type. If you need more flexibility to address more complexity in your pricing strategy, you are limited and cannot use multiple component types.

PROS thus recommends to remove any Component Name field and manage the use of Component Types in your pricing method in Control/RTPE.

In the Overrides, add the name of the override defined in RTPE (e.g. "Threshold").



Then you must define data provider maps to drive the input and output elements of each data provider. As previously described, the data provider map is different if you just want to visualize scales and get prices based on them or if you want to retrieve a reference scale grid, negotiate scales in the quote and base scaled prices on the negotiated grid.

Get Scaled Grid

There are two use cases where Smart CPQ may need to retrieve a scale grid from Real Time Pricing:

  • To visualize a given scale grid in the quote interface as an help to place quantities and negotiate prices. This is a typical use case in the Quote To Order scenario.
  • To retrieve the reference scale grid - if any - that is currently in use and start negotiating a new one on that base as part of an agreement. This is more focused on the Quote To Agreement scenario.

In order for CPQ to retrieve a scale grid, here are the elements sent to the Real Time Pricing module:

--
InputsMandatory?
Key (Row Item + optional dimension)Yes
Outputs
Scale Grid

In order to do so, you must then define a map for the reference scale grid:

  1. Navigate to Data Model > Data Source > Pricing and select your pricing data provider.
  2. Click on Get Column Mapping and click on Add Map.
  3. Give the map a Name and select the Each Input and Reload policy.
  4. Click on Add.

For the newly created map, you must add the product as input setting:

  1. Click on Add Input Setting.
  2. Select the _SYS_ROW_ITEM column.
  3. Associate the PRODUCT output key.
  4. Check the mandatory box.
  5. Click on Add.

You must then define the reference scale grid as the output:

  1. Click on Add Output Setting.
  2. Define a "ScaleRef" key.
  3. Associate the scaleGridReference column.
  4. Click on Add.

You should end up with the following map:



Pricing Method

In the Pricing Method in RTPE, the "ScaleRef" key must be declared so that the reference grid metadata is returned to Smart CPQ when trying to get the scale grid.

The following formula should be used:

 LOOKUP_RESULT(LOOKUP(SEARCH, COMPONENT_NAME("ComponentTypeName"), EFFECTIVE_DATETIME()), SCALE_GRID)

Get Scaled Price

There are two use cases where Smart CPQ may need to retrieve a scale-based price from the Real Time Pricing module:

  • To get a price in the Quote when the Sales Rep modifies the corresponding threshold (quantity).
  • To compute the price projections, meaning the target price for each scale break, in a given scale grid.

In both scenarios, the price computation may be based on the reference scale grid or the negotiated one:

  • If in a Quote To Order scenario, there is no negotiated scale grid and the price computation only requires to send elements related to the product (SKU, threshold value, etc.) to get a price. This price is based on the reference scale grid.
  • In a Quote To Agreement scenario, the scale grid to consider for price computation is the negotiated one as the Sales Rep wants to see the impact of changes in the Quote on the scaled prices. In addition to the elements related to the product (SKU, threshold value, etc), the negotiated scale grid must also be sent by CPQ to the pricing engine to get a price back.
  • In addition, in the Quote To Agreement scenario, anytime the scale grid prices must be computed again, the overall grid is sent to the pricing engine - as above. The re-computed scale grid is also sent back from the pricing engine to CPQ.

Those elements are summarized in the below table:

---
InputsMandatory?Default Value
Key (Row Item + optional dimension)Yes
Threshold (Quantity)Yes
Line Item UoMYesA conversion occurs if necessary. If not possible, the UoM stored in Control is used.
Scale GridOptional (only if the CPQ scale grid must be used for computation)
Outputs
Target Price (e.g. Invoice Price)
Scale Grid (updated)

In order to do so, you must then define a map for the Negotiated scale grid:

  1. Navigate to Data Model > Data Source > Pricing and select your pricing data provider.
  2. Click on Add Map.
  3. Give the map a Name and select the Each Input and Reload policy.
  4. Click Add.

For the newly created map, you must add the product, quantity, Line Item UoM and negotiated scale grid as input settings:

Product:

  1. Click on Add Input Setting.
  2. Select the _SYS_ROW_ITEM column.
  3. Associate the PRODUCT output key.
  4. Check the mandatory box.
  5. Click Add.

Quantity:

  1. Click on Add Input Setting.
  2. Select the _SYS_ROW_QUANTITY column.
  3. Associate the Threshold output key.
  4. Check the mandatory box.
  5. Click Add.

Line Item UoM:

  1. Click on Add Input Setting.
  2. Select the UoM column you have created.
  3. Associate the Threshold output key (this must be the same key as for the quantity above).
  4. Check the mandatory box.
  5. Click Add.

Negotiated Scale Grid:

  1. Click on Add Input Setting.
  2. Select the scaleGridNegotiated column.
  3. Define a "ScaledPrice" key.
  4. Do not check the mandatory box.
  5. Click Add.

    Pricing Method

    In the Pricing Method in RTPE, the "ScaledPrice" key must be declared so that both the price and grid are returned to Smart CPQ when trying to get the scaled price.

    The following formula should be used:

    SCALED_PRICE(ComponentTypeName, ThresholdKey, EFFECTIVE_DATE())

You must then define the negotiated scale grid and target price as the output: Negotiated Scale Grid:

  1. Click on Add Output Setting.
  2. Define a "ScaledPrice" key.
  3. Associate the scaleGridNegotiated column.
  4. Click Add.

Target price:

  1. Click on Add Output Setting.
  2. Define a "ScaledPrice" key (this must be the same key as for the negotiated grid above).
  3. Associate the scaledPrice column (e.g. the target price column defined earlier).
  4. Click Add.

You should end up with the following map:



ASSOCIATE DATA MAPS TO LINE TEMPLATE CELLS

Once columns and cells on the one hand, and maps of data providers on the other hand are created, you must associate them for the cells to be filled according to the maps.

  1. In the Data Model menu, select Columns & Lines.
  2. In the right part, select the line template you want to setup.
  3. In the left part, go in the Data Source Maps section and click Add Map.
    • Source Type: Pricing.
    • Data Source: the data provider you have created (e.g. pricingScales).
    • Data Map: you must follow these steps twice, one for ReferenceScaleMap and one for

      NegotiatedScaleMap.



Once both maps added to the Line Template, you can check that the setup is correct by checking the cells of the line template corresponding to the reference and negotiated scale grid:

  1. Click on the reference scale grid cell of the line template.
  2. In the left part, go in the Calculation section.
  3. You should see the following:

Same operation for the negotiated scale grid:



If a scale structure is associated with a product of your catalog, you should see it in the quote:



Storing 2D Drawings in a Quote

PREREQUISITES

  • The drawing model has been set up in the CPQ Designer. The .drawing CPE must be created on the SellingPRO Designer side.
  • The Attachment service must have been activated. To ask for activation, please create a Support ticket.

CREATE A COLUMN IN THE QUOTE MODEL

In the quote you'll need to set up a column to store the drawing, datatype must be Attachment.

Note: As any other column, you must set the adequate permission sets and place it in a component.


CREATE A PRODUCT MAP TO RETRIEVE THE DRAWING IN A COLUMN

In order to retrieve the drawing value you must map the CPE with the column in the quote.

  1. Select the line template, under product map click Edit.

  2. Create a local variable.

  3. Set the locale variable
    • Name: Name of the locale variable, will be used to reference in the cell calculation section.
    • Type must be attachment as the previously created column.
    • Key is the CPE pointing to the desired drawing it must look like: CPE.currentSBL/DWM/NameOfTheDrawingMethod.NameOfTheDrawing.drawing.png".

  4. Select the cell on which you want to store the drawing on the adequate line template and click on Edit under the calculation section.

  5. Select in the drop down list the correct local variable for the drawing and Save.



WORD TEMPLATE SETUP

In case, you need to insert the drawing in your proposals, you will need to use the image function of the Word add-in. See PROS Document - Images.

Storing JSON from CP in Quote

GENERATE THE JSON FILE OUT OF THE CONFIGURATION PROCESS

Leveraging a Business Property

In the Configuration Process, you can define a

  1. Attach a Business Property to your root SBL line and link a BRC.

  2. Define the content of the BRC. Note: The BP size is maximum 4,000 characters.

    The property on the SBL you have defined here will be used in the product map to retrieve the JSON you just created.

    Note: The Macro size is maximum 10,000 lines.

Leveraging a Setting

In the Configuration Process, you can define a Macro BRC to generate the JSON you would like to send to Performance Quoting. This JSON will be added as a setting of your configuration.

This BRC can be triggered when the user clicks on the Add To Quote button:

  1. Create a new event logic "On Before Save"

  2. Execute a BRC when this event is triggered

  3. Define the content of the macro and then store the JSON in a setting with the confML.setSetting method (you can use aliases to get all the needed information in the JSON).

    Note: The Macro size is maximum 10,000 lines.

    The setting you have defined here will be used in the product map to retrieve the JSON you just created.

CREATE COLUMN IN QUOTE MODEL

In the quote you'll need to set up a column to store the drawing, datatype must be JSON.

Don't Forget: As any other column you'll need to set the adequate permission sets and place it in a component.

CREATE PRODUCT MAP TO RETRIEVE THE JSON IN A COLUMN

In order to retrieve the JSON value you need to map the CPE with the column in the quote.

  1. Select the line template, under product map click on Edit.

  2. Create a local variable

  3. Set the locale variable

    • Name: name of the locale variable, will be used to reference in the cell calculation section.
    • Type must be JSON as the previously created column
    • Key is the CPE pointing to the desired drawing it must look like:
      • if you leveraged a BP attached to the

        SBL: CPE.currentItem.wksFood/BPS/bpsProperties.BP/json.value

      • if you leveraged a setting: CPE.Settings.Session.Application.YOURSETTINGNAME
  4. Select the cell on which you want to store the JSON on the adequate line template and click on Edit under the calculation section.

  5. Select in the drop down list the correct local variable for the JSON and Save.
    Note: the cell size limit is 0.01Mb. If more storage is necessary, a governor limit extension request can be made.


WORD TEMPLATE SETUP

In case, you need to insert the data stored in your proposals, you will need to insert the JSON with the Word add-in. See more details here: Smart Document - Complex Tags Setup