Featuring The Flexibility of Advance Pricing

Author: Amit Jain

I hereby declare that this document is based on my personal experiences. To the best of my knowledge, this document does not contain any material that infringes the copyrights of any other individual or organization including the customers of Cognizant.

Target Readers
Advanced Pricing Modifiers Pricing Formula

Advanced Pricing Modifiers Pricing Formula


In the article below, I have demonstrated the powerful features enshrined in Advance Pricing Module using simplified Business Cases. The Dynamics of Product Pricing widely Page 1 of 13

characterizes today's Marketing strategies where the companies fight for the market space based on the price tags. Providentially, Oracle provides flexibility to the business to setup Deals, Promotions, Discounts through the power of Advance Pricing Module.
Case A demonstrated

In the article I have mapped the requirement as stipulated below. A) There is a Static Product Pricelist defined for Item# 1GC1-4029. We shall be using the Price List for the aforesaid Item only if the Customer PO Number is "TEST". This is a fabricated business scenario B) Business wants to dish out 50% discount on the aforesaid item for a period of only 30 days to attract more customers. C) If the Payment Terms on Order Booked is "30 Days" and if the Customer has placed order for less than 15 times in the year, then we offer just 10% discount on the Item Unit Selling Price. I have solutioned the business case mentioned above by the wherewith of following components:1) Qualifier Group 2) Price List 3) Pricing Formula 4) Modifier 5) QP_CUSTOM package
Solution What are Qualifier Groups and how to Setup: Oracle Advanced Pricing lets define qualifiers to determine eligibility rules governing who can receive a particular price, discount, promotion, or benefit. Qualifiers and qualifier groups can then be linked to Oracle price lists and modifiers. Oracle provides seeded qualifier contexts and attributes. Qualifier values for these predefined attributes are sourced from the Oracle Application database whenever applicable.

The screen prints below depicts setting up 2 Qualifier Groups (TEST_092712 and TEST_092712_PayTerms respectively) for mapping the requirement stated in the earlier section. As per the Qualifier Group TEST_092712 any Sales order which has Purchase Order Number "TEST" qualifies for the condition.

Page 2 of 13

Fig 0 While creating the Qualifier Group TEST_092712_PayTerms we will see the significance of Grouping Numbers. When entering the same numeric value for multiple qualifiers within a group, this creates an AND condition. When entering different numeric values for multiple qualifiers within a group in the Grouping No. field, this creates an OR condition. As per the Qualifier Group TEST_092712_PayTerms any Sales order which has Purchase Order Number "TEST" And Payment Terms as 30 Days qualifies for the condition.

Page 3 of 13

Fig 1

Fig 2 Run the "Build Attribute Mapping Rules" Concurrent Program What is Pricing Formula and how to Setup Pre-requisite Set the profile option ‘QP: Get Custom Price Customized’ to ‘Yes’. If the profile is set to ‘Yes’, then the pricing engine would execute this function if it is attached to a formula. Formulas consist of mathematical expressions that the pricing engine evaluates to calculate the list prices of items and discounts applied to them. Formulas can be linked to a price list line or modifier line. You can use formulas to: ■ Create a price from a computation as an alternative to entering prices in a price list. ■ Calculate a price adjustment. For example, you can instruct the pricing engine

Page 4 of 13

to calculate a discount by attaching a formula to a discount line. ■ Set up and maintain formulas based on component types. When you attach a formula to a price list line, you typically do not enter a price for that line because the pricing engine uses the formula to calculate the final list price of the product or service. You can choose one of following methods to determine how a formula calculates the price: ■ Dynamic calculation: The list price resulting from the formula calculation is not calculated or stored anywhere until the sales order is entered with that Price List line item. When the sales order is entered, the pricing engine evaluates the formula and displays the final list price on the order. ■ Static calculation: If the formula is attached to a price list line for static calculation of the final list price, you can run a concurrent program at any time to calculate the final list price using the formula up front (not wait until order entry time) and also store it in the price list. A formula can contain any of the following: ■ Parentheses: for example, (and) ■ Mathematical operators: for example, +, -, /, and * ■ Built-in functions: for example, NVL, SQRT, and MOD ■ Operands: Operands are step numbers about which you provide more detail. You can use as many step numbers as you need, up to the limit of the field. You can repeat a step number in a formula, for example, 1+2*2. The Formula XXAT_PAY_TERMS will check how many times in a year, the Customer has placed the order. If it is less than 15 times then, the customer will be extended only 10% Discount on the Unit Selling price of the Item .

Page 5 of 13

Fig 3 Go To Tools Build Formula Package Add the following lines of code in QP_CUSTOM.get_custom_price Package Body to chip in the logic for checking the number of orders placed by the client and then offering 10% Discount
ELSIF (x_formula_name = 'XXAT_PAY_TERMS') THEN BEGIN SELECT sold_to_org_id INTO l_party_id FROM oe_order_lines_all WHERE line_id = oe_order_pub.g_line.line_id; --Get the Party ID SELECT COUNT (1) INTO i FROM oe_order_headers_all WHERE sold_to_org_id = l_party_id; IF i > 15 --Checking Number of Orders placed by the cutomer THEN x_retval := 10; --10% Discount ELSE x_retval := 0; END IF; Return x_retval; EXCEPTION WHEN OTHERS THEN x_retval := NULL; Return x_retval; END;

Page 6 of 13

Setup Price List The Price list shown below is going to contain the Price for the Item# 1GC1-4029. The Price is qualified only if the PO Number on the Sales Order is TEST. The Unit List Price as shown below on the Price List is 10US$

Fig 4 Hit the Line Qualifiers Button

Fig 4 What are Modifiers and How to Setup Modifiers enable to set up price adjustments (for example, discounts and surcharges), benefits (for example, free goods, coupons) and freight and special charges that the pricing engine applies immediately to pricing requests or accrues for later disbursement. Using modifiers, we can: ■ Set up a modifier list with multiple modifier lines. ■ Create eligibility rules for modifiers by assigning list and line level qualifiers. ■ Define modifiers that are incompatible with other modifiers. ■ Create exclusive modifiers. ■ Create cascading modifiers. ■ Accrue monetary and non-monetary benefits. ■ Create monetary or usage limits

Page 7 of 13

The Modifier TEST_092712 illustrated below has 2 Lines. Line#1(Modifier# 29138257) : This extends a 50% Discount to the Customers if the Customer PO Number is TEST and the Payment Terms is not 30 Days. The condition stated is applied by attaching the Qualifier TEST_092712 (shown in Fig 0) to Line#1. Line#2 (Modifier# 29138374): This extends a 10% Discount to the Customers if the Customer PO Number is TEST ; the Customer has placed order for more than 15 times in the past and if the Payment Terms is 30 DaysThe condition stated is applied by attaching the Qualifier TEST_092712_TestPay (Shown in Fig 2) to Line#2.

Fig 5 Qualifiers Of Line#1

Page 8 of 13

Fig 6 Qualifiers of Line#2

Fig 7

Now we will see the effect of set ups done above. We will create the Sales Orders as depicted below: We have created Sales Order#3146365

Page 9 of 13

Fig 9

Fig 10 Created the Order Line as shown below. Here, as we can see that the List Price was 10 but the calculated price has come out to be 5. Which means that 50% discount has been offered to the Customer because Page 10 of 13

1) Payment Terms <> 30 Days (Refer Fig 10) 2) Customer PO Number is TEST (Refer Fig 9) 3) Therefore, Line#1 of Modifier TEST_092712 has given 50% Discount to the customer (Refer Fig 5 and 6)

Fig 11 Now we will create another Sales Order same as Order 3146367 but Payment Terms as 30 Days

Page 11 of 13

After the Order is Saved, we can see that the Unit Selling price has calculated to 10$-10% of 10$=9$

Page 12 of 13

References: d Advanced Pricing User Guide  115qpug.pdf

Page 13 of 13

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.