Oracle CX Sales SPIM Integration
Overview
Previously, XSL web service calls were used to integrate parts between Oracle CX Sales and Oracle CPQ. Although this approach allowed two-way communication, synchronization was labor intensive because part fields did not match and parts could be maintained in both Oracle CX Sales and Oracle CPQ applications.
Sales Product Information Master (SPIM) integration provides the following enhancements:
- Pre-defined scheduled synchronization of parts from Oracle CX Sales to CPQ.
- Single source control of parts management when Oracle CPQ is integrated with the Sales Product Information Master (SPIM). Oracle CX Sales becomes the parts master, and parts that are synchronized with the Product Master are non-editable in Oracle CPQ.
Near Real Time Synchronization
The near real time synchronization for Oracle CX Sales SPIM Integrations provides synchronization of a given product, without waiting for a scheduled batch synchronization to occur. Oracle CX Sales SPIM products and structures can be synchronized to CPQ using the “Upsert Product in CPQ” action when an appropriate Oracle CX Sales Routine trigger occurs. The Oracle CX Sales Integration Maps use pre-defined mapping for Standard Part Attributes and additional mapping can be added for custom attributes. The CPQ Upsert BOM Item List REST API can create, update, or delete CPQ BOM hierarchies using a list format, instead of the hierarchical JSON format.
For example, an Oracle CX Sales product manager creates the PTO Model structure.
The corresponding structure is added to the CPQ BOM Item Definition data table BOM Item Tree using the Upsert BOM Item List REST API.
The product synchronization from the Oracle CX Sales Product Master and CPQ is performed in scheduled batches, typically once every 24 hours. At the scheduled time:
- CPQ sends a synchronization request to Oracle CX Sales.
-
Oracle CX Sales exports the entire set of records or a delta set of record charges to CPQ.
Refer to Synchronization Behavior for more information. -
After receiving the export completion notification, CPQ updates parts in the CPQ application.
Synchronization of Structures and Components/BOMs
Complex structures created in Oracle CX Sales can also be automatically synchronized into Oracle CPQ on a scheduled basis. When the Unified BOM Sync is enabled, this integration will synchronize Oracle CX Sales structures to the Oracle CPQ BOM Item Definition table.
- The unified BOM synchronization is initiated upon completion of the parts synchronization.
- The initial BOM sync will be a complete synchronization.
- The following BOM synchronizations will be delta synchronizations. BOM sync uses Last Sync Date header value to retrieve records during delta synchronization.
Note: By default, the frequency of the parts synchronization is scheduled to occur daily (i.e. every 24 hours) and the batch download size is set to 100,000 exported items. Customers can submit a Service Request (SR) on My Oracle Support to change the synchronization frequency and/or batch download size.
Synchronization Status Details in CPQ
Accessing Synchronization Details
The Parts Administration page provides integration information and provides access to synchronization details and controls. To access the Parts Administration page navigate to the CPQ to the Admin Home page, and then click Parts in the Products section.
When CPQ is integrated with the Oracle CX Sales Product Master, "UnifiedProducts" is listed as the Item Master on the Parts Administration page.
Note: If you don't find the Item Master section on the Parts Search for Admin page, contact My Oracle Support to enable the Oracle CX Sales Product Information Master (SPIM) parts integration. You will need to provide your Oracle CX Sales site URL in the request.
- CPQ administrators can still import and add new CPQ parts, but parts originated in CPQ are not synchronized with Oracle CX Sales.
- For parts synchronized from the Oracle CX Sales Product Master, CPQ administrators can only view and provide translations for the integrated items. Synchronized parts can only be modified and deleted in the Oracle CX Sales application.
- When Oracle CX Sales Product Information Master (SPIM) integration is enabled, existing CPQ parts that have the same part number as an Oracle CX Sales Product Master part will be synchronized, and thus become read-only in CPQ.
- If a new part is added to the Oracle CX Sales Product Master and the part number matches an existing CPQ part, it will be synchronized, and thus become read-only in CPQ after the next synchronization.
To access synchronization details and controls, click the Integration button on the Parts Administration page. Synchronization details are displayed for both parts/items and BOM hierarchies/structures.
Parts Synchronization Status and Details
The Part Sync section shows the overall part synchronization status and lists details for the last five of part synchronization jobs.
Schedule Details | |
---|---|
Current Sync Status |
Indicates whether the synchronization scheduling is active, complete, or paused. |
Sync Frequency |
Indicates how often synchronization will occur, the default value is 24 hours. |
Sync Status |
Indicates whether the previous parts synchronization was successful. |
Last Data Sync Date |
The date and time when the previous parts synchronization finished. |
Part Sync Request The following details are displayed for the for the last five of part synchronization jobs. |
|
Request Date |
The date and time when the applicable parts synchronization job started. |
Completion Date |
The date and time when the applicable parts synchronization job finished. |
Current Status |
Indicates whether the applicable parts synchronization job was successful. |
Failed Records |
The number of parts that failed to synchronize in the applicable parts synchronization job.
|
Log |
Provides synchronization details for the applicable synchronization job. |
Click the Sync Control Pause button to suspend the currently scheduled synchronization. When the synchronization is resumed:
- A new part synchronization will begin immediately. Either a full synchronization or delta synchronization will occur.
- The next part synchronization will initiate after a pre-defined interval, measured from the time the previous synchronization was initiated.
Unified BOM Synchronization Status and Details
When the Unified BOM Sync is enabled BOM synchronization details and controls are displayed below the part synchronization section on the integration page.
If required, Oracle CPQ administrators can click the BOM Sync Request Start button to initiate a synchronization before the scheduled synchronization. If there is an active parts synchronization administrators will be prompted to wait for competition of the current synchronization before initiating a new BOM synchronization.
BOM Sync Request | |
---|---|
Sync Status |
Indicates whether the previous BOM synchronization was successful. |
Last Data Sync Date |
The date and time when the previous BOM synchronization finished. |
The following details are displayed for the for the last five of BOM synchronization jobs. |
|
Request Date |
The date and time when the applicable BOM synchronization job started. |
Completion Date |
The date and time when the applicable BOM synchronization job finished. |
Current Status |
Indicates whether the applicable BOM synchronization job was successful. |
Failed Records |
The number of BOM items that failed to synchronize in the applicable BOM synchronization job.
|
Log |
Provides synchronization details for the applicable synchronization job. |
A complete synchronization will occur for the first synchronization. If your parts system contains a large number of parts, complete synchronizations can be very time-consuming. After the initial synchronization, delta synchronizations will occur if the prior synchronization completes successfully without any record failures. Delta synchronizations are less time-consuming than a complete synchronization because they only transfer updates and additions that occurred since the last successful synchronization.
- For parts synchronization, the max last updated date is used as filter parameter for delta records.
- For BOM synchronization, the Last Sync Date header is used as filter parameter for delta records. If the Last Sync Date header is empty, all BOM records are exported.
A scheduled parts synchronization will not fail if an individual part fails to synchronize. However, an individual part synchronization failure will prevent delta synchronization from occurring until the individual part synchronization error is resolved. Part synchronization errors should be resolved as soon as possible since complete parts synchronizations can be very time-consuming. Customers can submit a Service Request (SR) on My Oracle Support to request synchronization logs
A parts synchronization will fail if:
- The Oracle CX Sales site cannot be reached.
- The Oracle CX Sales site credentials in Integration Center are incorrect.
- The REST Notification Name specified in Configuration Settings doesn't match the name of the Web Service defined in Oracle CX Sales. When this occurs CPQ is not notified of a completed Oracle CX Sales export and will not continue the synchronization process.
- The synchronization request to Oracle CX Sales site exceeds the CX Sales API timeout. If required, customers can contact My Oracle Support to change the CX Sales API timeout value.
This section identifies synchronization behavior that is specific to BOM/complex structure synchronizations.
- A BOM synchronization will fail if:
- The Oracle CX Sales site cannot be reached.
- The Oracle CX Sales site credentials in Integration Center are incorrect.
- The REST Notification Name specified in Configuration Settings doesn't match the name of the Web Service defined in Oracle CX Sales When this occurs CPQ is not notified of a completed Oracle CX Sales export and will not continue the synchronization process.
- The synchronization request to Oracle CX Sales site exceeds the CX Sales API timeout. If required, customers can contact My Oracle Support to change the CX Sales API timeout value.
- Unified BOM Sync is not enabled in CPQ Configuration settings.
- If an individual Oracle CX Sales structure fails to synchronize, it will not fail the entire BOM synchronization.
- If a part that is referenced in a BOM fails part synchronization, the root BOM for that item will fail BOM synchronization. This will not affect synchronization of other root BOM items.
- If BOM record synchronization failures occur, the earliest failure time is recorded and the number of BOM record synchronization failures will be displayed. When the next BOM Sync occurs, it will start from earliest failure time. For example, if there are 50 BOM records to synchronize and the 31st BOM record fails synchronization:
- The earliest failure time is recorded as the 31st BOM record.
- "1" is displayed for the Failed Records in Last Successful Sync.
- 1 failure and 49 inserted/updated records will be listed in the Sync Details.
- When the next BOM Sync occurs, it will start from the 31st BOM record.
Administration
Establish Oracle CX Sales SPIM as the Products Source for an Oracle CX Sales – Oracle CPQ Products Integration
The following procedures will establish Oracle CX Sales Product Information Master (SPIM) as the Products Source for an Oracle CX Sales – Oracle CPQ Products Integration.
View Current Parts Source in Oracle CPQ:
- Log into Oracle CPQ as a parts administrator or as a Full Access user.
- Navigate to the Admin Home page.
- Click Parts under Products. The Parts Search for Admin page appears.
-
The Item Master field shows the current parts source. If you see "UnifiedProducts" as the item master (source), your CPQ site is integrated with the Oracle CX Sales Product Master.
Note: If you don't find the Item Master section on the Parts Search for Admin page, contact My Oracle Support to enable the Oracle CX Sales Product Information Master (SPIM) parts integration. You will need to provide your Oracle CX Sales site URL in the request.
Enter the Integration User Credentials
The Product Hub integration is added to the CRM integration type in the Oracle CPQ Integration Center.
To create a CRM integration type, complete the following steps:
- Navigate to the Integration Center.
- Click Admin to go to the Admin Home Page.
Click Integration Center in the Integration Platform section.
The Integration Center page opens.
- Click Create Integration.
- Select CRM from the Type drop-down. The CRM Integration field entries display. The Vendor and Variable Name automatically-fill text for Fusion integration.
- Enter the Endpoint URL.This is the Fusion domain URL.
- Enter the Username of a Fusion Integration user with the sales administrator role.
- Enter the Password of a Fusion Integration user with the sales administrator role.The username and password of a Fusion Integration user with the sales administrator permissions is required to allow Oracle CPQ REST calls to sync a quote to an opportunity or to sync a sales catalog part in Oracle CX Sales.
- (Optional) Enter the Scope.This is the OAuth Provider scope value.
-
In the Product Hub Integration section, enter the Username of the product administrator role.
-
In the Product Hub Integration section, enter the Password of the product administrator role.
For SPIM integration, the Product Hub Integration username and password are not required. - Select the Enable Integration check box to enable the Oracle Fusion CRM integration.
- Click Save.
Set Up Unified Products Sync Configuration Options
- Log into Oracle CPQ as a parts administrator or as a Full Access user.
- Navigate to the Admin Home page.
- Click Configuration Settings in the Products section.
-
Configure the Unified Products Sync options.
- REST Notification Name: The name that will identify the export completion notification from Oracle CX Sales. This name must match the name of the Web Service defined for the notify action in Oracle CX Sales.
-
Mapping ID: The Oracle CX Sales Integration Map Number that is used to map Oracle CX Sales to Oracle CPQ part attributes when synchronizing parts. The Mapping ID for the default mapping, which maps standard parts attributes, is DATAINTG-100.
Oracle CX Sales administrators can modify or clone the default mapping.
- The default mapping can be modified to map an additional Oracle CX Sales standard or custom part attribute to a CPQ custom part attribute.
- The default mapping must be cloned if you want to map an additional Oracle CX Sales standard or custom part attribute to a CPQ standard part attribute.
- When the default mapping is cloned, a new Mapping ID will be generated.
-
Enable Unified BOM Sync: This option to enable synchronization of Oracle CX Sales complex structures to Oracle CPQ BOM hierarchies.
Refer to BOM Synchronization Behavior before enabling Unified BOM Sync.
- Click Apply.
CPQ BOM tables and mapping are required to enable synchronization of Oracle CX Sales product structures and components to CPQ.
Complete the following procedure to create and map CPQ BOM tables.
-
Log into Oracle CPQ as a parts administrator or as a Full Access user.
-
Navigate to Admin > BOM > BOM Tables.
-
Check the Select All checkbox and click Save.
-
Complete the following to download each of the table definitions:
-
Click on the applicable BOM table link.
-
Click the Download Sample link.
-
Click Cancel to return to the Bills of Materials Tables page.
-
-
Navigate to Admin > Data Tables.
-
Add a BOM Tables data folder.
-
From the Admin Toolbar, click on the Add Folder icon.
-
Enter BOM Tables for the folder Name.
-
Click inside the Variable Name field.
-
Click OK.
-
-
Complete the following to import and deploy each of the data table definitions downloaded in Step 4:
-
Select Import from the from the side navigation panel menu drop-down.
-
Drag the applicable Zip file into the "Drop files here or click to upload .csv .txt or .zip" area.
-
Select BOM Tables from the Destination Folder drop-down.
-
Click Import and wait for the Import dialog to close.
-
Double-click on the newly created data table.
-
Click on the Schema tab.
-
Check the Index and Key checkboxes for the VariableName row.
-
Click Deploy.
-
Click OK and wait for the Deploy dialog to close.
-
-
Navigate to Admin > BOM > BOM Tables.
-
Complete the following to map each of the BOM data tables imported in Step 7:
-
Click on the applicable BOM table link.
-
Select the matching BOM data table from the Table Name drop-down.
-
If Column Mappings are all automatically mapped, click Save and then click Cancel.
-
If Column Mappings are not mapped; select the matching data table columns from the unmapped Column Mapping drop-down, click Save and then click Cancel.
-
-
Check Select All in the Active column, and then click Save.
BOM/Structure Attribute Mapping
The following table shows the mapping between Oracle CX Sales and the CPQ BOM Item Definition table fields.
SPIM Attribute |
SPIM Example |
Mapping Action |
CPQ Attribute |
CPQ Example/Comments |
---|---|---|---|---|
Hashkey(ComponentPath+ComponentItemNumber) |
09335b122d37febe8bff6846eb5d4568e9326d2c5f2e305073ff01f359b18140 |
Computed |
variableName |
09335b122d37febe8bff6846eb5d4568e9326d2c5f2e305073ff01f359b18140 |
Hashkey(ComponentPath) |
6feb7dba6dafaad59f919895a403b36f62712b7dc171a32d2a2050a607286145 |
Computed |
parentVariableName |
6feb7dba6dafaad59f919895a403b36f62712b7dc171a32d2a2050a607286145 |
Hashkey(ComponentPath[0]) |
e01b40ffc191a57f3f3d2efeedb3aed82265ab8f1454f02ef00f44bfc63bfd5c |
Computed |
rootVariableName |
e01b40ffc191a57f3f3d2efeedb3aed82265ab8f1454f02ef00f44bfc63bfd5c |
Quantity |
|
Mapped |
defaultQuantity |
|
StartDateTime |
2017-07-26 |
Mapped |
effectiveFrom |
2017-07-26T00:00:00Z |
EndDateTime |
2017-07-27 |
Mapped |
effectiveTo |
2017-07-27T00:00:00Z |
Equivalent PIM attribute does not exist. |
Not Mapped |
isIncludedInBasePrice |
Note:This value will be set to “N”. |
|
Equivalent PIM attribute does not exist. |
Not Mapped |
isManufacturingItem |
Note:This value will be set to “N”. |
|
OptionalFlag |
true / false |
Mapped |
isOptional |
Y/N |
Equivalent PIM attribute does not exist. |
|
Not Mapped |
isRootModel |
Note:This value is set to “Y” for Root models, and “N” for all child models. |
CustomerOrderEnabledFlag |
true / false |
Mapped |
isSalesItem |
Y/N |
ComponentItemId |
300100545999948 |
Mapped |
itemIdentifier |
300100545999948 |
ComponentStructureItemTypeValue(BomItemType) |
Model / Standard / Option Class |
Mapped |
itemType |
Model / Standard / Option Class |
(ComponentPath+ComponentItemNumber) |
FOS-Home Appliances> Lighting equipment OC> Exhaust Fan |
Mapped |
Label |
Exhaust Fan |
Equivalent PIM attribute does not exist. |
|
Not Mapped |
modelPath |
Note:This value will be left empty. |
ComponentItemNumber |
Exhaust Fan |
Mapped |
partNumber |
Exhaust Fan |
ItemSequenceNumber |
10 / 20 / 30 |
Mapped |
sequenceNumber |
10 / 20 / 30 |
Equivalent PIM attribute does not exist. |
|
Not Mapped |
bomPrice |
Note: This value will be set to 0,0 |
Notes:
-
For detailed Data Table instructions, refer to the Data Table Maintenance and Import & Export Data Tables.
-
For more information about BOM Mapping, refer to the Oracle CPQ BOM Mapping Implementation Guide.
Notes
Refer to the following documents for more information focused on Oracle CX Sales to Oracle CPQ integration implementation.
Note: Refer to Partner Parts Integration for information about Oracle Product Information Management (PIM) integration.