Asset-Based Ordering Implementation

Overview

Successful implementation of Asset-Based Ordering requires the following:

Note: To view your current ABO package version, view the comments in the Admin > BML Library > ORCL_ABO > abo_initializeContext function.

23B Features

The following enhancement is available with Oracle CPQ Update 23B. For additional information refer to the Oracle CPQ 19B and Later ABO Implementation Guide.

ClosedABO Implementation Standard Process Support

22D Features

The following enhancement is available with Oracle CPQ Update 22D.

ClosedCustom Asset Field Variable Name Changes

22C Features

The following enhancement is available with Oracle CPQ Update 22C.

ClosedAsset Field Enhancements

22B Features

The following enhancement is available with Oracle CPQ Update 22B.

ClosedDelta Pricing for Projected Assets

21D Features

The following enhancements are available with Oracle CPQ Update 21D.

ClosedReconfigure Child Models from the Line Item Grid

ClosedCommerce Delta Pricing for ABO

21B Features

The following enhancements are available with Oracle CPQ Update 21B.

ClosedCopy Transaction and Transaction Lines for an Asset

ClosedConfiguration Delta Pricing for ABO

21A Features

The following enhancements are available in the 21A ABO Implementation Package. For additional information refer to the Oracle CPQ 19B ABO Implementation Guide.

ClosedBusiness Time Zone Setting for ABO

19B Features

The following enhancements are available in the 19B ABO Implementation Package. For additional information refer to the Oracle CPQ 19B ABO Implementation Guide.

ClosedSimple Product Support for Subscription Ordering

Beginning in Oracle CPQ 19B, customers can enable Subscription Ordering support to directly add simple products to a Commerce Transaction for an asset-based order. A simple product is a product that does not have its part number associated with any of the related configuration models. When enabled, users can use Quick Add to add simple products to a Transaction without navigating away from the Transaction page. They can also add simple products using a parts search.

Simple Product for ABO

When Subscription Ordering for Simple Products is enabled and a simple product is added to a Transaction, the following attributes are automatically populated.

Line Item Attribute

Simple Product Value

BOM ID

SPI

BOM Part Number

The simple product part number

BOM Quantity

1

BOM Level

0

Asset Key

A unique ID is generated to track the simple product as an asset.

Action Code

Add

For instructions to enable this option, refer to Enable Subscription Ordering for Simple Products.

Notes:

  • Oracle CPQ strongly recommends that administrators install the 19B ABO Implementation Package to use simple products. Refer to the 19B ABO Implementation Guide for instructions to use simple products with the 18D ABO Package.
  • Simple Product functionality is not supported in external order implementations such as Oracle CX Commerce.


ClosedMulti-Select Support for Asset Operations

Users can now select multiple assets on the Subscription Workbench (previously called the Customer Assets page) to modify, renew, resume, suspend, or terminate. For Example: A customer needs to terminate cloud backup services for five users effective on the 1st day of next month. The Customer Support Representative identifies the assets to be terminated, selects the assets, then clicks Terminate.

Selected multiple items to Terminate

After the Customer Support Representative selects Terminate, the Transaction UI page opens. The selected assets and the appropriate action are displayed.

Terminated assets on Transaction UI

  • Administrators must install the 19B ABO Implementation Package to enable Multi-select modify for multiple assets.
  • Multi-select suspend, resume, renew, and terminate will work with the 18D ABO package.

ClosedNew Transaction Support for Asset Operations

Beginning in Oracle CPQ 19B, customers can perform asset operations from the Subscription Workbench for assets without an associated Transaction ID. When a user invokes an asset operation for an asset without an associated Transaction ID, a new transaction is created and associated with the requested operation. This behavior is also supported in the v8 asset operation REST APIs.

  • Administrators must install the 19B ABO Implementation Package to enable New Transaction Support for Asset Operations.
  • New Transaction Support is not supported for external applications in Oracle CPQ 19B.

Notes:

  • Most of the 19B Asset-Based Ordering enhancements require installation of the 19B ABO Implementation Package. Exceptions are noted for some multi-select operations.
  • If customers using the 18D ABO Implementation Package do not wish to use the 19B Asset-Based Ordering enhancements, the 18D ABO Implementation Package will continue to work.

18D Features

The following enhancements are available in the 18D ABO Implementation Package. For additional information refer to the Oracle CPQ 18D ABO Implementation Guide.

ClosedSupport for System Configuration Models

In Oracle CPQ Release 18D, customers can use Asset-Based Ordering in conjunction with System Configuration and the Oracle CX Commerce integration. The 18D ABO Implementation Package provides support for system assets, allowing customers to use Asset-Based Ordering flows on System Configuration models in both Oracle CPQ and Oracle CX Commerce order scenarios.

  • When using Asset-Based Ordering with System Configuration, only root models are available on the Customer Assets page.
  • Users can Suspend, Resume, and Renew assets containing root, child, or grandchild models. The models are then added as new line items to the Line Item Grid and can be fulfilled.
  • Clicking Terminate from the Customer Assets page will terminate the root asset and all child assets and create a Transaction Line in Commerce. When the Terminate action is fulfilled, the End Date is updated to reflect the date the root asset was terminated.
  • This feature can be supported only if assets are maintained in the Oracle CPQ Repository. If assets are stored externally then this feature cannot be supported. In other words, in order for this feature to work as expected, assets data should be created in CPQ.

ClosedSuspend and Resume Actions on Child and Grandchild Models and Parts

In Oracle CPQ Release 18D, when using modify, reconfigure, or follow-on order Asset-Based Ordering flows on assets, users can Suspend and Resume child and grandchild models and parts in a configurator session. In prior releases, these operations were only supported on the asset as a whole.

This enhancement provides a basic framework that provides customers the ability to customize the behavior by creating Configuration attributes, BOM mappings, and constraints to support the Suspend and Resume operations on child models, according to their business requirements.

ClosedSample Administrator Steps

The following section provides a list of typical setup information for Suspend and Resume on child and grandchild models and parts.

  • Create two Configuration attributes for each model or part you are enabling the Suspend and Resume operations -- one to capture the Suspend and Resume actions and another optional Configuration attribute to store the projected state of the asset for rule enforcement. If this enhancement is enabled for all models, administrators can create the Configuration attributes at the Product Family level and add them to the Configuration flow layout at the child and grandchild level. For example:
    • Create a Configuration attribute with variable name 'oRCL_ABO_Action' to capture the user intent to Suspend or Resume.
      • Variable Name = oRCL_ABO_Action
      • Data Type = Text
      • Display Type = Single Select Menu
      • Menu Values = SUSPEND, RESUME
    • Create a configuration attribute with variable name 'oRCL_ABO_PriorAssetState' to capture the projected state of the asset that is calculated and stored in the attribute at runtime. This can also be created as a hidden attribute.
      • Variable Name = oRCL_ABO_PriorAssetState
      • Data Type = Text or Single Select Menu
      • If we are defining a Single Select Menu, then the menu values should be as follows - ACTIVE, SUSPENDED
    • The variable name of the Configuration attribute is not significant, but it must match the BOM Mapping rules created later.
  • Add configuration attributes 'oRCL_ABO_Action' and 'oRCL_ABO_PriorAssetState' to the child and grandchild levels of a UI layout, so that Suspend and Resume actions are available on child models to users.
  • Create constraints to ensure the Suspend and Resume actions are only enabled or disabled in the Model Configuration page session depending on the value of the projected state of the asset. This allows the user to determine whether Suspend or Resume is allowed. In the above sample setup, administrators can create the rule at the Product Family level. For example, a sample script can be as follows:

    if (oRCL_ABO_PriorAssetState == "SUSPENDED") {
      return "RESUME|^|";
    }
    if (oRCL_ABO_PriorAssetState == "ACTIVE") {
      return "SUSPEND|^|";
    }
    if (oRCL_ABO_PriorAssetState == "") {
      return "SUSPEND|^|";
    }
    return "SUSPEND|^|RESUME|^|";
    
  • Navigate to Admin > Data Tables, For each model or part for which this enhancement is enabled, create relevant BOM data table mappings in the Oracle_BomAttrMap data table between the Commerce line attribute 'oRCL_ABO_ActionCode_l' and the configuration attribute for capturing user intent to Suspend or Resume, that is 'oRCL_ABO_Action' in the above example.
  • Optionally, create relevant BOM data table mappings in Oracle_BomAttrMap between BOM attribute 'oRCL_ABO_PriorAssetState' and the configuration attribute created to capture the projected state of the asset, that is 'oRCL_ABO_PriorAssetState' in the above example.

ClosedRetain Configuration Attributes without Mapping in BOM Tables

In prior releases before Oracle CPQ 18D, Configuration attributes were not preserved in Asset-Based Ordering flows unless there was a BOM Mapping rule defined for them. Oracle CPQ Release 18D simplifies the Asset-Based Ordering setup by allowing administrators to add Configuration attributes to the Model Configuration page layout without mapping the attributes in the BOM Mapping tables. The Configuration attribute values are retained and retrieved when an asset is modified or a new follow-on order is created.

  • A Sales representative no longer needs to be presented with default values in the configurator UI for attributes that are not included in BOM mapping when modifying an asset or creating a follow-on order.
  • With multiple open orders, prior configurations are accurately preserved and retrieved.
  • Supports scenarios where orders are stored within Oracle CPQ and outside of Oracle CPQ (e.g. Oracle CX Commerce).

ClosedUpdate Configuration REST API Operation

In Release 18D, in order to preserve unmapped configuration attributes and to support system configuration, an additional RESTful call is required to copy these configuration attribute values from order line and store them on the root asset after fulfillment.

The "updateConfiguration" REST API operation accumulates a projection of all configuration attributes from all relevant open order lines related to an asset and stores this information in the "configAttrInfo" attribute on the root asset. For additional information, refer to Asset REST APIs.

  • When orders are stored in CPQ, invoke the update configuration REST API operation, after invoking the synchronize operation to create or update assets in the Oracle CPQ Asset repository during the fulfillment flow. The following tasks are required to update configuration values:
  1. Invoke the synchronize REST API operation. For example:

    https://sitename.oracle.com/rest/v7/assets/actions/synchronize
  2. Invoke the update configuration REST API operation. For example:

    https://sitename.oracle.com/rest/v7/assets/actions/updateConfiguration
  • When orders are stored outside of Oracle CPQ (e.g. in Oracle CX Commerce), the "updateConfiguration" action is automatically invoked when the REST API is invoked to update the "fulfillmentStatus" attribute of the "configBomInstance"' resource to "FULFILLED". For orders stored outside of CPQ, the following flow is expected during fulfillment:
    • When the order is submitted for fulfillment, invoke a REST API call to update the "fulfillmentStatus" attribute of the "configBomInstance" resource to "BEING_FULFILLED".
    • After the order is fulfilled by the fulfillment system, invoke the synchronize REST API operation.

      https://sitename.oracle.com/rest/v7/assets/actions/synchronize
    • After the order is fulfilled, invoke a REST API call to update the "fulfillmentStatus" attribute of the "configBomInstance" resource to "FULFILLED".

Note: The "updateConfiguration" action is automatically invoked and an additional API call is not required to update configuration values in assets.


ClosedReconfigure an Asset After Resume or Renew Operations

In releases prior to Oracle CPQ 18D, reconfiguring an asset after performing a Renew or Resume operation will throw an error. In Oracle CPQ 18D, reconfiguring renewed or resumed order lines is supported.

The customer can now reconfigure the resumed or renewed service from the Oracle CPQ Model Configuration page. This enhancement helps a cable company user, to make changes to an asset, after the contract date is renewed or resumed post service break.


ClosedReconfigure, Modify, and Follow-On Order REST API Operations

In releases prior to Oracle CPQ 18B, a client application has to make two separate calls to perform reconfigure, modify, or follow-on order operations.

  • The modify REST endpoint is invoked, the projected state of the asset is calculated and a URL with ProjectedAssetCache(PAC) key is returned in the response. For example:

    "configuratorURL": https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_partner=true&product_line=laptop&model=laptopModel&segment=computer&bm_sales_root_bom_item_id=abo_98228aac-867e-43a7-9823-76dc7c444dca&configContextKey=be2c0b20-49e4-4642-adfc-a207b529b282
  • The client application uses the response "configurationURL" to launch the configurator.

Beginning in Oracle CPQ 18B, additional URL parameters are passed during reconfigure, modify, or follow-on order operations. These parameters allow client applications to directly launch the configurator when preforming reconfigure, modify, or follow-on order operations. The following additional URL parameters are included:

  • assetKey - An invariant key that uniquely identifies the asset component for the lifetime of the asset. This is a required parameter and this attribute value can be found by querying assets resource.
  • transactionDate - The date (in ISO format) on which the transaction is effective. This is optional. If a date is not passed in then this will default to current date during processing.
  • sourceIdentifier - The Oracle CPQ Commerce Process variable name (e.g. oraclecpqo). This parameter is only required for orders stored in CPQ. If a value is not included for the "sourceIdentifier", the operation will default to "_external_order" which indicates that the order is stored outside CPQ.
  • id - The transaction identifier. This parameter is only required for orders stored in CPQ. This parameter is used to synchronize the modified data to the referenced Transaction during modify or follow-on order operations.

Note: Only authenticated users who are logged in to the application can use the additional URL parameters to directly launch the configurator.

Beginning in Oracle CPQ 18C, additional security access tokens are passed as URL parameters during modify and follow-on order operations. The additional security access tokens enable guest users to directly launch the configurator when preforming modify or follow-on order operations.

Note: External applications need to setup an Authentication Certificate Integration to acquire security access tokens. For more information, refer to Oracle CX Commerce Integration > Create an Authentication Certificate Integration Type.

The access token should be used, as URL parameters when the following REST APIs are invoked from external applications. The following access token parameters must be included in the URL: accessTokenData, accessToken, and publicKeyVarName.

ClosedSample URL with the new URL parameters

  • When orders are stored in CPQ, "_from_punchin=true" is used in the URL:

    https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_punchin=true
    &actionVarName=addLineItem_t&id=36575837&assetKey=abo_5b7bfe5e-53bb-4f68-9f18-feb7028d851a
    &sourceIdentifier=oraclecpqo&transactionDate=2018-02-05T00:00:000Z
  • When orders are stored outside Oracle CPQ in an external application (e.g. Oracle CX Commerce), "_from_partner=true" and access token parameters are used in the URL:

    https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_partner=true
    &assetKey=abo_73426cef-373f-4e82-849b-d979e03263f2&transactionDate=2018-02-06T00:00:000Z
    &accessToken=<accessToken>&accessTokenData=<accessTokenData>&publicKeyVarName=<publicKeyVarName>

The following section provides reconfiguration, modify, and follow-on order examples for REST API calls in Oracle CPQ 2017 R1, Oracle CPQ 18B, and Oracle CPQ 18C.

ClosedReconfigure Examples

  • Reconfiguration - Oracle CPQ 2017 R1

    • Invoke the following REST endpoint:

      https://sitename/rest/v4/configBomInstance/{configId}/actions/reconfig
    • The response returns a "configuratorURL" that can be used to launch the configurator.
  • Reconfiguration - Oracle CPQ 18B

    An authenticated user logged into the application can invoke the following REST endpoint by passing the "config_id":

    https://sitename/commerce/new_equipment/products/external_reconfig.jsp?_config_id=1234
  • Reconfiguration - Oracle CPQ 18C

    A guest user can directly invoke the following REST endpoint by passing the "config_id" and access token parameters:

    https://sitename/commerce/new_equipment/products/external_reconfig.jsp?_config_id=1234
    &accessToken=<accessToken>&accessTokenData=<accessTokenData>&publicKeyVarName=<publicKeyVarName>

ClosedModify Examples

  • Modify - Oracle CPQ 2017 R1

    • Invoke the following REST endpoint:

      https://sitename/rest/v4/assets/{Id}/actions/modify
    • The response returns a "configuratorURL" that can be used to launch the configurator.
  • Modify - Oracle CPQ 18B

    An authenticated user logged into the application can invoke the following REST endpoint by passing the "_from_partner=true", "assetKey", and "transactionDate":

    https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_partner=true
    &assetKey=abo_73426cef-373f-4e82-849b-d979e03263f2&transactionDate=2018-02-06T00:00:000Z
  • Modify - Oracle CPQ 18C

    A guest user can directly invoke the following REST endpoint by passing the "_from_partner=true", "assetKey", "transactionDate", and access token parameters:

    https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_partner=true
    &assetKey=abo_73426cef-373f-4e82-849b-d979e03263f2&transactionDate=2018-02-06T00:00:000Z
    &accessToken=<accessToken>&accessTokenData=<accessTokenData>&publicKeyVarName=<publicKeyVarName>

ClosedFollow-On Order Examples

  • Follow-On Order - Oracle CPQ 2017 R1

    • Invoke the following REST endpoint:

      https://sitename/rest/v4/configBomInstance/{configId}/actions/followOnOrder
    • The response returns a "configuratorURL" that can be used to launch the configurator.
  • Follow-On Order - Oracle CPQ 18B

    An authenticated user logged into the application can invoke the following REST endpoint by passing the "_from_partner=true", "assetKey", and "transactionDate":

    https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_partner=true
    &assetKey=abo_73426cef-373f-4e82-849b-d979e03263f2&transactionDate=2018-02-06T00:00:000Z
  • Follow-On Order - Oracle CPQ 18C

    A guest user can directly invoke the following REST endpoint by passing the "_from_partner=true", "assetKey", "transactionDate", and access token parameters:

    https://sitename/commerce/new_equipment/products/model_configs.jsp?_from_partner=true
    &assetKey=abo_73426cef-373f-4e82-849b-d979e03263f2&transactionDate=2018-02-06T00:00:000Z&accessToken=<accessToken>&accessTokenData=<accessTokenData>&publicKeyVarName=<publicKeyVarName>

2017 R1 Features

The following enhancements are available in the 18D ABO Implementation Package. For additional information refer to the Oracle CPQ 2017 R1 ABO Implementation Guide.

ClosedExternal Client Application Integration

As part of the external client application integration, Oracle CPQ administrators must configure a "Client Side" integration to enable a Configurator action for a specific product family. The action sends items to the external client application cart via a button that displays on the Oracle CPQ Model Configuration page after configuring the "Client Side" integration. When using an external client application to create orders, the Oracle CPQ Model Configuration page opens in an embedded iframe in the external client application and allows the user to configure an order.

Either Oracle CPQ or the external client application stores orders independently during the order capture process. When orders stored in Oracle CPQ and orders stored in an external client application co-exist on a customer site, the Asset-Based Ordering solution processes the orders separately. An external client application that stores order data can invoke Oracle CPQ Asset REST APIs to retrieve the active asset list from the Oracle CPQ asset repository for display in their own Customer Assets page. From the Customer Assets page in the external client application, users can perform other asset-based operations such as Modify, Terminate, Suspend, Resume, and Renew by executing the REST API Services for Assets available in Oracle CPQ 2017 R1.

In addition, administrators can use REST APIs to synchronize the asset changes to the Oracle CPQ asset repository or external asset repository after creating and fulfilling external orders based on changes made using asset based operations. When an external client application is used, it can invoke REST APIs to exchange data with the external order fulfillment system.

Notes:

  • If customers implement the 2017 R1 Asset-Based Ordering solution and continue to store orders in CPQ, the execution of most asset operations will continue as in the 2016 R1 Asset-Based Ordering implementation. The one exception is the updateAsset operation, which is not available in the 2017 R1 Asset-Based Ordering integration. The abo_updateAsset BML function is available in the 18C and later ABO implementation packages.
  • Integrating with an external client application is an optional step. To enable an external client application and integrate with Asset-Based Ordering, administrators must use the Oracle CPQ Edit Integration page to define a "Client Side" integration at the product family level. For more information, refer to the Configuration Integration.

ClosedConfiguration BOM Instance

A Configuration BOM Instance (i.e. configBomInstance) and a unique identifier (i.e. configId) are returned to the external client application when a user clicks the integration action from the Oracle CPQ Model Configuration page, which opens in an embedded iFrame in the external client application. Administrators provide a name for the integration action when they integrate with an external client application by defining a "Client Side" integration.

The configBomInstance contains the asset information from the Model Configuration page and contains two key fields: transactionDate and fulfillmentStatus. Use the transactionDate attribute to determine the date and time of a service request, which can also be a future date. The fullfillmentStatus attribute refers to the status of the configBomInstance. An optional transactionId attribute in the configBomInstance determines the current external order to which the configuration is relevant.

Notes:

  • The transactionDate, fulfillmentStatus, and transactionId fields determine whether to consider the current configBomInstance as an open order item for the asset. The fields also calculate the projected state of an asset during various ABO operations.
  • For UI integrations, the client-side integration action returns the "configid" in response JSON. When an asset has a Terminate, Renew, Suspend, or Resume call made to it, the "lineId" returned in response JSON contains the "configid".

ClosedBML Library Functions for External Client Application Integration

The following BML library functions are available for integration with an external client application. The library functions support access to the configBomInstance stored in CPQ.

  • saveconfigbom - Allows users to save the BOM for non-configurator UI integration scenarios such as suspend, resume, and terminate. The library function saves a client integration BOM instance and a "configId" to the Oracle CPQ configBomInstance resource and returns a "configId".
  • getconfigbom - Retrieves the configbom stored via the saveConfigBom API and the configBom created via an external client application Configurator UI session. The library function extracts and returns a client integration BOM instance from the Oracle CPQ configBomInstance resource using the "configId".

Note: "getconfigbom" is a RESTful action on the configBomInstance resource.


ClosedExternal Client Integration Resource

The Configuration BOM Instance Resource (i.e. configBomInstance resource) is used primarily when orders are stored in an external client application. Users can perform standard REST operations on the configBomInstance resource. The configBomInstance resource stores the configBomInstance when a user customizes a product using the Oracle CPQ Model Configuration page and adds the product to the shopping cart of the external client application. Oracle CPQ stores all configBomInstances in its own repository. A unique identifier (configId) allows users to locate a saved configBominstance, and REST APIs are available to extract and return the BOM instance in the form of a JSON response.

The data in the configBomInstance resource keeps track of external open orders relevant to a particular asset. The configBomInstance resource is applicable when asset based operations are performed while creating new assets or making changes to existing assets. After a configBomInstance is saved in the configBomInstance resource, the fulfillmentStatus attribute in the configBomInstance resource should be updated at regular intervals during the course of order creation, submission, and fulfillment.

Similarly, administrators must keep the transaction id and transaction date attributes in the configBomInstance in sync to hold the values from the corresponding fields in the external client application. When customers use an external client application to store orders and integrate the external client application with Oracle CPQ to implement Asset-Based Ordering, they have the option of implementing open order synchronization if they support open orders.

Note: Unless the status is "Being Fulfilled", obsolete data in the configBomInstance resource is cleaned-up periodically. For additional information, refer to the Open Order Synchronization section of the 2017 R1 ABO Implementation Guide and Configuration BOM Instance Resource.


ClosedREST API Services for Assets

REST API services for assets allow external client applications to Modify, Terminate, Suspend, Resume, and Renew assets.

  • Modify Asset – Modify a subscription service by modifying an asset. This operation calculates the projected state of the asset for the requested date and returns a configuration URL that launches the model configurator page, which reflects the projected state.
  • TerminateAsset – Terminate a subscription service by terminating an asset. This operation merges a termination request with the projected asset for the requested date and stores the results to a Configuration BOM Instance. For termination requests, the root item action code is set to Terminate and subordinate asset action codes are set to Delete.
  • Suspend Asset - Suspend a subscription service by suspending an asset. This operation merges a suspend request with the projected state of the asset for the requested date and stores the results to a Configuration BOM Instance repository. For suspend requests, the root and subordinate action codes are set to Suspend. Once the suspend request is fulfilled and the asset data is updated, the Suspend Date on the asset should be set to the date the request is effective.
  • ResumeAsset – Resume a suspended subscription service by resuming an asset. This operation merges a resume request with the projected state of the asset for the requested date and stores the results to a Configuration BOM Instance repository. For resume requests, the root and subordinate action codes are set to Resume. Once the resume request is fulfilled and the asset data is updated, the Resume Date on the asset should be set to the date the request is effective.
  • Renew Asset – Renew a subscription service by renewing an asset. This operation merges a renew request with the projected state of the asset for the requested date and stores the results to a Configuration BOM Instance. For renew requests, the root and subordinate action codes are set to Renew. Once the renew request is fulfilled and the asset data is updated, the End Date on the asset should be set to the date up to which the request is renewed.

ClosedREST API Services for Configuration BOM Instance

Use REST API services for a Configuration BOM Instance when storing orders in an external client application to reconfigure an order, create a Follow-On order, or retrieve a saved Configuration BOM Instance.

  • Reconfigure an Order – This operation updates an asset prior to fulfillment and internally calculates the projected state of the order. The response returns a new "configurationURL", which launches the Model Configuration page and reflects the user intended net changes to the subscription. Use this operation when storing orders in an external client application. When orders are stored in CPQ, use the Reconfigure action (_reconfigure_action) as used in the Oracle CPQ 2016 R1 release.
  • Create Follow-on Order – This operation makes changes to an existing and unfulfilled order. Once created, the follow-on order calculates the projected state of the order to allow the user to make additional changes. The response returns a new "configurationURL" that launches the model configurator page and reflects the user intended net changes to the subscription. Use this operation when storing orders in an external client application. When orders are stored in CPQ, use the Follow-On order action (oRCL_ABO_CreateFollowOnOrder) as used in the Oracle CPQ 2016 R1 release.
  • Get Configuration Instance – This operation uses one of the following identifiers to retrieve a saved Configuration BOM Instance:

    • The lineId returned from a Terminate, Suspend, Resume, or Renew service
    • The config_id returned by client side JSON object for client integration case.

    Note: Get Configuration Instance is only available for external client application integrations.


Administration

ClosedEnable Commerce Delta Pricing for ABO

To enable this feature administrators need perform the following tasks:

ClosedCreate a Sub-Document Delta Pricing Attribute Set

ClosedCreate Calculate Delta and Price Rollup Function

ClosedAdd Calculate Delta Price and Rollup Function to Commerce Save Action

Closed Add Calculate Delta Price and Rollup Function to Commerce Reconfigure Inbound Action

ClosedAdd Delta Price Attributes to the Transaction UI

Notes

  • The delta pricing feature does not require a specific ABO Implementation Package upgrade. However, to implement this feature, the site is required to be on ABO Implementation Package 18D or later.
  • The delta price is the difference (+/-) of the current price of the item as compared to the existing price of the saved asset.
  • Delta price will not be available until after an initial order is saved. The delta price fields populate upon a Modify on an existing asset from the Subscription Workbench or Assets page. This feature is available for asset modifications and follow-on orders only.
  • The delta price is displayed in the same currency as the model/parts in the Transaction UI.
  • Without delta pricing enabled, when configuring a system the Total Price of BOM on the root level remains the same—regardless if child models were configured or not. With delta pricing enabled, the Total Price of the entire system updates on the root level if the child models are configured.

Support for Delta Pricing in Formulas and BML Functions

In addition to Commerce delta pricing support, Oracle CPQ 21D will also support delta pricing in Commerce Formulas and BML functions. This feature will allow administrators to use delta pricing attributes in BML editors to define main and sub-document default values using:

  • Functions
  • Modify Actions
  • Before and After Formulas
  • Advanced Conditions and Actions for Commerce Rules

Administrators can also use delta pricing attributes for:

  • Commerce Library Functions
  • Price Scores
  • Advanced Defaults and Auto Update scripts

ClosedEnable Configuration Delta Pricing for ABO

To enable delta pricing, complete the following steps in Oracle CPQ:

1. Navigate to the Page Templates for Recommended Items Page.

Home Page > Style and Templates > Page Templates

2. Click Templates for the Recommended Items Page.

Page Templates - Templates for the Recommended Items Page

3. Unselect the Always Hide checkbox for the Delta Price in the Model Column Names group and Part Column Names group. This makes the Delta Price visible in the page layout.

4. (Optional) Enter a Label name for Delta Price.

5. (Optional) Click on the Users icon under Hide by Permissions column to designate visibility of Delta Price based on user type. Permissions are granted to all user types by default.

Templates for Recommended Items - Delta Price option

6. Click Save.

Notes:

  • The delta pricing feature does not require a specific ABO Implementation Package upgrade. However, to implement this feature, the site is required to be on ABO Implementation Package 18D or later.

  • The delta price is the difference (+/-) of the current price of the item as compared to the existing price of the asset as currently saved to the configurator.

  • Delta price will not be available until after an initial order is saved. The delta price fields populate upon a Modify on an existing asset from the Subscription Workbench or Assets page. This feature is available for asset modifications and follow-on orders only.

  • The delta price is displayed in the same currency as the model/parts in the configurator .

  • The Copy Transaction and Transaction Line action copies the current instance of the source configuration saved at the point in time the copy function is executed. Any updates within the associated lines to the source configuration, such as follow-on order lines, are not copied or able to be referenced in the new configuration. Therefore, reconfiguration of the newly copied configuration does not incorporate stacked or follow-on Line Item changes made to the source configuration.

  • If a new part is added to the quote that was not part of the existing configuration, the price of the added item is not included in the delta price. This new item displays 0.00 in the part delta pricing column. However, the added part is included in the overall Total Price.

  • Without delta pricing enabled, when configuring a system the Total Price of BOM on the root level remains the same—regardless if child models were configured or not. With delta pricing enabled, the Total Price of the entire system updates on the root level if the child models are configured.


ClosedEnable Copy Transaction and Transaction Lines in ABO

To use the Enable ABO Field Adjustment for Copy feature the site must have an ABO package installed with the assetkey and Action Codes defined within the Commerce process.

For new Oracle CPQ 21B customers, Enable ABO Field Adjustment for Copy feature is enabled by default and this option is not visible in the Commerce Options page.

Customers upgrading to Oracle CPQ 21B enable the copy Transactions and Transactions Lines feature by completing the following steps:

  1. Navigate to the Commerce Settings page.
    Home Page > Commerce and Documents > Commerce Settings
  2. Click Yes for the Enable ABO Field Adjustment for Copy option.

    Commerce Options - Enable ABO Field Adjustment for Copy option.

  3. Click Update.

Notes:

  • When multiple modify lines of root configurations are copied into a Transaction, each of the newly copied root Line Items is assigned a unique assetkey (itemInstanceId_l) and considered a new and separate configuration from the source configuration.

  • When copying Transactions and Transaction Lines the source's Action Code can determine if an item can be copied and the Action Code setting for the new item. Refer to the following guidelines:

    • Child Line Item with Action Code of Suspend, Resume, Renew, or Terminate is copied and the new Line Item Action Code is set to Add.

    • Child Line Item with Action Code of Delete is not copied.

    • Root Line with Action Code of Terminate copies all child Line Item(s), including child Line Items with Action Code of Delete, and sets the new Line Items Action Code to Add.

  • When the ABO Copy Transaction and Transaction Lines feature is enabled, note the following regarding the assetkey (itemInstanceId_l), Action Code (oRCL_ABO_ActionCode_l), and rootAssetKey (rootAssetKey_l) attributes:

    • Their default values needs to be set to 'None' at the attribute default level.

    • Within the Copy action Initialization tab, 'Revert to Default' must be set for these attributes.

    • The 'Use Specified Value' and 'Copy From Original' options are ignored and interpreted as 'Revert To Default'.

    • The' Define function' option must be used carefully for these attributes.
  • When copying a Transaction, the advanced default values for the Transaction Line attributes—with the exception of the assetkey and rootAssetKey attributes—will only take effect for the first Transaction Line copied. If advanced default values are used, you may need to implement a series of copy Transaction/copy Transaction Lines to achieve the desired result. This limitation is true for use cases outside of the ABO Copy Transaction feature.

  • The Copy Transaction and Transaction Line action copies the current instance of the source configuration saved at the point in time the copy function is executed. Any updates within the associated lines to the source configuration, such as follow-on order lines, are not copied or able to be referenced in the new configuration. Therefore, reconfiguration of the newly copied configuration does not incorporate stacked or follow-on Line Item changes made to the source configuration.

  • For ABO Implementation Package 18C or earlier, when the root Line Item Action Code is Suspend, Resume, Renew, or Terminate, the Copy Transaction and Copy Transaction Lines feature is only able to copy the root Line Item. This newly copied root Line Item is given a unique assetkey and the Action Code is set to Add. However, it is considered as a part line not a model line and cannot be reconfigured.

  • This feature does not adjust every attribute as part of this copy Transaction/Transaction Line function. For example, the fulfillentstatus_l and requestDate_l attributes are not adjusted. Therefore, administrators need to review their attributes in relation to the copy function and as applicable use standard customization practices to make necessary modifications.

  • The newly copied configuration is given a unique assetkey with the default format of abo+guid. If you have customized the assetkey format, this change needs to be incorporated as part of the copy action.

  • When copied, Transaction Lines created via a non-modify action and not saved from the Configurator UI, the price value from the original source is applied to the newly copied Line Item. If the original Transaction Line has a price value of zero, the user needs to reconfigure the Transaction in order to recalculate the value.


ClosedEnable Subscription Ordering for Simple Products

To enable Subscription Ordering for Simple Products, perform the following steps:

  1. Navigate to Commerce Options page.

    Admin > Commerce and Documents > Commerce Settings

    Commerce Options - Enable Subscription Ordering for Simple Products

  2. Set the Enable Subscription Ordering for Simple Products option to Yes.

  3. Click Apply or Update.

Notes:

  • Oracle CPQ strongly recommends that administrators install the 19B ABO Implementation Package to use simple products. Refer to the 19B ABO Implementation Guide for instructions to use simple products with the 18D ABO Package.
  • Simple Product functionality is not supported in external order implementations such as Oracle CX Commerce.


Related Topics

Related Topics Link IconSee Also