Events and Phases

This chapter covers the following topics:

Overview of Events and Phases

Pricing events and phases enable you to configure Oracle Advanced Pricing so that transaction pricing occurs when it is required by the application process flow. Pricing events and phases also enable you to define which pricing data is considered for application to a request at the pricing point in your transaction process flow. You can separate the pricing of your transaction, rather than pricing a whole transaction at once. Events and phases allow for the implementation of the following types of pricing business rules:

What Are Pricing Events?

A pricing event is a point in the transaction life cycle when you want to price the transaction (or certain transaction lines), or when you want to apply price adjustments, benefits, or charges to the whole transaction or specific transaction lines.

Note: The calling application must pass the events. The pricing engine searches the set of data belonging to the phases for the events that are passed. Multiple events can be concatenated in a single pricing engine call.

The following table outlines the action for each of the seeded events in Oracle Advanced Pricing:

Event Code Meaning Function Which Calls the Pricing Engine
BATCH Batch Processing Order is imported.
BOOK Book Order Order is booked.
FTE_APPLY_MOD FTE: Apply Modifiers to Price This event is used only by the Oracle Transportation Execution application to price transactions.
FTE_PRICE_LINE FTE: Price a Transportation Line This event is used only by the Oracle Transportation Execution application to price transactions.
ICBATCH INV: Batch Processing for Intercompany Transfer Pricing This event is used only by the Oracle Inventory application to price transactions.
LINE Enter Order Line User exits the order line.
ORDER Save Order Line User saves order.
PO_BATCH PO Batch Processing Note: If you include the freight charge phases or some custom phases in the PO: BATCH event, the freight charges will not impact the unit selling price on the purchase order, but will not compute the freight charges on the purchase order.
PRICE Fetch List Price User enters item quantity and unit of measure.
PRICE_LOAD Price a Logistics Load This event is used to price a logistics load.
REPRICE_LINE Reprice line Order is shipped, prior to invoice.
RETROBILL Retrobill Event occurs during retrobilling.
SHIP Enter Shipments Order is ship confirmed.

Note: The Price a Logistics Load event is only used by the Oracle Transportation Execution application for pricing their transactions.

What Are Pricing Phases?

A pricing phase controls which list types (prices and modifiers) are considered by the search engine and the sequence in which they are applied to a pricing request. The attributes of a pricing phase enable you to control which modifiers are placed in a phase. When you assign a modifier to a pricing phase, the Modifier Setup window matches the attributes of the modifier with the attributes of the available pricing phases to validate which pricing phase or phases a modifier can be placed in. A modifier can be assigned only to one phase.

The following table summarizes selected seeded pricing phases in Oracle Advanced Pricing (you can review all the event phases in the Event Phases window):

Phase Sequence Name Level List Type Incompatibility Resolve Code Freeze Override
0 List Line Base Price Line Standard Price List Precedence NA1
10 List Line Adjustment Line NA Best Price NA
30 All Lines Adjustment NA NA Best Price NA
40 Header Levels Adjustments Order NA Precedence NA
50 Line Charges Line Freight and Special charge List Precedence Yes
60 Line Charges - Manual Line Freight and Special charge List Precedence Yes
70 Charges: Header/All lines NA Freight and Special charge List Precedence Yes
80 Modifiers for BOOK Event NA NA Precedence NA

Note: 1NA = Not applicable

Assigning Pricing Phases

Key Implementation Decision: What phases and events meet my business requirements?

Pricing events and phases help you exercise control over what pricing actions are taken and when they occur. Pricing events separate the order cycle into points that are associated with pricing actions, for example, the PRICE event (Fetch List Price) and LINE event (Enter Order Line). When setting up a modifier line such as a discount or promotions modifier line, you can select a pricing phase to control when the modifier adjustment is applied. When the pricing event occurs, the modifier adjustment is applied.

You can map a pricing event to several pricing phases, and each pricing phase can have one or more pricing events. This helps to define which pricing phases are to be processed and in which pricing event.

Note: Do not add any modifier phase to the pricing event. Do not assign Group of Lines and Other Item Discount modifier phase to a line level event; the pricing engine may not have all the necessary order lines. If you add any phase to line or order events, those phases must be added to the batch event.

When assigning a pricing phase to a modifier line, remember to:

Warning: You cannot set up a Promotional Goods (PRG) type of modifier in the User Freeze Override phase.

Event Phases window

the picture is described in the document text

The following list describes the fields in the Event Phases window:

Seeded and User regions

These two regions differentiate the seeded values from the user-entered values. In the User section, you can update the Freeze Override check box and Incompatibility Resolve Code.

Event Phases region

Price List Search Based on Search Flag (Extended Search)

The pricing engine first tries to find the price from a price list after doing all the qualifications that are necessary to qualify for this passed price list. If the price is not found, the pricing engine attempts to get the price from a secondary price list (if present).

If the price is not found on the secondary list, the pricing engine searches for the price across all available price lists and tries to give the price from a price list with highest precedence. For the pricing engine to do this extended search across all price lists in the system, the Search Flag on the pricing phase under ALL the Pricing Events (which include the pricing phase sequence = 0) needs to be consistently set to Yes. You can do this by setting the User Search Flag to Yes.

Example

Step 1: The pricing engine searches for the price from the Corporate price list. If the price is not found, the pricing engine tries to find a price from all the secondary price lists from the Corporate price list. If the price is still not found, the pricing engine completes Step 2.

Step 2: If your business requires that the pricing engine searches across all the price lists in the system, set the User Search Flag to Yes on all the pricing phases in all pricing events.