[Home] [Help]
PACKAGE: APPS.OKS_QP_PKG
Source
1 PACKAGE OKS_QP_PKG AUTHID CURRENT_USER AS
2 /* $Header: OKSRAQPS.pls 120.3 2010/06/08 04:35:00 cgopinee ship $ */
3
4 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
5 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
6 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
7 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
8 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
9 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKS_UNEXPECTED_ERROR';
10 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
11 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_CODE';
12 G_UPPERCASE_REQUIRED CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UPPERCASE_REQD';
13 G_QP_ENGINE_ERROR CONSTANT VARCHAR2(200) := 'OKS_QP_ENGINE_API_ERROR';
14
15
16 ------------------------------------------------------------------------------------
17
18 -- GLOBAL EXCEPTION
19
20 ---------------------------------------------------------------------------
21
22 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
23 G_BUILD_RECORD_FAILED EXCEPTION;
24 G_REQUIRED_ATTR_FAILED EXCEPTION;
25 G_CALL_QP_FAILED EXCEPTION;
26
27 -- Global constant holding the package name
28
29 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OKS_QP_PKG';
30 G_APP_NAME CONSTANT VARCHAR2(3) := 'OKS';
31
32
33 G_LIST_CONTEXT CONSTANT VARCHAR2(30) := 'MODLIST';
34 G_LIST_PRICE_ATTR CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE4';
35 G_LIST_MODIFIER_ATTR CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE6';
36
37 G_ITEM_CONTEXT CONSTANT VARCHAR2(30) := 'ITEM';
38 G_ITEM_ATTR CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE1';
39
40 G_VOLUME_CONTEXT CONSTANT VARCHAR2(30) := 'VOLUME';
41 G_VOLUME_ATTR CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE1';
42
43 G_REQUEST_TYPE_CODE CONSTANT VARCHAR2(30) := 'ASO';
44 --G_PRICING_EVENT CONSTANT VARCHAR2(30) := 'PRICE';
45 --9/25 Changed to
46 G_PRICING_EVENT CONSTANT VARCHAR2(30) := 'LINE';
47
48 G_LINE_TYPE CONSTANT VARCHAR2(30) := 'SERVICE CONTRACT LINE';
49 G_CONTROL_REC QP_PREQ_GRP.CONTROL_RECORD_TYPE;
50
51
52 G_JTF_Party CONSTANT VARCHAR2(30) := 'OKX_PARTY';
53 G_JTF_Covlvl CONSTANT VARCHAR2(30) := 'OKX_COVSYST';
54 G_JTF_Custacct CONSTANT VARCHAR2(30) := 'OKX_CUSTACCT';
55 G_JTF_CusProd CONSTANT VARCHAR2(40) := 'OKX_CUSTPROD';
56
57 --G_JTF_Sysitem CONSTANT VARCHAR2(30) := 'X_
58 G_JTF_Billto CONSTANT VARCHAR2(30) := 'OKX_BILLTO';
59 G_JTF_Shipto CONSTANT VARCHAR2(30) := 'OKX_SHIPTO';
60 G_JTF_Warr CONSTANT VARCHAR2(30) := 'OKX_WARRANTY';
61 G_JTF_Extwar CONSTANT VARCHAR2(30) := 'OKX_SERVICE';
62
63
64 G_JTF_usage CONSTANT VARCHAR2(30) := 'OKX_USAGE';
65 G_JTF_service CONSTANT VARCHAR2(30) := 'OKX_SERVICE';
66
67 G_JTF_Invrule CONSTANT VARCHAR2(30) := 'OKX_INVRULE';
68 G_JTF_Acctrule CONSTANT VARCHAR2(30) := 'OKX_ACCTRULE';
69 G_JTF_Payterm CONSTANT VARCHAR2(30) := 'OKX_PPAYTERM';
70 G_JTF_Price CONSTANT VARCHAR2(30) := 'OKX_PRICE';
71
72 TYPE G_PRICE_BREAK_REC_TYPE IS RECORD
73 (
74 quantity_from NUMBER,
75 quantity_to NUMBER,
76 list_price NUMBER,
77 break_method VARCHAR2(10),
78 break_uom_code VARCHAR2(3), /* Proration*/
79 break_uom_context VARCHAR2(30), /* Proration*/
80 break_uom_attribute VARCHAR2(30), /* Proration*/
81 unit_price NUMBER,
82 quantity NUMBER,
83 Amount NUMBER
84 );
85
86 TYPE G_PRICE_BREAK_TBL_TYPE is TABLE OF G_PRICE_BREAK_REC_TYPE INDEX BY BINARY_INTEGER;
87
88
89 TYPE PRICE_DETAILS IS RECORD
90 (
91 PROD_QTY NUMBER,
92 PROD_QTY_UOM VARCHAR2(30),
93 SERV_QTY NUMBER,
94 SERV_QTY_UOM VARCHAR2(30),
95 PROD_PRICE_LIST_ID VARCHAR2(40),
96 SERV_PRICE_LIST_ID VARCHAR2(40),
97 PROD_PRICE_LIST_LINE_ID VARCHAR2(40),
98 SERV_PRICE_LIST_LINE_ID VARCHAR2(40),
99 PROD_LIST_UNIT_PRICE NUMBER,
100 SERV_LIST_UNIT_PRICE NUMBER,
101 PROD_ADJ_UNIT_PRICE NUMBER,
102 SERV_ADJ_UNIT_PRICE NUMBER,
103 PROD_PRICED_QTY NUMBER,
104 PROD_PRICED_UOM VARCHAR2(30),
105 PROD_EXT_AMOUNT NUMBER,
106 SERV_PRICED_QTY NUMBER,
107 SERV_PRICED_UOM VARCHAR2(30),
108 SERV_EXT_AMOUNT NUMBER,
109 SERV_OPERAND VARCHAR2(240),
110 SERV_OPERATOR VARCHAR2(240),
111 STATUS_CODE VARCHAR2(30),
112 STATUS_TEXT VARCHAR2(2000)
113 );
114
115 TYPE Input_details IS RECORD
116 (
117 price_list Number,
118 price_list_line_id Number,
119 chr_id Number,
120 line_id Number,
121 subline_id Number,
122 intent Varchar2(200),
123 currency Varchar2(200),
124 bcl_id Number,
125 bsl_id Number,
126 usage_qty Number,
127 usage_uom_code Varchar2(200),
128 break_uom_code Varchar2(200),
129 proration_yn Varchar2(200),
130 bill_from_date Date,
131 bill_to_date Date,
132 asking_unit_price Number
133 );
134
135 -- PROCEDURES
136
137 PROCEDURE CALC_PRICE
138 (
139 p_detail_rec IN Input_details,
140 x_price_details OUT NOCOPY Price_Details,
141 x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
142 x_price_break_details OUT NOCOPY g_price_break_tbl_type,
143 x_return_status OUT NOCOPY Varchar2,
144 x_msg_count OUT NOCOPY Number,
145 x_msg_data OUT NOCOPY Varchar2
146 );
147
148 Procedure Delete_locked_pricebreaks(
149 p_api_version IN NUMBER,
150 p_list_line_id IN NUMBER,
151 p_init_msg_list IN VARCHAR2,
152 x_return_status IN OUT NOCOPY VARCHAR2,
153 x_msg_count IN OUT NOCOPY NUMBER,
154 x_msg_data IN OUT NOCOPY VARCHAR2);
155
156
157 /*skuchima For Repricing in bulk mode Bug: 7539977 */
158 PROCEDURE calc_price_pre (
159 p_detail_rec IN input_details,
160 l_control_rec OUT NOCOPY qp_preq_grp.control_record_type,
161 l_req_line_tbl OUT NOCOPY qp_preq_grp.line_tbl_type,
162 l_req_qual_tbl OUT NOCOPY qp_preq_grp.qual_tbl_type,
163 l_req_line_attr_tbl OUT NOCOPY qp_preq_grp.line_attr_tbl_type,
164 l_req_line_detail_tbl OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
165 l_req_line_detail_qual_tbl OUT NOCOPY qp_preq_grp.line_detail_qual_tbl_type,
166 l_req_line_detail_attr_tbl OUT NOCOPY qp_preq_grp.line_detail_attr_tbl_type,
167 l_req_related_lines_tbl OUT NOCOPY qp_preq_grp.related_lines_tbl_type,
168 x_return_status OUT NOCOPY VARCHAR2
169 ) ;
170
171 /*skuchima For Repricing in bulk mode Bug: 7539977 */
172 PROCEDURE calc_price_post(
173 p_detail_rec IN input_details,
174 lx_req_line_tbl IN qp_preq_grp.line_tbl_type,
175 lx_req_qual_tbl IN qp_preq_grp.qual_tbl_type,
176 lx_req_line_attr_tbl IN qp_preq_grp.line_attr_tbl_type,
177 lx_req_line_detail_tbl IN qp_preq_grp.line_detail_tbl_type,
178 lx_req_line_detail_qual_tbl IN qp_preq_grp.line_detail_qual_tbl_type,
179 lx_req_line_detail_attr_tbl IN qp_preq_grp.line_detail_attr_tbl_type,
180 lx_req_related_lines_tbl IN qp_preq_grp.related_lines_tbl_type,
181 x_price_details OUT NOCOPY price_details,
182 x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
183 x_price_break_details OUT NOCOPY g_price_break_tbl_type,
184 x_return_status OUT NOCOPY VARCHAR2,
185 x_msg_count OUT NOCOPY NUMBER,
186 x_msg_data OUT NOCOPY VARCHAR2
187 );
188
189 END;