In this Document

Goal
  Solution
  References

APPLIES TO:

Oracle Advanced Pricing - Version 11.5.10 and later

Information in this document applies to any platform.

GOAL

This note describes how the QP_PREQ_PUB.PRICE_REQUEST API can be called to obtain the Price of an item.

SOLUTION

The following is an example of how the QP_PREQ_PUB.PRICE_REQUEST API can be called to obtain the Price of an item

Examples described in this note will use the following attributes - this has been tested using data set up in a Vision instance. You will need to change data as appropriate to your environment.

NB - is important to ensure that the pricing phase on the modifier line matches the pricing event used when calling the API.

For example if the pricing phase on the modifier is -- All Line Adjustments then to apply the modifier -- p_control_rec.pricing_event :='BATCH'; or alternatively change the pricing phase to -- List Line adjustments (note that setting the phase to the value
will cause the pricing engine to update the price whenever the order line is changed and may have an impact on performance).

Pricing Attributes

1. Item priced is Inventory Item ID - 307627

Qualifier Attributes

1. Price List is Price List ID - 54824

2. Customer is Customer ID - 16071

A Modifier has been created where:

1. The Modifier is qualified at Header Level by the Customer ID - 16071

2. The Line on the modifier is qualified by pricing attribute - Inventory Item is 307627

Price List

1. For Testing purposes I have not included the Inventory Item ID -- 307627 on the price list - 54824

2. The Price List does however include an ALL_ITEMS value which sets the price to 1.23

When Calling the PRICE_REQUEST API, I have passed the following values.

1. ALL_ITEMS pricing attribute which will be used to return a price from the price list if the item has not been included on the price list. This will only return a price if the Price List has a value for ALL_ITEMS.

line_attr_rec.LINE_INDEX    := 1;

line_attr_rec.PRICING_CONTEXT    :='ITEM'; 

line_attr_rec.PRICING_ATTRIBUTE   :='PRICING_ATTRIBUTE3';

line_attr_rec.PRICING_ATTR_VALUE_FROM   :='ALL';

line_attr_rec.VALIDATED_FLAG    :='N';

p_line_attr_tbl(1)    := line_attr_rec;

2. The Inventory Item to be priced

line_attr_rec.LINE_INDEX    := 1;

line_attr_rec.PRICING_CONTEXT    :='ITEM'; 

line_attr_rec.PRICING_ATTRIBUTE   :='PRICING_ATTRIBUTE1';

line_attr_rec.PRICING_ATTR_VALUE_FROM   :='307627';                  -- INVENTORY ITEM ID

line_attr_rec.VALIDATED_FLAG    :='N';

p_line_attr_tbl(2)    := line_attr_rec;

---- Qualifier Attribute Record

3. The Price List used to price the item

qual_rec.LINE_INDEX     := 1; 

qual_rec.QUALIFIER_CONTEXT    :='MODLIST';

qual_rec.QUALIFIER_ATTRIBUTE    :='QUALIFIER_ATTRIBUTE4';

qual_rec.QUALIFIER_ATTR_VALUE_FROM   :='54824';                     -- PRICE LIST ID

qual_rec.COMPARISON_OPERATOR_CODE   := '=';

qual_rec.VALIDATED_FLAG    :='Y';

p_qual_tbl(1)     := qual_rec;

4. Customer Qualifier will be used to determine (in this test) which modifier is to be used.

qual_rec.LINE_INDEX     := 1;

qual_rec.QUALIFIER_CONTEXT    :='CUSTOMER';

qual_rec.QUALIFIER_ATTRIBUTE    :='QUALIFIER_ATTRIBUTE2';

qual_rec.QUALIFIER_ATTR_VALUE_FROM   := 16071 ;   -- CUSTOMER ID;

qual_rec.COMPARISON_OPERATOR_CODE   := '=';

qual_rec.VALIDATED_FLAG    :='Y';

p_qual_tbl(2)     := qual_rec;

The following Script will create a procedure called XX_TEST_PRICE_REQUEST ---  PRICE_REQUEST_API_EXAMPLE.sql

Do the following to run the script from a SQL*Plus session

SQL> Set Serveroutput on size 100000

SQL> Exec XX_TEST_PRICE_REQUEST

This should then return output similar to:

File : /usr/tmp/l5027518.dbg

Return Status text Routine: QP_PREQ_PUB.PRICE_REQUEST SUCCESS

Return Status  S

+---------Information Returned to Caller---------------------+

-------------Request Line Information-------------------

Line Index: 1

Unit_price: 1.23

Percent price:

Adjusted Unit Price: .615

Pricing status code: UPDATED

Pricing status text:

-----------Pricing Attributes Information-------------

Line detail Index 3

Context ITEM

Attribute PRICING_ATTRIBUTE1

Value 307627

Status Code

---------------------------------------------------

Line detail Index 2

Context ITEM

Attribute PRICING_ATTRIBUTE3

Value ALL

Status Code

---------------------------------------------------

-----------Qualifier Attributes Information-------------

Line Detail Index 3

Context CUSTOMER

Attribute QUALIFIER_ATTRIBUTE2

Value 16071

Status Code N

---------------------------------------------------

------------Price List/Discount Information------------

Line Index: 1

Line Detail Index: 2

Line Detail Type:NULL

List Header Id: 54824

List Line Id: 189859

List Line Type Code: PLL

Adjustment Amount : 1.23

Line Quantity :

Operand Calculation Code: UNIT_PRICE

Operand value: 1.23

Automatic Flag: Y

Override Flag:

status_code: N

status text: INSERTED IN L_LIST_CUR

-------------------------------------------

Line Index: 1

Line Detail Index: 3

Line Detail Type:NULL

List Header Id: 191260

List Line Id: 221749

List Line Type Code: DIS

Adjustment Amount : -.615

Line Quantity :

Operand Calculation Code: %

Operand value: 50

Automatic Flag: Y

Override Flag: N

status_code: N

status text: PRODUCT_QUALIFIER_ONLY

-------------------------------------------

--------------Related Lines Information for Price Breaks/Service

Items---------------

PL/SQL procedure successfully completed.

The Important Elements shown here are:

1. /usr/tmp/l5027518.dbg     --  additional debug information is located
in this file

The following information is shown in the debug file:

2. Request Line Information     --  Shows the price returned by the API

3. Pricing Attributes Information --  Shows Pricing Attributes used to determine the price -- Note only the attributes used will be shown

4. Qualifier Attributes Information --  Shows Qualifier Attributes used to determine the price -- Note only the attributes used will be shown

5. Price List/Discount Information --  Shows the price list chosen as well as the modifiers which have been used to price the item.

The following file is a LIST_LINE_DETAIL diagnostics report for the modifier (list line id - 221749). This shows the modifier details including pricing and qualifier attributes.

Modifier_definition

Note: 163913.1 - Debugging Advanced Pricing Modifier and Price List Lines (qp_list_line_detail.sql)

An alternative method of obtaining this report is to run -- Diagnostics: List Line Details -- concurrent process from a Pricing Manager Responsibility.

Additional reference: Note 412545.1 - Pricing Engine: How to simulate the Price Order Function using an API

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:412545.1 - How to Simulate the Price Order or Price Line Function using API QP_PREQ_PUB.PRICE_REQUEST Includes Example Scripts



NOTE:1448751.1 - Qp_preq_pub.Price_request Is Not Showing a Discount Defined at Group of Lines Level

NOTE:163913.1 - Diagnostic Report for Advanced Pricing Modifier and Price List Lines (qp_list_line_detail.sql)

文档详细信息

 

 
  类型:
  状态:
  上次主更新:
  上次更新:
 
  HOWTO
  PUBLISHED
  2014-11-4
  2014-11-4

     
 

相关产品

 
Oracle Advanced Pricing
     

 
 

附件

   
 

HOW to Use QP_PREQ_PUB.PRICE_REQUEST API to Price an Item的更多相关文章

  1. Sample Code for Qp_preq_pub.Price_request Api to Simulate an Ask for Promotion Modifier

    DECLARE p_line_tbl QP_PREQ_GRP.LINE_TBL_TYPE; p_qual_tbl QP_PREQ_GRP.QUAL_TBL_TYPE; p_line_attr_tbl ...

  2. How to Simulate the Price Order or Price Line Function using API QP_PREQ_PUB.PRICE_REQUEST Includes

    How to Simulate the Price Order or Price Line Function using API QP_PREQ_PUB.PRICE_REQUEST Includes ...

  3. How to Create Modifiers Using the API QP_MODIFIERS_PUB.PROCESS_MODIFIERS

    In this Document Goal   Solution   Example Scripts   Steps to verify the creation of modifier(s).   ...

  4. 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

    http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...

  5. (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成

    摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...

  6. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session

    原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session chsakell分享了前端使用AngularJS,后端使用ASP.NE ...

  7. 【netcore基础】.NET Core使用EPPlus实现MVC API里的Excel导出功能 配置中文表头

    EPPlus 用来操作excel非常方便,不用依赖微软的office包,所以推荐使用. 下面是具体步骤和代码 首先用nuget安装 EPPlus.Core 我装的版本是 1.5.4 然后就可以用 Ex ...

  8. 使用 ASP.NET Core MVC 创建 Web API(六)

    使用 ASP.NET Core MVC 创建 Web API 使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使 ...

  9. ebay API属性

    Ebay Trading API整理 纠纷相关 AddDispute:创建一个未支付纠纷 或 取消 a single line item order AddDisputeResponse:回复/关闭d ...

随机推荐

  1. Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52503057 前言:前面一篇分析了medi ...

  2. GitHub无法访问或访问缓慢解决办法

    缘由 由于众所周知的原因,Github最近无法访问或访问很慢.由于Github支持https,因此此次屏蔽Github采用的方法是dns污染,用户访问github会返回一个错误的IPFQ当然是一种解决 ...

  3. Building System之 get_abs_build_var() && get_build_var()

    点击打开链接 1.get_abs_build_var() 和 get_build_var()的实现都在build/envsetup.sh中. 2.在buld目录下grep这两个函数可知:这两个函数只在 ...

  4. x264源代码简单分析:概述

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  5. Dynamics CRM2016 New features in Microsoft Dynamics CRM Online 2015 Update 1 are now available

    很多人看过Dynamics CRM Online 2015 Update 1后,被它新的一个界面风格所吸引,还有它的很多新增功能,虽然官网放出了些补丁,但最重要的Server补丁一直没出,包括我在内很 ...

  6. iOS下JS与OC互相调用(三)--MessageHandler

    使用WKWebView的时候,如果想要实现JS调用OC方法,除了拦截URL之外,还有一种简单的方式.那就是利用WKWebView的新特性MessageHandler来实现JS调用原生方法. Messa ...

  7. FFmpeg示例程序合集-批量编译脚本

    此前做了一系列有关FFmpeg的示例程序,组成了<最简单的FFmpeg示例程序合集>,其中包含了如下项目:simplest ffmpeg player:                   ...

  8. java实现异步调用实例

    在JAVA平台,实现异步调用的角色有如下三个角色: 调用者 取货凭证   真实数据 一个调用者在调用耗时操作,不能立即返回数据时,先返回一个取货凭证.然后在过一断时间后凭取货凭证来获取真正的数据.  ...

  9. java 单元测试教程(junit)

    单元测试概念:最小化测试  比如说你想测试某个类中的一个方法 优点:无须启动整个程序 clipse使用junit教程: (一)配置jar: 1.右键工程选择Build Path 在二级菜单选择 Add ...

  10. Xcode中Groups和Folder的区别

    以前一直没有在意这个问题,今天"中奖"了 ;( 在Xcode文件夹视图中会发现2种颜色的文件夹图标:黄色和蓝色. 黄色表示组(groups),蓝色表示文件夹(folder). 组只 ...