Consider Runtime Behavior When You Modify Rules or Service Mappings
Improve application performance. Refresh pricing data to reduce the number of times required to initialize objects and to minimize round trips to the database.
Here's the data you can refresh.
Data |
Description |
---|---|
Pricing Rule |
Pricing queries rules and entities to calculate the price of an item, such as shipping charges, discounts, margin, and taxes. Here are the objects that you can refresh in your pricing rules.
Here's some more data you can refresh.
Starting in update 19C, Pricing doesn't come predefined to refresh pricing rules. The Oracle Application will include changes you make to a pricing rule as soon as you make it. Example applications include Order Management, Supply Chain Financial Orchestration, Subscription Management, and so on. |
Pricing Algorithm |
Refresh algorithm metadata to avoid reading and parsing it more than one time from the database. |
Service Mapping |
Refresh your service mappings to optimize performance. |
What Happens When I Modify Pricing Rules
Consider an example.
-
User 1 and User 2 are each an Order Entry Specialist who use the Order Management work area.
-
The Administrator is a Pricing Administrator who uses the Pricing Administration work area.
Behavior Without Refresh
Assume the Pricing Administrator set up the Standard Desktop with a unit price of $300.
Step |
Description |
Unit Price with Refresh Enabled |
Unit Price with Refresh Disabled |
---|---|---|---|
1 |
User 1 adds the Standard Desktop to an order line. |
$300 |
$300 |
2 |
User 2 adds the Standard Desktop to an order line. |
$300 |
$300 |
3 |
Administrator updates the price for the Standard Desktop to $399. |
Not applicable |
Not applicable |
4 |
User 1 signs out, signs in, creates a new sales order, and then adds Standard Desktop to an order line. |
$300 |
$399 |
5 |
User 2 signs out, signs in, creates a new sales order, and then adds Standard Desktop to an order line. |
$300 |
$399 |
Behavior With Refresh
Assume you set up the Standard Desktop with a unit price of $300, data refreshes every 60 minutes, and the Order Management users wait 60 minutes before signing back in.
Step |
Description |
Unit Price with Refresh Enabled |
Unit Price with Refresh Disabled |
---|---|---|---|
1 |
User 1 adds the Standard Desktop to an order line. |
$300 |
$300 |
2 |
User 2 adds the Standard Desktop to an order line. |
$300 |
$300 |
3 |
Administrator updates the price for the Standard Desktop to $399. |
Not applicable |
Not applicable |
4 |
User 1 signs out, waits 60 minutes, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
$399 |
$399 |
5 |
User 2 signs out, waits 60 minutes, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
$399 |
$399 |
Behavior With Two Charges, Without Refresh
Assume you set up the Standard Desktop with charge 1 of $300, and charge 2 of $200.
Step |
Description |
Unit Price with Refresh Enabled |
Unit Price with Refresh Disabled |
---|---|---|---|
1 |
User 1 adds the Standard Desktop to an order line. |
charge 1 equals $300 |
charge 1 equals $300 |
2 |
User 2 adds the Standard Desktop to an order line. |
charge 1 equals $300 |
charge 1 equals $300 |
3 |
Administrator adds charge 2 of $200 to the Standard Desktop. |
Not applicable |
Not applicable |
4 |
User 1 signs out, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
charge 1 equals $300 |
charge 1 equals $300 charge 2 equals $200 |
5 |
User 2 signs out, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
charge 1 equals $300 |
charge 1 equals $300 charge 2 equals $200 |
Behavior With Two Charges, With Refresh
Assume you set up the Standard Desktop with charge 1 of $300 and charge 2 of $200. Assume data refreshes every 60 minutes, and the Order Management users wait 60 minutes before signing back in.
Step |
Description |
Unit Price with Refresh Enabled |
Unit Price with Refresh Disabled |
---|---|---|---|
1 |
User 1 adds the Standard Desktop to an order line. |
charge 1 equals $300 |
charge 1 equals $300 |
2 |
User 2 adds the Standard Desktop to an order line. |
charge 1 equals $300 |
charge 1 equals $300 |
3 |
Administrator adds charge 2 to the Standard Desktop equal to $200 |
Not applicable |
Not applicable |
4 |
User 1 signs out, waits 60 minutes, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
charge 1 equals $300 charge 2 equals $200 |
charge 1 equals $300 charge 2 equals $200 |
5 |
User 2 signs out, waits 60 minutes, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
charge 1 equals $300 charge 2 equals $200 |
charge 1 equals $300 charge 2 equals $200 |
Behavior With Price Adjustment, Without Refresh
Assume you set up the Standard Desktop with a unit price of $300 and a $20 markup.
Step |
Description |
Unit Price with Refresh |
Unit Price without Refresh |
---|---|---|---|
1 |
User 1 adds the Standard Desktop to an order line. |
$300 |
$300 |
2 |
User 2 adds the Standard Desktop to an order line. |
$300 |
$300 |
3 |
Administrator creates an adjustment matrix that adds a $20 markup on the Standard Desktop. |
Not applicable |
Not applicable |
4 |
User 1 signs out, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
$300 |
$320 |
5 |
User 2 signs out, signs in, creates a new sales order, and adds Standard Desktop to an order line. |
$300 |
$320 |
What Happens When Pricing Algorithms Change at Runtime
Pricing uses your runtime session to refresh each pricing algorithm.
-
Pricing loads the pricing algorithm the first time it gets the algorithm when it prices a transaction, then reads the algorithm from the session during each subsequent price request.
-
Pricing continues to use the session data until you sign out of the session.
-
Pricing doesn't refresh the data until you sign back into the application.
Consider an example.
-
User 1, User 2, and User 3 are each an Order Entry Specialist who use the Order Management work area.
-
Administrator is a Pricing Administrator who uses the Pricing Administration work area.
-
The administrator creates an pricing algorithm named Calculate My Shipping Charges, creates version 1 for the algorithm, then publishes it.
-
User 1 signs into Order Management, creates a sales order, then adds the Standard Desktop to an order line.
-
Order Management sends a request to Pricing to price the order line.
-
Pricing looks for Calculate My Shipping Charges in the session data but doesn't find it because this is the first request in this session.
-
Pricing gets Calculate My Shipping Charges from the database and loads it into the session data.
-
User 2 signs into Order Management, creates a sales order, then adds the Standard Desktop to an order line.
-
Order Management sends a request to Pricing to price the order line.
-
Pricing looks for Calculate My Shipping Charges in the session data, finds it, and uses it to price the order line.
Assume the administrator modifies the Calculate My Shipping Charges pricing algorithm, creates version 2 of it, then publishes it.
-
User 1, who hasn't signed out of Order Management, creates a new sales order, then adds the Standard Desktop to an order line.
-
Order Management sends a request to Pricing to price the order line for User 1.
-
Pricing looks for Calculate My Shipping Charges in the session data, finds version 1, and uses it to price the order line for User 1.
-
User 2 signs out of and signs into Order Management, creates a sales order, and adds the Standard Desktop to an order line.
-
Order Management sends a request to Pricing to price the order line for User 2.
-
The administrator published version 2, so Pricing looks for version 2 of Calculate My Shipping Charges in the session data but doesn't find it. So, Pricing loads version 2 into the session data, then uses version 2 to price the order line for User 2.
-
User 3 signs into Order Management, creates a sales order, and adds the Standard Desktop to an order line.
-
Order Management sends a request to Pricing to price the order line for User 3.
-
Pricing looks for version 2 of Calculate My Shipping Charges in the session data, finds it, and uses it to price the order line for User 3.
What Happens When I Modify Service Mappings
Pricing publishes each service mapping to session data in Oracle Metadata Service. If you don't modify any service mappings, then Pricing reads the service mapping from the data in Oracle Metadata Service when it prices your item.
Here's what Pricing does if you modify a service mapping.
-
Gets the service mapping that you modified.
-
Creates the schema for the mapping you modified.
-
Publishes the schema to the data in Oracle Metadata Service.
-
Reads the mapping from the data in Oracle Metadata Service to price your item.
For details, go to Oracle Middleware Understanding Oracle Application Development Framework, then see the Oracle Metadata Services chapter.