In this Document
| Example Scripts to Simulate Price Order |
| qp_manual_adjustments.sql |
| qp_override_selling_price.sql |
| The setup involves passing information to the pricing engine using the following: |
| Control Record Information: |
| Request/Order Line Information: |
| Qualifiers and Pricing Attributes Information: |
| Available Options To Update the Order Upon Repricing |
APPLIES TO:
Oracle Advanced Pricing - Version 11.5.10 and later
Oracle Order Management - Version 11.5.10.0 and later
Information in this document applies to any platform.
PURPOSE
This note is intended to show how the Price Order or Price Line action may be simulated using an API call. This API call will not result in an update to the order.
SCOPE
The intended audience is for those with technical knowledge of Oracle Applications Code, the usage of public APIs, and those familiar with creating custom solutions for unique business requirements.
This is only a sample code and should be used to develop one‘s own code to meet business needs. Due to the fact this is customized code, it is the Customer‘s responsibility to thoroughly test and to maintain their code. Oracle support may not be able to assist with these scripts, hence if one is implementing a custom solution and requires assistance, please contact Oracle Consulting.
DETAILS
Example Scripts to Simulate Price Order
The following scripts are used in the examples for the Price Request Application Program Interface.
These scripts help one set up data and make a call to the pricing engine to return the price and any related discounts.
The scripts are located in the following area: $QP_TOP/patch/115/sql.
Please note then if one upgrades to a new release of Oracle Applications one would need to acquire a new copy of the scripts (same directory) as these scripts may have changes as provided by Oracle Development to work within the new application version. Therefore if one used an example script to develop ones own script, for example, on Oracle Applications 11.5.10.2 and then upgraded to Oracle Applications 12.1.1, one would need to review the detailed example scripts for any changes needed. These are only example scripts intended to assist with writing of the code needed to call the API. It is the customers responsibility to thoroughly test and provide final coding needed to achieve desired results to meet individual business needs.
Each script will contain a file version.
For example, on Release 12.1.1 for example script in file qp_engine_testing.sql shows file version 120.0
REM/* $Header: qp_engine_testing.sql 120.0 2005/06/02 01:05:15 appldev noship $ */
wheres the same script qp_engine_testing.sql on Release 11.5.10.2 shows file version 115.3
REM/* $Header: qp_engine_testing.sql 115.3 2002/05/17 18:43:30 pkm ship $ */
qp_engine_testing.sql
(All regular Price Lists, Discounts , Surcharges etc.)
qp_test_service.sql
(Service Item Pricing Setup)
qp_test_oid.sql
(Other Item Discount Setup)
qp_direct_insert.sql
(Direct insertion into temporary tables to improve performance)
qp_manual_adjustments.sql
(Apply manual adjustments)
qp_override_selling_price.sql
(Override the unit selling price)
Note: Examples provided are from March 2014 from Oracle Applications R12.
The setup involves passing information to the pricing engine using the following:
Control Record Information:
The Control Record has parameters which control the behavior of the pricing engine. Please refer to the example scripts above for more details.
Request/Order Line Information:
Request Line has information that contains the elements in the calling application that require a base and adjusted price. It may equate to a transaction line or transaction header record in the calling application. Refer to qp_engine_testing.sql for information on setting up the request line data. LINE_REC_TYPE is the record structure that needs to be completed when passing information related to a request line.
Qualifiers and Pricing Attributes Information:
One must pass qualifiers and pricing attributes information that are needed by the pricing engine to determine the applicable price list lines and modifier list lines. One may wish to reference "Frequently Asked Questions (FAQ) for Pricing Attributes Using Pricing APIs Such as Limitations, Request Type, How to Build Context When Using QP_PREQ_PUB.PRICE_REQUEST" (Doc ID 1094603.1).
Additional Resources:
- For release 12 refer to the Oracle Order Management Open Interfaces, API, & Electronic Messaging Guide
- For 11.5.10: Order Management - Open Interfaces, API, & Electronic Messaging Guide, B14446-01
Available through Note 91798.1 Order Management Product Documentation
- Note 759804.1 - HOW to Use QP_PREQ_PUB.PRICE_REQUEST API to Price an Item
- Note 1094603.1 - How to Build Context for Pricing Attributes When Using QP_PREQ_PUB.PRICE_REQUEST
- Note 1393917.2 - Information Center: Oracle Advanced Pricing, While on the Overview tab, click on the "Resources" link.
This is where one will find documents on APIs that complement the Oracle Order Management Open Interfaces, API, & Electronic Messaging Guide.
Scroll down and one will find a whole section dedicated to the price request API.
Available Options To Update the Order Upon Repricing
- One could choose to use the Process Order API (OE_Order_Pub.Process_order).
Refer to Note 1265721.1 - Process Order API - How To Scripts and/or
Note 1072272.1 - Can One Use oe_order_pub.process_order API to Create an Order Line With a Selling Price Different Than the List Price?
- In addition, Oracle does provide a seeded Workflow Reprice activity that can be inserted anywhere in the line Workflow, the limitation of this approach is that it only contains a line level activity for repricing. If used, repricing each line is necessary and there is no possibility for a header level reprice.
- Attribute changes on the order line can trigger the pricing engine to reprice the line.
For a current list of these attributes, refer to Note 578902.1 What Sales Order Attributes Triggers Repricing in the Sales order Form? Note that a drawback of this approach is that changing some of these fields may also trigger defaulting rules and add some performance overhead.
Still Have Questions?
To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Advanced Pricing Community.
REFERENCES
NOTE:759804.1 - HOW to Use QP_PREQ_PUB.PRICE_REQUEST API to Price an Item
NOTE:1393917.2 - Information Center: Oracle Advanced Pricing
NOTE:91798.1 - Order Management Product Documentation
NOTE:1265721.1 - Process Order API - How To Scripts
NOTE:1448751.1 - Qp_preq_pub.Price_request Is Not Showing a Discount Defined at Group of Lines Level
NOTE:578902.1 - What Sales Order Attributes Triggers Repricing in the Sales order Form?
NOTE:1072272.1 - Can One Use oe_order_pub.process_order API to Create an Order Line With a Selling Price Different Than the List Price?
NOTE:1094603.1 - FAQ for Pricing Attributes Using Pricing APIs Such as Limitations, Request Type, How to Build Context When Using QP_PREQ_PUB.PRICE_REQUEST