Commerce Integration Attribute Mapping
Overview
The Attribute Mapping page that allows administrators to customize their Oracle Sales integration without the use of XSL. This page provides a user-friendly interface to map attributes. It supports text based searches to find attributes and drag and drop functionality to add attributes. CPQ attributes are grouped by Transaction and Transaction Line levels. Transaction attributes are displayed first and have a blue sidebar. Transaction Line attributes are displayed after Transaction attributes and have a lavender sidebar.
The Attribute Mapping page displays the CPQ attributes on the left side of the page and the Oracle Sales attributes on the right side. The mapped attributes are displayed in the middle. Icons identify the attribute type and the attribute variable name is displayed when hovering over an attribute name. Administrators can add new attribute mappings and edit or delete existing attribute mappings.
View Attribute Mapping Page Example
Supported Attribute Mapping Data Types
Oracle Sales | CPQ Commerce Attribute | Notes | ||
---|---|---|---|---|
Icon | Data Type | Icon | Data Type | |
boolean | Boolean | Only supports "true" and "false" values. Values are not case sensitive. |
||
date | Date | Only supports ISO format | ||
Date Time | Only supports ISO format | |||
Text | ||||
Text Area | ||||
datetime | Date | Only supports ISO format | ||
Date Time | Only supports ISO format | |||
Text | ||||
Text Area | ||||
integer | Integer |
Only supports -2,147,483,648 to 2,147,483,647 integer value range. |
||
Text | ||||
Text Area | ||||
Group Sequence Number |
||||
Sequence Number |
||||
number | Currency | |||
Float | ||||
Integer | Only supports -2,147,483,648 to 2,147,483,647 integer value range. | |||
Text | ||||
Text Area | ||||
string |
Boolean | Only supports "true" and "false" values. Values are not case sensitive. |
||
Currency | ||||
Date | Only supports ISO format | |||
DateTime | Only supports ISO format | |||
Float | ||||
Integer |
Only supports -2,147,483,648 to 2,147,483,647 integer value range. |
|||
Rich Text | ||||
Single Select Menu | Oracle Sales value must match CPQ's menu variable value. | |||
Text | ||||
Text Area | ||||
Commerce Dynamic Menus | Oracle Sales value must match CPQ's menu variable value. |
Sort and Reorder Mapped Attribute Rows
Beginning in Oracle CPQ 22B, administrators can to sort and reorder mapped rows on the Commerce Integration Attribute Mapping page. The mapped rows can be sorted by the CPQ Attribute or the Mapped Attribute column in ascending or descending order. Sorting rows by the CPQ Attribute allows administrators to easily identify all attributes that are conditionally mapped to the same target attribute.
Sort Mapped Attribute Rows
The following image displays attribute mapping without sorting. Notice that the highlighted conditionally mapped rows are not grouped together.
When the administrator sorts the attribute mappings by the CPQ Attribute, the conditionally mapped rows are grouped together. This makes it easier to quickly identify Oracle Oracle Sales attributes that are mapped to the same CPQ attribute. Administrators need to click Save to retain the sorted attribute order.
Reorder Attribute Mapping Rows Using Drag and Drop
Administrators can also drag and drop attributes to reorder the mapped rows. Sorting rows by allows administrators to easily identify all attributes that are conditionally mapped to the same target attribute. Additionally, administrators can drag and drop items to reorder mapped rows in the order they prefer. Sorting rows by allows administrators to easily identify all attributes that are conditionally mapped to the same target attribute. Additionally, administrators can drag and drop items to reorder mapped rows in the order they prefer.
In the following image, the CPQ Parent Asset Key attribute was selected, and then dragged and dropped below the CPQ Instance ID attribute.
- When mapping row is in edit mode, it cannot be dragged and dropped.
- If you sort after dragging and dropping an attribute, the reordered attribute position will be lost.
- Administrators need to click Save to retain the reordered attribute position, which could have been arrived at by a combination of sort and manual resequencing.
Reorder Attribute Mapping Rows Using Drag and Drop
Administrators can also drag and drop attributes to reorder the mapped rows. In the following image, the CPQ Parent Asset Key attribute was selected, and then dragged and dropped below the CPQ Instance ID attribute.
- When mapping row is in edit mode, it cannot be dragged and dropped.
- If you sort after dragging and dropping an attribute, the reordered attribute position will be lost.
- Administrators need to click Save to retain the reordered attribute position, which could have been arrived at by a combination of sort and manual resequencing.
Conditional Mapping for REST Integrations
Beginning in Oracle CPQ 22A administrators can define conditional logic for the import of sub-document Commerce REST integration mappings. Conditional mapping allows the mapping of two source attributes to the same target attribute. When two source attributes are mapped to one target attribute, conditions must be defined to determine which of the source attributes to use. When conditions for the primary source attribute are not met, the secondary (default) mapping will be used.
The predefined response attribute mapping for the REST Import Revenue Lines Integration contains conditional mapping for several attributes. When two source attributes are mapped to the same target attribute, the conditional mapping icon is displayed for both mappings.
As shown in the following image, there are four instances where two Oracle Sales attributes (i.e. source attributes) are mapped to the same CPQ attribute (i.e. target attribute). The mappings with conditional mapping are outlined in blue, and the conditional mapping icon is outlined in red. Since both mapped attributes have the same condition, you can click on either conditional mapping icon to view the conditional mapping for the target attribute.
Edit Conditions Dialog for Conditional Mapping
To access the conditional logic for mapped items, click on the conditional mapping icon. The following image displays the conditional mapping for the CPQ Model Segment Variable Name attribute:
-
Select one of the two attribute mappings from the Conditional Attribute Mapping drop-down.
The selected mapping is used when the Condition is satisfied (e.g. Model Segment Variable Name = Product Group Model Family).
- Action based on: The action can be based on All Conditions, Any Conditions, or Complex Conditions.
-
A "Condition" is defined by selecting the Attribute, Operator, and Value.
(e.g. Product Type is equal to "Group")
- Attribute: Select a Oracle Sales attribute for the condition (e.g. Product Type)
- Operator: Available operators are based on the selected attribute type.
- Value: Enter a value for the condition
- Click Add New Condition to define additional conditions.
-
The Else – Default is automatically set to attribute mapping that isn't selected for the If Condition.
(e.g. Model Segment Variable Name = Product Model Family)
Missing CX Attributes in Imported Revenue Line Conditional Mappings
Beginning in Oracle CPQ 22B, the Attribute Mapping page will highlight missing attributes that are used in mappings as well in conditions and provide an error message when the administrator double clicks on the highlighted attribute. Informing CPQ administrators of missing Oracle Sales attributes prevents errors when an integration is run.
The Edit Conditions dialog will also provide an error message about which Oracle Sales attribute used in the condition has been deleted. For example, when a deleted CX attribute causes an invalid condition, the condition rule editor will denote which attribute has been deleted.
Administration
Edit Attribute Mapping for Oracle Sales Quote Line Integration
New customers will have these mappings defined as part of the provisioned reference implementation. Existing customers will have a migration package to create this standard integration. Administrators can complete the following steps to add new attribute mappings or edit the existing attribute mappings.
- Log in to Oracle CPQ and open the Admin Home page.
- Click Process Definition, in the Commerce and Documents section.
- Select Integrations from the Navigation drop-down menu for the applicable process, and then click List.
- Click on the REST Integration name.
- Click Edit next to Request Mapping.
- Click the Add Row icon or drag and drop an attribute to create a new attribute mapping row.
- Select the appropriate CPQ attribute on the left side.
- Select the appropriate Oracle Sales attribute on the right side.
Click on the Apply icon or click outside the row to register the mapping.
- To delete an attribute mapping, click on the delete icon.
- To edit an existing attribute mapping, click on the edit icon.
- Click Save to save changes, or Finish to save changes and exit the page.
Predefined Attribute Mapping for Oracle Sales REST Integrations
CPQ provides new customers with predefined Oracle Sales integrations. Existing customers can import a migration package to implement the predefined integration content. The following the predefined attribute mappings are available for Oracle Sales REST Integrations.
Sync Quote Lines - REST Export Lines
CPQ Attribute | Mapping | Oracle Sales Attribute | |||
---|---|---|---|---|---|
Name | Variable Name | Type | Name | Variable Name | |
Contract End Date |
contractEndDate_l |
Date |
Line Contract End Date |
ContractEndDate |
|
Contract Start Date |
contractStartDate_l |
Date |
Line Contract Start Date |
ContractStartDate |
|
Contract Value (Net Rollup) |
contractValueRollup_l |
Currency |
Line Contract Value |
ContractValue |
|
Contract Value (Net Summable) |
contractValue_l |
Currency |
Contract Value Detail |
SummableContractAmount |
|
Contracted Periods (Rollup) |
contractedPeriodsRollup_l |
Integer |
Line Contract Periods |
ContractPeriods |
|
Currency |
currency_t |
Menu |
Line Currency |
CurrencyCode |
|
Discount Percent (Rollup) |
discountPercentRollup_l |
Float |
Line Discount |
DiscountPercentage |
|
Document Number |
_document_number |
Text |
External Line Number |
ExternalOrderLineNumber |
|
Instance ID |
itemInstanceId_l |
Text |
External Asset Key |
ExternalAssetKey |
|
Inventory Item ID |
oRCL_SFA_InventoryItemID_l |
Text |
Inventory Item ID |
InventoryItemId |
|
Line Type |
lineType_l |
Menu |
Item Type |
ItemTypeCode |
|
List Price (Rollup) |
listPriceRollup_l |
Currency |
Unit List Price |
UnitListPrice |
|
MRR (Rollup) |
monthlyRecurRevRollup_l |
Currency |
Monthly Recurring Revenue |
MonthlyRecurringRevenue |
|
MUR (Rollup) |
monthlyUsageRevRollup_l |
Currency |
Monthly Usage Revenue |
MonthlyUsageRevenue |
|
Net Amount (Rollup) |
netAmountRollup_l |
Currency |
Net Amount |
Amount |
|
Net Price (Rollup) |
netPriceRollup_l |
Currency |
Net Price |
Price |
|
Non-Recurring Revenue (Rollup) |
nonRecurRevRollup_l |
Currency |
Nonrecurring Revenue |
NonRecurringRevenue |
|
Non-Recurring Revenue (Summable) |
nonRecurRevSummable_l |
Currency |
Nonrecurring Revenue Detail |
SummableNonRecurringRevenue |
|
Opportunity Win/Loss Status |
oRCL_SFA_Status_l |
Text |
Line Win Loss Status |
WinLossStatusCode |
|
Order Number |
oRCL_ERP_OrderNumber_l |
Text |
Order Number |
OrderNumber |
|
Order Date |
orderDate_t |
Date |
Line Order Date |
OrderDate |
|
Parent Asset Key |
parentAssetKey_l |
Text |
External Parent Asset Key |
ExternalParentAssetKey |
|
Parent Document Number |
_parent_doc_number |
Text |
Parent External Line Number |
ParentExternalOrderLineNumber |
|
Partner Organization ID |
oRCL_SFA_InventoryOrgID_l |
Text |
Inventory Organization ID |
InventoryOrgId |
|
Partner Transaction ID |
oRCL_SFA_TransactionID_t |
Text |
Order Header ID |
OrderHeaderId |
|
Price Recurrence Frequency (Rollup) |
priceRecurFrequencyRollup_l |
Menu |
Line Price Period |
PricePeriodCode |
|
Price Type (Rollup) |
priceTypeRollup_l |
Menu |
Line Price Type |
PriceTypeCode |
|
Quantity |
requestedQuantity_l |
Integer |
Quantity |
Quantity |
|
Recurring Revenue (Rollup) |
recurRevRollup_l |
Currency |
Recurring Revenue |
RecurRevenue |
|
Recurring Revenue (Summable) |
recurringRevSummable_l |
Currency |
Recurring Revenue Detail |
SummableRecurringRevenue |
|
Request Date |
requestDate_l |
Date |
Line Request Date |
RequestDate |
|
Revenue Category |
_revenueCategory_l |
Menu |
Revenue Type Category |
RevenueTypeCategory |
|
Revenue ID |
_revenue_id |
Text |
Revenue Id |
RevnId |
|
Root Asset Key |
rootAssetKey_l |
Text |
External Root Asset Key |
ExternalRootAssetKey |
|
Root Line |
rootLine_l |
Menu |
Root Line |
RootLine |
|
Status |
status_l |
Menu |
Line Status |
LineStatusCode |
|
Subscription Id |
subscriptionId_l |
Text |
Subscription Id |
SubscriptionId |
|
Subscription Line Id |
subscriptionLineId_l |
Text |
Subscription Line Id |
SubscriptionLineId |
|
Unit of Measure |
requestedUnitOfMeasure_l |
Menu |
UOM |
UOMCode |
|
Usage Revenue (Rollup) |
usageRevRollup_l |
Currency |
Usage Revenue |
UsageRevenue |
|
Usage Revenue (Summable) |
usageRevSummable_l |
Currency |
Usage Revenue Detail |
SummableUsageRevenue |
REST Import Opportunity - REST Import
CPQ Attribute | Mapping | Oracle Sales Attribute | |||
---|---|---|---|---|---|
Name | Variable Name | Type | Display Name | Variable Name | |
Business Unit ID |
businessUnitId_t |
Text |
Business Unit ID |
PrimaryOrganizationId |
|
Contact Email Address |
contactEmailAddress_t |
Text |
Primary Contact Email |
PrimaryContactEmailAddress |
|
Contact Name |
contactName_t |
Text |
Primary Contact |
PrimaryContactPartyName |
|
Contact Party Number |
_transaction_s_contactPartyName_t |
Text |
Primary Contact Party Number |
PrimaryContactPartyNumber |
|
Opportunity ID |
opportunityID_t |
Text |
Opportunity ID |
OptyId |
|
Opportunity Name |
opportunityName_t |
Text |
Name |
Name |
|
Owner Resource Party ID |
oRCL_SFA_OwnerResourcePartyID_t |
Text |
Owner |
OwnerResourcePartyId |
|
Primary Org ID |
oRCL_SFA_PrimaryOrgID_t |
Text | Business Unit ID |
Primary OragnizationId |
|
Revenue Category |
_transaction_revenueCategory_t |
Menu |
Opportunity Type |
OpportunityTypeCode |
REST Upsert Quote - REST Export
CPQ Attributes | Mapping | Oracle Sales Attribute | |||
---|---|---|---|---|---|
Name | Variable Name | Type | Display Name | Variable Name | |
Contract End Date |
contractEndDate_t |
Date | Contract End Date |
ContractEndDate |
|
Contract Start Date |
contractStartDate_t |
Date | Contract Start Date |
ContractStartDate |
|
Current Document Currency Preference |
_system_current_document_currency_pref |
Text | Currency |
CurrencyCode |
|
Current Process Name |
_system_process_name |
Text | CPQ Process Name |
ExternalProcessName |
|
Current Unique Buy-Side ID |
_system_buyside_id |
Text | Reference Number |
ExternalReferenceNumber |
|
Customer ID |
_transaction_customer_id |
Text | Customer ID |
SoldCustomerPartyId |
|
Opportunity ID |
opportunityID_t |
Text | Opportunity ID |
OptyId |
|
Opportunity Win/Loss Status |
oRCL_SFA_Status_t |
Text | Win Status |
WinStatusCode |
|
Owner |
owner_t |
Text | Owner |
Owner |
|
Partner Transaction ID |
oRCL_SFA_TransactionID_t |
Text | ID |
OrderHeaderId |
|
Price Expiration Date |
priceExpirationDate_t |
Date | Valid To Date |
ExpirationDate |
|
Proposal Exists |
proposalExists_t |
Boolean | Proposal |
ProposalExistFlag |
|
Renewal Process |
renewalProcess_t |
Menu | Renewal Process |
RenewalProcess |
|
Revenue Category |
_revenueCategory_t |
Menu | Quote Type Category |
QuoteTypeCategory |
|
Status |
status_t |
Text | Status |
Status |
|
Supplier's Company Name |
_system_supplier_company_name |
Text | External Host Name |
ExternalHostName |
|
Total (Net) |
totalOneTimeNetAmount_t |
Currency | Total Nonrecurring Revenue |
TotalNonRecurringRevenue |
|
Total (Net) Per Month |
totalMonthlyNetAmount_t |
Currency | Total Monthly Recurring Revenue |
TotalMonthlyRecurringRevenue |
|
Total Contract Value (Net) |
totalContractValue_t |
Currency | Total Contract Value |
OrderTotal |
|
Total MUR (Net) |
totalMonthlyUsageRev_t |
Currency | Total Monthly Usage Revenue |
TotalMonthlyUsageRevenue |
|
Total Recurring Revenue (Net) |
totalRecurRevenue_t |
Currency | Total Recurring Revenue |
TotalRecurringRevenue |
|
Total Usage Revenue (Net) |
totalUsageRevenue_t |
Currency | Total Usage Revenue |
TotalUsageRevenue |
|
Transaction Name |
transactionName_t |
Text | Name |
Name |
|
Transaction Number |
transactionID_t |
Text | Quote ID |
ExternalQuoteNumber |
|
Transaction Source System |
transactionSourceSystem_t |
Text | Reference Code |
ExternalSystemReferenceCode |
|
Version Number |
version_number_versionTransaction_t |
Text | Version |
VersionNumber |
Response Mapping
CPQ Attribute | Mapping | Oracle Sales Attribute | |||
---|---|---|---|---|---|
Name | Variable Name | Type | Display Name | Display Name | |
Partner Transaction ID |
oRCL_SFA_TransactionID_t |
Text | ID |
OrderHeaderId |
REST Line Sync Complete - REST Export
CPQ Attribute | Mapping | Oracle Sales Attribute | |||
---|---|---|---|---|---|
Name | Variable Name | Type | Display Name | Variable Name | |
Current Date |
_system_date |
Date |
|
Last Synchronized |
LastOptySyncDate |
Partner Transaction ID |
oRCL_SFA_TransactionID_t |
Text |
|
ID |
OrderHeaderId |
Response Mapping
None defined
REST Import Revenue Lines - REST Import
Note: The model_name
attribute only retains the Oracle Sales mapping at the time of import. Once configuration and quoting take place it may be overwritten with the Oracle CPQ product information.
Notes
Notes
- A Commerce REST – Export Lines Integration for Oracle Sales must be created prior to editing attribute mapping.
-
If the Attribute Mapping UI is open when new Commerce attributes are added, the Attribute Mapping UI has to be refreshed to show the new attributes.
-
Administrators should note that Oracle Sales Integer attributes with long values may not work as expected when mapped to Oracle CPQ Integer attributes. The integrations may not set the Oracle Sales attribute value to the Oracle CPQ attribute and the Import or Export integration could potentially fail.
To be more specific, Oracle CPQ Integer attributes only accept values in the -2147483648 to 2147483647 range.
Refer to Commerce Integrations for more information about Commerce REST integration.
Related Topics
Refer to the following documents for more information focused on Oracle Sales to Oracle CPQ integration implementation.
-
How do I get started with the Revenue Transformation Solution? Oracle Sales Playbook