Upgrade an asset

With Asset Based Ordering, the ability to upgrade an existing asset is supported when you complete some preliminary set up work.

With Asset Based Ordering, the ability to upgrade an existing asset is supported.

Oracle Configure, Price, Quote maintains a custom upgrade options table for Commerce to query in order to know which upgrades are available for a given asset. The sections that follow in this topic provide information on how to set up the required tables and how to complete some basic Oracle Configure, Price, Quote configuration steps to support asset based ordering.

Oracle Configure, Price, Quote Data Table Set Up

Create a data table named "INT_UPGRADE_OPTIONS" with the following schema:

Column Name Data Type
currentOffer String
currentModel String
upgradeName String
upgradeProductId String

The data table column mapping information for this data table is as follows:

  • currentModel – Maps to the variable name of the root config model in Oracle Configure, Price, Quote which the upgrade offer applies to.
  • currentOffer – Maps to a configurable attribute on the root config model in Oracle Configure, Price, Quote. This needs to be stored as an attribute mapping onto the root asset as well. This value is sent from Oracle Commerce while retrieving the upgrade options.
  • upgradeName – Maps to the _config_upgrade_name that is passed from Oracle Commerce to Oracle Configure, Price, Quote, which drives recommendation rules on the upgrade. Not used by Commerce for any other purpose.
  • upgradeProductID – Maps to the Product Id of the upgrade offer in Commerce. Used to show upgrade details (for example, product display name, description, images, etc.) to the shopper.

Note: We recommend you index the currentModel and/or currentOffer columns.

The INT_UPGRADE_OPTIONS data table is queried by Oracle Commerce to help identify what upgrades are available for a given asset and present those upgrade options to the shopper.

For example:

currentOffer currentModel upgradeName upgradeProductId
4ForUDeal nPlay 4ForUDealPlus prod102

Oracle Configure, Price, Quote Upgrade Asset Configuration Set Up

  1. Create a configurable text attribute named "currentOffer". This attribute should have either a default value set or have its value recommended based on specific criteria on the configuration; however, the value should not be editable directly by the user. The value of the "currentOffer" attribute is used in the INT_UPGRADE_OPTIONS data table that Commerce queries.
  2. Use (Bulk) Recommendation Rules that run when the value of the "_config_upgrade_name" attribute matches the value of the "upgradeName" column in the "INT_UPGRADE_OPTIONS" data table. Part of the rule should update the "currentOffer" attribute from its previous value to the "upgradeName" as well. Unlike normal configurable attributes, the value of "_config_upgrade_name" persists within all models of a system, so inter-model rules are not required to reference "_config_upgrade_name" and use them in Recommendation Rules on child models. The value of "_config_upgrade_name" also does not persist on the configurations, like other attributes do, so whether "_config_upgrade_name" has a value or not distinguishes asset upgrades from a typical asset modify.

Note: For more information on understanding and using the asset Upgrade feature in Commerce, refer to Use asset-based ordering.

You can also customize configurations of complex assets in Commerce without being redirected to an Oracle Configure, Price, Quote hosted iFrame which may have a separate and distinct user interface look and feel that creates a disjointed user experience. This capability is known as the Direct API Configuration feature and can be used as another option for the Modify and Upgrade actions. For more information on the Direct API configuration feature, refer to Customize configurations in Commerce using the CPQ Configuration API.