CPQ-OrderManagement Integration StandardProcess 23B
CPQ-OrderManagement Integration StandardProcess 23B
January 2024
Copyright © 2024, Oracle and/or its affiliates
Table of Contents
Introduction ................................................................................................................................................................................... 4
Purpose .......................................................................................................................................................................................................... 5
Audience ........................................................................................................................................................................................................ 5
Prerequisites ................................................................................................................................................................................................. 5
Acronym List ................................................................................................................................................................................................. 5
Terminology.................................................................................................................................................................................................. 6
Order Flow Overview ................................................................................................................................................................... 6
Create Order Process Flow ......................................................................................................................................................................... 6
Cancel Order Process Flow ......................................................................................................................................................................... 7
OIC Integration Installation and Setup ..................................................................................................................................... 8
Installing Business Accelerator (Update 24A or later) .......................................................................................................................... 8
Import Integration Package (Update 23B, 23C, or 23D) ....................................................................................................................... 15
OIC Mapping Details (Reference Material) ............................................................................................................................................. 18
Oracle CPQ Package Installation and Setup .......................................................................................................................... 23
CPQ Integration Center Setup ................................................................................................................................................................. 23
Create an OIC Integration............................................................................................................................................................................. 23
Create a Get Sales Order Status from FOM Integration ...................................................................................................................... 24
Create a Cancel a Sales Order from CPQ Integration ............................................................................................................................25
Import CPQ-Oracle Order Management Package ............................................................................................................................... 27
Enable Subscription Ordering for Simple Products (Optional) ......................................................................................................... 28
CPQ Standard Process Elements............................................................................................................................................................. 28
Commerce Integrations ............................................................................................................................................................................... 29
Commerce Attributes .................................................................................................................................................................................... 31
Commerce Actions ........................................................................................................................................................................................ 31
Library Functions ...........................................................................................................................................................................................33
Validation Rules ..............................................................................................................................................................................................33
Hiding Rules ................................................................................................................................................................................................... 34
Order Management Setup ........................................................................................................................................................ 35
Enable Business Events ............................................................................................................................................................................ 35
Manage Trigger Points for Business Events ...........................................................................................................................................35
Send Status Updates for Fulfillment Lines ..............................................................................................................................................35
Send Status Updates for Subscription Lines ...........................................................................................................................................37
Setting Up Order Management Event Subscriptions .......................................................................................................................... 38
Get the CSF Key ............................................................................................................................................................................................. 38
Register the CSF Key in Order Management ......................................................................................................................................... 39
Oracle CPQ Field Setup..............................................................................................................................................................40
Business Unit ID Field ................................................................................................................................................................................40
Account Fields ............................................................................................................................................................................................40
Part Subscription Product Type Field ....................................................................................................................................................40
Layout Fields ................................................................................................................................................................................................41
Demo Product Setup (Optional) .............................................................................................................................................. 42
Import the Demo Migration Package ..................................................................................................................................................... 42
Deploy Product Families ........................................................................................................................................................................... 42
Deploy the Home Page ............................................................................................................................................................................. 43
Install the Parts Package........................................................................................................................................................................... 44
Import BOM Data Tables .......................................................................................................................................................................... 44
Activate and Map Data Tables ................................................................................................................................................................. 45
Verify BOM Products ................................................................................................................................................................................. 45
Order Management Pricing Integration ................................................................................................................................ 46
Enable Pricing ............................................................................................................................................................................................. 46
Pricing Related Utility BML ......................................................................................................................................................................... 46
Prices Array Set ........................................................................................................................................................................................... 46
Oracle CPQ Account Integration ............................................................................................................................................. 48
Library Functions ....................................................................................................................................................................................... 48
Manual Data Table Changes .................................................................................................................................................................... 49
Add Template Dependencies to File Manager ..................................................................................................................................... 50
Appendix A: Workflows .............................................................................................................................................................. 51
1
Appendix A1: Create Order – Standard Item Workflow ........................................................................................................................ 51
Appendix A2: Create Order – Configurable Item Workflow ............................................................................................................... 52
Appendix A3: Auto Sync Status Workflow ............................................................................................................................................ 53
Appendix A4: Full Order Cancellation .................................................................................................................................................... 53
Appendix A5 Partial Order Cancellation ................................................................................................................................................ 55
Appendix A6: Terminate Subscription Product Workflow ................................................................................................................. 55
Appendix B: BML ........................................................................................................................................................................ 56
BML – Process Create Order Response .................................................................................................................................................. 56
BML - Get Account Details ....................................................................................................................................................................... 56
Appendix C: Payload Template Files ...................................................................................................................................... 60
findOrganizationPayload.txt ...................................................................................................................................................................... 60
customerAccountPayload.txt ..................................................................................................................................................................... 60
Appendix D: Miscellaneous Commerce Library Functions ................................................................................................. 61
String getTemplateLocation(String system, String operation)........................................................................................................... 61
String invokeWebService(String system, String soapReq) .................................................................................................................. 61
Appendix E: CPQ-OM Status Mapping ................................................................................................................................... 62
Map CPQ Line Status to Order Management Line Status................................................................................................................... 62
Appendix E1: OIC Integration – UpdateSOStatusFromFOM/ FOM CPQ SalesOrderStatusSync ................................................ 64
Appendix E2: OIC Integration – UpdateSubStatusFromOSS/ OSS CPQ AssetUpsertFlow .......................................................... 65
Appendix F: Retrieve OIC Integration Endpoint URL .......................................................................................................... 66
Appendix G: Limitations and Troubleshooting .................................................................................................................... 69
Appendix G1: Limitations .......................................................................................................................................................................... 69
Appendix G2: Troubleshooting ............................................................................................................................................................... 69
Resolve Issues with Create Order Action................................................................................................................................................. 69
Assets Not Created in CPQ Assets Repository ....................................................................................................................................... 69
Blank Line Status on click of 'Get SO Status from FOM' button ........................................................................................................ 69
2
Revision History
This document will continue to evolve as existing sections change and new information is added.
SEPT 2023 Introduction Oracle CPQ 23D updates including support for rate plans.
Import Integration Package
OIC Mapping Details (Reference Material)
Commerce Integrations
Appendix B: BMLIntroduction
AUG 2023 Commerce Integrations Oracle CPQ 23C updates to Process Create Order Response (BML)
section
JUN 2023 Oracle CPQ 23C Updates Charge Entity Support for CPQ Standard Process - Order
Management Integrations
3
Introduction
This integration includes:
REST-based Integration with Oracle Order Management using Oracle Integration Cloud (OIC)
Support for pre-priced order creation and cancellation
Asynchronous update of quote order and line status from Oracle Order Management
The CPQ Standard Commerce Process Integration includes artifacts for CPQ and Oracle Order Management such as,
Commerce Integration instance, Attributes, Actions, and associated logic.
Oracle CPQ Update 23B introduced the Commerce Standard Process with pre-defined quoting, ordering, integration, and other
workflow entities. This provides a standard quote object for customers as a well-defined and functional starting point for their
implementation.
When you create a new Standard Process, it is automatically populated with standardized logic for documents, attributes,
actions, rules, library functions, layouts, data columns, Commerce integrations, and workflow steps.
The new Standard Process simplifies administrator set up for not just the Commerce Process in CPQ, it also has prebuilt
artifacts for the unified Oracle end-to-end integrations flows with Oracle CX Sales and Oracle Order Management
Beginning in Oracle CPQ 23B, the Standard Process is delivered for new Oracle CX Sales integrated site installations and is
the default process when creating a new Commerce process.
The Oracle Quote to Order Commerce process, included with Oracle CPQ RefApp from Update 23B onwards, is based on the
new Commerce Standard Process.
Customers currently using an Oracle CPQ and Oracle Order Management integration from an updateprior to Oracle CPQ 23B that
want to upgrade to the Oracle CPQ 23B or later platform release, can continue to use the CPQ-Oracle Order Management Package
(CPQ_FOM_Package_21B.zip) and OIC integration package (CPQFOMIntegrations_21B.par).
Customers implementing the new Commerce Standard Process (available in Oracle CPQ 23B platform release) must import the new
CPQ-Oracle Order Management Package (CPQ_FOM_Package_23B.zip) and the new OIC Integration Package
(CPQFOMIntegrations_23B.par) available in this release.
Customers implementing the new Commerce Standard Process (available in Oracle CPQ 23C platform release) or customers
implementing new Commerce Standard Process in Oracle CPQ 23B release, who upgrade to Oracle CPQ 23C platform release must
import the CPQ-Oracle Order Management Package (CPQ_FOM_Package_23C.zip) and the new OIC Integration Package
(CPQFOMIntegrations_23C.par) available in this release.
Customers implementing the new Commerce Standard Process (available in Oracle CPQ 23D platform release) or customers
implementing new Commerce Standard Process in Oracle CPQ 23B or 23C, who upgrade to Oracle CPQ 23D platform release must
import the CPQ-Oracle Order Management Package (CPQ_FOM_Package_23D.zip) and the new OIC Integration Package
(CPQFOMIntegrations_23D.par) available in this release.
Customers implementing the new Commerce Standard Process (available in Oracle CPQ 24A platform release) or customers
implementing new Commerce Standard Process in Oracle CPQ Update 23B, 23C, or 23D, who upgrade to Oracle CPQ 24A platform
release must import the CPQ-Oracle Order Management Package (CPQ_FOM_Package_24A.zip) and must install the new business
accelerator (Oracle CPQ - Oracle Order Management | Quote and Order Management) available in the integration store.
4
Purpose
This installation guide describes how to implement the reference integration between Oracle CPQ and Oracle Order Management
using order management REST APIs and OIC.
This guide is only relevant to customers implementing the new Commerce Standard Process in Oracle CPQ 23B platform or
later release. Customers can either use the Oracle Quote to Order Commerce process, included with the Oracle CPQ 23B
RefApp or later release, or they can create a new standard process to get all the benefits of the new Commerce Standard
Process.
Customers that upgrade to the Oracle CPQ 23B platform or later release who want to integrate CPQ and Oracle Order
Management using their existing Commerce process from a release prior to Oracle CPQ 23B, should refer to the 21B Oracle
CPQ – Oracle Order Management Integration Guide.
Audience
This installation guide is intended for administrators responsible for setting up and configuring the Oracle CPQ - Order Management
solution. This guide assumes administrators have prior Oracle CPQ, Oracle Order Management, and OIC administration experience.
Prerequisites
Administrators must integrate the Oracle CPQ 23B or later Standard Commerce Process with the following:
Notes:
Administrators performing the integration installation must have administrator privileges on the Oracle CPQ,
Oracle Order Management, and OIC sites.
For information about obtaining any of the above prerequisites, contact My Oracle Support.
Acronym List
Definitions of the acronyms used within this document are provided in the following table. For additional information, refer to the
Oracle CPQ Administration Online Help.
BML (Big Machines Extensible Language) - A scripting tool used to capture a company's complex business logic within
Oracle CPQ configuration and commerce.
BOM (Bill of Material) - Fulfillment systems often maintain BOMs containing complex, multi-level part structures that differ
from the configuration attributes used in Oracle CPQ when sales users configure products. BOM mapping provides a data-
driven mechanism for mapping these differing product views. To use the Order Management solution to create an order
from an Oracle CPQ transaction, the products must be modeled as a BOM.
CPQ (Configure, Price, Quote) - This Oracle solution enables companies to streamline their entire opportunity-to-quote-to-
order process, including product selection, configuration, pricing, quoting, ordering, and approval workflows.
OM (Order Management) - Oracle Order Management, previously known as Fusion Order management, is designed to
improve order capture and fulfillment execution across the quote to cash process by providing a central order hub for multi-
channel environments. The application provides the ability to capture, price and configure orders through direct order entry.
OIC (Oracle Integration Cloud) - Oracle Integration Cloud Service is a cloud-based integration application designed to
perform integrations between cloud-based applications – but also has capabilities that extend beyond that, to performing
integrations with your on-premise applications.
5
Terminology
Commerce Process – an administrative object to create templates for selling processes.
Sales Transaction - a runtime instance set up for quoting, ordering, approval, and other workflow processes.
Quote – General term referring to a sales transaction
Standard Commerce Process / Standard Process / Standard Quote Process - All refer to the standardized seeded
Commerce Process that is available to all CPQ environments beginning with the Oracle CPQ Update 23B when creating a
new Commerce Process.
6
Cancel Order Process Flow
7
OIC Integration Installation and Setup
This section contains information about installing the new OIC business accelerator from integration store into your OIC environment
and creating web service connections between Oracle CPQ and Oracle Order Management in Update 24A.
This section also contains information about importing the OIC Integration package into your OIC environment and creating web
service connections between Oracle CPQ and Oracle Order Management in Update 23B, 23C, or 23D.
Prerequisites
The SSL certificate of OIC environment is installed in Oracle Order Management for ERP event subscription.
All required SSL certificates (CPQ and Order Management SSL certificates) are in the OIC environment.
4. Use the Search option and enter “Oracle CPQ — Oracle Order Management”.
8
5. Hover over the card and click to verify the following business accelerator name and project code is displayed:
o Name: Oracle CPQ —Oracle Order Management | Manage Quotes, Orders, and Subscriptions
o Project Code: ORCL-BA-CPQ_FUSION_BRIDGE
6. Hover over the card and click on Get to install the business accelerator.
A message displays “Getting Oracle CPQ — Oracle Order Management | Manage Quotes, Orders, and Subscriptions.” Wait
for few seconds and then click Refresh. The accelerator will be installed and the card displays In use, Configure and
Uninstall options.
Note: The installation of accelerator installs the project Oracle CPQ Fusion Bridge. This is a single pane canvas to
manage Integrations, Connections, Lookups, and Libraries.
9
7. Click on Configure, a Configuration Editor opens with five trains stops:
o Connections
o Lookups
o Libraries
o Integrations
o Deployments
8. Select Connections train stop and verify the following connections are imported:
o FOM REST Connection
o CPQ REST Connection
o CPQ SOAP Connection
o ERP Events Connection
9. Select Lookups train stop and verify the following lookups are imported:
o CPQ-FOM-AdjustmentTypeDVM
o CPQ-FOM-LineStatusDVM
o CPQ-FOM-PricePeriodicityDVM
o CPQ-FOM-PriceTypeDVM
10. Select Integrations and verify the following integrations are imported:
o CPQ FOM CancelSalesOrder
o CPQ FOM CreateSalesOrder
o OSS CPQ AssetUpsertFlow
o FOM CPQ SalesOrderStatusSync
o FOM CPQ GetSalesOrderStatus
10
11. Select Projects in the left side navigation panel and verify the following accelerator project are imported:
o Oracle CPQ Fusion Bridge
12. Click Oracle CPQ Fusion Bridge Project and verify all the above verified Integrations, Connections and Lookups available.
a. In the Connections Panel, click on 3 dots and Edit option for the CPQ REST Connection.
b. Enter the connection URL in the following format:
c. Enter your CPQ administrator username and password in the corresponding fields.
d. Click Test to verify the connection.
e. Click Save.
11
f. Save changes? popup with two Inactive integrations (OSS CPQ AssetUpsertFlow and FOM CPQ SalesOrderStatusSync)
display. Click Save.
i. Click on 3 dots again and click on the Refresh Metadata option for the CPQ REST Connection.
14. Configure the CPQ SOAP Connection
a. In the Connections Panel, click on 3 dots and Edit option for the CPQ SOAP Connection.
b. Select “SOAP WSDL URL” for the Connection Type.
c. Enter the connection URL in the following format:
d. Enter your CPQ administrator username and password in the corresponding fields.
e. Click Test to verify the connection.
f. Save changes? popup with one Inactive integration (CPQ FOM CreateSalesOrder) displays. Click Save.
g. Click Save.
j. Click on 3 dots again and click on the Refresh Metadata option for the CPQ SOAP Connection.
15. Configure the Order Management REST Connection.
a. In the Connections Panel, click on 3 dots and Edit option for the FOM REST Connection.
b. Select “restUrl” for the Connection Type.
c. Select “TLSv1.2TLS” for the Version.
d. Enter the connection URL in the following format:
l. Click on 3 dots again and click on the Refresh Metadataoption for the FOM REST Connection.
Note: The integration Order Management user must have appropriate roles to Create Orders using the
Order Management REST APIs.
12
16. Configure the ERP Events Connection.
a. In the Connections Panel, click on 3 dots and the Edit option for the FOM REST Connection.
b. Enter ERP Cloud Host in the following format:
c. Enter your Fusion username and password for Fusion in the corresponding fields.
d. Click Test to verify the connection.
e. Save changes? popup with two Inactive integrations (OSS CPQ AssetUpsertFlow and FOM CPQ SalesOrderStatusSync)
display. Click Save.
f. Click Save.
i. Click on 3 dots again and click on the Refresh Metadata option for the ERP Events Connection.
17. Activate the CPQ FOM CancelSalesOrder integration.
a. In the Integrations Panel, click on 3 dots and Activate option for the CPQ FOM CancelSalesOrder integration.
b. Select tracing level.
c. Click on Activate.
d. Click on the Refresh icon and verify CPQ FOM CancelSalesOrder integration is Active.
Note: Oracle recommends that the Enable Tracing when activating an integration. This captures valuable
troubleshooting information that may be useful in case of a failed integration run or instance.
a. In Integrations Panel, Click on 3 dots and Refresh endpoints option for the CPQ FOM CreateSalesOrder
integration.
b. Select CPQ SOAP Connection and click on Refresh button.
c. Click Close.
d. Click on Refresh icon and verify CPQ FOM CancelSalesOrder integration is Locked.
e. Wait approximately one minute to verify CPQ FOM CancelSalesOrder integration is Refresh successful.
f. In the Integrations Panel, click on 3 dots and Activate option for the CPQ FOM CreateSalesOrder integration.
g. Select tracing level.
h. Click on Activate.
i. Click on Refresh icon and verify CPQ FOM CreateSalesOrder integration is Active.
Note: Oracle recommends that the Enable Tracing when activating an integration. This captures valuable
troubleshooting information that may be useful in case of a failed integration run or instance.
13
19. Activate the OSS CPQ AssetUpsertFlow integration.
a. In the Integrations Panel, click on 3 dots and the Refresh endpoints option for the OSS CPQ AssetUpsertFlow
integration.
b. Select ERP Events Connection and click the Refresh button.
c. Click Close.
d. Click on the Refresh icon and verify OSS CPQ AssetUpsertFlow is Locked.
e. Wait for approximately one minute to verify OSS CPQ AssetUpsertFlow integration is Refresh successful.
f. In the Integrations Panel, click on 3 dots and the Activate option for the OSS CPQ AssetUpsertFlow integration.
g. Select tracing level.
h. Click on Activate.
i. Click on the Refresh icon and verify OSS CPQ AssetUpsertFlow integration is Active.
Note: Oracle recommends that the Enable Tracing when activating an integration. This captures valuable
troubleshooting information that may be useful in case of a failed integration run or instance.
a. In the Integrations Panel, click on 3 dots and the Refresh endpoints option for the FOM CPQ
SalesOrderStatusSync integration.
b. Select ERP Events Connection and click the Refresh button.
c. Click Close.
f. In the Integrations Panel, click on 3 dots and the Activate option for the FOM CPQ SalesOrderStatusSync
integration.
g. Select tracing level.
h. Click Activate.
i. Click on the Refresh icon and verify FOM CPQ SalesOrderStatusSync integration is Active.
Note: Oracle recommends that the Enable Tracing when activating an integration. This captures valuable
troubleshooting information that may be useful in case of a failed integration run or instance.
a. In the Integrations Panel, click on 3 dots and the Activate option for the FOM CPQ GetSalesOrderStatus
integration.
b. Select tracing level.
c. Click Activate.
d. Click on the Refresh icon and verify FOM CPQ GetSalesOrderStatus integration is Active.
Note: Oracle recommends that the Enable Tracing when activating an integration. This captures valuable
troubleshooting information that may be useful in case of a failed integration run or instance.
14
Import Integration Package (Update 23B, 23C, or 23D)
Perform the following steps to import the OIC integration package into OIC.
3. Click Import.
4. Click Choose File, and then select the CPQFOMIntegrations_<release_version>.par package, where <release_version> refers
to the release being implemented.
6. Select Integrations in the left side navigation panel, verify the following integrations have been imported:
o CancelSOFromCPQ
o CreateSOFromCPQ
o GetSOStatusFromFOM
o UpdateSOStatusFromFOM
o UpdateSubStatusFromOSS
7. Select Connections in the left side navigation panel, verify the following connections have been imported:
o CPQ REST Connection
o CPQ SOAP Connection
o ERP Events Connection
o FOM REST Connection
15
8. Select Lookups in the left side navigation panel, verify the following lookups have been imported:
o CPQ-FOM-AdjustmentTypeDVM
o CPQ-FOM-ChargeDefinitionDVM (Oracle CPQ 23C and earlier only)
o CPQ-FOM-LineStatusDVM
o CPQ-FOM-PricePeriodicityDVM
o CPQ-FOM-PriceTypeDVM
c. Enter your CPQ administrator username and password in the corresponding fields.
e. Click Save.
16
https:// <CPQ host name>/v2_0/receiver/commerce/oraclecpqo?wsdl
d. Enter your CPQ administrator username and password in the corresponding fields.
e. Click Test to verify the connection.
f. Click Save.
Note: The integration Order Management user should have appropriate roles to Create Orders using the
Order Management REST APIs.
c. Enter your Fusion username and password for Fusion in the corresponding fields.
d. Click Test to verify the connection.
e. Click Save.
13. On the configuration editor page, click activate for each integration to activate all integrations.
Notes:
If an integration with the same name already exists in the OIC environment, deactivate the integration before replacing it.
Oracle recommends that the Enable Tracing and Include Payload options are selected when activating an integration.
This captures valuable troubleshooting information that may be useful in case of a failed integration run or instance.
17
OIC Mapping Details (Reference Material)
This section contains the OIC mapping details of the Order Management payload and Oracle CPQ attributes.
Note: The OIC Mapping Details section is provided for reference, no action is required to implement the attribute mapping.
Attribute mapping is automatically set up when the CPQFOMIntegrations_<release_version>.par package is imported in OIC.
BuyingPartyContactLastName _customer_t_last_name
FreezeShippingChargeFlag freezePriceFlag_t
FreezeTaxFlag freezePriceFlag_t
PartialShipAllowedFlag oRCL_ERP_PartialShipAllowed_t
PaymentTerms paymentTerms_t
RequestingBusinessUnitName businessUnitName_t
RequestingBusinessUnitId businessUnitId_t
SourceTransactionId bs_id
SourceTransactionNumber transactionID_t
SourceTransactionSystem transactionSourceSystem_t
TransactionOn orderDate_t
TransactionalCurrencyCode currency_t
18
Line Attribute Mapping
ContractEndDate contractEndDate_l
ContractStartDate
contractStartDate_l
OrderedQuantity _price_quantity
PartialShipAllowedFlag oRCL_ERP_PartialShipAllowed_t
RequestedShipDate requestShipDate_l
SourceScheduleNumber _document_number
19
Order Management Attribute Mapped to CPQ Attribute Comments
SourceTransactionLineId _document_number
SourceTransactionLineNumber _document_number
SourceTransactionScheduleId _document_number
20
Charge Attribute Mapping
ChargeCurrencyCode currency_t
PrimaryFlag oRCL_primaryCharge
RollupFlag rollupFlag_l
SequenceNumber oRCL_chargeSequenceNumber
SourceChargeId oRCL_chargeName
HeaderCurrencyCode currency_t
HeaderCurrencyDurationExtendedAmount oRCL_contractListValue or
oRCL_contractNetValue
HeaderCurrencyExtendedAmount oRCL_listAmount or oRCL_netAmount
21
Charge Attribute Mapping for Adjustments
In Fusion Order Management, Create Order payload, Discounts (Adjustments) are wrapped in chargeComponents.
ChargeCurrencyUnitPrice oRCL_customDiscountAmount
HeaderCurrencyCode currency_t
HeaderCurrencyDurationExtendedAmount oRCL_contractDiscountAmount
HeaderCurrencyExtendedAmount oRCL_discountAmount
HeaderCurrencyUnitPrice oRCL_customDiscountAmount
PriceElementCode ‘QP_CUSTOM_ADJUSTMENT’
PriceElementUsageCode PRICE_ADJUSTMENT
RollupFlag False
SequenceNumber 3
ReasonCode ‘ORA_PRICE_MATCH’
SequenceNumber oRCL_chargeSequenceNumber
22
Oracle CPQ Package Installation and Setup
Oracle creates implementation packages to distribute elements needed by customers to implement new Oracle CPQ features. This
section contains information about importing the CPQ – Order Management Package into your CPQ environment.
The CPQ – Order Management Package (CPQ_FOM_Package_<release_version>.zip) is a granular migration CPQ package containing
CPQ artifacts to support the Order Management Integration solution.
Note: This package also contains some of the artifacts related to subscription products handling in CPQ and Order Management
Integration for a future release.
Notes:
Oracle Integration Cloud (OIC) is also known as Integration Cloud Service (ICS). When creating the OIC integration in the
Integration Center, select Integration Cloud Service as the integration type.
Use the same username and password that was used to import the integration package in OIC.
23
12. Click Save.
This integration uses the OIC FOM CPQ GetSalesOrderStatus integration endpoint URL. Refer to Appendix F: Retrieve OIC
Integration Endpoint URL for instructions to retrieve the endpoint URL of an OIC integration.
Perform the following steps to create a generic integration to get sales order status from Order Management.
9. Click Save.
This integration uses the OIC GetSOStatusfromFOM integration endpoint URL. Refer to Appendix F: Retrieve OIC Integration
Endpoint URL for instructions to retrieve the endpoint URL of an OIC integration.
Perform the following steps to create a generic integration to get sales order status from Order Management.
24
5. Enter GetSOStatusfromFOM in the Name field.
9. Click Save.
This integration uses the OIC CPQ FOM CancelSalesOrder integration endpoint URL. Refer to Appendix F: Retrieve OIC Integration
Endpoint URL for instructions to retrieve the endpoint URL of an OIC integration.
Perform the following steps to create a generic integration to cancel a sales order from CPQ.
1. Navigate to the Admin Home page.
2. Select Integration Center in the Integration Platform section.
3. Click Create Integration.
4. Select Generic Integration from the Type drop-down.
25
7. Enter the username and password for the OIC environment.
8. Select the Enable Integration check box.
9. Click Save.
This integration uses the OIC CancelSOfromCPQ integration endpoint URL. Refer to Appendix F: Retrieve OIC Integration Endpoint
URL for instructions to retrieve the endpoint URL of an OIC integration.
Perform the following steps to create a generic integration to cancel a sales order from CPQ.
1. Navigate to the Admin Home page.
2. Select Integration Center in the Integration Platform section.
3. Click Create Integration.
4. Select Generic Integration from the Type drop-down.
26
Import CPQ-Oracle Order Management Package
The CPQ-Oracle Order Management package is a granular migration package containing new elements in support of the Order
Management solution. As a granular migration package, administrators can add or remove specific elements from the package or
remove specific elements when importing the package.
Note: Please ensure that an OIC integration is setup with variable name “oSSICS”, according to the steps mentioned in the
section Create an OIC Integration, before importing the CPQ_FOM_Package_<release_version>.zip
1. Download the Oracle Order Management package (i.e., CPQ_FOM_Package_<release_version>.zip) from My Oracle Support.
2. Navigate to the Admin Home page.
3. Select Migration in the Utilities section.
4. Select Import Package from the Select A Mode drop-down. The Upload Package dialog opens.
5. Click Browse and navigate to the CPQ_FOM_Package_<release_version>.zip package.
6. Select the target process from the Choose a target process for Cross Process Migration drop-down.
7. Click Upload.
8. Click Migrate.
9. When the migration completes, check the migration logs for errors.
27
Enable Subscription Ordering for Simple Products (Optional)
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.
Perform the following steps to enable Subscription Ordering for Simple Products.
3. Set the Enable Subscription Ordering for Simple Products option to Yes.
Notes:
The new Standard Process now includes several elements that are used for Order Management integration. Refer to the
Oracle CPQ Administration Online Help – Commerce Standard Process topic for more information.
The remaining elements required for integration can be imported from the release-specific Oracle CPQ-Order
Management package.
28
Commerce Integrations
Note: Some of the Commerce Integrations in this section are provided for reference no action is required to implement
Commerce integrations. The following Commerce integrations are included in the Oracle Quote to Order Commerce process
(the Commerce Standard Process in the Oracle CPQ RefApp 23B or later) or are imported in the release-specific Oracle CPQ
Order Management package, with the exception of Process Create Order Response which may have to be implemented
manually.
Note: Customers implementing the new Commerce Standard Process (available beginning in Oracle CPQ 23C platform) or
customers implementing new Commerce Standard Process in Oracle CPQ 23B release, who upgrade to Oracle CPQ 23C or later
platform, must manually create the following Process Create Order Response BML type integration if it does not exist post-
upgrade.
After creating and verifying the Commerce integration, navigate to the transaction action Create Order with variable name
order_start and under the Integration tab ensure that the Selected Integration list is populated in the following order:
The following commerce BML integration processes REST response from the Create Order ICS Integration and apply it to the
transaction.
29
Cancel Sales Order from CPQ (BML)
The following commerce BML integration is used to cancel a sales order status from CPQ.
• Name: Cancel SO From CPQ
• Type: BML
• Variable Name: cancelSOFromCPQ
• Run Type: Always Run
• Commerce Library Function: cancelOrder
• Associated Trigger-Action Name: cancelOrder
30
Commerce Attributes
All the relevant commerce attributes are available in the Oracle Quote to Order Commerce process, based on the new Commerce
Standard Process in the Oracle CPQ RefApp 23B or later. Refer to Oracle CPQ Administration Online Help - Standard Process for more
information.
Commerce Actions
The following are some of the commerce actions that are already included in the Oracle Quote to Order Commerce process, based on
the new Commerce Standard Process in the Oracle CPQ RefApp 23B or later.
Cancel Order - This main document action is associated with the Cancel Order button on the Transaction UI and is used to
cancel and entire order or the selected line items.
o Name: Cancel Order
o Variable Name: cancelOrder
o Selected Integrations: Cancel SO From CPQ (BML), Get SO Status From FOM (BML)
Create Order - This main document action is associated with the Create Order button on the Transaction UI. The action is
used to create an order in Order Management. This action is hidden if the transaction doesn't contain any line items.
o Name: Create Order
o Variable Name: order_start
o Selected Integration: Create Order (Integration Cloud Service), Process Create Order Response (BML)
retStr = "";
if(createOrderRestResponse <> ""){
for line in transactionLine {
if (line._line_bom_parent_id == "") {
retStr = retStr + line._document_number +
"~fulfillmentStatus_l~BEING_FULFILLED|";
}
}
retStr = retStr + createOrderRestResponse;
}
return retStr;
31
Get Sales Order Status from Oracle Order Management - This main document action is associated with the Get SO Status
from FOM button and is used to get the order header and line status from FOM on demand.
o Name: Get SO Status From FOM
o Variable Name: getSOStatusFromFOM
o Selected Integration: Get SO Status From FOM (BML)
Save - This main document action is used to save the current state of the transaction and calculate roll up charges for all lines.
o Name: Save
o Variable Name: cleanSave_t
32
Update Asset - This main document action is used to create assets in the CPQ Asset Repository based on the order line
status. The code associated with this action is executed via the REST API generated for this action. This REST API is invoked
through the orchestration logic in UpdateSOStatusFromFOM OIC integration.
Name: Update Asset
Variable Name: updateAsset
Selected Integrations: Update Fulfillment Line Status (BML), Update Asset (BML)
Save - This sub-document action used to save the current state of the line item and calculate roll up charges a single line item,
o Name: Save
o Variable Name: saveChanges_l
Library Functions
The Oracle Quote to Order Commerce process, based on the new Commerce Standard Process in the Oracle CPQ RefApp 23B or later
release includes several commerce library functions.
Validation Rules
Validation Rules are used to validate attribute or field values. They are linked to an action and only run when a specific action is
clicked by the user. The Oracle Quote to Order Commerce process, based on the new Commerce Standard Process in the Oracle CPQ
RefApp or later includes the following Validation Rules.
Validate Line Status Values for Asset Creation This main document validation rule is used to validate that the 'Trigger
Update Asset for Line Status' attribute is not empty when the Update Asset action is invoked.
o Name: Validate Line Status Values For Asset Creation
o Variable Name: validateLineStatusValuesForAssetCreation
o Status: Active
o Linked Actions: Save, Update Asset
o Condition Type: Always True
o Action Type: Simple
o Components to Validate: 'Trigger Update Asset for Line Status' main document attribute
o Operator: Equals
o Value: (Empty)
Validate Line Status Values for Cancel Order This main document validation rule is used to validate that ‘Cancel Order’ is
not allowed when status = Awaiting Billing
o Name: Validate Line Status Values for Cancel Order
o Variable Name: _s_validateLineStatusValuesForCancelOrder
o Status: Active
o Linked Actions: Cancel Order
o Condition Type: Always True
o Action Type: Simple
o Components to Validate: Status' main document attribute
o Operator: Constrain
o Value: Awaiting Billing
33
Hiding Rules
Hiding Rules tell Oracle CPQ to hide select attributes or actions when a pre-defined condition is satisfied. They are made up of a
condition and an action. The values of the attributes selected as the condition attributes determine the result of the condition, which
when True trigger the hiding of the action attributes.
Hide Create Order – This main document hiding rule hides the Create Order action when the order is already created or if
no lines are present in the transaction.
o Name: Hide Create SO Action
o Variable Name: hideCreateSOAction
o Status: Active
o Condition Type: Advanced
o Action Type: Simple
o Components to Hide: 'Create Order' action
Hide Cancel Order Button – This main document hiding rule hides the Cancel Order action when the order is not created
(i.e., if order Key is empty, hide the Cancel order action).
o Name: Hide Cancel Order Button
o Variable Name: hideCancelOrderButton
o Status: Active
o Condition Type: Simple
o Condition 1 Attribute: Order Key
o Condition 1 Operator: Equals
o Condition 1 Value: (Empty)
o Action Type: Simple
o Components to Hide: 'Cancel Order' action and 'Cancel Reason' main document attribute
Hide SO Status Action – This main document hiding rule hides the Get SO Status From FOM action when the order is not
created (i.e., if order Key is empty, hide the Get SO Status From FOM action).
o Name: Hide SO Status Action
o Variable Name: hideSOStatusAction
o Status: Active
o Condition Type: Simple
o Attribute: Order Key
o Operator: Equals
o Value: (Empty)
o Action Type: Simple
o Components to Hide: 'Get SO Status from FOM' action
Recurring Attributes (Transaction)– This main document hiding rule hides all totals attributes related to Recurring Pricing
if no such line items exist on the quote.
o Name: Recurring Attributes (Transaction)
o Variable Name: recurringAttributes_t
o Status: Active
o Condition Type: Simple
o Action Type: Simple
o Components to Hide:
▪ Contracted Periods
▪ Annual Value (Net)
▪ Annual Discount
▪ Annual Value (List)
▪ Period
34
Order Management Setup
Business events must be enabled in Order Management for different Fulfillment Statuses to synchronize the order header and line
status and to create assets in the CPQ Asset repository. This section provides steps that are required in Order Management for
integration with OIC using business events. For more details about the setup, refer to the Oracle Order Management Guide.
Note: This will raise a business event and send a notification to each subscriber for the selected trigger points.
6. On the Manage Orchestration Process Definitions page, search for the orchestration process that your deployment uses.
Each orchestration process controls the status value for each fulfillment line, so you must modify the orchestration process
that controls the status value.
7. From search results, click on your process name and click on the pencil icon to edit the process. In the following screenshot
we have selected one example process to demonstrate further steps.
35
8. In the Process Details area, click Status Conditions > Fulfillment Line Status Values > Edit Status Rule Set
9. Edit Status Rule Set page opens with all status conditions listed.
For any status that you want to send out notifications, select the checkbox for 'Notify External Systems' column.
11. Deploy
12. Repeat this procedure for each orchestration process in your deployment that updates status values.
36
Send Status Updates for Subscription Lines
Event subscription from Subscription Management
By activating the UpdateSubStatusFromOSS, the OIC integration receives subscription created Business Events. No additional setup
required.
37
Setting Up Order Management Event Subscriptions
This step is required to subscribe to the Order Management business events using OIC.
3. Record the CSF Key which is a combination of Identity Domain and Service Instance:
<Identity Domain><Service Instance>
38
Register the CSF Key in Order Management
Perform the following steps to register the CSF key in Order Management
3. Enter CSF key recorded from the Get the CSF Key procedure.
6. Click Register.
39
Oracle CPQ Field Setup
Oracle CPQ administrators must setup fields in the CPQ environment and obtain the values for these fields from the Order
Management administrator.
Account Fields
The account information provided during order creation is used for order billing purposes. A sales user can obtain the account
information for a customer by entering a customer company name and clicking Customer Details (getAccountDetails action). The
following fields are populated and are mapped to the associated Order Management fields. These field mappings support the
creation of a new order in Order Management based on the information provided in the CPQ Oracle Transaction. The fields should be
added to the Customer Details tab of the Transaction layout.
40
Layout Fields
This section contains the attributes and actions that need to be added to the Transaction layout.
The following main document attributes are required for Order details.
Order Number
Status
Cancel Reason
Payment Terms
Customer Company Name
Business Unit Name
Customer Id (_customer_id)
Invoice to Party ID
Account PartyIdBill to Site Use Id
Create Order
Cancel Order
Customer Details
Get SO Status from FOM
Save
Save (Line)
Document Number
Status
Fulfillment Status
Fulfillment Line Id
Action Code
Cancel Reason
Instance ID
RootAssetKey
41
Demo Product Setup (Optional)
Oracle provides an ATO, KIT, and PTO demo products, which is a sample Configuration in CPQ. Use the demo product to understand
the functionality available in Oracle Order management.
Note: The packages shown below are optional packages to install ATO, KIT, and PTO demo products. You can download these
packages from CPQ Standard Process – Order Management Integration (Doc ID 2942508.1).
Demo_SetupModels_23B.zip Migration package to setup ATO, KIT, and PTO demo configuration models.
4. Select Import Package from the Select A Mode drop-down. The Upload Package dialog opens.
6. Click Upload.
7. Click Migrate.
8. When the migration completes, check the migration logs for errors.
3. Select Product Families from the Navigation drop-down, and then click List.
4. Click Add.
a. Select Deployment Center from the ATO Navigation drop-down, and then click List.
b. Click Deploy.
c. Click Back.
42
7. Deploy the KIT Product Family.
a. Select Deployment Center from the KIT Navigation drop-down, and then click List.
b. Click Deploy.
c. Click Back.
a. Select Deployment Center from the PTO Navigation drop-down, and then click List.
b. Click Deploy.
2. Select Home Page under Styles and Templates. The Home Page Setup page opens.
7. Click Deploy.
43
Install the Parts Package
The Parts_Demo_23B.zip or Parts_Demo_23C.zip package adds parts for the ATO, KIT, and PTO demo products. To view these
services in the CPQ sample Configuration, refer to the following examples:
Appendix A1: Create Order – Standard Item Workflow
Appendix A2: Create Order – Configurable Item Workflow
Note: Monthly Fee, Consumption Fee, and Activation Fee products appear in the calculatedInfo field in the Line Item Grid.
Notes:
If you are installing the Parts Package for 23C Demo, use the Parts_Demo_23C.zip file.
If you are installing the Parts Package for 23B Demo, use the Parts_Demo_23B.zip file.
3. Select Upload under Utilities. The Upload Files List page opens.
4. If a BOM Tables folder does not exist, create a BOM Tables folder.
b. Enter the folder Name and Variable Name, and then click OK.
b. Drag and drop the Oracle_BomItemDef.zip file into the Import window or click inside the dashed box to browse and
select the Oracle_BomItemDef.zip file.
d. Click Import.
c. Select the Index and Key options for the VariableName field.
d. Click Save.
44
e. Click Deploy.
f. Repeat this step to set options and deploy the Oracle_BomItemMap.zip file.
The mapping status of the BOM table displays “Incomplete” for the first activation. After mapping, the status changes to “Complete”.
Note: If the column names and data types do not match, map the columns manually. Select the appropriate columns
from the Column Mapping drop-down menus.
Note: If the column names and data types do not match, map the columns manually. Select the appropriate columns
from the Column Mapping drop-down menus.
Notes:
If any parts are missing, add the missing parts to your Oracle CPQ site.
Make sure to activate BOM tables from Admin-BOM-BOM Tables and Associate/Map them with respective tables.
45
Order Management Pricing Integration
Standard item, configurable item, and subscription item pricing are derived using the pricing engine in CPQ.
Note:
Beginning in Oracle CPQ 23C, Commerce will support multiple charges for transaction line items. Oracle's Fusion Order Management
application requires that each Charge for an Item have a unique combination of Price Type and Charge Type. If you are integrating
CPQ with Order Management, you will need to define a different Charge Type to distinguish Charges with the same Price Type but
different Price Periods.
Enable Pricing
Perform the following steps in Oracle CPQ to enable Pricing.
This arrayset is used in OIC mappings to generate the payload for Fusion Order Management integration. Commerce library
“oRCL_fOM_populateCharges” included in the Commerce Standard Process is used to populate this arrayset with all the applicable
charges defined for an item in the pricing portal.
Charge Type oRCL_chargeType Charge Type of the item. This attribute name ORA_SALE
is no longer a standard attribute in CPQ
release 23C
Charge Type _s_oRCL_chargeType Charge Type of the item. This new attribute
will replace oRCL_chargeType attribute from
CPQ release 23C onwards.
Net Price oRCL_netPrice The price paid by the customer for this item.
Primary Charge oRCL_primaryCharge Primary charge is used to determine whether true / false
the charge is primary or not.
List Amount oRCL_listAmount The extended list amount for this line.
46
Attribute Name Variable Name Description Expected Value
Net Amount oRCL_netAmount The extended list amount minus any discounts
for this line.
Custom Discount oRCL_customDiscountAmount The amount by which to adjust the list price
Amount because of a custom discount.
Contract List Value oRCL_contractListValue The total of all contract list value of this line,
including all one-time and recurring charges
Contract Discount oRCL_contractDiscountAmount The total discount of this line including all
Amount one-time and recurring charges.
Contract Net oRCL_contractNetValue The total contract value of this line including
Amount all one-time and recurring charges.
Price Type _s_oRCL_priceType Indicates whether the amount on this line is charged
once or periodically.
This attribute is available from CPQ Release 23C
onwards.
The time period, frequency or recurrence with which
Price Period _s_oRCL_pricePeriod
the price or charge is levied.
This attribute is available from CPQ Release 23C
onwards.
Price Unit of _s_oRCL_priceUOM The unit of measure of usage for usage charges,
which generally differs from the unit of measure used
Measure
for the parent product.
This attribute is available from CPQ Release 23C
onwards.
Custom Discount _s_oRCL_customDiscountType The type of custom discount applied to this charge.
Typically this may be an override price, a discount
Type
value or a discount percentage.
This attribute is available from CPQ Release 23C
onwards.
Charge Definition _s_oRCL_chargeDefIntegrationId The charge definition code in the integrated order
management system.
Integration ID
Added in 23D.
47
Oracle CPQ Account Integration
This section identifies the library functions that support account integration and the manual changes that administrators must make
to the INT_SYSTEM_DETAILS Data Table and the INT_SYSTEM_TEMPLATES Data Table to support account integration.
Note: For more details about Account Integration with Oracle Customer Data Management (CDM), refer to CPQ-CDM
Integration Whitepaper on My Oracle Support under CPQ to Fusion Financials Integration (Doc ID 2012010.1).
Library Functions
The library functions within this section support the CDM integration by retrieving account details.
Queries the template location from the INT_SYSTEM_TEMPLATES Data Table based on the system and operation.
This is a Commerce library function.
The Return Type, input information, and attributes used by this library function are shown in the following image.
This is a Commerce library function that invokes Web Services and returns the response.
The Return Type, input information, and attributes used by this library function are shown in the following image.
48
Manual Data Table Changes
The INT_SYSTEM_DETAILS and INT_SYSTEM_TEMPLATES data tables are added to the CPQ site for account integration.
INT_SYSTEM_DETAILS
TCA-OrgService <Enter the username here to call <Enter the web service endpoint to call TCA Find Organization details
the web service endpoint> the service related to TCA>
TCA-AccService <Enter the username here to call <Enter the web service endpoint to call TCA customer Account
the web service endpoint> the service related to TCA>
As shown in the following image, administrators must manually select the Key option for the System column.
INT_SYSTEM_TEMPLATES
TCA-OrgService FindOrg <Enter the template URL path that is uploaded in File Manager>
TCA-AccService FindAcc <Enter the template URL path that is uploaded in File Manager>
As shown in the following image, administrators must manually select the Key option for the System and Operation columns.
49
Add Template Dependencies to File Manager
Oracle CPQ administrators must add the Find Organization payload template file and the Customer Account payload template file to
File Manager. These template files support account integration.
Perform the following steps to add the template dependencies to File Manager.
3. Navigate to File Manager under Utilities category and create a new folder named TCA.
4. Click Browse under Add Files. The Choose File to upload dialog opens.
Note: To view the BML included in the payload template files, refer to Appendix C: Payload Template Files.
50
Appendix A: Workflows
Appendix A1: Create Order – Standard Item Workflow
OIC is the middleware used to establish an integration between CPQ and Order Management. Once this integration is established,
sales users can use CPQ to create a Transaction and invoke OIC integration to create an order in Order Management. Perform the
following steps in Oracle CPQ to create a standard order.
1. Navigate to the Transaction Manager.
2. Click New Transaction. The Transaction page opens.
3. Add Standard products to the line item using Quick Add.
Note: Use Oracle Order Management to check the order creation using returned Order Number.
51
Appendix A2: Create Order – Configurable Item Workflow
Perform the following steps in Oracle CPQ to create a configurable item order.
4. Click Update. This will display optional class available for the root model.
5. Click Create Transaction. This will create new transaction with the configurable items.
7. Click Save.
9. The Order Number, Order Status, and Fulfilment Id for each line are returned from Order Management on successful
creation of order.
Notes:
Use Order Management to check the order creation using the returned Order Number.
BOM setup is required for the configuration.
52
Appendix A3: Auto Sync Status Workflow
Oracle Order Management allows customers to configure Business Events to be raised during various stages of fulfilment.
We subscribe to these Business events through OIC integrations and invoke CPQ REST APIs to update vital information.
This functionality synchronizes the Order and Order Line status from Order Management to CPQ.
1. Create a transaction in CPQ.
2. Record the Trigger Update Asset for Line Status value.
3. Click Create Order to create an order in Order Management. Refer to Appendix A1: Create Order – Standard Item Workflow.
4. Use Order Management to check the order creation using the Order Number returned on order creation.
5. When the Order/ Order Line status changes on Order Management, it should reflect the updated Status attribute in CPQ
based on Order Status Mapping in OIC. Refer to Appendix E: CPQ-OM Status Mapping.
6. If the line status in CPQ is one of the values in 'Trigger Update Asset for Line Status', the Update Asset functionality will also
be triggered, and Fulfilment Status will be updated to 'Fulfilled'.
7. Open the Subscription Workbench page and observe the asset is created for the Fulfilled lines.
53
6. Click Cancel Order.
7. After the cancellation action is complete, verify the line item status is updated to Cancellation Requested or Cancelled.
54
Appendix A5 Partial Order Cancellation
This workflow supports the cancellation partial order (selected line items).
1. Navigate to the commerce and open the transaction in which order was created.
9. (Optional) Select a cancellation reason for each of the lines to be cancelled in the Line Item Grid.
6. After the cancellation action is complete, verify the status is updated to 'Cancellation Requested' or 'Canceled'
for the selected lines.
Notes:
Cancellation is not allowed for line with status such as 'BILLED', “SHIPPED', 'ACTIVATED', 'FULFILLED', 'AWAIT_BILLING',
'DELIVERED', 'AWAIT_ASSET_CREATION', 'SHIPPED' etc.
5. Provide Contract End date, Change Reason and Change Method for the Transaction Line.
55
Appendix B: BML
BML – Process Create Order Response
This BML is used to process the rest response received from Create Order ICS integration. It is associated with Create
Order(order_start) action.
• Transaction: createOrderRestResponse
• Transaction Line: _document_number, _line_bom_parent_id
retStr = "";
if(createOrderRestResponse <> ""){
for line in transactionLine {
if (line._line_bom_parent_id == "") {
retStr = retStr + line._document_number + "~fulfillmentStatus_l~BEING_FULFILLED|";
}
}
retStr = retStr + createOrderRestResponse;
}
return retStr;
//payload = commerce.getUserAttributes(system);
organizationSoapRequest=applytemplate(organizationSoapRequestLocation ,dict("string"),
defaultErrorMessage);
print "request";
print organizationSoapRequest;
print "response";
organizationSoapResponse = commerce.invokeWebService(system, organizationSoapRequest );
print organizationSoapResponse;
xpaths = string[1];
xpaths[0] = "//ns2:PartyId";
56
return
"1~invoiceToPartyID_t~"+returnPartyId+"|1~_s_accountPartyId_t~"+returnPartyId+"|"+"1~billToSiteUseId_t~"+r
eturnSiteNumber+"|";
}
}else{
returnPartyId = _transaction_customer_id;
}
customerAccountSoapRequest=applytemplate(customerAccountSoapRequestLocation,payload1,
defaultErrorMessage);
print customerAccountSoapRequest;
xpathsAcct = string[1];
xpathsAcct[0] = "//ns2:CustomerAccountId";
returnAccountNumber = "" ;
outputAcct = readxmlsingle(customerAccountsoapResponse, xpathsAcct);
if (containskey(outputAcct,xpathsAcct[0]))
{ returnAccountNumber = get(outputAcct,xpathsAcct[0]); }
else {
returnAccountNumber = "Check if customer company name is valid & also TCA service is
up";
returnSiteNumber = "Check if customer company name is valid & also TCA service is up ";
return
"1~_s_accountPartyNumber_t~"+returnAccountNumber+"|"+"1~billToSiteUseId_t~"+returnSiteNumber +"|";
}
returnBillToSiteUseId="";
xpathsbilltositeuseid = string[1];
xpathsbilltositeuseid[0] =
"//ns2:Value/ns2:CustomerAccountSite/ns2:CustomerAccountSiteUse[ns2:SiteUseCode='BILL_TO' and
ns2:PrimaryFlag='true']/ns2:SiteUseId";
outputbilltositeuseid = readxmlsingle(customerAccountsoapResponse, xpathsbilltositeuseid);
if (containskey(outputbilltositeuseid ,xpathsbilltositeuseid[0])) {
returnBillToSiteUseId= get(outputbilltositeuseid,xpathsbilltositeuseid[0]); }
else {
returnBillToSiteUseId= "Check if customer company name is valid & also TCA service is up. ";
}
xpathCustomerAccountSiteUse = string[1];
// get the XML Element called Customer AccountSiteUse where primary is true and use is BILL TO
xpathCustomerAccountSiteUse[0] =
"//ns2:Value/ns2:CustomerAccountSite/ns2:CustomerAccountSiteUse[ns2:SiteUseCode='BILL_TO' and
ns2:PrimaryFlag='true']";
57
xpath1[0] = "//ns2:CustomerAccountSiteId";
output1 = readxmlsingle(CustomerAccountSiteUseXmlFragment,xpath1);
if (containsKey(output1,xpath1[0]))
{
returnSiteId = get(output1,xpath1[0]);
}
}
if (returnSiteId == "") {
returnSiteId = errorString;
}
partySiteId = "";
xpathCustomerAccountSite = string[1];
// get the XML Element called Customer AccountSite where ID = returnSiteId
xpathCustomerAccountSite[0] = "//ns2:Value/ns2:CustomerAccountSite[ns2:CustomerAccountSiteId=" +
returnSiteId + "]";
if (containsKey(outputCustomerAccountSite,xpathCustomerAccountSite[0]))
{
CustomerAccountSiteXmlFragment = get(outputCustomerAccountSite,xpathCustomerAccountSite[0]);
xpath2 = string[1];
xpath2[0] = "//ns2:PartySiteId";
output2 = readxmlsingle(CustomerAccountSiteXmlFragment,xpath2);
if (containsKey(output2,xpath2[0]))
{
partySiteId = get(output2,xpath2[0]);
}
if (partySiteId == "") {
partySiteId = errorString;
}
}
partySiteNumber = "";
xpathPartySiteNumber = string[1];
// get the XML Element called Customer AccountSite where ID = returnSiteId
xpathPartySiteNumber[0] = "//ns2:Value/ns2:PartySite[ns1:PartySiteId=" + partySiteId + "]";
if (containsKey(outputPartySiteNumber,xpathPartySiteNumber[0]))
{
PartySiteNumberXmlFragment = get(outputPartySiteNumber,xpathPartySiteNumber[0]);
xpath3 = string[1];
xpath3[0] = "//ns1:PartySiteNumber";
output3 = readxmlsingle(PartySiteNumberXmlFragment,xpath3);
if (containsKey(output3,xpath3[0]))
{
partySiteNumber = get(output3,xpath3[0]);
}
}
return
"1~invoiceToPartyID_t~"+returnPartyId+"|1~_s_accountPartyId_t~"+returnPartyId+"|"+"1~_s_accountPartyNumber
58
_t~"+returnAccountNumber+"|"+"1~billToSiteUseId_t~"+returnBillToSiteUseId
+"|"+"1~_customer_id~"+returnPartyId+"|";
59
Appendix C: Payload Template Files
The BML associated with the payload template files referenced in Add Template Dependencies to File Manager follows.
findOrganizationPayload.txt
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/applicationModule/types/">
<ns1:findOrganization>
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:filter>
<ns2:conjunction>And</ns2:conjunction>
<ns2:group>
<ns2:conjunction>And</ns2:conjunction>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>PartyName</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>{{customerCompanyName_t}}</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
</ns1:findCriteria>
<ns1:findControl xmlns:ns3="http://xmlns.oracle.com/adf/svc/types/">
<ns3:retrieveAllTranslations/>
</ns1:findControl>
</ns1:findOrganization>
</soap:Body>
</soap:Envelope>
customerAccountPayload.txt
<?xml version="1.0"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/customerAccountService/applicationModule/types
/" xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<soapenv:Body>
<ns1:findCustomerAccount>
<ns1:findCriteria>
<ns2:filter>
<ns2:conjunction>And</ns2:conjunction>
<ns2:group>
<ns2:conjunction>And</ns2:conjunction>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>PartyId</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>{{returnPartyId}}</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
</ns1:findCriteria>
<ns1:findControl>
<ns2:retrieveAllTranslations>false</ns2:retrieveAllTranslations>
</ns1:findControl>
</ns1:findCustomerAccount>
</soapenv:Body>
</soapenv:Envelope>
60
Appendix D: Miscellaneous Commerce Library Functions
The Oracle CPQ Order Management package adds several library functions to the Commerce process. This topic
provides the BML associated with each of the library functions.
61
Appendix E: CPQ-OM Status Mapping
Map CPQ Line Status to Order Management Line Status
Update 24A or later:
Administrators can use the CPQ-FOM-LineStatusDVM Lookup in OIC to map existing CPQ status codes with the Order Management
status codes.
3. In the Lookps Panel, click on 3 dots and Edit option for the corresponding lookup.
4. Click on the Add Row icon (+) at the bottom of the mapping table to add a new mapping.
5. Add the FOM Status code in the 'FOM-StatusCode' column and CPQ status code in the 'CPQ-StatusCode' column.
62
Update 23B, 23C, or 23D:
Administrators can use the CPQ-FOM-LineStatusDVM Lookup in OIC to map existing CPQ status codes with the Order Management
status codes.
5. Click on the Add Row icon (+) at the bottom of the mapping table to add a new mapping.
6. Add the FOM Status code in the 'FOM-StatusCode' column and CPQ status code in the 'CPQ-StatusCode' column.
63
Appendix E1: OIC Integration – UpdateSOStatusFromFOM/ FOM CPQ
SalesOrderStatusSync
The integrations UpdateSOStatusFromFOM (Update 23B, 23C, or 23D) and FOM CPQ SalesOrderStatusSync (Update 24A or later)
uses Oracle ERP Cloud adapter to subscribe to order management Sales Order Notification business event.
There is a filter expression defined to subscribe to the events for only those orders that were originated from CPQ by specifying the
Source System 'ORA_BM_CPQ' in the filter expression.
In Order Management, Sales Order Notification business event is raised for an order each time any of the following condition occurs:
Whenever the above events are raised, this integration is invoked and the quote header status and line status are updated in Oracle
CPQ.
To enable business events in Order Management for different Fulfillment Status of order orchestration process,
refer to the Order Management Setup section.
Notes:
Fulfilment Status for which business events are enabled can only be synched back to Oracle CPQ.
The CPQ Integration User should have Read/Write permissions on the status attributes which are being updated through
this integration.
64
Appendix E2: OIC Integration – UpdateSubStatusFromOSS/ OSS CPQ AssetUpsertFlow
The integrations UpdateSubStatusFromOSS (Update 23B, 23C, or 23D) and OSS CPQ AssetUpsertFlow (Update 24A or later) uses
Oracle ERP Cloud adapter to subscribe to subscription management Subscription Created Event business event.
There is a filter expression defined to subscribe to the events for only those orders that were originated from Oracle CPQ by
specifying the Source System 'ORA_BM_CPQ' in the filter expression.
In Subscription Management, Subscription Created Event business event is raised each time when a subscription created event
occurs.
Whenever the above events are raised, this integration is invoked and quote line status is updated to ACTIVATED in Oracle CPQ. The
Update Asset action REST API is invoked to create an Asset in CPQ Asset Repository and update the CPQ quote line Fulfillment
Status.
Notes:
Fulfilment Status for which business events are enabled can only be synched back to Oracle CPQ.
Status mentioned in CPQ attribute 'Trigger Update Asset for Line Status' should have the business event enabled for
corresponding Fulfilment Status in Order management. Without this Asset cannot be created in Oracle CPQ.
The Oracle CPQ Integration User should have Read/Write permissions on the status attributes which are being updated
through this integration.
65
Appendix F: Retrieve OIC Integration Endpoint URL
Update 24A or later:
Integration endpoints are required for defining the Generic Integration in the Integration Center for the cancel order and get order
status flows.
a. Select CPQ FOM CancelSalesOrder Integration, click on 3 dots and then click on the Run option. Configuration
and Run UI displays.
b. Click on the EndPoint metadata button. A page displays with the Endpoint URL in the Metadata tab section. Record the
Endpoint URL.
https://<OIC hostname>/ic/api/integration/v2/flows/rest/project/ORCL-BA-CPQ_FUSION_BRIDGE/ORCL-BA-
CANCEL_SALES_ORDER/24.0/CancelSOfromCPQ
Note: The hostname is the OIC environment name.
a. Select CPQ FOM CreateSalesOrder Integration, click on 3 dots and then click on the Run Details option. Run
Details UI displays.
a. Select OSS CPQ AssetUpsertFlow Integration, click on 3 dots and then click on the Run Details option. Run
Details UI displays.
66
6. FOM CPQ SalesOrderStatusSync integration:
a. Select FOM CPQ SalesOrderStatusSync Integration, click on 3 dots and then click on the Run Details option.
Run Details UI displays.
a. Select FOM CPQ GetSalesOrderStatus Integration, click on 3 dots and then click on the Run option. Configure
and Run UI displays.
b. Click on the EndPoint metadata button. A page displays with the Endpoint URL in the Metadata tab section. Record the
Metadata URL.
https://<OIC hostname>/ic/api/integration/v2/flows/rest/project/ORCL-BA-CPQ_FUSION_BRIDGE/ORCL-BA-
GET_SALES_ORDER_STATUS/24.0/GetSOStatusfromFOM
Note: The hostname is the OIC environment name.
Integration endpoints are required for defining the Generic Integration in the Integration Center for the cancel order and get order
status flows.
2. Select Integrations in the left side navigation panel, and then select Integrations.
4. Click the Run icon for the applicable integration. A pop-up window displays with the Metadata URL.
5. Click on the Metadata URL link. A page will display with the Endpoint URL. Record the Endpoint URL.
67
68
Appendix G: Limitations and Troubleshooting
Perform the following steps to resolve issues with the Create Order action.
2. Select Integration Center under Integration Platform. The Integration Center opens.
5. Click Save.
7. Click Save.
To resolve this, either add a value in the status_l attribute or add mapping to the CPQ-FOM-LineStatusDVM lookup in OIC for that
status.
69
CONNECT WITH US
Call +1.800.ORACLE1 or visit oracle.com.
Outside North America, find your local office at oracle.com/contact.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by
intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them
to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the
following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or
activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or
accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the
applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display,
disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated
software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer
documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The
terms governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services. No other rights are
granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in
any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in
dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use.
Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks
or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro
Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products,
and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an
applicable agreement between you and Oracle .
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.