CPQ-FOM Integration

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Implement CPQ-Fusion Order

Management Integration
ORACLE TECHNICAL WHITE PAPER | CPQ 2014 R2 RELEASE | NOVEMBER 2014
Disclaimer
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied upon in making purchasing decisions. The
development, release, and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


Table of Contents

Disclaimer 1

Purpose 1

Prerequisite 1

Introduction 1

FOM Web Services 1

Commerce Process 1

Additional Changes 1

Implementation Details 1

Attributes 2

File Manager 5

Data Table 6

Library Functions 6

Actions 9

Transaction Action 9

Create Order 10

Create Order Async 10

Cancel Order 10

Transaction Line Action 11

Cancel Line Order 11

Validation 11

Step Transitions 11

Sample Payload 12

TroubleShooting 12

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


Purpose
This white paper describes how to implement the Reference Integration between Oracle Configure, Price and Quote
(CPQ) Cloud and Oracle Fusion Order Management (FOM).

Prerequisite
The CPQ – FOM Reference Integration is implemented on CPQ 2014 R2 Release and Fusion Sales Cloud Release
9 or later. CPQ base Reference Application must be deployed in the environment. Relevant Fusion Order
Management web services must be up and running. For parallel web services call, if customer faces the issue of
web service not updating individual items for same quote then install the patch present in BUG 20473962 to support
push.

Introduction
CPQ – FOM Reference Integration enables CPQ to send across the details for placing an order in Fusion Order
Management. When a sales representative adds relevant products and clicks the action button “Create Order”, the
information is sent across to FOM which creates the order based on the details furnished by CPQ.

Implementation Overview

FOM Web Services


For FOM order creation, web service invoked is:

» Web service “ReceiveOrderRequestService” operation “processOrderRequest”

Commerce Process
The Reference Integration makes changes to the “Oracle Quote to Order” commerce process from the base
reference application in the following areas:

» Attributes
» Actions
» Library Functions
» Validation
» Step Transitions

Additional Changes
Additional changes outside the commerce process include:

» Data Table
» File Manager

Implementation Details

Attributes
Create/Modify the following attributes to the “Oracle Quote to Order” commerce process

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


ATTRIBUTES LIST

Document Attribute Name Attribute Variable Name Type Description


Transaction Order ID orderID Text Order Id
Transaction > Invoice To _invoiceTo_t_company_name Invoice To Company Name. Required in
Invoice To Company Name Text
Attributes the request being sent to FOM.
Transaction Org Id orgId Text Organization Id
Transaction Used for debugging, generates and
Soap Request soapRequest Text Area displays a preview of the web service
request being sent to FOM.
Transaction Used for debugging, generates and
Soap Response soapResponse Text Area displays the response when sending a
web service request to FOM.
Transaction Line The line type the customer will receive on
Line Type lineType Menu their invoice which could be either Line or
Freight type.
Transaction Line Quantity of associated line which is being
Quantity requestedQuantity_l Integer requested. Can be user entered or set
logically
Transaction The payment terms the customer will
receive on their invoice.
Payment Terms paymentTerms_t Menu
Example values:
30 Net, 60 Net
Transaction The date and time the order was placed
Order Date orderDate_t Date
for fulfillment.
Transaction PartialShipAllowed partialShipAllowed Boolean partialShipAllowed
Transaction Line The unit of measure of the item
requested by the customer (e.g. "Each",
“Ea”). Note : Implementer will need to
manually sync their Unit of
UnitOfMeasureFOM_l unitOfMeasureFOM_l Menu
measurement(UOM) between the CPQ
and FOM systems. FOM gives the
flexibility to the customer to set their own
menu option values
Transaction Line This is required for Recurring Order.
Number of Billing Period numberOfBillingPeriod Integer
Default to 12.
Transaction Line The Periodicity of the item requested by
the customer for a recurring item. Note :
Implementer will need to manually sync
their Periodicity between the CPQ and
Period pricePeriod_l Menu
FOM systems.
Example menu values:
DAY, WEEK, MONTH, YEAR,
QUARTER
Transaction Line Shipping Instr shippingInstr Text Shipping Instruction value
Transaction Line Packing Instr packing Instr Text packing Instruction
Transaction Line Request Ship Date requestShipDate Date Request ship Date value
Transaction Line Shipping Charges shippingCharges Currency Shipping Charges value
Transaction Line Billing Instr billingInstr Text Billing Instructions Value
Transaction Async Response asyncResponse Text Area Asynchronous Response
Transaction TestOrder testOrder Text Test Order variable
Transaction Cancel Order Status cancelOrderStatus Text Cancel order status message
Transaction The reason expressed by customer for
Reject Reason rejectReason_t Menu
rejecting this deal.
Transaction Order Date Str orderDateStr Text
Transaction Line Transaction Line Id. Required in the
request being sent to FOM, suggested
TranLineID tranLineId Integer
value is the document number for the line
item.
Transaction Line Date that the customer starts to receive
Contract Start Date contractStartDate_l Date the service. Required in the request
being sent to FOM.

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


Transaction Line Date that the customer stops to receive
Contract End Date contractEndDate Date the service. Required in the request
being sent to FOM.
Transaction Line ShipSet shipSet Text shipSet value
Transaction Line First Overide Period firstOveridePeriod Text First Overide Period
Transaction Line Second Overide Period secondOveridePeriod Text Second Overide Period
Transaction Line Third Overide Period thirdOveridePeriod Text Third Overide Period
Transaction Line Fourth Overide Period fourthOveridePeriod Text Fourth Overide Period
Transaction Line Fifth Overide Period fifthOveridePeriod Text Fifth Overide Period
Transaction Line First Overide Amount firstOverideAmount Currency First Overide Amount
Transaction Line Second Overide Amount secondOverideAmount Currency Second Overide Amount
Transaction Line Third Overide Amount thirdOverideAmount Currency Third Overide Amount
Transaction Line Fourth Overide Amount fourthOverideAmount Currency Fourth Overide Amount
Transaction Line Fifth Overide Amount fifthOverideAmount Currency Fifth Overide Amount
Transaction Line Second Billing Period
secondBillingPeriodStartDate Date Second Billing Period StartDate
StartDate
Transaction Line Second Recurring InvoiceDate secondRecurringInvoiceDate Date Second Recurring InvoiceDate
Transaction Line Cancellation Effective Date cancellationEffectiveDate_l Date Cancellation Effective Date

File Manager
Template file format can be found in the below link:

System(Key) Operation(Key) Template Files

FOM LineCharge
FOM_LineCharge.txt

FOM Discount
FOM_discount.txt

FOM shipping
FOM_Shipping.txt

FOM CreateLine
FOM_OrderLine.txt

FOM CreateAsyncOrder
FOM_AsyncOrderHeader_Https.txt

FOM CancelOrderReq
FOM_CancelOrder.txt

FOM CancelAsyncOrder
Cancel_Async_Header.txt

FOM RecurringLineCharge
FOM_RecurringLineCharge.txt

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


FOM CancelLineAsync
FomAsyncCancelLine.txt

FOM ReturnRecurring
FOM_ReturnRecurringLine.txt

FOM ReturnDiscrete
FOM_ReturnDiscreteLine.txt

Data Table
INT_SYSTEM_DETAILS

System(Key) Username Endpoint MaxLinesInPayload


<Enter the username here to call the <Enter the webservice endpoint to call the N/A as FOM huge payload is not yet
FOM
webservice endpoint> service related to FOM> implemented.

INT_SYSTEM_TEMPLATES

System(Key) Operation(Key) Template


<Enter the template URL path that is uploaded
FOM LineCharge
in File manager>
<Enter the template URL path that is uploaded
FOM Discount
in File manager>
<Enter the template URL path that is uploaded
FOM shipping
in File manager>
<Enter the template URL path that is uploaded
FOM CreateLine
in File manager>
<Enter the template URL path that is uploaded
FOM CreateAsyncOrder
in File manager>
<Enter the template URL path that is uploaded
FOM CancelOrderReq
in File manager>
<Enter the template URL path that is uploaded
FOM CancelAsyncOrder
in File manager>
<Enter the template URL path that is uploaded
FOM RecurringLineCharge
in File manager>
<Enter the template URL path that is uploaded
FOM CancelLineAsync
in File manager>
<Enter the template URL path that is uploaded
FOM ReturnRecurring
in File manager>
<Enter the template URL path that is uploaded
FOM ReturnDiscrete
in File manager>

Library Functions
There are ten commerce process library functions used and they are:

» String getPassword(String sysName)

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


getPassword.txt

Figure 1: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

getPassword
Screenshot

» String getTemplate (String system, String operation)

getTemplate.txt

Figure 2 : Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

getTemplate
Screenshot

Information regarding import of Library function is shown in the below link:

getTemplate
Function Import

» String invokeAsyncWebService (String system, String soapReq , String callback)

invokeAsyncWebService.txt

Figure 3: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

InvokeAsyncWS
Screenshot

» String getLineCharge (String discountType, String discount , String shippingCharges,


String operation,String system)

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


getLineCharge.txt

Figure 4: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

getLineCharge
Screenshot

Information regarding import of Library function is shown in the below link:

getLineCharge
Function Import

» String getTemplateLocation(String system, String operation)

getTemplateLocation.txt

Figure 5: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

getTemplateLocation
Screenshot

» String getAsyncTemplate(String system, String operation)

getAsyncTemplate.txt

Figure 6: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

getAsyncTemplate
Screenshot

» String Dictionary getUserAttributes (String system)

getUserAttributes.txt

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


Figure 7: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

getUserAttributes
Screenshot

» String[] invokeAsyncFOMOrder(String system, String operation, String Charge)

invokeAsyncFOMOrder.txt

Figure 8: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

InvokeAsyncFOMOrd
er Screenshot

Information regarding import of Library function is shown in the below link:

invokeAsyncFOMOrd
er Function Import

» String[] invokeAsyncFOMCancelOrder(String system, String operation1, String


operation2)

InvokeAsyncFOMCancelOrder.txt

Figure 9: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

InvokeAysncCancelO
rder Screenshot

Information regarding import of Library function is shown in the below link:

invokeAsyncCancelF
OMOrder Function

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


» String[] InvokeCancelLine (String system, String operation, String charge, String
docnum)

invokeCancelLine_Library_Functions.txt

Figure 10: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

InvokeCancelLine
Screenshot

Information regarding import of Library function is shown in the below link:

invokeCancelLine
Function Import

» String[] invokeReturnDiscrete (String system, String operation, String docnum)

invokeReturnDiscrete.txt

Figure 10: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

InvokeReturnDiscret
e Screenshot

Information regarding import of Library function is shown in the below link:

invokeReturnDiscret
e Function Import

» String [] invokeReturnRecurring (String system, String operation, String docnum)

invokeReturnRecurring.txt

Figure 11: Double Click to open the Library Function file

Return Type and Input information for the library function is shown in the below link:

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


InvokeReturnRecurri
ng Screenshot

Information regarding import of Library function is shown in the below link:

invokeReturnRecurri
ng Function Import

Actions
Note: All Actions should be defined for Advanced modify- After formula section.

Transaction Action

Create Order
The integration is implemented in a single action, “Create Order”, as follows:

System Variable Name Type Description


 N/A

Variable Name for (Transaction) Type Description


N/A

Imported Commerce Functions


String[] invokeAsyncFOMOrder(String system,
String operation, String charge)

Create Order BML Action.txt

Figure 12: Double click to open the BML Action file

Create Order Async


To show the status of the Order created, “createAsyncHandler”, action is implemented as follows:

System Variable Name Type Description


 _system_async_payload

createAsyncHandler BML Action.txt

Figure 13: Double click to open the BML Action file

Cancel Order
The Cancel order integration is implemented in a single action, “Cancel Order”, as follows:

System Variable Name Type Description


 N/A

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


Variable Name for (Transaction) Type Description
N/A

Variable Name for (Transaction


Type Description
Line)
transactionLine Collection of Sub
Documents
_document_number String Document Number
priceType_l String Price Type
status_l String Status

Imported Commerce Functions


String[] invokeAsyncFOMCancelOrder(String
system, String operation1, String operation2)
String[] invokeReturnRecurring(String system,
String operation, String docnum)
String[] invokeReturnDiscrete(String system,
String operation, String docnum)

Cancel Order.txt

Figure 14: Double click to open the BML Action file

Cancel Async Handler


The Cancel order integration’s callback is implemented in a single action, “Cancel Async Handler”, as follows:

System Variable Name Type Description


_system_async_payload

Variable Name for (Transaction) Type Description


N/A

Variable Name for (Transaction


Type Description
Line)
N/A

Imported Commerce Functions


N/A

cancelAsyncHandler BML.txt

Figure 14.2: Double click to open the BML Action file

Transaction Line Action

Cancel Line Order

System Variable Name Type Description


 _system_current_document_number

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


Variable Name for (Transaction) Type Description
N/A

Variable Name for (Transaction


Type Description
Line)
transactionLine Collection of Sub
Documents
_document_number String Document Number
priceType_l String Price Type
status_l String Status

Imported Commerce Functions


String[] invokeCancelLine(String system,
String operation, String charge, String
docnum)
String[] invokeReturnRecurring(String system,
String operation, String docnum)
String[] invokeReturnDiscrete(String system,
String operation, String docnum)

Cancel Line Order.txt

Figure 15: Double click to open the BML Action file

Cancel Line Handler


The Cancel Line’s callback is implemented in a single action, “Cancel Line Handler”, as follows:

System Variable Name Type Description


_system_async_payload

Variable Name for (Transaction) Type Description


N/A

Variable Name for (Transaction


Type Description
Line)
N/A

Imported Commerce Functions


N/A

cancelLineHandler BML.txt

Figure 15.2: Double click to open the BML Action file

Validation
Validation for Order processing is done so that until an Order is fulfilled, customer cannot navigate further.

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


OrderProcessValidati
on Screenshot

Step Transitions

Action Variable Name Available Step Comments


order_start Displayed only in Approved Create order is displayed only when
(Action : Create Order) step the order is approved.
cancelOrder Ordered, Being Changed /
Cancel Order is displayed only
Canceled,  Alternate Version
when the order is placed.
Ordered
cancelLineOrder Ordered, Being Changed /
Canceled,  Fullfilled,
Cancel Line is displayed only when
Canceled, Rejected By
the order is approved.
Customer, Alternate Version
Ordered

Sample Payload
Sample Payload can be found in the below:

1. Create Order

Create_Order_Sample_Payload.txt

2. Cancel Order

Cancel_Order_Sample_Payload.txt

3. Cancel Line

Cancel_Line_Sample_Payload.txt

4. Return Order

Return Order.txt

TroubleShooting

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER


CONNECT WITH US

blogs.oracle.com/oracle

facebook.com/oracle

twitter.com/oracle

oracle.com

Troubleshoot

Oracle Corporation, World Headquarters Worldwide Inquiries


500 Oracle Parkway Phone: +1.650.506.7000
Redwood Shores, CA 94065, USA Fax: +1.650.506.7200

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the
contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon 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, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 1015

CONNECT WITH US

blogs.oracle.com/oracle

facebook.com/oracle

twitter.com/oracle

oracle.com

CPQ-FUSION ORDER MANAGEMENT INTEGRATION WHITE PAPER

You might also like