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.

  • Price list

  • Cost list

  • Shipping charge list

  • Discount list

  • Pricing strategy

  • Pricing segment

  • Customer pricing profile

  • Return price list

  • Pricing strategy assignment

  • Currency conversion list

  • Matrix rule

Here's some more data you can refresh.

  • Configurations in the Setup and Maintenance Work Area

  • Pricing setup data

  • Matrix classes

  • Item attributes

  • Customer attributes

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.

  1. The administrator creates an pricing algorithm named Calculate My Shipping Charges, creates version 1 for the algorithm, then publishes it.

  2. User 1 signs into Order Management, creates a sales order, then adds the Standard Desktop to an order line.

  3. Order Management sends a request to Pricing to price the order line.

  4. 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.

  5. Pricing gets Calculate My Shipping Charges from the database and loads it into the session data.

  6. User 2 signs into Order Management, creates a sales order, then adds the Standard Desktop to an order line.

  7. Order Management sends a request to Pricing to price the order line.

  8. 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.

  1. User 1, who hasn't signed out of Order Management, creates a new sales order, then adds the Standard Desktop to an order line.

  2. Order Management sends a request to Pricing to price the order line for User 1.

  3. 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.

  4. User 2 signs out of and signs into Order Management, creates a sales order, and adds the Standard Desktop to an order line.

  5. Order Management sends a request to Pricing to price the order line for User 2.

  6. 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.

  7. User 3 signs into Order Management, creates a sales order, and adds the Standard Desktop to an order line.

  8. Order Management sends a request to Pricing to price the order line for User 3.

  9. 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.

  1. Gets the service mapping that you modified.

  2. Creates the schema for the mapping you modified.

  3. Publishes the schema to the data in Oracle Metadata Service.

  4. 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.