DBA Data[Home] [Help]

PACKAGE: APPS.QP_CALCULATE_PRICE_PUB

Source


1 PACKAGE QP_Calculate_Price_PUB AS
2 /* $Header: QPXPCLPS.pls 120.3.12010000.1 2008/07/28 11:54:55 appldev 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 
52  TYPE l_related_request_line_rec IS RECORD (
53   LINE_DETAIL_INDEX           NUMBER, -- Parent Line Index
54   CHILD_LINE_DETAIL_INDEX           NUMBER, -- Child Line Detail Index
55   RELATED_LIST_LINE_TYPE      VARCHAR2(30),
56   VALUE_FROM                  NUMBER,
57   VALUE_TO                    NUMBER,
58   PRICING_GROUP_SEQUENCE      NUMBER,
59   OPERAND_CALCULATION_CODE    VARCHAR2(30),
60   OPERAND_VALUE               NUMBER,
61   ACCRUAL_FLAG                VARCHAR2(1),
62   RECURRING_VALUE             NUMBER, -- block pricing
63   LINE_QTY                    NUMBER,
64   ADJUSTMENT_AMOUNT           NUMBER,  --adjustment amount
65   PRICE_BREAK_TYPE_CODE       VARCHAR2(30)); -- Point or Range
66 
67  TYPE l_request_line_details_tbl IS TABLE OF l_request_line_detail_rec
68   INDEX BY BINARY_INTEGER;
69 
70  TYPE l_related_request_lines_tbl IS TABLE OF l_related_request_line_rec
71   INDEX BY BINARY_INTEGER;
72 
73   /*  PROCEDURE Calculate_Price
74    (p_request_line                  l_request_line_rec,
75     p_request_line_details          l_request_line_details_tbl,
76     p_related_request_lines         l_related_request_lines_tbl,
77     x_request_line            OUT NOCOPY   l_request_line_rec,
78     x_request_line_details    OUT NOCOPY   l_request_line_details_tbl,
79     x_related_request_lines   OUT NOCOPY   l_related_request_lines_tbl,
80     x_return_status		     OUT NOCOPY	VARCHAR2,
81     x_return_status_txt		OUT NOCOPY	VARCHAR2);  */
82 
83    PROCEDURE Calculate_Price
84    (p_request_line            IN OUT NOCOPY      l_request_line_rec,
85     p_request_line_details    IN OUT NOCOPY      l_request_line_details_tbl,
86     p_related_request_lines   IN OUT NOCOPY      l_related_request_lines_tbl,
87     x_return_status		 OUT NOCOPY	         VARCHAR2,
88     x_return_status_txt		 OUT NOCOPY	         VARCHAR2);
89 
90     -- overloaded 2388011_latest
91     PROCEDURE Price_Break_Calculation(p_list_line_id NUMBER,
92                                   p_break_type   VARCHAR2,
93                                   p_line_index   NUMBER,
94                                   p_req_value_per_unit  NUMBER, -- Item qty,group qty,group value
95                                   p_applied_req_value_per_unit  NUMBER, -- [julin/4112395]
96                                   p_total_value  NUMBER, -- Total value (Group amount or item amount)
97                                   p_list_price   NUMBER,
98                                   p_line_quantity NUMBER, -- Acutal quantity on order line
99                                   p_bucketed_adjustment  NUMBER,
100                                   p_bucketed_flag     VARCHAR2,
101                                   p_automatic_flag VARCHAR2, -- 5328123
102                                   x_adjustment_amount OUT NOCOPY NUMBER,
103                                   x_return_status OUT NOCOPY VARCHAR2,
104                                   x_return_status_text OUT NOCOPY VARCHAR2);
105 
106 
107    PROCEDURE Price_Break_Calculation(p_list_line_id NUMBER,
108                                      p_break_type   VARCHAR2,
109                                      p_line_index   NUMBER,
110                                      p_request_qty  NUMBER,
111                                      p_list_price   NUMBER,
112                                      x_adjustment_amount OUT NOCOPY NUMBER,
113                                      x_return_status OUT NOCOPY VARCHAR2,
114                                      x_return_status_text OUT NOCOPY VARCHAR2);
115 
116   PROCEDURE Calculate_Adjustment(p_price                  NUMBER
117                               ,p_operand_calculation_code VARCHAR2
118                               ,p_operand_value            NUMBER
119                               ,p_priced_quantity          NUMBER
120                               ,x_calc_adjustment    OUT NOCOPY   NUMBER
121                               ,x_return_status      OUT NOCOPY   VARCHAR2
122                               ,x_return_status_text OUT NOCOPY   VARCHAR2);
123 
124 PROCEDURE Get_Satisfied_Range(p_value_from  NUMBER,
125                               p_value_to    NUMBER,
126                               p_qualifier_value NUMBER,
127                               p_list_line_id NUMBER := null, -- for accum range break
128                               p_continuous_flag VARCHAR := 'N', -- 4061138, continuous price break
129                               p_prorated_flag   VARCHAR := 'N', -- 4061138
130                               x_satisfied_value OUT NOCOPY NUMBER);
131 
132 PROCEDURE Calculate_List_Price (p_operand_calc_code        VARCHAR2,
133                                 p_operand_value            NUMBER,
134                                 p_request_qty              NUMBER,
135                                 p_rltd_item_price          NUMBER,
136                                 p_service_duration         NUMBER,
137                                 p_rounding_flag            VARCHAR2,
138                                 p_rounding_factor          NUMBER,
139                                 x_list_price         OUT NOCOPY   NUMBER,
140                                 x_percent_price      OUT NOCOPY   NUMBER,
141                                 x_return_status      OUT NOCOPY   VARCHAR2,
142                                 x_return_status_txt  OUT NOCOPY   VARCHAR2);
143 
144 
145 END QP_Calculate_Price_PUB;