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

Mapping In and Out

In the following chapter we describe how to parameterize the way PROS Quote ‘Overview’ (Force.com) and PROS Quote ‘Content’ (CPQ module) communicate and how to add some custom data depending on your business needs.

Beware: These modifications require:
  • the knowledge of CPQ model parameterization
  • and a basic understanding of Salesforce set-up capabilities.
Note: Please refer to Quote Model Specificities for SFDC to know how to access and modify the CPQ Quote model.
Important: The standard PROS Quote behavior has to be activated. The PROS Custom setting Enable Trigger has to be set to ‘true’.

Understanding the Communication from Overview to Content Tab- Mapping IN



When switching from Overview tab to Content tab, the CPQ webservice is called and initialized with the values of the PROS Quote object but also of some values from the quote linked entities.

SYSTEM FIELDS MAPPING

The system fields (technical mandatory fields of the PROS Quote entity) are mapped as follows (This mapping cannot and must not be modified):

OVERVIEW TAB/F.COM CAMLEON QUOTE ENTITY FIELD NAMECONTENT TAB / CPQ OBJECT QUOTE MODEL FIELD NAME
PROS Quote DomainSFDC OrgIDQuote Domain
PROS UserGroupCurrent User ProfileQuote UserGroup
PROS Quote NameNameParameterTab.QuoteDescription
PROS Quote StatusStatusChangeAndControlTab.CurrentStatus
Active ReleaseActiveReleaseParameterTab.ReleaseNumber
Owner fieldOwnerChangeAndControlTab.CurrentOwnerId
Language(inherited from the user - Cf. custom Settings)ParameterTab.Language
CurrencyCurrencyIsoCodeParameterTab.Currency

The ‘Overview’ system fields overrides the values contained in the Quote content each time the CPQ webservice is called.

IMPLICIT PROS QUOTE FIELDS MAPPING

The standard fields (default fields of the PROS Quote entity included in the managed package) and custom fields (of the PROS Quote entity) are automatically passed as volatile session parameters in the Quote controller. Thus, they can be retrieved and used in the quote model as values (or default values) of header fields and total cells, and in the configuration processes or catalogs (as CPE session settings).

Tip: To use the value of the custom field in the catalog/configuration processes, use the following CPE format:

Format of the CPE -

CPE.Settings.Session.Application.myPROSQuoteCustomFieldName

IMPLICIT QUICK CHANGE FIELDS MAPPING

The custom fields of the Quick Change entity (PROS Additional Context object) are automatically passed as volatile session parameters in the Quote controller. Thus, they can be retrieved and used in the quote model as values (or default values) of header fields and total cells, and in the configuration processes or catalogs (as CPE session settings).

Tip: To use the value of the custom field in the catalog/configuration processes, use the following CPE format:

Format of the CPE -

CPE.Settings.Session.Application.AdditionalContext.myPROSQuoteCustomFieldName

EXPLICIT EXTERNAL FIELDS MAPPING

It is possible to inject values from Salesforce entity fields (external fields) into CPQ module on condition that these entities are linked to the PROS Quote Object.

Note: We consider that an entity is linked to the PROS Quote Object if :

a look-up relationship has been defined between the PROS Quote and the entity (1-to-1 relationship) [we call this entity a parent Entity]

For example, in the default managed package, the Account is a linked Salesforce entity

the entity is a child of an entity linked to the PROS Quote via a look-up type of relation (1-to-n relationship) [we call this entity a 2nd level Entity]

For example, in the default managed package, the Asset is a child entity of the AccountId.



To pass some eligible fields values into CPQ, you need to define a PROS Mapping Set.

  • [In the PROS Mapping Set]

    (If not activated check your access rights)

    Create a new (or edit an existing) PROS Mapping Set.

    • Click on ‘New’ button
    • Specify a name for your mapping set (Note: all names have to be unique)

  • [In the PROS Mapping Set Builder]

    Define the external fields you want to pass to the CPQ module:

    • Ensure that the Mapping IN is selected:
    • By default, the tree view shows all the ‘parent’ Entities:
    • If you want to map ‘2nd level’ Entities, you first need add this entity in the mapping. To add a child entity (e.g. Assets) of a linked object (e.g. Account) select the entity in the tree, click on ‘Add’ button and select the chosen child entity in the displayed combo box.
    • Select the fields you want to pass to CPQ. Select the entity from the tree (on the left), and then check the boxes of the fields you want to map (on the right)
    • Click on ‘Save’





  • [From the Custom Settings]
    • Specify the name of the Mapping set you want to use for your PROS Quote app.

The mapped field are passed as volatile session parameters in the Quote controller. Thus, they can be retrieved and used in the Quote model as values (or default values) of header fields and total cells, and in the configuration processes or catalogs (as CPE session settings).

Tip: To use the value of the custom field in the catalog/configuration processes, use the following CPE format:
Format of the CPE – for parent Entity::

CPE.Settings.Session.Application.cameleonQuoteLookUpFieldName.entityFieldName

e.g. CPE.Settings.Session.Application.AccountId.Name

Format of the CPE – for an 2nd level Entity:

CPE.Settings.Session.Application.cameleonQuoteLookUpFieldName.entityLinkName[xx].en tityFieldName

e.g.

CPE.Settings.Session.Application.AccountId.Assets[1].Name

CPE.Settings.Session.Application.AccountId.Assets[2].Name

Warning: For the mapping (IN and OUT), the ‘ c’ suffix identifying custom fields are ignored. CPE settings are built without this suffix.

HOW TO RETRIEVE A FIELD VALUE FROM FORCE.COM INTO CPQ

If you need to store or modify the custom field that you have previously created on you PROS Quote entity you can use a computation method (Attribute) allowing to retrieve a Quote controller value, based on the name of the attribute.

Tip: Name of the attribute of the Quote controller:

Convention for System, Standard and Custom Fields on the PROS Quote

The name of the attribute is the exact same name as the one used for the PROS Quote field on Force.com side.

myCameleonQuoteCustomFieldName:

Convention for External Fields

For external fields, it follows the same syntax as the CPE (without the CPE.Settings.Session.Application prefix)

cameleonQuoteLookUpFieldName.entityFieldName cameleonQuoteLookUpFieldName.entityLinkName[xx].entityFieldName

The Attribute computation method allows to set the value or the default value of any header or total cell field.

In the following example, we have created a myCustomField field on Force.com PROS Quote side. On CPQ side, we compute the value of the total cell based on this field name.



Understanding the Communication from Content to Overview Tab – Mapping OUT



When from the Content tab the user clicks on the Synchronize and Back to Overview action or when he clicks on the Overview tab, the PROS Quote entity is updated with regards to the following mapping mechanism.

Tip: The Synchronize action called when clicking on the Overview tab can be parameterized in the custom settings. It corresponds to the Synchronize action.

The Synchronize action called when clicking on the Synchronize and Back to Overview action is parameterized in the CPQ Layout file.

In both case the actions should be the same.

SYSTEM FIELDS MAPPING

The system fields are mapped as follows :

CONTENT TAB / CPQ OBJECT QUOTE MODEL FIELD NAMEOVERVIEW TAB / F.COM PROS QUOTE ENTITY FIELD NAME
PROS Quote NameParameterTab.QuoteDescriptionName
PROS Quote StatusChangeAndControlTab.CurrentStatusStatus

IMPLICIT PROS QUOTE FIELDS MAPPING

The standard fields and custom fields (of the PROS Quote entity) are automatically synchronized if the name of the field (minus ‘ c’) in the quote model is identical to the field name in the Force.com PROS Quote entity.

If the field is also defined in the Quick Change entity (PROS Additional Context object), it is also synchronized with this entity.



For the specific case of a standard field (or custom field) which is of type ID (LookUp field) :

  • either the SFDC field is valuated with the value of the CPQ field if (and only if) the CPQ value corresponds to the ID of an already existing entity on SFDC side.
  • or the SFDC field is valuated with the ID of the first entity whose Name matches the CPQ value

EXPLICIT EXTERNAL FIELDS MAPPING

It is possible to create/update Salesforce entities linked to the PROS Quote when synchronizing the

Content and the Overview.

The way linked entities are updated depends on the type of the entity : parent Entity or 2nd level Entity.



It is possible to update some fields of parent entities based on the header and footer cells of Quote.

The mapping between the CPQ and the Salesforce field is indicated in the PROS Mapping Set (OUT Mapping Type).

  • [In the PROS Mapping Set]

    (If not activated check your access rights)

    Create a new (or edit an existing) PROS Mapping Set.

  • [In the PROS Mapping Set Builder]

    Define the external fields you want to update when updating the PROS Quote content.

    • Ensure that the Mapping OUT is selected:
      • By default, the tree view shows all the parent entities. Select the parent Entity you want to update the fields.
        • Define the fields you want to update (check the boxes of the fields in the right part of the builder) and indicate the name of the CPQ header or footer cell (for the header fields of the CPQ, do not forget to indicate the tab name before the field name: e.g. CartInfoTab.UserMail)
    • Click on ‘Save’



  • [From the Custom Settings]
    • If not already done, specify the name of the Mapping set you want to use for your Quote app.

When synchronizing the PROS Quote ‘Content’ with the ‘Overview’, the external fields are mapped following the mapping set.

Warning: You have to ensure that the fields on both CPQ and SFDC side are of the same type.


It is possible to create and/or delete and/or update some 2nd level Entities based on cells of the Quote spreadsheet.

For each line of the Quote content, you will be able to create or update a 2nd level Entity on SFDC side.

The lines to take into account for the creation or update of the entities are identified thanks to a synchronization column. If the line cell for this specific column is not empty (not null), then the

quote line is eligible for the creation or update of the SFDC entity

The mapping set (OUT Mapping Type) will allow to establish a correspondence between the line columns and the 2nd level Entity fields :

  • it indicates the type of entities to be generated
  • it specifies, for each entity, the synchronization column allowing to identify/select which quote lines are used to update/create/delete the entities
  • it chooses the entity management policy.
  • it maps the entity fields with quote line cells.

Entity Management Policy rules:

  • ‘Basic’ policy (Delete & Re-Create All policy): when the PROS Quote synchronization process is launched, all the 2nd level Entities linked to the parent Entity are deleted. Then brand new entities (one per quote line identified by a non-empty value in the synchronization column) are created following the mapping OUT.
  • ‘Advanced update (delete/update/add)’ policy: when the PROS Quote synchronization process is launched, for each line of the quote (identified by a non-empty value in the synchronization column), the process compares the value of this cell with the synchronization ID stored in the already existing 2nd level Entities.
    • If an already existing entity having the same synchronization ID is found, then this entity is updated.
    • If no existing entity with the same synchronization ID if found, then a new entity identified by the synchronization ID is created
    • Other entities attached to the parent Entity are deleted.
  • ‘Advanced update (update/add)’ policy: when the PROS Quote synchronization process is launched, for each line of the quote (identified by a non-empty value in the synchronization column), the process compares the value of this cell with the synchronization ID stored in the already existing 2nd level Entities.
    • If an already existing entity having the same synchronization ID is found, then this entity is updated.
    • If no existing entity with the same synchronization ID if found, then a new entity identified by the synchronization ID is created
    • Other entities stays attached to the parent entity
      Warning: If you have chosen the ‘Advanced’ update policy, you have to ensure that a field having the same name as the CPQ synchronization column is present on the synchronized 2nd level Entities. Indeed, this field is used to store the unique identifier (called synchronization ID) of the entity. This ID (which has to be a String – TEXT type) allows to determine if the entity has to be deleted, created or updated.

      If the field is not present, you have to add this field as a custom field on the entity (Keep in mind that the ‘ c’ suffix added automatically by SFDC is ignored by the mapping process).

In this example we will create as many Assets linked to the account of the PROS Quote as we have lines in the spreadsheet whose column ‘SyncAsset’ is not empty.

  • [In the PROS Mapping Set]

    (If not activated check your access rights)

    Create a new (or edit an existing) PROS Mapping Set.

  • [In the PROS Mapping Set Builder]

    Define the external fields you want to update when updating the PROS Quote content.

    • Ensure that the Mapping OUT is selected:
      • By default, the tree view shows all the parent entities. You may need to select one of the parent Entity and click on ‘Add’ button to make the 2nd level Entities appear.
        • Select the entity
    • In the right part of the builder select the Entity Management policy
    • Indicate the synchronization column name
      • Define the fields you want to update (check the boxes of the fields to be mapped) and indicate the name of the CPQ column used for the synchronization
    • Click on ‘Save’



  • [From the Custom Settings]
    • If not already done, specify the name of the Mapping set you want to use for your PROS Quote app.

  • [Runtime example]

    With the following quote and the mapping described above, 2 assets attached to the PROS Quote parent account are created.



    Warning: You have to ensure that the fields on both CPQ and SFDC side are of the same type.

    Moreover, the mapping OUT will only work if the current user has a profile allowing to update the ‘OUT’ entities.

    For example if users have the following profile and your Mapping OUT targets the Accounts, this configuration will not work.



    Tip: If a field of a sync. entity is mandatory and the mapped CPQ field is empty, then the SFDC entity field is not updated and keep its former valuation.

    Reference: For the specific case of the Opportunity Line Items synchronization, please refer to Linking PROS Quote with an Opportunity.

PROPOSAL SYNC.

Proposal documents are stored in the PROS Quote object. Based on your service definition, either all generated documents are kept, or only the last one generated –

see keepLastDocumentOnly parameter in Quote Designer And Customization Guide.

Documents are stored either in the Files field, or in the Notes & Attachments field, depending on how you set up your salesforce environment.

There are two parameters: one in the Custom Settings (“CPQ documents synchronized to Files”), one in the Salesforce Files Settings (“Files uploaded to the Attachments related list on records are uploaded as Salesforce Files, not attachments”).

The table below describes where the proposal is saved:

SFDC Parameter / Custom SettingTicketed (Files)Not ticketed (Attachments)
FilesFilesFiles Notes & Attachments
Notes & AttachmentsFilesNotes & Attachments

RELEASE CREATION

When from the Overview tab the user clicks on the New Release button, a New CPQ is created from the current active release. Then when from the ‘Content’ tab the user clicks on the Synchronize and Back to Overview action, the ¨RPSQuote and Quote Release entities are created and/or updated accordingly.

RELEASE ACTIVATION

When from the ‘Overview’ tab the user selects a Quote release and then clicks on the Activate Release button, the PROS Quote entity fields are overriden by the values of the PROS Quote Release fields.

CHATTER UPDATES

If you have activated Chatter on your organization, you can benefit from automatical chat entries that are generated each time the status of the quote is change, or each time a proposal is generated for the quote for example.