Choices That You Can Select in Pricing Matrixes
Use the Domain of the pricing matrix class to specify where to get the values that the pricing matrix displays as choices for each attribute in the matrix.
Consider an example. The Revenue Potential attribute of the Pricing Segment matrix class references the ORA_QP_REV_POTENTIAL_VALUES lookup.
Oracle Pricing gets values from the lookup when you use the Manage Pricing Segments page, then displays them as choices in the Revenue Potential attribute of the segment.
Specify Where to Get Values
Use the domain type to specify where to get the values.
Use This Domain Type |
To Get the Value From |
---|---|
Lookup |
A lookup that you specify on the Manage Pricing Lookups page. For example, to get values for approval status, select CSD_APPROVAL_STATUS. |
Item Extensible Attribute |
An attribute that you specify on the Manage Item Attribute Groups and Attributes page in the Product Information Management work area. For details, see Use Your Own Attributes in Pricing. |
Value Set | A set of values. The set of values can be Independent, Dependent, Subset, or Table. |
View Object Query |
An object that Pricing displays in the Pricing Administration work area. |
Custom |
Your set up in the Edit Column Domain Values dialog. Allows you to use your own values. |
None |
Text that you enter when you use the pricing matrix in the Pricing Administration work area. |
View Object Query
View Object Query requires a more complex set up. Here are the attributes that you set.
Attribute |
Description |
---|---|
Domain Type |
Select View Object Query. |
Application Module |
Select the part of Pricing that displays the object that contains the value. For example, if the value:
Pay careful attention to the dot notated string. Make sure you select the string for the correct application. For example:
where
Here's another example.
where
|
Configuration |
If Application Module doesn't display the value that you need, then enter it in the Configuration attribute. The dialog filters values that you can enter in Configuration according to the value you set for Application Module. To determine the values that are available, enter a percent symbol ( % ) in the Configuration attribute. For example, set Application Module to MatrixDomainAM enter % in Configuration, wait a moment, then click MatrixDomainAMLocal. In most situations, use MatrixDomainAMLocal when you set up a matrix class. |
View Object |
Select the view object that displays the value. For example, to get the value from an object that's part of the pricing strategy, select PricingStrategyPVO. PricingStrategyPVO displays objects that are part of these pages.
For another example, select CustomerPVO. Use CustomerPVO to get attributes that describe the customer, such as PartyId, PartyName, and so on. |
Key Attribute |
Select the attribute that identifies the object that the result column must use. For example, select OrgId to get the value from the Business Unit attribute of the pricing strategy. |
Display Attribute |
Select the attribute that contains the value that the matrix must display. |
View Criteria |
As an option, set the view criteria to filter the data. |
Data Type |
Set the data type so it supports the attribute that you select in Key Attribute. For example, if you set Key Attribute to:
|
View Object Bind Variables |
Add a join condition to filter the result. |
Add a Join Condition
Use View Object Bind Variables to add a join condition. For example, assume you reference a view that displays these rows.
Row |
Attribute X |
Attribute Y |
---|---|---|
1 |
V1 |
R1 |
2 |
V2 |
R2 |
3 |
V3 |
R3 |
You can define this condition.
-
If attribute y equals R1 and R2, then display only rows 1 and 2 in the Pricing Administration work area, such as on a price list.
What's a Public View Object?
A view object is a type of database query. It describes how Pricing views and updates data in the Oracle database.
A public view object is a type of view object that an application outside of Pricing, such as Order Management, uses to communicate with Pricing. Its public, which means the data that it gets from the database isn't private and only visible to Pricing.
For example, assume you developed a new product with a very large revenue potential, the Heart Wrist Watch that monitors heart rhythms. You need to use it as input to Revenue Potential on your pricing matrix. If the order line contains the wrist watch, then you need to set Revenue Potential to Very High.
Notes
-
An application module is a like a briefcase that you can open to access the Oracle database. PricingProcessAM (Pricing Process Application Module) is an example of an application module.
-
Use the view object to query the Oracle database.
-
In the Condition Columns area of the pricing matrix, In the Domain column, click the pencil, then set the Domain Type to View Object Query.
-
Use the dialog to specify how to use view object to query the Oracle database.
-
Here are the settings that you use for this example.
Attribute
Value
Domain Type
View Object Query
Application Module
PricingProcessAM (oracle.apps.scm.doo.common.pricingIntegration.ApplicationModule.PricingProcessAM)
Configuration
PricingProcessAMShared
View Object
Line
The order line contains the item, so select Line.
Key Attribute
InventoryItemId
InventoryItemId identifies the item that the order line contains.
Display Attribute
InventoryItemId
View Criteria
Leave empty.
Data Type
Number
InventoryItemId is a number data type.
View Object Bind Variables
Leave empty.
Value Set
Get values for an attribute on a pricing matrix according to a value set. Use the Domain Type attribute in a pricing matrix or matrix class to specify the value set.
- Use values from a value set in a matrix rule to adjust pricing according to an attribute on a price list or discount list.
- Use values from a value set to determine the pricing segment or pricing strategy assignment.
- Use the Value Set domain type in the condition column of a pricing matrix or for a matrix class so you can use values from a value set as part of the condition.
You can also use it when you manage your pricing rules through:
- REST API. Manage price lists, discount lists, pricing
segments, or pricing strategy assignments.
For details and examples, go to REST API for Oracle Supply Chain Management Cloud, then expand Order Management > Document Prices.
- File-based data import. Import and update a batch of price lists or a discount list.
- ADF Desktop Integration. Manage a price list or discount list in a spreadsheet.
Make sure you set up the value set before you use it in your matrix.
Example One
Assume you want to use a value set named My Value Set.
- Go to the Setup and Maintenance work area, click Tasks, then search for and open the Manage Value Sets task.
- On the Manage Value Sets page, click Actions > Create, then
set the values.
Attribute Value Value Set Code QP_MY_VALUE_SET
Module Pricing
Use the advanced search on this attribute. Search for Contains Pricing, then select the result that has APPLICATION for the Module Type and QP for the Module Key.
Validation Type You must use one of these:
- Independent
- dependent
- Subset
- Table
If you select Table, then make sure you set the:
- Value Column Length attribute to a value that's less than 401
- ID Column Length attribute to a value that's less than 101
Value Data Type You must use one of these:
- Character
- Number
Example Two
Assume you have an object named AK_LEGAL_ENTITY, its Value Data Type is Character but the ID Column and the ID Column Type for AK_LEGAL_ENTITY is Number. In the condition for your matrix class you need to use AK_LEGAL_ENTITY as a Number data type, not a Character data type.
Here's how you do that. Create a value set with these values:
Attribute | Value |
---|---|
Value Set Code | AK_LEGAL_ENTITY |
Module | Oracle Middleware Extensions for Applications |
Validation Type | Table |
Value Data Type | Character |
FROM Clause | HR_LEGAL_ENTITIES |
Value Column Name | NAME |
Value Column Type | VARCHAR2 |
Value Column Length | 50 |
ID Column Name | ORGANIZATION_ID |
ID Column Type | NUMBER |
ID Column Length | 40 |
More Examples
Have a look at some other detailed examples that set the domain.