DBA Data[Home] [Help]

PACKAGE: APPS.QP_CALCULATE_PRICE_PUB

Source


1 PACKAGE QP_Calculate_Price_PUB AUTHID CURRENT_USER AS
2 /* $Header: QPXPCLPS.pls 120.4 2010/12/23 11:03:17 kdurgasi ship $ */
3 
4 -- begin shu, new rounding
5 G_CHAR_Q                      		CONSTANT VARCHAR2(30):='Q'; -- look at QP_SELLING_PRICE_ROUNDING_OPTIONS
6 G_CHAR_U                      		CONSTANT VARCHAR2(30):='U'; -- not round list_price, not round adjs, round selling price
7 
8 G_NO_ROUND		                CONSTANT VARCHAR2(30):='NO_ROUND'; -- selling_price = un_round list_price + un_round adjs
9 G_NO_ROUND_ADJ		                CONSTANT VARCHAR2(30):='NO_ROUND_ADJ'; -- selling_price = round(list_price)+ round (adjs calculated by rounded list_price)
10 G_ROUND_ADJ		                CONSTANT VARCHAR2(30):='ROUND_ADJ'; -- selling price = round(unrounded list_price + adjs calculated by unrounded list_price)
11 -- end shu, new rounding
12 
13  TYPE l_request_line_rec IS RECORD (
14   LINE_INDEX                 NUMBER,
15   PRICING_EFFECTIVE_DATE     DATE,
16   SOURCE_SYSTEM_CODE         VARCHAR2(30),
17   LINE_QUANTITY              NUMBER,
18   QUALIFIER_VALUE            NUMBER,
19   UNIT_PRICE                 NUMBER,
20   PARENT_PRICE               NUMBER, -- Applicable for service items
21   PERCENT_PRICE              NUMBER,
22   SERVICE_DURATION           NUMBER,
23   RELATED_ITEM_PRICE         NUMBER,
24   ADJUSTED_UNIT_PRICE        NUMBER,
25   GSA_QUALIFIER_FLAG         VARCHAR2(1),
26   GSA_ENABLED_FLAG           VARCHAR2(1),
27   ROUNDING_FACTOR            NUMBER,
28   ROUNDING_FLAG              VARCHAR2(1),
29   EXTENDED_PRICE             NUMBER); -- block pricing
30 
31  TYPE l_request_line_detail_rec IS RECORD (
32   LINE_DETAIL_INDEX           NUMBER,
33   CREATED_FROM_LIST_LINE_ID   NUMBER,
34   CREATED_FROM_LIST_HEADER_ID NUMBER,
35   CREATED_FROM_LIST_LINE_TYPE VARCHAR2(30),
36   CREATED_FROM_LIST_TYPE      VARCHAR2(30), -- PriceList Break/Discount Break
37   PRICING_GROUP_SEQUENCE      NUMBER,
38   OPERAND_CALCULATION_CODE    VARCHAR2(30),
39   OPERAND_VALUE               NUMBER,
40   ACCRUAL_FLAG                VARCHAR2(1),
41   AUTOMATIC_FLAG              VARCHAR2(1),
42   ACCRUAL_CONVERSION_RATE     NUMBER,
43   ESTIM_ACCRUAL_RATE          NUMBER,
44   BENEFIT_QTY                 NUMBER,
45   QUALIFIER_VALUE			NUMBER,
46   PRICE_BREAK_TYPE_CODE       VARCHAR2(30), -- Recurring
47   LINE_QUANTITY			NUMBER,
48   MODIFIER_LEVEL_CODE         VARCHAR2(30),-- 2388011, grp_pbh_amt
49   BUCKETED_FLAG               VARCHAR2(1), -- IT, bucket, 2388011
50   ADJUSTMENT_AMOUNT           NUMBER,
51   ROUNDING_FACTOR            NUMBER);                 --10093463
52 
53  TYPE l_related_request_line_rec IS RECORD (
54   LINE_DETAIL_INDEX           NUMBER, -- Parent Line Index
55   CHILD_LINE_DETAIL_INDEX           NUMBER, -- Child Line Detail Index
56   RELATED_LIST_LINE_TYPE      VARCHAR2(30),
57   VALUE_FROM                  NUMBER,
58   VALUE_TO                    NUMBER,
59   PRICING_GROUP_SEQUENCE      NUMBER,
60   OPERAND_CALCULATION_CODE    VARCHAR2(30),
61   OPERAND_VALUE               NUMBER,
62   ACCRUAL_FLAG                VARCHAR2(1),
63   RECURRING_VALUE             NUMBER, -- block pricing
64   LINE_QTY                    NUMBER,
65   ADJUSTMENT_AMOUNT           NUMBER,  --adjustment amount
66   PRICE_BREAK_TYPE_CODE       VARCHAR2(30)); -- Point or Range
67 
68  TYPE l_request_line_details_tbl IS TABLE OF l_request_line_detail_rec
69   INDEX BY BINARY_INTEGER;
70 
71  TYPE l_related_request_lines_tbl IS TABLE OF l_related_request_line_rec
72   INDEX BY BINARY_INTEGER;
73 
74   /*  PROCEDURE Calculate_Price
75    (p_request_line                  l_request_line_rec,
76     p_request_line_details          l_request_line_details_tbl,
77     p_related_request_lines         l_related_request_lines_tbl,
78     x_request_line            OUT NOCOPY   l_request_line_rec,
79     x_request_line_details    OUT NOCOPY   l_request_line_details_tbl,
80     x_related_request_lines   OUT NOCOPY   l_related_request_lines_tbl,
81     x_return_status		     OUT NOCOPY	VARCHAR2,
82     x_return_status_txt		OUT NOCOPY	VARCHAR2);  */
83 
84    PROCEDURE Calculate_Price
85    (p_request_line            IN OUT NOCOPY      l_request_line_rec,
86     p_request_line_details    IN OUT NOCOPY      l_request_line_details_tbl,
87     p_related_request_lines   IN OUT NOCOPY      l_related_request_lines_tbl,
88     x_return_status		 OUT NOCOPY	         VARCHAR2,
89     x_return_status_txt		 OUT NOCOPY	         VARCHAR2);
90 
91     -- overloaded 2388011_latest
92     PROCEDURE Price_Break_Calculation(p_list_line_id NUMBER,
93                                   p_break_type   VARCHAR2,
94                                   p_line_index   NUMBER,
95                                   p_req_value_per_unit  NUMBER, -- Item qty,group qty,group value
96                                   p_applied_req_value_per_unit  NUMBER, -- [julin/4112395]
97                                   p_total_value  NUMBER, -- Total value (Group amount or item amount)
98                                   p_list_price   NUMBER,
99                                   p_line_quantity NUMBER, -- Acutal quantity on order line
100                                   p_bucketed_adjustment  NUMBER,
101                                   p_bucketed_flag     VARCHAR2,
102                                   p_automatic_flag VARCHAR2, -- 5328123
103                                   x_adjustment_amount OUT NOCOPY NUMBER,
104                                   x_return_status OUT NOCOPY VARCHAR2,
105                                   x_return_status_text OUT NOCOPY VARCHAR2);
106 
107 
108    PROCEDURE Price_Break_Calculation(p_list_line_id NUMBER,
109                                      p_break_type   VARCHAR2,
110                                      p_line_index   NUMBER,
111                                      p_request_qty  NUMBER,
112                                      p_list_price   NUMBER,
113                                      x_adjustment_amount OUT NOCOPY NUMBER,
114                                      x_return_status OUT NOCOPY VARCHAR2,
115                                      x_return_status_text OUT NOCOPY VARCHAR2);
116 
117   PROCEDURE Calculate_Adjustment(p_price                  NUMBER
118                               ,p_operand_calculation_code VARCHAR2
119                               ,p_operand_value            NUMBER
120                               ,p_priced_quantity          NUMBER
121                               ,x_calc_adjustment    OUT NOCOPY   NUMBER
122                               ,x_return_status      OUT NOCOPY   VARCHAR2
123                               ,x_return_status_text OUT NOCOPY   VARCHAR2);
124 
125 PROCEDURE Get_Satisfied_Range(p_value_from  NUMBER,
126                               p_value_to    NUMBER,
127                               p_qualifier_value NUMBER,
128                               p_list_line_id NUMBER := null, -- for accum range break
129                               p_continuous_flag VARCHAR := 'N', -- 4061138, continuous price break
130                               p_prorated_flag   VARCHAR := 'N', -- 4061138
131                               x_satisfied_value OUT NOCOPY NUMBER);
132 
133 PROCEDURE Calculate_List_Price (p_operand_calc_code        VARCHAR2,
134                                 p_operand_value            NUMBER,
135                                 p_request_qty              NUMBER,
136                                 p_rltd_item_price          NUMBER,
137                                 p_service_duration         NUMBER,
138                                 p_rounding_flag            VARCHAR2,
139                                 p_rounding_factor          NUMBER,
140                                 x_list_price         OUT NOCOPY   NUMBER,
141                                 x_percent_price      OUT NOCOPY   NUMBER,
142                                 x_return_status      OUT NOCOPY   VARCHAR2,
143                                 x_return_status_txt  OUT NOCOPY   VARCHAR2);
144 
145 
146 END QP_Calculate_Price_PUB;