[Home] [Help]
PACKAGE BODY: APPS.ASO_PRICING_CALLBACK_PVT
Source
1 PACKAGE BODY ASO_PRICING_CALLBACK_PVT as
2 /* $Header: asovpclb.pls 120.3.12020000.2 2012/11/19 11:08:22 rassharm ship $ */
3 -- Start of Comments
4 -- Package name : ASO_PRICING_CALLBACK_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_PRICING_CALLBACK_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asovpclb.pls';
13
14
15 PROCEDURE Config_Callback_Pricing_Order(
16 P_Api_Version_Number IN NUMBER,
17 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
18 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
19 p_control_rec IN ASO_PRICING_INT.PRICING_CONTROL_REC_TYPE,
20 p_qte_header_rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
21 p_hd_shipment_rec IN ASO_QUOTE_PUB.Shipment_Rec_Type
22 := ASO_QUOTE_PUB.G_Miss_Shipment_Rec,
23 p_hd_price_attr_tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type
24 := ASO_QUOTE_PUB.G_Miss_Price_Attributes_Tbl,
25 p_qte_line_tbl IN ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
26 p_line_rltship_tbl IN ASO_QUOTE_PUB.Line_Rltship_Tbl_Type
27 := ASO_QUOTE_PUB.G_Miss_Line_Rltship_Tbl,
28 p_qte_line_dtl_tbl IN ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type
29 := ASO_QUOTE_PUB.G_Miss_Qte_Line_Dtl_Tbl,
30 p_ln_shipment_tbl IN ASO_QUOTE_PUB.Shipment_Tbl_Type
31 := ASO_QUOTE_PUB.G_Miss_Shipment_Tbl,
32 p_ln_price_attr_tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type
33 := ASO_QUOTE_PUB.G_Miss_Price_Attributes_Tbl,
34 x_qte_header_rec OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Header_Rec_Type,
35 x_qte_line_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
36 x_qte_line_dtl_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type,
37 x_price_adj_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Tbl_Type,
38 x_price_adj_attr_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type,
39 x_price_adj_rltship_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type,
40 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
41 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
42 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
43 IS
44 l_api_name CONSTANT VARCHAR2(30) := 'Config_Callback_Pricing_Order';
45 l_api_version_number CONSTANT NUMBER := 1.0;
46 l_request_type VARCHAR2(60);
47 l_pricing_event VARCHAR2(30);
48 l_control_rec QP_PREQ_GRP.CONTROL_RECORD_TYPE;
49 l_req_line_tbl QP_PREQ_GRP.LINE_TBL_TYPE;
50 l_Req_qual_tbl QP_PREQ_GRP.QUAL_TBL_TYPE;
51 l_Req_line_attr_tbl QP_PREQ_GRP.LINE_ATTR_TBL_TYPE;
52 l_Req_LINE_DETAIL_tbl QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
53 l_req_LINE_DETAIL_qual_tbl QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE;
54 l_req_LINE_DETAIL_attr_tbl QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE;
55 l_req_related_lines_tbl QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
56 l_req_adj_related_lines_tbl QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
57 l_hd_pricing_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
58 l_hd_qual_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
59 l_pricing_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
60 l_qual_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
61 lx_req_line_tbl QP_PREQ_GRP.LINE_TBL_TYPE;
62 lx_req_qual_tbl QP_PREQ_GRP.QUAL_TBL_TYPE;
63 lx_req_line_attr_tbl QP_PREQ_GRP.LINE_ATTR_TBL_TYPE;
64 lx_req_LINE_DETAIL_tbl QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
65 lx_req_LINE_DETAIL_qual_tbl QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE;
66 lx_req_LINE_DETAIL_attr_tbl QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE;
67 lx_req_related_lines_tbl QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
68 l_qte_line_id NUMBER;
69 l_qte_line_dtl_rec ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type;
70 l_shipment_rec ASO_QUOTE_PUB.Shipment_Rec_Type;
71 l_ln_price_attr_tbl ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
72 l_qte_line_prcd Index_Link_Tbl_Type;
73 l_return_status VARCHAR2(1);
74 lv_return_status VARCHAR2(1);
75 l_return_status_text VARCHAR2(2000);
76 l_message_text VARCHAR2(2000);
77 lx_req_line_rec QP_PREQ_GRP.LINE_REC_TYPE;
78 i BINARY_INTEGER;
79 j BINARY_INTEGER;
80 l_qte_header_rec ASO_QUOTE_PUB.Qte_Header_Rec_Type;
81 l_qte_line_tbl ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
82 l_qte_line_dtl_tbl ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
83 lx_qte_header_rec ASO_QUOTE_PUB.Qte_Header_Rec_Type;
84 l_shipment_tbl ASO_QUOTE_PUB.Shipment_Tbl_Type;
85 l_price_attr_tbl ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
86 lx_qte_line_tbl ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
87 lx_qte_line_dtl_tbl ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
88 lx_price_adj_tbl ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
89 lx_price_adj_attr_tbl ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
90 lx_price_adj_rltship_tbl ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
91 l_qte_line_rec ASO_QUOTE_PUB.Qte_Line_rec_Type;
92 G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
93 G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
94
95 BEGIN
96 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
97 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT: Start of Config_Callback_Pricing_Order.....',1,'Y');
98 END IF;
99 -- Standard Start of API savepoint
100 SAVEPOINT ASO_PRICING_CALLBACK_PVT;
101
102 -- Standard call to check for call compatibility.
103 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
104 p_api_version_number,
105 l_api_name,
106 G_PKG_NAME)
107 THEN
108 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109 END IF;
110
111 -- Initialize message list if p_init_msg_list is set to TRUE.
112 IF FND_API.to_Boolean( p_init_msg_list )
113 THEN
114 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
115 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin FND_API.to_Boolean'||p_init_msg_list, 1, 'Y');
116 END IF;
117 FND_MSG_PUB.initialize;
118 END IF;
119
120 x_return_status := FND_API.G_RET_STS_SUCCESS;
121
122 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
123 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_control_rec.request_type:'||p_control_rec.request_type,1,'N');
124 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_control_rec.pricing_event:'||p_control_rec.pricing_event,1,'N');
125 END IF;
126 l_request_type := p_control_rec.request_type;
127 l_pricing_event := p_control_rec.pricing_event;
128
129 ASO_PRICING_INT.G_HEADER_REC := ASO_PRICING_CORE_PVT.Set_Global_Rec (
130 p_qte_header_rec => p_qte_header_rec,
131 p_shipment_rec => p_hd_shipment_rec);
132
133 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
134 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:QP_ATTR_MAPPING_PUB.Build_Contexts Starts',1,'Y');
135 END IF;
136 QP_ATTR_MAPPING_PUB.Build_Contexts (
137 P_REQUEST_TYPE_CODE => l_request_type,
138 P_PRICING_TYPE => 'H',
139 X_PRICE_CONTEXTS_RESULT_TBL => l_hd_pricing_contexts_tbl,
140 X_QUAL_CONTEXTS_RESULT_TBL => l_hd_qual_contexts_tbl);
141 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
142 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:QP_ATTR_MAPPING_PUB.Build_Contexts Ends',1,'Y');
143 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Copy_Attribs_To_Req Starts',1,'Y');
144 END IF;
145
146 Copy_Attribs_To_Req (
147 p_line_index => 1,
148 p_pricing_contexts_tbl => l_hd_pricing_contexts_tbl,
149 p_qualifier_contexts_tbl => l_hd_qual_contexts_tbl,
150 px_req_line_attr_tbl => l_req_line_attr_tbl,
151 px_req_qual_tbl => l_req_qual_tbl);
152 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
153 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Copy_Attribs_To_Req Ends',1,'Y');
154 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Append_asked_for Starts',1,'Y');
155 END IF;
156
157 Append_asked_for(
158 p_header_id => p_qte_header_rec.quote_header_id
159 ,p_line_index => 1
160 ,px_Req_line_attr_tbl => l_Req_line_attr_tbl
161 ,px_Req_qual_tbl => l_Req_qual_tbl);
162 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
163 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Append_asked_for Ends',1,'Y');
164 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Copy_Header_To_Request Starts',1,'Y');
165 END IF;
166
167 Copy_Header_To_Request(
168 p_Request_Type => l_request_type,
169 p_pricing_event => l_pricing_event,
170 p_header_rec => p_qte_header_rec,
171 px_req_line_tbl => l_Req_line_tbl);
172 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
173 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Copy_Header_To_Request Ends',1,'Y');
174 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_qte_header_rec.quote_header_id:'||p_qte_header_rec.quote_header_id,1,'N');
175 END IF;
176
177 l_qte_line_tbl := p_qte_line_tbl;
178
179 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
180 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT: l_qte_line_tbl.count'|| l_qte_line_tbl.count, 1, 'N');
181 END IF;
182 If l_qte_line_tbl.count > 0 Then
183
184 FOR i IN 1..l_qte_line_tbl.count LOOP/*Main Loop for preparing Lines from Quote in the Price Req Strcture*/
185 l_qte_line_tbl(i).currency_code := p_qte_header_rec.currency_code;
186
187 If (l_qte_line_tbl(i).price_list_id is null
188 OR l_qte_line_tbl(i).price_list_id= FND_API.G_MISS_NUM) Then
189 l_qte_line_tbl(i).price_list_id := p_qte_header_rec.price_list_id;
190 End if;
191
192 l_qte_line_dtl_rec := ASO_QUOTE_PUB.G_Miss_Qte_Line_Dtl_REC ;
193 IF l_qte_line_dtl_tbl.count = 1 THEN
194 l_qte_line_dtl_rec := l_qte_line_dtl_tbl(1);
195 END IF;
196
197 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
198 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin Setting up the G_LINE_REC', 1, 'Y');
199 END IF;
200 ASO_PRICING_INT.G_LINE_REC := ASO_PRICING_CORE_PVT.Set_Global_Rec (
201 p_qte_line_rec => l_qte_line_tbl(i),
202 p_qte_line_dtl_rec => l_qte_line_dtl_rec,
203 p_shipment_rec => l_shipment_rec);
204 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
205 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End Setting up the G_LINE_REC', 1, 'Y');
206 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin Setting up the Build_Contexts', 1, 'Y');
207 END IF;
208 QP_ATTR_MAPPING_PUB.Build_Contexts (
209 P_REQUEST_TYPE_CODE => l_request_type,
210 P_PRICING_TYPE => 'L',
211 X_PRICE_CONTEXTS_RESULT_TBL => l_pricing_contexts_tbl,
212 X_QUAL_CONTEXTS_RESULT_TBL => l_qual_contexts_tbl);
213 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
214 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End Setting up the Build_Contexts', 1, 'Y');
215 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin Setting up the Copy_Attribs_To_Req', 1, 'Y');
216 END IF;
217 Copy_Attribs_To_Req (
218 p_line_index => i+1,
219 p_pricing_contexts_tbl => l_pricing_contexts_tbl,
220 p_qualifier_contexts_tbl => l_qual_contexts_tbl,
221 px_req_line_attr_tbl => l_req_line_attr_tbl,
222 px_req_qual_tbl => l_req_qual_tbl);
223 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
224 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End Setting up the Copy_Attribs_To_Req', 1, 'Y');
225 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin Setting up the Copy_hdr_attr_to_line', 1, 'Y');
226 END IF;
227 Copy_hdr_attr_to_line (
228 p_line_index => i+1,
229 p_pricing_contexts_tbl => l_hd_pricing_contexts_tbl,
230 p_qualifier_contexts_tbl => l_hd_qual_contexts_tbl,
231 px_req_line_attr_tbl => l_req_line_attr_tbl,
232 px_req_qual_tbl => l_req_qual_tbl);
233 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
234 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End Setting up the Copy_hdr_attr_to_line', 1, 'Y');
235 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin Setting up the Append_asked_for', 1, 'Y');
236 END IF;
237 Append_asked_for(
238 p_header_id => p_qte_header_rec.quote_header_id
239 ,p_line_id => l_qte_line_tbl(i).quote_line_id
240 ,p_line_index => i+1
241 ,px_Req_line_attr_tbl => l_Req_line_attr_tbl
242 ,px_Req_qual_tbl => l_Req_qual_tbl);
243 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
244 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End Setting up the Append_asked_for', 1, 'Y');
245 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin Setting up the Copy_Line_To_Request', 1, 'Y');
246 END IF;
247 Copy_Line_To_Request(
248 p_Request_Type => l_request_type,
249 p_pricing_event => l_pricing_event,
250 p_line_rec => l_qte_line_tbl(i),
251 p_line_dtl_rec => l_qte_line_dtl_rec,
252 p_control_rec => p_control_rec,
253 px_req_line_tbl => l_Req_line_tbl);
254 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
255 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End Setting up the Copy_Line_To_Request', 1, 'Y');
256 END IF;
257 END LOOP; --main End loop FOR i IN 1..l_qte_line_tbl.count
258
259 l_control_rec.pricing_event := p_control_rec.pricing_event;
260 l_control_rec.calculate_flag := p_control_rec.calculate_flag;
261 l_control_rec.simulation_flag := p_control_rec.simulation_flag;
262 l_control_rec.TEMP_TABLE_INSERT_FLAG := 'Y';
263 l_control_rec.source_order_amount_flag := 'Y';
264 l_control_rec.GSA_CHECK_FLAG := 'Y';
265 l_control_rec.GSA_DUP_CHECK_FLAG := 'Y';
266
267 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
268 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Start of QP_PREQ_PUB.PRICE_REQUEST', 1, 'Y');
269 END IF;
270 /* Change for populating QP_PREQ_GRP.CONTROL_RECORD_TYPE.ORG_ID Yogeshwar (MOAC) */
271
272 l_control_rec.ORG_ID := p_qte_header_rec.org_id;
273
274 /* End of Change (MOAC) */
275
276
277 QP_PREQ_PUB.PRICE_REQUEST
278 (p_control_rec => l_control_rec,
279 p_line_tbl => l_Req_line_tbl,
280 p_qual_tbl => l_Req_qual_tbl,
281 p_line_attr_tbl => l_Req_line_attr_tbl,
282 p_line_detail_tbl => l_req_line_detail_tbl,
283 p_line_detail_qual_tbl => l_req_line_detail_qual_tbl,
284 p_line_detail_attr_tbl => l_req_line_detail_attr_tbl,
285 p_related_lines_tbl => l_req_related_lines_tbl,
286 x_line_tbl => lx_req_line_tbl,
287 x_line_qual => lx_Req_qual_tbl,
288 x_line_attr_tbl => lx_Req_line_attr_tbl,
289 x_line_detail_tbl => lx_req_line_detail_tbl,
290 x_line_detail_qual_tbl => lx_req_line_detail_qual_tbl,
291 x_line_detail_attr_tbl => lx_req_line_detail_attr_tbl,
292 x_related_lines_tbl => lx_req_related_lines_tbl,
293 x_return_status => l_return_status,
294 x_return_status_text => l_return_status_text);
295 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
296 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:End of QP_PREQ_PUB.PRICE_REQUEST', 1, 'Y');
297 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:After PRICE_REQUEST l_return_status:'||l_return_status, 1, 'N');
298 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:After PRICE_REQUEST l_return_status_text '||l_return_status_text,1,'N');
299 END IF;
300
301 ASO_PRICING_INT.G_LINE_REC := NULL;
302 ASO_PRICING_INT.G_HEADER_REC := NULL;
303
304 i := lx_req_line_tbl.FIRST;
305 WHILE i IS NOT NULL LOOP
306 lx_req_line_rec := lx_req_line_tbl(i);
307 x_return_status := FND_API.G_RET_STS_SUCCESS;
308 If lx_req_line_rec.status_code in(QP_PREQ_GRP.g_status_invalid_price_list,
309 QP_PREQ_GRP.g_sts_lhs_not_found,
310 QP_PREQ_GRP.g_status_formula_error,QP_PREQ_GRP.g_status_other_errors,
311 fnd_api.g_ret_sts_unexp_error,fnd_api.g_ret_sts_error,
312 QP_PREQ_GRP.g_status_calc_error,QP_PREQ_GRP.g_status_uom_failure,
313 QP_PREQ_GRP.g_status_invalid_uom,QP_PREQ_GRP.g_status_dup_price_list,
314 QP_PREQ_GRP.g_status_invalid_uom_conv,QP_PREQ_GRP.g_status_invalid_incomp,
315 QP_PREQ_GRP.g_status_best_price_eval_error,
316 QP_PREQ_PUB.g_back_calculation_sts) THEN
317 x_return_status := FND_API.G_RET_STS_ERROR;
318 END IF;
319 If lx_req_line_rec.status_code = QP_PREQ_GRP.G_STATUS_GSA_VIOLATION Then
320 IF FND_PROFILE.value('ASO_GSA_PRICING') = 'ERROR' THEN
321 x_return_status := FND_API.G_RET_STS_ERROR;
322 FND_MESSAGE.Set_Name('ASO', 'GSA Violation in Pricing');
323 FND_MSG_PUB.ADD;
324 END IF;
325
326 IF FND_PROFILE.value('ASO_GSA_PRICING') = 'WARNING' THEN
327 FND_MESSAGE.Set_Name('ASO', 'GSA Violation in Pricing');
328 FND_MSG_PUB.ADD;
329 END IF;
330 End if;
331
332 If lx_req_line_rec.status_code <>QP_PREQ_GRP.G_STATUS_GSA_VIOLATION Then
333 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
334 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
335 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
336 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
337 FND_MESSAGE.Set_Name('ASO', 'ASO_API_UNEXP_ERROR');
338 FND_MESSAGE.Set_Token('ROW', 'ASO_PRICING_CALLBACK_PVT AFTER PRICING CALL', TRUE);
339 FND_MSG_PUB.ADD;
340 END IF;
341 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
342 ELSE
343 l_message_text := lx_req_line_rec.status_code || ': '||lx_req_line_rec.status_text;
344 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
345 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:After GSA Violation QP ERROR '||l_message_text, 1, 'Y');
346 END IF;
347 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
348 FND_MESSAGE.Set_Name('ASO', 'ASO_OM_ERROR');
349 FND_MESSAGE.Set_Token('MSG_TXT', substr(l_message_text, 1,255), FALSE);
350 FND_MSG_PUB.ADD;
351 END IF;
352 END IF;
353 lv_return_status := x_return_status;
354 END IF;
355 END If;
356 i := lx_req_line_tbl.NEXT(i);
357 END LOOP; -- End loop WHILE i IS NOT NULL LOOP
358
359 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
360 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Before Copy_Request_To_Quote', 1, 'Y');
361 END IF;
362 Copy_Request_To_Quote(
363 p_req_line_tbl => lx_req_line_tbl,
364 p_req_line_qual => lx_Req_qual_tbl,
365 p_req_line_attr_tbl => lx_Req_line_attr_tbl,
366 p_req_line_detail_tbl => lx_req_line_detail_tbl,
367 p_req_line_detail_qual_tbl => lx_req_line_detail_qual_tbl,
368 p_req_line_detail_attr_tbl => lx_req_line_detail_attr_tbl,
369 p_req_related_lines_tbl => lx_req_related_lines_tbl,
370 p_qte_header_rec => p_qte_header_rec,
371 p_qte_line_tbl => l_qte_line_tbl,
372 p_qte_line_dtl_tbl => ASO_QUOTE_PUB.G_Miss_Qte_Line_Dtl_Tbl,
373 x_qte_header_rec => lx_qte_header_rec,
374 x_qte_line_tbl => lx_qte_line_tbl,
375 x_qte_line_dtl_tbl => lx_qte_line_dtl_tbl,
376 x_price_adj_tbl => lx_price_adj_tbl,
377 x_price_adj_attr_tbl => lx_price_adj_attr_tbl,
378 x_price_adj_rltship_tbl => lx_price_adj_rltship_tbl);
379 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
380 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:after Copy_Request_To_Quote', 1, 'Y');
381 END IF;
382
383 x_qte_line_tbl := lx_qte_line_tbl;
384
385 IF lv_return_status <> FND_API.G_RET_STS_SUCCESS THEN
386 x_return_status := lv_return_status;
387 RAISE FND_API.G_EXC_ERROR;
388 End If;
389
390 End If; --l_qte_line_tbl.count
391
392
393 -- Standard check for p_commit
394 IF FND_API.to_Boolean( p_commit ) THEN
395 COMMIT WORK;
396 END IF;
397
398 FND_MSG_PUB.Count_And_Get
399 ( p_encoded => 'F',
400 p_count => x_msg_count,
401 p_data => x_msg_data
402 );
403
404 for l in 1 .. x_msg_count loop
405 x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
406 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
407 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Messge count and get '||x_msg_data, 1, 'Y');
408 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Messge count and get '||x_msg_count, 1, 'Y');
409 END IF;
410 end loop;
411
412 EXCEPTION
413 WHEN FND_API.G_EXC_ERROR THEN
414 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
415 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:After inside EXCEPTION return status'||x_return_status, 1, 'N');
416 END IF;
417 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
418 P_API_NAME => L_API_NAME
419 ,P_PKG_NAME => G_PKG_NAME
420 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
421 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
422 ,P_SQLCODE => SQLCODE
423 ,P_SQLERRM => SQLERRM
424 ,X_MSG_COUNT => X_MSG_COUNT
425 ,X_MSG_DATA => X_MSG_DATA
426 ,X_RETURN_STATUS => X_RETURN_STATUS);
427
428 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
429 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
430 P_API_NAME => L_API_NAME
431 ,P_PKG_NAME => G_PKG_NAME
432 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
433 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
434 ,P_SQLCODE => SQLCODE
435 ,P_SQLERRM => SQLERRM
436 ,X_MSG_COUNT => X_MSG_COUNT
437 ,X_MSG_DATA => X_MSG_DATA
438 ,X_RETURN_STATUS => X_RETURN_STATUS);
439
440 WHEN OTHERS THEN
441 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
442 P_API_NAME => L_API_NAME
443 ,P_PKG_NAME => G_PKG_NAME
444 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
445 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
446 ,P_SQLCODE => SQLCODE
447 ,P_SQLERRM => SQLERRM
448 ,X_MSG_COUNT => X_MSG_COUNT
449 ,X_MSG_DATA => X_MSG_DATA
450 ,X_RETURN_STATUS => X_RETURN_STATUS);
451
452 END Config_Callback_Pricing_Order;
453
454
455 PROCEDURE Config_Callback_Pricing_Order (
456 P_Api_Version_Number IN NUMBER,
457 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
458 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
459 p_control_rec IN ASO_PRICING_INT.PRICING_CONTROL_REC_TYPE,
460 p_qte_line_tbl IN ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
461 p_qte_header_id IN NUMBER,
462 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
463 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
464 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
465 IS
466
467 l_api_name CONSTANT VARCHAR2(30) := 'Config_Callback_Pricing_Order';
468 l_api_version_number CONSTANT NUMBER := 1.0;
469 l_control_rec QP_PREQ_GRP.CONTROL_RECORD_TYPE;
470 l_req_line_tbl QP_PREQ_GRP.LINE_TBL_TYPE;
471 l_Req_qual_tbl QP_PREQ_GRP.QUAL_TBL_TYPE;
472 l_Req_line_attr_tbl QP_PREQ_GRP.LINE_ATTR_TBL_TYPE;
473 l_Req_LINE_DETAIL_tbl QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
474 l_req_LINE_DETAIL_qual_tbl QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE;
475 l_req_LINE_DETAIL_attr_tbl QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE;
476 l_req_related_lines_tbl QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
477 l_hd_pricing_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
478 l_hd_qual_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
479 l_pricing_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
480 l_qual_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
481 lx_req_line_tbl QP_PREQ_GRP.LINE_TBL_TYPE;
482 lx_req_qual_tbl QP_PREQ_GRP.QUAL_TBL_TYPE;
483 lx_req_line_attr_tbl QP_PREQ_GRP.LINE_ATTR_TBL_TYPE;
484 lx_req_LINE_DETAIL_tbl QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
485 lx_req_LINE_DETAIL_qual_tbl QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE;
486 lx_req_LINE_DETAIL_attr_tbl QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE;
487 lx_req_related_lines_tbl QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
488 l_qte_header_rec ASO_QUOTE_PUB.Qte_Header_Rec_Type;
489 l_shipment_tbl ASO_QUOTE_PUB.Shipment_Tbl_Type;
490 l_shipment_rec ASO_QUOTE_PUB.Shipment_Rec_Type;
491 l_price_attr_tbl ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
492 l_qte_line_tbl ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
493 l_qte_line_id NUMBER;
494 l_qte_line_dtl_rec ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type;
495 l_qte_line_dtl_tbl ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
496 l_return_status VARCHAR2(1);
497 l_return_status_text VARCHAR2(2000);
498 l_request_type VARCHAR2(60);
499 l_pricing_event VARCHAR2(30);
500 l_qte_line_rec ASO_QUOTE_PUB.Qte_Line_rec_Type;
501 lx_qte_header_rec ASO_QUOTE_PUB.Qte_Header_Rec_Type;
502 lx_qte_line_tbl ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
503 lx_qte_line_dtl_tbl ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
504 lx_price_adj_tbl ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
505 lx_price_adj_attr_tbl ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
506 lx_price_adj_rltship_tbl ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
507
508 l_qte_line_prcd Index_Link_Tbl_Type;
509 l_message_text VARCHAR2(2000);
510 lx_req_line_rec QP_PREQ_GRP.LINE_REC_TYPE;
511 i BINARY_INTEGER;
512 ln_shipment_tbl ASO_QUOTE_PUB.Shipment_Tbl_Type;
513 l_line_rltship_tbl ASO_QUOTE_PUB.Line_Rltship_Tbl_Type;
514 l_ln_price_attr_tbl ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
515 l_hd_shipment_rec ASO_QUOTE_PUB.Shipment_Rec_Type;
516 lx_return_status VARCHAR2(50);
517 lx_msg_count NUMBER;
518 lx_msg_data VARCHAR2(2000);
519
520 BEGIN
521 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
522 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT: In Config_Callback_Pricing_Order with HDR Id CALL', 1, 'Y');
523 END IF;
524 -- Standard Start of API savepoint
525 SAVEPOINT ASO_PRICING_CALLBACK_PVT;
526
527 -- Standard call to check for call compatibility.
528 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
529 p_api_version_number,
530 l_api_name,
531 G_PKG_NAME)
532 THEN
533 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
534 END IF;
535
536
537 -- Initialize message list if p_init_msg_list is set to TRUE.
538 IF FND_API.to_Boolean( p_init_msg_list )
539 THEN
540 FND_MSG_PUB.initialize;
541 END IF;
542
543 x_return_status := FND_API.G_RET_STS_SUCCESS;
544 l_request_type := p_control_rec.request_type;
545 l_pricing_event := p_control_rec.pricing_event;
546
547 l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row(p_qte_header_id);
548 l_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows(p_qte_header_id,NULL);
549 IF l_shipment_tbl.count = 1 THEN
550 l_shipment_rec := l_shipment_tbl(1);
551 END IF;
552 l_price_attr_tbl := ASO_UTILITY_PVT.Query_Price_Attr_Rows(p_qte_header_id, null);
553 ASO_PRICING_CALLBACK_PVT.Config_Callback_Pricing_Order(
554 P_Api_Version_Number => 1.0,
555 P_Init_Msg_List => FND_API.G_FALSE,
556 P_Commit => FND_API.G_FALSE,
557 p_control_rec => p_control_rec,
558 p_qte_header_rec => l_qte_header_rec,
559 p_hd_shipment_rec => l_shipment_rec,
560 p_hd_price_attr_tbl => l_price_attr_tbl,
561 p_qte_line_tbl => p_qte_line_tbl,
562 p_line_rltship_tbl => l_line_rltship_tbl,
563 p_qte_line_dtl_tbl => l_qte_line_dtl_tbl,
564 p_ln_shipment_tbl => ln_shipment_tbl,
565 p_ln_price_attr_tbl => l_ln_price_attr_tbl,
566 x_qte_header_rec => lx_qte_header_rec,
567 x_qte_line_tbl => lx_qte_line_tbl,
568 x_qte_line_dtl_tbl => lx_qte_line_dtl_tbl,
569 x_price_adj_tbl => lx_price_adj_tbl,
570 x_price_adj_attr_tbl => lx_price_adj_attr_tbl,
571 x_price_adj_rltship_tbl => lx_price_adj_rltship_tbl,
572 x_return_status => x_return_status,
573 x_msg_count => x_msg_count,
574 x_msg_data => x_msg_data );
575
576 -- Standard check for p_commit
577 IF FND_API.to_Boolean( p_commit )
578 THEN
579 COMMIT WORK;
580 END IF;
581
582 FND_MSG_PUB.Count_And_Get
583 ( p_count => x_msg_count,
584 p_data => x_msg_data
585 );
586
587 EXCEPTION
588 WHEN FND_API.G_EXC_ERROR THEN
589 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
590 P_API_NAME => L_API_NAME
591 ,P_PKG_NAME => G_PKG_NAME
592 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
593 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
594 ,P_SQLCODE => SQLCODE
595 ,P_SQLERRM => SQLERRM
596 ,X_MSG_COUNT => X_MSG_COUNT
597 ,X_MSG_DATA => X_MSG_DATA
598 ,X_RETURN_STATUS => X_RETURN_STATUS);
599
600 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
601 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
602 P_API_NAME => L_API_NAME
603 ,P_PKG_NAME => G_PKG_NAME
604 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
605 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
606 ,P_SQLCODE => SQLCODE
607 ,P_SQLERRM => SQLERRM
608 ,X_MSG_COUNT => X_MSG_COUNT
609 ,X_MSG_DATA => X_MSG_DATA
610 ,X_RETURN_STATUS => X_RETURN_STATUS);
611
612 WHEN OTHERS THEN
613 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
614 P_API_NAME => L_API_NAME
615 ,P_PKG_NAME => G_PKG_NAME
616 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
617 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
618 ,P_SQLCODE => SQLCODE
619 ,P_SQLERRM => SQLERRM
620 ,X_MSG_COUNT => X_MSG_COUNT
621 ,X_MSG_DATA => X_MSG_DATA
622 ,X_RETURN_STATUS => X_RETURN_STATUS);
623
624 END Config_Callback_Pricing_Order;
625
626
627 PROCEDURE Copy_Attribs_To_Req(
628 p_line_index number,
629 p_pricing_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type,
630 p_qualifier_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type,
631 px_Req_line_attr_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.LINE_ATTR_TBL_TYPE,
632 px_Req_qual_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.QUAL_TBL_TYPE)
633 IS
634 l_attr_index number := nvl(px_Req_line_attr_tbl.last,0);
635 l_qual_index number := nvl(px_Req_qual_tbl.last,0);
636 BEGIN
637 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
638 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT: In copy attribs to req - Global Header Rec quote_status_id'
639 ||ASO_PRICING_INT.G_HEADER_REC.quote_status_id,1,'N');
640 END IF;
641 for i in 1..p_pricing_contexts_Tbl.count loop
642 l_attr_index := l_attr_index +1;
643 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
644 px_Req_line_attr_tbl(l_attr_index).VALIDATED_FLAG := 'N';
645 ELSE
646 px_Req_line_attr_tbl(l_attr_index).VALIDATED_FLAG := 'Y';
647 END IF;
648 px_Req_line_attr_tbl(l_attr_index).line_index := p_line_index;
649 -- Product and Pricing Contexts go into pricing contexts...
650 px_Req_line_attr_tbl(l_attr_index).PRICING_CONTEXT :=
651 p_pricing_contexts_Tbl(i).context_name;
652 px_Req_line_attr_tbl(l_attr_index).PRICING_ATTRIBUTE :=
653 p_pricing_contexts_Tbl(i).Attribute_Name;
654 px_Req_line_attr_tbl(l_attr_index).PRICING_ATTR_VALUE_FROM :=
655 p_pricing_contexts_Tbl(i).attribute_value;
656 end loop;
657 -- Copy the qualifiers
658 for i in 1..p_qualifier_contexts_Tbl.count loop
659 l_qual_index := l_qual_index +1;
660 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
661 px_Req_qual_tbl(l_qual_index).VALIDATED_FLAG := 'N';
662 ELSE
663 px_Req_qual_tbl(l_qual_index).VALIDATED_FLAG := 'Y';
664 END IF;
665 px_Req_qual_tbl(l_qual_index).line_index := p_line_index;
666 px_Req_qual_tbl(l_qual_index).QUALIFIER_CONTEXT :=
667 p_qualifier_contexts_Tbl(i).context_name;
668 px_Req_qual_tbl(l_qual_index).QUALIFIER_ATTRIBUTE :=
669 p_qualifier_contexts_Tbl(i).Attribute_Name;
670 px_Req_qual_tbl(l_qual_index).QUALIFIER_ATTR_VALUE_FROM :=
671 p_qualifier_contexts_Tbl(i).attribute_value;
672 end loop;
673 end copy_attribs_to_Req;
674
675 PROCEDURE Copy_hdr_attr_to_line(
676 p_line_index number,
677 p_pricing_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type,
678 p_qualifier_contexts_Tbl QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type,
679 px_Req_line_attr_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.LINE_ATTR_TBL_TYPE,
680 px_Req_qual_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.QUAL_TBL_TYPE)
681 IS
682 l_attr_index number := nvl(px_Req_line_attr_tbl.last,0);
683 l_qual_index number := nvl(px_Req_qual_tbl.last,0);
684 copy_hdr_rec_to_line_flag boolean := TRUE;
685 BEGIN
686 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
687 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT: copy_hdr_attribs_to_line - Global Header Rec quote_status_id:'
688 ||ASO_PRICING_INT.G_HEADER_REC.quote_status_id,1,'N');
689 END IF;
690 for i in 1..p_pricing_contexts_Tbl.count loop
691 l_attr_index := l_attr_index +1;
692 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
693 px_Req_line_attr_tbl(l_attr_index).VALIDATED_FLAG := 'N';
694 ELSE
695 px_Req_line_attr_tbl(l_attr_index).VALIDATED_FLAG := 'Y';
696 END IF;
697 px_Req_line_attr_tbl(l_attr_index).line_index := p_line_index;
698 -- Product and Pricing Contexts go into pricing contexts...
699 px_Req_line_attr_tbl(l_attr_index).PRICING_CONTEXT :=
700 p_pricing_contexts_Tbl(i).context_name;
701 px_Req_line_attr_tbl(l_attr_index).PRICING_ATTRIBUTE :=
702 p_pricing_contexts_Tbl(i).Attribute_Name;
703 px_Req_line_attr_tbl(l_attr_index).PRICING_ATTR_VALUE_FROM :=
704 p_pricing_contexts_Tbl(i).attribute_value;
705 end loop;
706 -- Copy the qualifiers
707 for i in 1..p_qualifier_contexts_Tbl.count loop
708 copy_hdr_rec_to_line_flag := TRUE;
709 for j in 1..px_Req_qual_tbl.count loop
710 if px_Req_qual_tbl(j).QUALIFIER_CONTEXT = p_qualifier_contexts_Tbl(i).context_name
711 and px_Req_qual_tbl(j).QUALIFIER_ATTRIBUTE = p_qualifier_contexts_Tbl(i).Attribute_Name
712 and p_line_index = px_Req_qual_tbl(j).line_index
713 then
714 copy_hdr_rec_to_line_flag := FALSE;
715 end if;
716 end loop;
717
718 if copy_hdr_rec_to_line_flag then
719 l_qual_index := l_qual_index +1;
720 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
721 px_Req_qual_tbl(l_qual_index).VALIDATED_FLAG := 'N';
722 ELSE
723 px_Req_qual_tbl(l_qual_index).VALIDATED_FLAG := 'Y';
724 END IF;
725 px_Req_qual_tbl(l_qual_index).line_index := p_line_index;
726 px_Req_qual_tbl(l_qual_index).QUALIFIER_CONTEXT :=
727 p_qualifier_contexts_Tbl(i).context_name;
728 px_Req_qual_tbl(l_qual_index).QUALIFIER_ATTRIBUTE :=
729 p_qualifier_contexts_Tbl(i).Attribute_Name;
730 px_Req_qual_tbl(l_qual_index).QUALIFIER_ATTR_VALUE_FROM :=
731 p_qualifier_contexts_Tbl(i).attribute_value;
732 end if;
733 end loop;
734 end Copy_hdr_attr_to_line;
735
736 procedure Append_asked_for(
737 p_header_id number := null
738 ,p_Line_id number := null
739 ,p_line_index number
740 ,px_Req_line_attr_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.LINE_ATTR_TBL_TYPE
741 ,px_Req_qual_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.QUAL_TBL_TYPE)
742 IS
743 i pls_integer;
744 l_price_list_id NUMBER;
745
746 cursor asked_for_cur is
747 select flex_title, pricing_context, pricing_attribute1,
748 pricing_attribute2 , pricing_attribute3 , pricing_attribute4 , pricing_attribute5 ,
749 pricing_attribute6 , pricing_attribute7 , pricing_attribute8 , pricing_attribute9 ,
750 pricing_attribute10 , pricing_attribute11 , pricing_attribute12 , pricing_attribute13 ,
751 pricing_attribute14 , pricing_attribute15 , pricing_attribute16 , pricing_attribute17 ,
752 pricing_attribute18 , pricing_attribute19 , pricing_attribute20 , pricing_attribute21 ,
753 pricing_attribute22 , pricing_attribute23 , pricing_attribute24 , pricing_attribute25 ,
754 pricing_attribute26 , pricing_attribute27 , pricing_attribute28 , pricing_attribute29 ,
755 pricing_attribute30 , pricing_attribute31 , pricing_attribute32 , pricing_attribute33 ,
756 pricing_attribute34 , pricing_attribute35 , pricing_attribute36 , pricing_attribute37 ,
757 pricing_attribute38 , pricing_attribute39 , pricing_attribute40 , pricing_attribute41 ,
758 pricing_attribute42 , pricing_attribute43 , pricing_attribute44 , pricing_attribute45 ,
759 pricing_attribute46 , pricing_attribute47 , pricing_attribute48 , pricing_attribute49 ,
760 pricing_attribute50 , pricing_attribute51 , pricing_attribute52 , pricing_attribute53 ,
761 pricing_attribute54 , pricing_attribute55 , pricing_attribute56 , pricing_attribute57 ,
762 pricing_attribute58 , pricing_attribute59 , pricing_attribute60 , pricing_attribute61 ,
763 pricing_attribute62 , pricing_attribute63 , pricing_attribute64 , pricing_attribute65 ,
764 pricing_attribute66 , pricing_attribute67 , pricing_attribute68 , pricing_attribute69 ,
765 pricing_attribute70 , pricing_attribute71 , pricing_attribute72 , pricing_attribute73 ,
766 pricing_attribute74 , pricing_attribute75 , pricing_attribute76 , pricing_attribute77 ,
767 pricing_attribute78 , pricing_attribute79 , pricing_attribute80 , pricing_attribute81 ,
768 pricing_attribute82 , pricing_attribute83 , pricing_attribute84 , pricing_attribute85 ,
769 pricing_attribute86 , pricing_attribute87 , pricing_attribute88 , pricing_attribute89 ,
770 pricing_attribute90 , pricing_attribute91 , pricing_attribute92 , pricing_attribute93 ,
771 pricing_attribute94 , pricing_attribute95 , pricing_attribute96 , pricing_attribute97 ,
772 pricing_attribute98 , pricing_attribute99 , pricing_attribute100
773 ,Override_Flag
774 from aso_price_attributes a
775 where ( a.QUOTE_HEADER_ID = p_header_id )
776 and (p_header_id is not null and p_header_id <> FND_API.G_MISS_NUM)
777 and a.quote_line_id is null
778 /*
779 * New Code - Union is changed to union all
780 */
781 UNION ALL
782 select flex_title, pricing_context, pricing_attribute1,
783 pricing_attribute2 , pricing_attribute3 , pricing_attribute4 , pricing_attribute5 ,
784 pricing_attribute6 , pricing_attribute7 , pricing_attribute8 , pricing_attribute9 ,
785 pricing_attribute10 , pricing_attribute11 , pricing_attribute12 , pricing_attribute13 ,
786 pricing_attribute14 , pricing_attribute15 , pricing_attribute16 , pricing_attribute17 ,
787 pricing_attribute18 , pricing_attribute19 , pricing_attribute20 , pricing_attribute21 ,
788 pricing_attribute22 , pricing_attribute23 , pricing_attribute24 , pricing_attribute25 ,
789 pricing_attribute26 , pricing_attribute27 , pricing_attribute28 , pricing_attribute29 ,
790 pricing_attribute30 , pricing_attribute31 , pricing_attribute32 , pricing_attribute33 ,
791 pricing_attribute34 , pricing_attribute35 , pricing_attribute36 , pricing_attribute37 ,
792 pricing_attribute38 , pricing_attribute39 , pricing_attribute40 , pricing_attribute41 ,
793 pricing_attribute42 , pricing_attribute43 , pricing_attribute44 , pricing_attribute45 ,
794 pricing_attribute46 , pricing_attribute47 , pricing_attribute48 , pricing_attribute49 ,
795 pricing_attribute50 , pricing_attribute51 , pricing_attribute52 , pricing_attribute53 ,
796 pricing_attribute54 , pricing_attribute55 , pricing_attribute56 , pricing_attribute57 ,
797 pricing_attribute58 , pricing_attribute59 , pricing_attribute60 , pricing_attribute61 ,
798 pricing_attribute62 , pricing_attribute63 , pricing_attribute64 , pricing_attribute65 ,
799 pricing_attribute66 , pricing_attribute67 , pricing_attribute68 , pricing_attribute69 ,
800 pricing_attribute70 , pricing_attribute71 , pricing_attribute72 , pricing_attribute73 ,
801 pricing_attribute74 , pricing_attribute75 , pricing_attribute76 , pricing_attribute77 ,
802 pricing_attribute78 , pricing_attribute79 , pricing_attribute80 , pricing_attribute81 ,
803 pricing_attribute82 , pricing_attribute83 , pricing_attribute84 , pricing_attribute85 ,
804 pricing_attribute86 , pricing_attribute87 , pricing_attribute88 , pricing_attribute89 ,
805 pricing_attribute90 , pricing_attribute91 , pricing_attribute92 , pricing_attribute93 ,
806 pricing_attribute94 , pricing_attribute95 , pricing_attribute96 , pricing_attribute97 ,
807 pricing_attribute98 , pricing_attribute99 , pricing_attribute100
808 ,Override_Flag
809 from aso_price_attributes a
810 where ( a.QUOTE_line_id = p_line_id )
811 and (p_line_id is not null and p_line_id <> FND_API.G_MISS_NUM);
812
813 begin
814 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
815 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT: In PL/SQL tbl,append_asked_for - Global_Header_Rec quote_status_id'
816 ||ASO_PRICING_INT.G_HEADER_REC.quote_status_id,1,'N');
817 END IF;
818 for asked_for_rec in asked_for_cur loop
819 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
820 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In append_asked_for asked_for_rec.PRICING_ATTRIBUTE1'
821 ||asked_for_rec.PRICING_ATTRIBUTE1,1,'Y');
822 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In append_asked_for asked_for_rec.flex_title'
823 ||asked_for_rec.flex_title,1,'Y');
824 END IF;
825 If asked_for_rec.flex_title = 'QP_ATTR_DEFNS_PRICING' then
826 if asked_for_rec.PRICING_ATTRIBUTE1 is not null then
827 i := px_Req_line_attr_tbl.count+1;
828 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
829 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
830 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
831 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE1';
832 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE1;
833 end if;
834 if asked_for_rec.PRICING_ATTRIBUTE2 is not null then
835 i := px_Req_line_attr_tbl.count+1;
836 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
837 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
838 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
839 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE2';
840 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE2;
841 end if;
842 if asked_for_rec.PRICING_ATTRIBUTE3 is not null then
843 i := px_Req_line_attr_tbl.count+1;
844 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
845 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
846 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
847 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE3';
848 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE3;
849 end if;
850 if asked_for_rec.PRICING_ATTRIBUTE4 is not null then
851 i := px_Req_line_attr_tbl.count+1;
852 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
853 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
854 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
855 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE4';
856 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE4;
857 end if;
858 if asked_for_rec.PRICING_ATTRIBUTE5 is not null then
859 i := px_Req_line_attr_tbl.count+1;
860 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
861 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
862 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
863 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE5';
864 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE5;
865 end if;
866 if asked_for_rec.PRICING_ATTRIBUTE6 is not null then
867 i := px_Req_line_attr_tbl.count+1;
868 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
869 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
870 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
871 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE6';
872 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE6;
873 end if;
874 if asked_for_rec.PRICING_ATTRIBUTE7 is not null then
875 i := px_Req_line_attr_tbl.count+1;
876 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
877 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
878 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
879 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE7';
880 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE7;
881 end if;
882 if asked_for_rec.PRICING_ATTRIBUTE8 is not null then
883 i := px_Req_line_attr_tbl.count+1;
884 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
885 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
886 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
887 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE8';
888 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE8;
889 end if;
890 if asked_for_rec.PRICING_ATTRIBUTE9 is not null then
891 i := px_Req_line_attr_tbl.count+1;
892 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
893 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
894 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
895 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE9';
896 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE9;
897 end if;
898 if asked_for_rec.PRICING_ATTRIBUTE10 is not null then
899 i := px_Req_line_attr_tbl.count+1;
900 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
901 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
902 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
903 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE10';
904 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE10;
905 end if;
906 if asked_for_rec.PRICING_ATTRIBUTE11 is not null then
907 i := px_Req_line_attr_tbl.count+1;
908 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
909 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
910 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
911 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE11';
912 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE11;
913 end if;
914 if asked_for_rec.PRICING_ATTRIBUTE12 is not null then
915 i := px_Req_line_attr_tbl.count+1;
916 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
917 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
918 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
919 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE12';
920 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE12;
921 end if;
922 if asked_for_rec.PRICING_ATTRIBUTE13 is not null then
923 i := px_Req_line_attr_tbl.count+1;
924 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
925 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
926 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
927 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE13';
928 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE13;
929 end if;
930 if asked_for_rec.PRICING_ATTRIBUTE14 is not null then
931 i := px_Req_line_attr_tbl.count+1;
932 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
933 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
934 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
935 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE14';
936 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE14;
937 end if;
938 if asked_for_rec.PRICING_ATTRIBUTE15 is not null then
939 i := px_Req_line_attr_tbl.count+1;
940 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
941 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
942 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
943 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE15';
944 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE15;
945 end if;
946 if asked_for_rec.PRICING_ATTRIBUTE16 is not null then
947 i := px_Req_line_attr_tbl.count+1;
948 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
949 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
950 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
951 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE16';
952 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE16;
953 end if;
954 if asked_for_rec.PRICING_ATTRIBUTE17 is not null then
955 i := px_Req_line_attr_tbl.count+1;
956 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
957 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
958 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
959 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE17';
960 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE17;
961 end if;
962 if asked_for_rec.PRICING_ATTRIBUTE18 is not null then
963 i := px_Req_line_attr_tbl.count+1;
964 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
965 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
966 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
967 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE18';
968 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE18;
969 end if;
970 if asked_for_rec.PRICING_ATTRIBUTE19 is not null then
971 i := px_Req_line_attr_tbl.count+1;
972 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
973 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
974 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
975 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE19';
976 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE19;
977 end if;
978 if asked_for_rec.PRICING_ATTRIBUTE20 is not null then
979 i := px_Req_line_attr_tbl.count+1;
980 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
981 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
982 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
983 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE20';
984 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE20;
985 end if;
986 if asked_for_rec.PRICING_ATTRIBUTE21 is not null then
987 i := px_Req_line_attr_tbl.count+1;
988 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
989 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
990 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
991 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE21';
992 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE21;
993 end if;
994 if asked_for_rec.PRICING_ATTRIBUTE22 is not null then
995 i := px_Req_line_attr_tbl.count+1;
996 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
997 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
998 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
999 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE22';
1000 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE22;
1001 end if;
1002 if asked_for_rec.PRICING_ATTRIBUTE23 is not null then
1003 i := px_Req_line_attr_tbl.count+1;
1004 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1005 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1006 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1007 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE23';
1008 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE23;
1009 end if;
1010 if asked_for_rec.PRICING_ATTRIBUTE24 is not null then
1011 i := px_Req_line_attr_tbl.count+1;
1012 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1013 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1014 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1015 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE24';
1016 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE24;
1017 end if;
1018 if asked_for_rec.PRICING_ATTRIBUTE25 is not null then
1019 i := px_Req_line_attr_tbl.count+1;
1020 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1021 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1022 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1023 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE25';
1024 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE25;
1025 end if;
1026 if asked_for_rec.PRICING_ATTRIBUTE26 is not null then
1027 i := px_Req_line_attr_tbl.count+1;
1028 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1029 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1030 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1031 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE26';
1032 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE26;
1033 end if;
1034 if asked_for_rec.PRICING_ATTRIBUTE27 is not null then
1035 i := px_Req_line_attr_tbl.count+1;
1036 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1037 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1038 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1039 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE27';
1040 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE27;
1041 end if;
1042 if asked_for_rec.PRICING_ATTRIBUTE28 is not null then
1043 i := px_Req_line_attr_tbl.count+1;
1044 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1045 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1046 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1047 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE28';
1048 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE28;
1049 end if;
1050 if asked_for_rec.PRICING_ATTRIBUTE29 is not null then
1051 i := px_Req_line_attr_tbl.count+1;
1052 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1053 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1054 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1055 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE29';
1056 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE29;
1057 end if;
1058 if asked_for_rec.PRICING_ATTRIBUTE30 is not null then
1059 i := px_Req_line_attr_tbl.count+1;
1060 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1061 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1062 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1063 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE30';
1064 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE30;
1065 end if;
1066 if asked_for_rec.PRICING_ATTRIBUTE31 is not null then
1067 i := px_Req_line_attr_tbl.count+1;
1068 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1069 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1070 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1071 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE31';
1072 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE31;
1073 end if;
1074 if asked_for_rec.PRICING_ATTRIBUTE32 is not null then
1075 i := px_Req_line_attr_tbl.count+1;
1076 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1077 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1078 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1079 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE32';
1080 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE32;
1081 end if;
1082 if asked_for_rec.PRICING_ATTRIBUTE33 is not null then
1083 i := px_Req_line_attr_tbl.count+1;
1084 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1085 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1086 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1087 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE33';
1088 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE33;
1089 end if;
1090 if asked_for_rec.PRICING_ATTRIBUTE34 is not null then
1091 i := px_Req_line_attr_tbl.count+1;
1092 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1093 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1094 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1095 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE34';
1096 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE34;
1097 end if;
1098 if asked_for_rec.PRICING_ATTRIBUTE35 is not null then
1099 i := px_Req_line_attr_tbl.count+1;
1100 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1101 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1102 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1103 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE35';
1104 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE35;
1105 end if;
1106 if asked_for_rec.PRICING_ATTRIBUTE36 is not null then
1107 i := px_Req_line_attr_tbl.count+1;
1108 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1109 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1110 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1111 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE36';
1112 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE36;
1113 end if;
1114 if asked_for_rec.PRICING_ATTRIBUTE37 is not null then
1115 i := px_Req_line_attr_tbl.count+1;
1116 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1117 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1118 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1119 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE37';
1120 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE37;
1121 end if;
1122 if asked_for_rec.PRICING_ATTRIBUTE38 is not null then
1123 i := px_Req_line_attr_tbl.count+1;
1124 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1125 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1126 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1127 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE38';
1128 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE38;
1129 end if;
1130 if asked_for_rec.PRICING_ATTRIBUTE39 is not null then
1131 i := px_Req_line_attr_tbl.count+1;
1132 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1133 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1134 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1135 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE39';
1136 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE39;
1137 end if;
1138 if asked_for_rec.PRICING_ATTRIBUTE40 is not null then
1139 i := px_Req_line_attr_tbl.count+1;
1140 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1141 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1142 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1143 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE40';
1144 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE40;
1145 end if;
1146 if asked_for_rec.PRICING_ATTRIBUTE41 is not null then
1147 i := px_Req_line_attr_tbl.count+1;
1148 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1149 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1150 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1151 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE41';
1152 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE41;
1153 end if;
1154 if asked_for_rec.PRICING_ATTRIBUTE42 is not null then
1155 i := px_Req_line_attr_tbl.count+1;
1156 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1157 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1158 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1159 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE42';
1160 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE42;
1161 end if;
1162 if asked_for_rec.PRICING_ATTRIBUTE43 is not null then
1163 i := px_Req_line_attr_tbl.count+1;
1164 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1165 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1166 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1167 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE43';
1168 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE43;
1169 end if;
1170 if asked_for_rec.PRICING_ATTRIBUTE44 is not null then
1171 i := px_Req_line_attr_tbl.count+1;
1172 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1173 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1174 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1175 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE44';
1176 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE44;
1177 end if;
1178 if asked_for_rec.PRICING_ATTRIBUTE45 is not null then
1179 i := px_Req_line_attr_tbl.count+1;
1180 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1181 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1182 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1183 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE45';
1184 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE45;
1185 end if;
1186 if asked_for_rec.PRICING_ATTRIBUTE46 is not null then
1187 i := px_Req_line_attr_tbl.count+1;
1188 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1189 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1190 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1191 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE46';
1192 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE46;
1193 end if;
1194 if asked_for_rec.PRICING_ATTRIBUTE47 is not null then
1195 i := px_Req_line_attr_tbl.count+1;
1196 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1197 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1198 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1199 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE47';
1200 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE47;
1201 end if;
1202 if asked_for_rec.PRICING_ATTRIBUTE48 is not null then
1203 i := px_Req_line_attr_tbl.count+1;
1204 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1205 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1206 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1207 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE48';
1208 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE48;
1209 end if;
1210 if asked_for_rec.PRICING_ATTRIBUTE49 is not null then
1211 i := px_Req_line_attr_tbl.count+1;
1212 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1213 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1214 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1215 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE49';
1216 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE49;
1217 end if;
1218 if asked_for_rec.PRICING_ATTRIBUTE50 is not null then
1219 i := px_Req_line_attr_tbl.count+1;
1220 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1221 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1222 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1223 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE50';
1224 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE50;
1225 end if;
1226 if asked_for_rec.PRICING_ATTRIBUTE51 is not null then
1227 i := px_Req_line_attr_tbl.count+1;
1228 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1229 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1230 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1231 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE51';
1232 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE51;
1233 end if;
1234 if asked_for_rec.PRICING_ATTRIBUTE52 is not null then
1235 i := px_Req_line_attr_tbl.count+1;
1236 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1237 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1238 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1239 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE52';
1240 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE52;
1241 end if;
1242 if asked_for_rec.PRICING_ATTRIBUTE53 is not null then
1243 i := px_Req_line_attr_tbl.count+1;
1244 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1245 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1246 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1247 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE53';
1248 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE53;
1249 end if;
1250 if asked_for_rec.PRICING_ATTRIBUTE54 is not null then
1251 i := px_Req_line_attr_tbl.count+1;
1252 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1253 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1254 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1255 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE54';
1256 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE54;
1257 end if;
1258 if asked_for_rec.PRICING_ATTRIBUTE55 is not null then
1259 i := px_Req_line_attr_tbl.count+1;
1260 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1261 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1262 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1263 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE55';
1264 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE55;
1265 end if;
1266 if asked_for_rec.PRICING_ATTRIBUTE56 is not null then
1267 i := px_Req_line_attr_tbl.count+1;
1268 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1269 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1270 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1271 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE56';
1272 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE56;
1273 end if;
1274 if asked_for_rec.PRICING_ATTRIBUTE57 is not null then
1275 i := px_Req_line_attr_tbl.count+1;
1276 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1277 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1278 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1279 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE57';
1280 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE57;
1281 end if;
1282 if asked_for_rec.PRICING_ATTRIBUTE58 is not null then
1283 i := px_Req_line_attr_tbl.count+1;
1284 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1285 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1286 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1287 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE58';
1288 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE58;
1289 end if;
1290 if asked_for_rec.PRICING_ATTRIBUTE59 is not null then
1291 i := px_Req_line_attr_tbl.count+1;
1292 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1293 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1294 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1295 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE59';
1296 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE59;
1297 end if;
1298
1299 if asked_for_rec.PRICING_ATTRIBUTE60 is not null then
1300 i := px_Req_line_attr_tbl.count+1;
1301 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1302 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1303 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1304 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE60';
1305 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE60;
1306 end if;
1307 if asked_for_rec.PRICING_ATTRIBUTE61 is not null then
1308 i := px_Req_line_attr_tbl.count+1;
1309 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1310 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1311 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1312 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE61';
1313 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE61;
1314 end if;
1315 if asked_for_rec.PRICING_ATTRIBUTE62 is not null then
1316 i := px_Req_line_attr_tbl.count+1;
1317 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1318 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1319 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1320 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE62';
1321 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE62;
1322 end if;
1323 if asked_for_rec.PRICING_ATTRIBUTE63 is not null then
1324 i := px_Req_line_attr_tbl.count+1;
1325 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1326 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1327 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1328 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE63';
1329 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE63;
1330 end if;
1331 if asked_for_rec.PRICING_ATTRIBUTE64 is not null then
1332 i := px_Req_line_attr_tbl.count+1;
1333 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1334 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1335 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1336 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE64';
1337 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE64;
1338 end if;
1339 if asked_for_rec.PRICING_ATTRIBUTE65 is not null then
1340 i := px_Req_line_attr_tbl.count+1;
1341 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1342 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1343 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1344 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE65';
1345 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE65;
1346 end if;
1347 if asked_for_rec.PRICING_ATTRIBUTE66 is not null then
1348 i := px_Req_line_attr_tbl.count+1;
1349 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1350 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1351 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1352 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE66';
1353 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE66;
1354 end if;
1355 if asked_for_rec.PRICING_ATTRIBUTE67 is not null then
1356 i := px_Req_line_attr_tbl.count+1;
1357 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1358 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1359 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1360 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE67';
1361 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE67;
1362 end if;
1363 if asked_for_rec.PRICING_ATTRIBUTE68 is not null then
1364 i := px_Req_line_attr_tbl.count+1;
1365 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1366 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1367 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1368 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE68';
1369 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE68;
1370 end if;
1371 if asked_for_rec.PRICING_ATTRIBUTE69 is not null then
1372 i := px_Req_line_attr_tbl.count+1;
1373 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1374 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1375 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1376 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE69';
1377 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE69;
1378 end if;
1379
1380 if asked_for_rec.PRICING_ATTRIBUTE70 is not null then
1381 i := px_Req_line_attr_tbl.count+1;
1382 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1383 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1384 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1385 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE70';
1386 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE70;
1387 end if;
1388 if asked_for_rec.PRICING_ATTRIBUTE71 is not null then
1389 i := px_Req_line_attr_tbl.count+1;
1390 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1391 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1392 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1393 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE71';
1394 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE71;
1395 end if;
1396 if asked_for_rec.PRICING_ATTRIBUTE72 is not null then
1397 i := px_Req_line_attr_tbl.count+1;
1398 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1399 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1400 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1401 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE72';
1402 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE72;
1403 end if;
1404 if asked_for_rec.PRICING_ATTRIBUTE73 is not null then
1405 i := px_Req_line_attr_tbl.count+1;
1406 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1407 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1408 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1409 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE73';
1410 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE73;
1411 end if;
1412 if asked_for_rec.PRICING_ATTRIBUTE74 is not null then
1413 i := px_Req_line_attr_tbl.count+1;
1414 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1415 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1416 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1417 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE74';
1418 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE74;
1419 end if;
1420 if asked_for_rec.PRICING_ATTRIBUTE75 is not null then
1421 i := px_Req_line_attr_tbl.count+1;
1422 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1423 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1424 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1425 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE75';
1426 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE75;
1427 end if;
1428 if asked_for_rec.PRICING_ATTRIBUTE76 is not null then
1429 i := px_Req_line_attr_tbl.count+1;
1430 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1431 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1432 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1433 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE76';
1434 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE76;
1435 end if;
1436 if asked_for_rec.PRICING_ATTRIBUTE77 is not null then
1437 i := px_Req_line_attr_tbl.count+1;
1438 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1439 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1440 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1441 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE77';
1442 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE77;
1443 end if;
1444 if asked_for_rec.PRICING_ATTRIBUTE78 is not null then
1445 i := px_Req_line_attr_tbl.count+1;
1446 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1447 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1448 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1449 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE78';
1450 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE78;
1451 end if;
1452 if asked_for_rec.PRICING_ATTRIBUTE79 is not null then
1453 i := px_Req_line_attr_tbl.count+1;
1454 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1455 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1456 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1457 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE79';
1458 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE79;
1459 end if;
1460
1461 if asked_for_rec.PRICING_ATTRIBUTE80 is not null then
1462 i := px_Req_line_attr_tbl.count+1;
1463 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1464 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1465 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1466 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE80';
1467 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE80;
1468 end if;
1469 if asked_for_rec.PRICING_ATTRIBUTE81 is not null then
1470 i := px_Req_line_attr_tbl.count+1;
1471 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1472 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1473 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1474 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE81';
1475 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE81;
1476 end if;
1477 if asked_for_rec.PRICING_ATTRIBUTE82 is not null then
1478 i := px_Req_line_attr_tbl.count+1;
1479 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1480 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1481 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1482 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE82';
1483 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE82;
1484 end if;
1485 if asked_for_rec.PRICING_ATTRIBUTE83 is not null then
1486 i := px_Req_line_attr_tbl.count+1;
1487 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1488 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1489 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1490 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE83';
1491 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE83;
1492 end if;
1493 if asked_for_rec.PRICING_ATTRIBUTE84 is not null then
1494 i := px_Req_line_attr_tbl.count+1;
1495 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1496 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1497 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1498 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE84';
1499 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE84;
1500 end if;
1501 if asked_for_rec.PRICING_ATTRIBUTE85 is not null then
1502 i := px_Req_line_attr_tbl.count+1;
1503 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1504 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1505 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1506 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE85';
1507 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE85;
1508 end if;
1509 if asked_for_rec.PRICING_ATTRIBUTE86 is not null then
1510 i := px_Req_line_attr_tbl.count+1;
1511 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1512 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1513 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1514 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE86';
1515 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE86;
1516 end if;
1517 if asked_for_rec.PRICING_ATTRIBUTE87 is not null then
1518 i := px_Req_line_attr_tbl.count+1;
1519 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1520 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1521 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1522 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE87';
1523 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE87;
1524 end if;
1525 if asked_for_rec.PRICING_ATTRIBUTE88 is not null then
1526 i := px_Req_line_attr_tbl.count+1;
1527 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1528 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1529 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1530 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE88';
1531 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE88;
1532 end if;
1533 if asked_for_rec.PRICING_ATTRIBUTE89 is not null then
1534 i := px_Req_line_attr_tbl.count+1;
1535 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1536 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1537 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1538 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE89';
1539 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE89;
1540 end if;
1541 if asked_for_rec.PRICING_ATTRIBUTE90 is not null then
1542 i := px_Req_line_attr_tbl.count+1;
1543 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1544 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1545 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1546 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE90';
1547 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE90;
1548 end if;
1549 if asked_for_rec.PRICING_ATTRIBUTE91 is not null then
1550 i := px_Req_line_attr_tbl.count+1;
1551 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1552 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1553 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1554 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE91';
1555 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE91;
1556 end if;
1557 if asked_for_rec.PRICING_ATTRIBUTE92 is not null then
1558 i := px_Req_line_attr_tbl.count+1;
1559 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1560 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1561 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1562 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE92';
1563 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE92;
1564 end if;
1565 if asked_for_rec.PRICING_ATTRIBUTE93 is not null then
1566 i := px_Req_line_attr_tbl.count+1;
1567 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1568 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1569 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1570 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE93';
1571 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE93;
1572 end if;
1573 if asked_for_rec.PRICING_ATTRIBUTE94 is not null then
1574 i := px_Req_line_attr_tbl.count+1;
1575 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1576 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1577 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1578 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE94';
1579 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE94;
1580 end if;
1581 if asked_for_rec.PRICING_ATTRIBUTE95 is not null then
1582 i := px_Req_line_attr_tbl.count+1;
1583 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1584 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1585 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1586 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE95';
1587 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE95;
1588 end if;
1589 if asked_for_rec.PRICING_ATTRIBUTE96 is not null then
1590 i := px_Req_line_attr_tbl.count+1;
1591 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1592 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1593 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1594 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE96';
1595 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE96;
1596 end if;
1597 if asked_for_rec.PRICING_ATTRIBUTE97 is not null then
1598 i := px_Req_line_attr_tbl.count+1;
1599 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1600 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1601 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1602 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE97';
1603 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE97;
1604 end if;
1605 if asked_for_rec.PRICING_ATTRIBUTE98 is not null then
1606 i := px_Req_line_attr_tbl.count+1;
1607 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1608 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1609 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1610 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE98';
1611 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE98;
1612 end if;
1613 if asked_for_rec.PRICING_ATTRIBUTE99 is not null then
1614 i := px_Req_line_attr_tbl.count+1;
1615 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1616 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1617 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1618 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE99';
1619 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=asked_for_rec.PRICING_ATTRIBUTE99;
1620 end if;
1621 if asked_for_rec.PRICING_ATTRIBUTE100 is not null then
1622 i := px_Req_line_attr_tbl.count+1;
1623 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1624 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1625 px_Req_line_attr_tbl(i).pricing_context := asked_for_rec.pricing_context;
1626 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE100';
1627 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From:=asked_for_rec.PRICING_ATTRIBUTE100;
1628 end if;
1629
1630 else -- Copy the Qualifiers
1631 if asked_for_rec.PRICING_ATTRIBUTE1 is not null then -- Promotion
1632 i := px_Req_Qual_Tbl.count+1;
1633 px_Req_Qual_Tbl(i).Line_Index := p_Line_Index;
1634 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1635 px_Req_Qual_Tbl(i).Validated_Flag := 'N';
1636 ELSE
1637 px_Req_Qual_Tbl(i).Validated_Flag := 'Y';
1638 END IF;
1639 px_Req_Qual_Tbl(i).Qualifier_Context := asked_for_rec.pricing_context;
1640 px_Req_Qual_Tbl(i).Qualifier_Attribute := 'QUALIFIER_ATTRIBUTE1';
1641 px_Req_Qual_Tbl(i).Qualifier_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE1;
1642 end if;
1643 if asked_for_rec.PRICING_ATTRIBUTE2 is not null then --Deal Component
1644 i := px_Req_Qual_Tbl.count+1;
1645 px_Req_Qual_Tbl(i).Line_Index := p_Line_Index;
1646 --px_Req_Qual_Tbl(i).Validated_Flag := nvl(asked_for_rec.Override_Flag,'N');
1647 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1648 px_Req_Qual_Tbl(i).Validated_Flag := 'N';
1649 ELSE
1650 px_Req_Qual_Tbl(i).Validated_Flag := 'Y';
1651 END IF;
1652 px_Req_Qual_Tbl(i).Qualifier_Context := asked_for_rec.pricing_context;
1653 px_Req_Qual_Tbl(i).Qualifier_Attribute := 'QUALIFIER_ATTRIBUTE2';
1654 px_Req_Qual_Tbl(i).Qualifier_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE2;
1655 end if;
1656 if asked_for_rec.PRICING_ATTRIBUTE3 is not null then -- Coupons
1657 i := px_Req_Qual_Tbl.count+1;
1658 px_Req_Qual_Tbl(i).Line_Index := p_Line_Index;
1659 --px_Req_Qual_Tbl(i).Validated_Flag := nvl(asked_for_rec.Override_Flag,'N');
1660 IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1661 px_Req_Qual_Tbl(i).Validated_Flag := 'N';
1662 ELSE
1663 px_Req_Qual_Tbl(i).Validated_Flag := 'Y';
1664 END IF;
1665 px_Req_Qual_Tbl(i).Qualifier_Context := asked_for_rec.pricing_context;
1666 px_Req_Qual_Tbl(i).Qualifier_Attribute := 'QUALIFIER_ATTRIBUTE3';
1667 px_Req_Qual_Tbl(i).Qualifier_Attr_Value_From := asked_for_rec.PRICING_ATTRIBUTE3;
1668 end if;
1669 end if;
1670 end loop;
1671
1672 end Append_asked_for;
1673
1674
1675 procedure Append_asked_for(
1676 p_line_index NUMBER,
1677 p_pricing_attr_tbl ASO_QUOTE_PUB.Price_Attributes_Tbl_Type,
1678 px_Req_line_attr_tbl in out nocopy QP_PREQ_GRP.LINE_ATTR_TBL_TYPE,
1679 px_Req_qual_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.QUAL_TBL_TYPE)
1680 IS
1681 i NUMBER;
1682 l_price_list_id NUMBER;
1683 l_pricing_attr_rec ASO_QUOTE_PUB.Price_Attributes_Rec_Type;
1684 BEGIN
1685 FOR j IN 1..p_pricing_attr_tbl.count LOOP
1686 l_pricing_attr_rec := p_pricing_attr_tbl(j);
1687 IF l_pricing_attr_rec.flex_title = 'QP_ATTR_DEFNS_PRICING' THEN
1688 if l_pricing_attr_rec.PRICING_ATTRIBUTE1 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE1 <> FND_API.G_MISS_CHAR then
1689 i := px_Req_line_attr_tbl.count+1;
1690 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1691 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1692 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1693 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE1';
1694 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE1;
1695 end if;
1696 if l_pricing_attr_rec.PRICING_ATTRIBUTE2 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE2 <> FND_API.G_MISS_CHAR then
1697 i := px_Req_line_attr_tbl.count+1;
1698 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1699 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1700 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1701 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE2';
1702 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE2;
1703 end if;
1704 if l_pricing_attr_rec.PRICING_ATTRIBUTE3 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE3 <> FND_API.G_MISS_CHAR then
1705 i := px_Req_line_attr_tbl.count+1;
1706 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1707 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1708 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1709 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE3';
1710 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE3;
1711 end if;
1712 if l_pricing_attr_rec.PRICING_ATTRIBUTE4 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE4 <> FND_API.G_MISS_CHAR then
1713 i := px_Req_line_attr_tbl.count+1;
1714 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1715 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1716 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1717 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE4';
1718 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE4;
1719 end if;
1720 if l_pricing_attr_rec.PRICING_ATTRIBUTE5 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE5 <> FND_API.G_MISS_CHAR then
1721 i := px_Req_line_attr_tbl.count+1;
1722 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1723 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1724 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1725 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE5';
1726 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE5;
1727 end if;
1728 if l_pricing_attr_rec.PRICING_ATTRIBUTE6 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE6 <> FND_API.G_MISS_CHAR then
1729 i := px_Req_line_attr_tbl.count+1;
1730 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1731 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1732 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1733 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE6';
1734 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE6;
1735 end if;
1736 if l_pricing_attr_rec.PRICING_ATTRIBUTE7 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE7 <> FND_API.G_MISS_CHAR then
1737 i := px_Req_line_attr_tbl.count+1;
1738 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1739 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1740 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1741 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE7';
1742 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE7;
1743 end if;
1744 if l_pricing_attr_rec.PRICING_ATTRIBUTE8 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE8 <> FND_API.G_MISS_CHAR then
1745 i := px_Req_line_attr_tbl.count+1;
1746 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1747 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1748 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1749 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE8';
1750 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE8;
1751 end if;
1752 if l_pricing_attr_rec.PRICING_ATTRIBUTE9 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE9 <> FND_API.G_MISS_CHAR then
1753 i := px_Req_line_attr_tbl.count+1;
1754 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1755 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1756 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1757 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE9';
1758 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE9;
1759 end if;
1760
1761 if l_pricing_attr_rec.PRICING_ATTRIBUTE10 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE10 <> FND_API.G_MISS_CHAR then
1762 i := px_Req_line_attr_tbl.count+1;
1763 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1764 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1765 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1766 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE10';
1767 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE10;
1768 end if;
1769 if l_pricing_attr_rec.PRICING_ATTRIBUTE11 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE11 <> FND_API.G_MISS_CHAR then
1770 i := px_Req_line_attr_tbl.count+1;
1771 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1772 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1773 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1774 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE11';
1775 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE11;
1776 end if;
1777 if l_pricing_attr_rec.PRICING_ATTRIBUTE12 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE12 <> FND_API.G_MISS_CHAR then
1778 i := px_Req_line_attr_tbl.count+1;
1779 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1780 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1781 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1782 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE12';
1783 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE12;
1784 end if;
1785 if l_pricing_attr_rec.PRICING_ATTRIBUTE13 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE13 <> FND_API.G_MISS_CHAR then
1786 i := px_Req_line_attr_tbl.count+1;
1787 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1788 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1789 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1790 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE13';
1791 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE13;
1792 end if;
1793 if l_pricing_attr_rec.PRICING_ATTRIBUTE14 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE14 <> FND_API.G_MISS_CHAR then
1794 i := px_Req_line_attr_tbl.count+1;
1795 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1796 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1797 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1798 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE14';
1799 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE14;
1800 end if;
1801 if l_pricing_attr_rec.PRICING_ATTRIBUTE15 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE15 <> FND_API.G_MISS_CHAR then
1802 i := px_Req_line_attr_tbl.count+1;
1803 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1804 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1805 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1806 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE15';
1807 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE15;
1808 end if;
1809 if l_pricing_attr_rec.PRICING_ATTRIBUTE16 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE16 <> FND_API.G_MISS_CHAR then
1810 i := px_Req_line_attr_tbl.count+1;
1811 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1812 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1813 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1814 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE16';
1815 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE16;
1816 end if;
1817 if l_pricing_attr_rec.PRICING_ATTRIBUTE17 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE17 <> FND_API.G_MISS_CHAR then
1818 i := px_Req_line_attr_tbl.count+1;
1819 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1820 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1821 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1822 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE17';
1823 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE17;
1824 end if;
1825 if l_pricing_attr_rec.PRICING_ATTRIBUTE18 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE18 <> FND_API.G_MISS_CHAR then
1826 i := px_Req_line_attr_tbl.count+1;
1827 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1828 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1829 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1830 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE18';
1831 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE18;
1832 end if;
1833 if l_pricing_attr_rec.PRICING_ATTRIBUTE19 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE19 <> FND_API.G_MISS_CHAR then
1834 i := px_Req_line_attr_tbl.count+1;
1835 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1836 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1837 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1838 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE19';
1839 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE19;
1840 end if;
1841
1842 if l_pricing_attr_rec.PRICING_ATTRIBUTE20 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE20 <> FND_API.G_MISS_CHAR then
1843 i := px_Req_line_attr_tbl.count+1;
1844 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1845 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1846 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1847 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE20';
1848 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE20;
1849 end if;
1850 if l_pricing_attr_rec.PRICING_ATTRIBUTE21 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE21 <> FND_API.G_MISS_CHAR then
1851 i := px_Req_line_attr_tbl.count+1;
1852 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1853 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1854 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1855 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE21';
1856 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE21;
1857 end if;
1858 if l_pricing_attr_rec.PRICING_ATTRIBUTE22 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE22 <> FND_API.G_MISS_CHAR then
1859 i := px_Req_line_attr_tbl.count+1;
1860 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1861 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1862 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1863 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE22';
1864 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE22;
1865 end if;
1866 if l_pricing_attr_rec.PRICING_ATTRIBUTE23 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE23 <> FND_API.G_MISS_CHAR then
1867 i := px_Req_line_attr_tbl.count+1;
1868 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1869 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1870 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1871 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE23';
1872 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE23;
1873 end if;
1874 if l_pricing_attr_rec.PRICING_ATTRIBUTE24 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE24 <> FND_API.G_MISS_CHAR then
1875 i := px_Req_line_attr_tbl.count+1;
1876 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1877 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1878 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1879 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE24';
1880 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE24;
1881 end if;
1882 if l_pricing_attr_rec.PRICING_ATTRIBUTE25 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE25 <> FND_API.G_MISS_CHAR then
1883 i := px_Req_line_attr_tbl.count+1;
1884 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1885 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1886 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1887 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE25';
1888 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE25;
1889 end if;
1890 if l_pricing_attr_rec.PRICING_ATTRIBUTE26 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE26 <> FND_API.G_MISS_CHAR then
1891 i := px_Req_line_attr_tbl.count+1;
1892 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1893 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1894 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1895 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE26';
1896 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE26;
1897 end if;
1898 if l_pricing_attr_rec.PRICING_ATTRIBUTE27 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE27 <> FND_API.G_MISS_CHAR then
1899 i := px_Req_line_attr_tbl.count+1;
1900 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1901 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1902 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1903 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE27';
1904 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE27;
1905 end if;
1906 if l_pricing_attr_rec.PRICING_ATTRIBUTE28 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE28 <> FND_API.G_MISS_CHAR then
1907 i := px_Req_line_attr_tbl.count+1;
1908 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1909 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1910 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1911 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE28';
1912 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE28;
1913 end if;
1914 if l_pricing_attr_rec.PRICING_ATTRIBUTE29 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE29 <> FND_API.G_MISS_CHAR then
1915 i := px_Req_line_attr_tbl.count+1;
1916 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1917 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1918 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1919 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE29';
1920 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE29;
1921 end if;
1922
1923 if l_pricing_attr_rec.PRICING_ATTRIBUTE30 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE30 <> FND_API.G_MISS_CHAR then
1924 i := px_Req_line_attr_tbl.count+1;
1925 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1926 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1927 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1928 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE30';
1929 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE30;
1930 end if;
1931 if l_pricing_attr_rec.PRICING_ATTRIBUTE31 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE31 <> FND_API.G_MISS_CHAR then
1932 i := px_Req_line_attr_tbl.count+1;
1933 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1934 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1935 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1936 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE31';
1937 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE31;
1938 end if;
1939 if l_pricing_attr_rec.PRICING_ATTRIBUTE32 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE32 <> FND_API.G_MISS_CHAR then
1940 i := px_Req_line_attr_tbl.count+1;
1941 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1942 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1943 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1944 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE32';
1945 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE32;
1946 end if;
1947 if l_pricing_attr_rec.PRICING_ATTRIBUTE33 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE33 <> FND_API.G_MISS_CHAR then
1948 i := px_Req_line_attr_tbl.count+1;
1949 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1950 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1951 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1952 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE33';
1953 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE33;
1954 end if;
1955 if l_pricing_attr_rec.PRICING_ATTRIBUTE34 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE34 <> FND_API.G_MISS_CHAR then
1956 i := px_Req_line_attr_tbl.count+1;
1957 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1958 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1959 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1960 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE34';
1961 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE34;
1962 end if;
1963 if l_pricing_attr_rec.PRICING_ATTRIBUTE35 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE35 <> FND_API.G_MISS_CHAR then
1964 i := px_Req_line_attr_tbl.count+1;
1965 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1966 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1967 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1968 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE35';
1969 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE35;
1970 end if;
1971 if l_pricing_attr_rec.PRICING_ATTRIBUTE36 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE36 <> FND_API.G_MISS_CHAR then
1972 i := px_Req_line_attr_tbl.count+1;
1973 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1974 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1975 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1976 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE36';
1977 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE36;
1978 end if;
1979 if l_pricing_attr_rec.PRICING_ATTRIBUTE37 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE37 <> FND_API.G_MISS_CHAR then
1980 i := px_Req_line_attr_tbl.count+1;
1981 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1982 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1983 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1984 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE37';
1985 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE37;
1986 end if;
1987 if l_pricing_attr_rec.PRICING_ATTRIBUTE38 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE38 <> FND_API.G_MISS_CHAR then
1988 i := px_Req_line_attr_tbl.count+1;
1989 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1990 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1991 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
1992 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE38';
1993 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE38;
1994 end if;
1995 if l_pricing_attr_rec.PRICING_ATTRIBUTE39 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE39 <> FND_API.G_MISS_CHAR then
1996 i := px_Req_line_attr_tbl.count+1;
1997 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
1998 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
1999 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2000 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE39';
2001 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE39;
2002 end if;
2003
2004 if l_pricing_attr_rec.PRICING_ATTRIBUTE40 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE40 <> FND_API.G_MISS_CHAR then
2005 i := px_Req_line_attr_tbl.count+1;
2006 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2007 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2008 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2009 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE40';
2010 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE40;
2011 end if;
2012 if l_pricing_attr_rec.PRICING_ATTRIBUTE41 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE41 <> FND_API.G_MISS_CHAR then
2013 i := px_Req_line_attr_tbl.count+1;
2014 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2015 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2016 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2017 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE41';
2018 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE41;
2019 end if;
2020 if l_pricing_attr_rec.PRICING_ATTRIBUTE42 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE42 <> FND_API.G_MISS_CHAR then
2021 i := px_Req_line_attr_tbl.count+1;
2022 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2023 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2024 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2025 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE42';
2026 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE42;
2027 end if;
2028 if l_pricing_attr_rec.PRICING_ATTRIBUTE43 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE43 <> FND_API.G_MISS_CHAR then
2029 i := px_Req_line_attr_tbl.count+1;
2030 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2031 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2032 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2033 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE43';
2034 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE43;
2035 end if;
2036 if l_pricing_attr_rec.PRICING_ATTRIBUTE44 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE44 <> FND_API.G_MISS_CHAR then
2037 i := px_Req_line_attr_tbl.count+1;
2038 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2039 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2040 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2041 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE44';
2042 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE44;
2043 end if;
2044 if l_pricing_attr_rec.PRICING_ATTRIBUTE45 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE45 <> FND_API.G_MISS_CHAR then
2045 i := px_Req_line_attr_tbl.count+1;
2046 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2047 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2048 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2049 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE45';
2050 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE45;
2051 end if;
2052 if l_pricing_attr_rec.PRICING_ATTRIBUTE46 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE46 <> FND_API.G_MISS_CHAR then
2053 i := px_Req_line_attr_tbl.count+1;
2054 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2055 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2056 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2057 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE46';
2058 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE46;
2059 end if;
2060 if l_pricing_attr_rec.PRICING_ATTRIBUTE47 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE47 <> FND_API.G_MISS_CHAR then
2061 i := px_Req_line_attr_tbl.count+1;
2062 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2063 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2064 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2065 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE47';
2066 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE47;
2067 end if;
2068 if l_pricing_attr_rec.PRICING_ATTRIBUTE48 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE48 <> FND_API.G_MISS_CHAR then
2069 i := px_Req_line_attr_tbl.count+1;
2070 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2071 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2072 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2073 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE48';
2074 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE48;
2075 end if;
2076 if l_pricing_attr_rec.PRICING_ATTRIBUTE49 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE49 <> FND_API.G_MISS_CHAR then
2077 i := px_Req_line_attr_tbl.count+1;
2078 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2079 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2080 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2081 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE49';
2082 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE49;
2083 end if;
2084
2085 if l_pricing_attr_rec.PRICING_ATTRIBUTE50 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE50 <> FND_API.G_MISS_CHAR then
2086 i := px_Req_line_attr_tbl.count+1;
2087 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2088 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2089 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2090 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE50';
2091 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE50;
2092 end if;
2093 if l_pricing_attr_rec.PRICING_ATTRIBUTE51 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE51 <> FND_API.G_MISS_CHAR then
2094 i := px_Req_line_attr_tbl.count+1;
2095 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2096 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2097 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2098 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE51';
2099 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE51;
2100 end if;
2101 if l_pricing_attr_rec.PRICING_ATTRIBUTE52 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE52 <> FND_API.G_MISS_CHAR then
2102 i := px_Req_line_attr_tbl.count+1;
2103 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2104 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2105 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2106 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE52';
2107 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE52;
2108 end if;
2109 if l_pricing_attr_rec.PRICING_ATTRIBUTE53 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE53 <> FND_API.G_MISS_CHAR then
2110 i := px_Req_line_attr_tbl.count+1;
2111 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2112 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2113 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2114 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE53';
2115 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE53;
2116 end if;
2117 if l_pricing_attr_rec.PRICING_ATTRIBUTE54 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE54 <> FND_API.G_MISS_CHAR then
2118 i := px_Req_line_attr_tbl.count+1;
2119 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2120 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2121 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2122 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE54';
2123 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE54;
2124 end if;
2125 if l_pricing_attr_rec.PRICING_ATTRIBUTE55 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE55 <> FND_API.G_MISS_CHAR then
2126 i := px_Req_line_attr_tbl.count+1;
2127 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2128 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2129 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2130 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE55';
2131 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE55;
2132 end if;
2133 if l_pricing_attr_rec.PRICING_ATTRIBUTE56 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE56 <> FND_API.G_MISS_CHAR then
2134 i := px_Req_line_attr_tbl.count+1;
2135 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2136 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2137 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2138 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE56';
2139 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE56;
2140 end if;
2141 if l_pricing_attr_rec.PRICING_ATTRIBUTE57 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE57 <> FND_API.G_MISS_CHAR then
2142 i := px_Req_line_attr_tbl.count+1;
2143 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2144 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2145 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2146 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE57';
2147 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE57;
2148 end if;
2149 if l_pricing_attr_rec.PRICING_ATTRIBUTE58 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE58 <> FND_API.G_MISS_CHAR then
2150 i := px_Req_line_attr_tbl.count+1;
2151 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2152 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2153 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2154 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE58';
2155 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE58;
2156 end if;
2157 if l_pricing_attr_rec.PRICING_ATTRIBUTE59 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE59 <> FND_API.G_MISS_CHAR then
2158 i := px_Req_line_attr_tbl.count+1;
2159 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2160 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2161 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2162 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE59';
2163 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE59;
2164 end if;
2165
2166 if l_pricing_attr_rec.PRICING_ATTRIBUTE60 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE60 <> FND_API.G_MISS_CHAR then
2167 i := px_Req_line_attr_tbl.count+1;
2168 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2169 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2170 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2171 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE60';
2172 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE60;
2173 end if;
2174 if l_pricing_attr_rec.PRICING_ATTRIBUTE61 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE61 <> FND_API.G_MISS_CHAR then
2175 i := px_Req_line_attr_tbl.count+1;
2176 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2177 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2178 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2179 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE61';
2180 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE61;
2181 end if;
2182 if l_pricing_attr_rec.PRICING_ATTRIBUTE62 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE62 <> FND_API.G_MISS_CHAR then
2183 i := px_Req_line_attr_tbl.count+1;
2184 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2185 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2186 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2187 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE62';
2188 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE62;
2189 end if;
2190 if l_pricing_attr_rec.PRICING_ATTRIBUTE63 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE63 <> FND_API.G_MISS_CHAR then
2191 i := px_Req_line_attr_tbl.count+1;
2192 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2193 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2194 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2195 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE63';
2196 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE63;
2197 end if;
2198 if l_pricing_attr_rec.PRICING_ATTRIBUTE64 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE64 <> FND_API.G_MISS_CHAR then
2199 i := px_Req_line_attr_tbl.count+1;
2200 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2201 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2202 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2203 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE64';
2204 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE64;
2205 end if;
2206 if l_pricing_attr_rec.PRICING_ATTRIBUTE65 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE65 <> FND_API.G_MISS_CHAR then
2207 i := px_Req_line_attr_tbl.count+1;
2208 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2209 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2210 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2211 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE65';
2212 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE65;
2213 end if;
2214 if l_pricing_attr_rec.PRICING_ATTRIBUTE66 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE66 <> FND_API.G_MISS_CHAR then
2215 i := px_Req_line_attr_tbl.count+1;
2216 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2217 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2218 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2219 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE66';
2220 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE66;
2221 end if;
2222 if l_pricing_attr_rec.PRICING_ATTRIBUTE67 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE67 <> FND_API.G_MISS_CHAR then
2223 i := px_Req_line_attr_tbl.count+1;
2224 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2225 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2226 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2227 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE67';
2228 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE67;
2229 end if;
2230 if l_pricing_attr_rec.PRICING_ATTRIBUTE68 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE68 <> FND_API.G_MISS_CHAR then
2231 i := px_Req_line_attr_tbl.count+1;
2232 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2233 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2234 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2235 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE68';
2236 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE68;
2237 end if;
2238 if l_pricing_attr_rec.PRICING_ATTRIBUTE69 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE69 <> FND_API.G_MISS_CHAR then
2239 i := px_Req_line_attr_tbl.count+1;
2240 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2241 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2242 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2243 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE69';
2244 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE69;
2245 end if;
2246
2247 if l_pricing_attr_rec.PRICING_ATTRIBUTE70 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE70 <> FND_API.G_MISS_CHAR then
2248 i := px_Req_line_attr_tbl.count+1;
2249 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2250 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2251 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2252 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE70';
2253 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE70;
2254 end if;
2255 if l_pricing_attr_rec.PRICING_ATTRIBUTE71 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE71 <> FND_API.G_MISS_CHAR then
2256 i := px_Req_line_attr_tbl.count+1;
2257 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2258 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2259 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2260 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE71';
2261 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE71;
2262 end if;
2263 if l_pricing_attr_rec.PRICING_ATTRIBUTE72 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE72 <> FND_API.G_MISS_CHAR then
2264 i := px_Req_line_attr_tbl.count+1;
2265 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2266 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2267 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2268 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE72';
2269 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE72;
2270 end if;
2271 if l_pricing_attr_rec.PRICING_ATTRIBUTE73 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE73 <> FND_API.G_MISS_CHAR then
2272 i := px_Req_line_attr_tbl.count+1;
2273 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2274 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2275 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2276 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE73';
2277 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE73;
2278 end if;
2279 if l_pricing_attr_rec.PRICING_ATTRIBUTE74 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE74 <> FND_API.G_MISS_CHAR then
2280 i := px_Req_line_attr_tbl.count+1;
2281 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2282 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2283 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2284 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE74';
2285 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE74;
2286 end if;
2287 if l_pricing_attr_rec.PRICING_ATTRIBUTE75 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE75 <> FND_API.G_MISS_CHAR then
2288 i := px_Req_line_attr_tbl.count+1;
2289 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2290 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2291 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2292 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE75';
2293 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE75;
2294 end if;
2295 if l_pricing_attr_rec.PRICING_ATTRIBUTE76 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE76 <> FND_API.G_MISS_CHAR then
2296 i := px_Req_line_attr_tbl.count+1;
2297 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2298 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2299 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2300 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE76';
2301 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE76;
2302 end if;
2303 if l_pricing_attr_rec.PRICING_ATTRIBUTE77 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE77 <> FND_API.G_MISS_CHAR then
2304 i := px_Req_line_attr_tbl.count+1;
2305 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2306 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2307 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2308 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE77';
2309 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE77;
2310 end if;
2311 if l_pricing_attr_rec.PRICING_ATTRIBUTE78 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE78 <> FND_API.G_MISS_CHAR then
2312 i := px_Req_line_attr_tbl.count+1;
2313 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2314 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2315 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2316 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE78';
2317 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE78;
2318 end if;
2319 if l_pricing_attr_rec.PRICING_ATTRIBUTE79 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE79 <> FND_API.G_MISS_CHAR then
2320 i := px_Req_line_attr_tbl.count+1;
2321 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2322 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2323 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2324 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE79';
2325 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE79;
2326 end if;
2327
2328 if l_pricing_attr_rec.PRICING_ATTRIBUTE80 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE80 <> FND_API.G_MISS_CHAR then
2329 i := px_Req_line_attr_tbl.count+1;
2330 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2331 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2332 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2333 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE80';
2334 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE80;
2335 end if;
2336 if l_pricing_attr_rec.PRICING_ATTRIBUTE81 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE81 <> FND_API.G_MISS_CHAR then
2337 i := px_Req_line_attr_tbl.count+1;
2338 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2339 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2340 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2341 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE81';
2342 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE81;
2343 end if;
2344 if l_pricing_attr_rec.PRICING_ATTRIBUTE82 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE82 <> FND_API.G_MISS_CHAR then
2345 i := px_Req_line_attr_tbl.count+1;
2346 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2347 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2348 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2349 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE82';
2350 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE82;
2351 end if;
2352 if l_pricing_attr_rec.PRICING_ATTRIBUTE83 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE83 <> FND_API.G_MISS_CHAR then
2353 i := px_Req_line_attr_tbl.count+1;
2354 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2355 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2356 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2357 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE83';
2358 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE83;
2359 end if;
2360 if l_pricing_attr_rec.PRICING_ATTRIBUTE84 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE84 <> FND_API.G_MISS_CHAR then
2361 i := px_Req_line_attr_tbl.count+1;
2362 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2363 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2364 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2365 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE84';
2366 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE84;
2367 end if;
2368 if l_pricing_attr_rec.PRICING_ATTRIBUTE85 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE85 <> FND_API.G_MISS_CHAR then
2369 i := px_Req_line_attr_tbl.count+1;
2370 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2371 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2372 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2373 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE85';
2374 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE85;
2375 end if;
2376 if l_pricing_attr_rec.PRICING_ATTRIBUTE86 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE86 <> FND_API.G_MISS_CHAR then
2377 i := px_Req_line_attr_tbl.count+1;
2378 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2379 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2380 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2381 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE86';
2382 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE86;
2383 end if;
2384 if l_pricing_attr_rec.PRICING_ATTRIBUTE87 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE87 <> FND_API.G_MISS_CHAR then
2385 i := px_Req_line_attr_tbl.count+1;
2386 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2387 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2388 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2389 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE87';
2390 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE87;
2391 end if;
2392 if l_pricing_attr_rec.PRICING_ATTRIBUTE88 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE88 <> FND_API.G_MISS_CHAR then
2393 i := px_Req_line_attr_tbl.count+1;
2394 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2395 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2396 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2397 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE88';
2398 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE88;
2399 end if;
2400 if l_pricing_attr_rec.PRICING_ATTRIBUTE89 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE89 <> FND_API.G_MISS_CHAR then
2401 i := px_Req_line_attr_tbl.count+1;
2402 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2403 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2404 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2405 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE89';
2406 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE89;
2407 end if;
2408
2409 if l_pricing_attr_rec.PRICING_ATTRIBUTE90 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE90 <> FND_API.G_MISS_CHAR then
2410 i := px_Req_line_attr_tbl.count+1;
2411 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2412 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2413 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2414 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE90';
2415 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE90;
2416 end if;
2417 if l_pricing_attr_rec.PRICING_ATTRIBUTE91 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE91 <> FND_API.G_MISS_CHAR then
2418 i := px_Req_line_attr_tbl.count+1;
2419 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2420 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2421 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2422 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE91';
2423 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE91;
2424 end if;
2425 if l_pricing_attr_rec.PRICING_ATTRIBUTE92 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE92 <> FND_API.G_MISS_CHAR then
2426 i := px_Req_line_attr_tbl.count+1;
2427 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2428 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2429 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2430 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE92';
2431 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE92;
2432 end if;
2433 if l_pricing_attr_rec.PRICING_ATTRIBUTE93 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE93 <> FND_API.G_MISS_CHAR then
2434 i := px_Req_line_attr_tbl.count+1;
2435 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2436 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2437 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2438 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE93';
2439 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE93;
2440 end if;
2441 if l_pricing_attr_rec.PRICING_ATTRIBUTE94 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE94 <> FND_API.G_MISS_CHAR then
2442 i := px_Req_line_attr_tbl.count+1;
2443 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2444 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2445 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2446 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE94';
2447 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE94;
2448 end if;
2449 if l_pricing_attr_rec.PRICING_ATTRIBUTE95 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE95 <> FND_API.G_MISS_CHAR then
2450 i := px_Req_line_attr_tbl.count+1;
2451 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2452 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2453 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2454 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE95';
2455 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE95;
2456 end if;
2457 if l_pricing_attr_rec.PRICING_ATTRIBUTE96 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE96 <> FND_API.G_MISS_CHAR then
2458 i := px_Req_line_attr_tbl.count+1;
2459 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2460 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2461 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2462 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE96';
2463 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE96;
2464 end if;
2465 if l_pricing_attr_rec.PRICING_ATTRIBUTE97 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE97 <> FND_API.G_MISS_CHAR then
2466 i := px_Req_line_attr_tbl.count+1;
2467 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2468 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2469 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2470 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE97';
2471 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE97;
2472 end if;
2473 if l_pricing_attr_rec.PRICING_ATTRIBUTE98 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE98 <> FND_API.G_MISS_CHAR then
2474 i := px_Req_line_attr_tbl.count+1;
2475 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2476 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2477 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2478 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE98';
2479 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE98;
2480 end if;
2481 if l_pricing_attr_rec.PRICING_ATTRIBUTE99 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE99 <> FND_API.G_MISS_CHAR then
2482 i := px_Req_line_attr_tbl.count+1;
2483 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2484 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2485 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2486 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE99';
2487 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From :=l_pricing_attr_rec.PRICING_ATTRIBUTE99;
2488 end if;
2489 if l_pricing_attr_rec.PRICING_ATTRIBUTE100 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE100 <> FND_API.G_MISS_CHAR then
2490 i := px_Req_line_attr_tbl.count+1;
2491 px_Req_line_attr_tbl(i).Line_Index := p_Line_Index;
2492 px_Req_line_attr_tbl(i).Validated_Flag := 'N';
2493 px_Req_line_attr_tbl(i).pricing_context := l_pricing_attr_rec.pricing_context;
2494 px_Req_line_attr_tbl(i).Pricing_Attribute := 'PRICING_ATTRIBUTE100';
2495 px_Req_line_attr_tbl(i).Pricing_Attr_Value_From:=l_pricing_attr_rec.PRICING_ATTRIBUTE100;
2496 end if;
2497
2498 ELSE -- Copy the Qualifiers
2499
2500 if ( l_pricing_attr_rec.PRICING_ATTRIBUTE1 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE1 <> FND_API.G_MISS_CHAR )then -- Promotion
2501 i := px_Req_Qual_Tbl.count+1;
2502 px_Req_Qual_Tbl(i).Line_Index := p_Line_Index;
2503 px_Req_Qual_Tbl(i).Validated_Flag := 'N';
2504 px_Req_Qual_Tbl(i).Qualifier_Context := l_pricing_attr_rec.pricing_context;
2505 px_Req_Qual_Tbl(i).Qualifier_Attribute := 'QUALIFIER_ATTRIBUTE1';
2506 px_Req_Qual_Tbl(i).Qualifier_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE1;
2507 end if;
2508
2509 if (l_pricing_attr_rec.PRICING_ATTRIBUTE2 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE2 <> FND_API.G_MISS_CHAR ) then --Deal Component
2510 i := px_Req_Qual_Tbl.count+1;
2511 px_Req_Qual_Tbl(i).Line_Index := p_Line_Index;
2512 px_Req_Qual_Tbl(i).Validated_Flag := 'N';
2513 px_Req_Qual_Tbl(i).Qualifier_Context := l_pricing_attr_rec.pricing_context;
2514 px_Req_Qual_Tbl(i).Qualifier_Attribute := 'QUALIFIER_ATTRIBUTE2';
2515 px_Req_Qual_Tbl(i).Qualifier_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE2;
2516 end if;
2517 if (l_pricing_attr_rec.PRICING_ATTRIBUTE3 is not null and l_pricing_attr_rec.PRICING_ATTRIBUTE3 <> FND_API.G_MISS_CHAR ) then -- Coupons
2518 i := px_Req_Qual_Tbl.count+1;
2519 px_Req_Qual_Tbl(i).Line_Index := p_Line_Index;
2520 px_Req_Qual_Tbl(i).Validated_Flag := 'N';
2521 px_Req_Qual_Tbl(i).Qualifier_Context := l_pricing_attr_rec.pricing_context;
2522 px_Req_Qual_Tbl(i).Qualifier_Attribute := 'QUALIFIER_ATTRIBUTE3';
2523 px_Req_Qual_Tbl(i).Qualifier_Attr_Value_From := l_pricing_attr_rec.PRICING_ATTRIBUTE3;
2524 end if;
2525 end if;
2526 end loop;
2527 end Append_asked_for;
2528
2529
2530
2531 procedure copy_Header_to_request(
2532 p_Request_Type VARCHAR2,
2533 p_pricing_event VARCHAR2,
2534 p_header_rec ASO_QUOTE_PUB.Qte_Header_Rec_Type,
2535 px_req_line_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.LINE_TBL_TYPE)
2536 IS
2537 BEGIN
2538 px_req_line_tbl(1).REQUEST_TYPE_CODE := p_Request_Type;
2539 px_req_line_tbl(1).PRICING_EVENT := p_pricing_event;
2540 px_req_line_tbl(1).LINE_INDEX := 1;
2541 px_req_line_tbl(1).LINE_TYPE_CODE := 'ORDER';
2542 px_req_line_tbl(1).CURRENCY_CODE := p_Header_rec.currency_code;
2543 px_req_line_tbl(1).PRICE_FLAG := 'Y';
2544 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2545 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:g_header_rec.PRICE_FROZEN_DATE '||ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,1,'N');
2546 END IF;
2547 /*FastTrak: Price effective date is assigned to the price frozen unless the price frozen date is null*/
2548 if ASO_PRICING_INT.g_header_rec.PRICE_FROZEN_DATE = FND_API.G_MISS_DATE
2549 OR ASO_PRICING_INT.g_header_rec.PRICE_FROZEN_DATE is NULL then
2550 px_req_line_tbl(1).PRICING_EFFECTIVE_DATE := trunc(sysdate);
2551 else
2552 px_req_line_tbl(1).PRICING_EFFECTIVE_DATE := trunc(ASO_PRICING_INT.g_header_rec.PRICE_FROZEN_DATE);
2553 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2554 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Header Request copy In else: px_req_line_tbl(1).PRICING_EFFECTIVE_DATE '
2555 ||px_req_line_tbl(1).PRICING_EFFECTIVE_DATE,1,'N');
2556 END IF;
2557 end if;
2558 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2559 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Header Request copy: px_req_line_tbl(1).PRICING_EFFECTIVE_DATE '
2560 ||px_req_line_tbl(1).PRICING_EFFECTIVE_DATE,1,'N');
2561 END IF;
2562 end Copy_Header_To_Request;
2563
2564 procedure copy_Line_to_request(
2565 p_Request_Type VARCHAR2,
2566 p_pricing_event VARCHAR2,
2567 p_line_rec ASO_QUOTE_PUB.Qte_Line_Rec_Type,
2568 p_line_dtl_rec ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type,
2569 p_control_rec IN ASO_PRICING_INT.PRICING_CONTROL_REC_TYPE,
2570 px_req_line_tbl IN OUT NOCOPY /* file.sql.39 change */ QP_PREQ_GRP.LINE_TBL_TYPE)
2571 is
2572 l_req_line_rec QP_PREQ_GRP.LINE_REC_TYPE;
2573 l_uom_rate NUMBER;
2574 begin
2575 /*
2576 * New Code: Passing quote line id to QP pl/sql tbl
2577 */
2578 l_req_line_rec.line_id := p_Line_rec.quote_line_id;
2579 l_req_line_rec.REQUEST_TYPE_CODE := p_Request_Type;
2580 l_req_line_rec.PRICING_EVENT :=p_pricing_event;
2581 l_req_line_rec.LINE_INDEX := px_req_line_tbl.count+1;
2582 l_req_line_rec.LINE_TYPE_CODE := 'LINE';
2583 l_req_line_rec.LINE_QUANTITY := p_Line_rec.quantity;
2584 l_req_line_rec.LINE_UOM_CODE := p_Line_rec.uom_code;
2585 l_req_line_rec.CURRENCY_CODE := p_Line_rec.currency_code;
2586 If p_Line_rec.line_list_price <> FND_API.G_MISS_NUM Then
2587 l_req_line_rec.UNIT_PRICE := p_Line_rec.line_list_price;
2588 Else
2589 l_req_line_rec.UNIT_PRICE := Null;
2590 End If;
2591 -- Added for Service Item after pathcset E
2592 If p_line_dtl_rec.service_period is not null
2593 AND p_line_dtl_rec.service_period <> fnd_api.g_miss_char then
2594 If (p_line_dtl_rec.service_period = p_Line_rec.uom_code) Then
2595 l_req_line_rec.UOM_QUANTITY := p_line_dtl_rec.service_duration;
2596 Else
2597 INV_CONVERT.INV_UM_CONVERSION(
2598 From_Unit => p_line_dtl_rec.service_period
2599 ,To_Unit => p_Line_rec.uom_code
2600 ,Item_ID => p_Line_rec.Inventory_item_id
2601 ,Uom_Rate => l_Uom_rate);
2602 l_req_line_rec.UOM_QUANTITY := p_line_dtl_rec.service_duration * l_uom_rate;
2603 End If;
2604 End If;
2605 -- Change for manual discount updating UPDATED_ADJUSTED_UNIT_PRICE
2606 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2607 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In Copy line to req p_Line_rec.SELLING_PRICE_CHANGE '
2608 ||p_Line_rec.SELLING_PRICE_CHANGE,1,'Y');
2609 END IF;
2610 If p_Line_rec.SELLING_PRICE_CHANGE = 'Y' then
2611 l_req_line_rec.UPDATED_ADJUSTED_UNIT_PRICE := p_Line_rec.line_quote_price;
2612 End If;
2613
2614 -- Bug 2430534.Should set this flag only for child service line, normal line to 'Y'
2615 -- If the line is from order or customer product set it to 'N'.
2616
2617 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2618 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In Copy line to req p_Line_rec.LINE_CATEGORY_CODE :'
2619 ||p_Line_rec.LINE_CATEGORY_CODE,1,'Y');
2620 END IF;
2621 IF p_Line_rec.LINE_CATEGORY_CODE IN ('SERVICE_REF_ORDER_LINE','SERVICE_REF_CUSTOMER_LINE') THEN
2622 l_req_line_rec.PRICE_FLAG := 'N';
2623 ELSE
2624 l_req_line_rec.PRICE_FLAG := 'Y';
2625 END IF;
2626 /*FastTrak: Price effective date is assigned to the price frozen unless the price frozen date is null*/
2627 if ASO_PRICING_INT.g_header_rec.PRICE_FROZEN_DATE = FND_API.G_MISS_DATE
2628 OR ASO_PRICING_INT.g_header_rec.PRICE_FROZEN_DATE is NULL then
2629 l_req_line_rec.PRICING_EFFECTIVE_DATE := trunc(sysdate);
2630 else
2631 l_req_line_rec.PRICING_EFFECTIVE_DATE := trunc(ASO_PRICING_INT.g_header_rec.PRICE_FROZEN_DATE);
2632 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2633 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Line Request copy in Else: l_req_line_rec.PRICING_EFFECTIVE_DATE '
2634 ||l_req_line_rec.PRICING_EFFECTIVE_DATE,1,'N');
2635 END IF;
2636 end if;
2637 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2638 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Line Request copy: l_req_line_rec.PRICING_EFFECTIVE_DATE '
2639 ||l_req_line_rec.PRICING_EFFECTIVE_DATE,1,'N');
2640 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:copy line request: p_Line_rec.CHARGE_PERIODICITY_CODE '
2641 ||p_Line_rec.CHARGE_PERIODICITY_CODE,1,'N');
2642 END IF;
2643 l_req_line_rec.CHARGE_PERIODICITY_CODE := p_Line_rec.CHARGE_PERIODICITY_CODE;
2644
2645 px_req_line_tbl(px_req_line_tbl.count+1) := l_req_line_rec;
2646 end copy_Line_to_request;
2647
2648 PROCEDURE Copy_Request_To_Quote(
2649 p_req_line_tbl IN QP_PREQ_GRP.LINE_TBL_TYPE,
2650 p_req_line_qual IN QP_PREQ_GRP.QUAL_TBL_TYPE,
2651 p_req_line_attr_tbl IN QP_PREQ_GRP.LINE_ATTR_TBL_TYPE,
2652 p_req_line_detail_tbl IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
2653 p_req_line_detail_qual_tbl IN QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE,
2654 p_req_line_detail_attr_tbl IN QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE,
2655 p_req_related_lines_tbl IN QP_PREQ_GRP.RELATED_LINES_TBL_TYPE,
2656 p_qte_header_rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
2657 p_qte_line_tbl IN ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
2658 p_qte_line_dtl_tbl IN ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type,
2659 x_qte_header_rec OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Header_Rec_Type,
2660 x_qte_line_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
2661 x_qte_line_dtl_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type,
2662 x_price_adj_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Tbl_Type,
2663 x_price_adj_attr_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.PRICE_ADJ_ATTR_Tbl_Type,
2664 x_price_adj_rltship_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type)
2665 IS
2666 l_index NUMBER;
2667 l_req_line_rec QP_PREQ_GRP.LINE_REC_TYPE;
2668 l_req_line_dtl_rec QP_PREQ_GRP.LINE_DETAIL_REC_TYPE;
2669 l_qte_line_rec ASO_QUOTE_PUB.Qte_Line_Rec_Type;
2670 i BINARY_INTEGER;
2671 j BINARY_INTEGER;
2672 l_base_price NUMBER := FND_API.G_MISS_NUM;
2673 l_price_adj_rltship_rec ASO_QUOTE_PUB.Price_Adj_Rltship_Rec_Type;
2674 l_qte_line_prcd Index_Link_Tbl_Type;
2675 l_price_adj_prcd Index_Link_Tbl_Type;
2676 lx_price_adj_prcd Index_Link_Tbl_Type;
2677 l_message_text VARCHAR2(2000);
2678 l_count1 NUMBER;
2679 l_my_index NUMBER;
2680
2681 BEGIN
2682 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2683 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Begin In Copy_Request_To_Quote', 1, 'Y');
2684 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Building the qte line table.....'||p_req_line_tbl.count,1,'N');
2685 END IF;
2686 i := p_req_line_tbl.FIRST;
2687 WHILE i IS NOT NULL LOOP
2688 l_req_line_rec := p_req_line_tbl(i);
2689 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2690 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Copy_Request_To_Quote:line_type_code - '
2691 ||l_req_line_rec.line_type_code, 1, 'N');
2692 END IF;
2693 IF l_req_line_rec.line_type_code = 'LINE' then
2694 IF p_qte_line_tbl.EXISTS(l_req_line_rec.line_index-1) THEN
2695 l_qte_line_rec := p_qte_line_tbl(l_req_line_rec.line_index-1);
2696 END IF;
2697 l_qte_line_rec.operation_code := 'UPDATE';
2698 l_qte_line_rec.line_quote_price := NVL(l_req_line_rec.adjusted_unit_price,
2699 l_req_line_rec.unit_price);
2700 l_qte_line_rec.line_list_price := l_req_line_rec.unit_price ;
2701 l_qte_line_rec.line_adjusted_amount := l_qte_line_rec.line_quote_price
2702 - l_qte_line_rec.line_list_price;
2703
2704 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2705 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In Copy Req to Quote line_list_price: '
2706 ||l_qte_line_rec.line_list_price,1,'N');
2707 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In Copy Req to Quote line_adjusted_amount: '
2708 ||l_qte_line_rec.line_adjusted_amount,1,'N');
2709 END IF;
2710
2711 IF l_qte_line_rec.line_list_price <> 0 THEN
2712 l_qte_line_rec.line_adjusted_percent :=
2713 (l_qte_line_rec.line_adjusted_amount/l_qte_line_rec.line_list_price)*100;
2714 END IF;
2715 l_qte_line_rec.quantity := l_req_line_rec.priced_quantity ;
2716 l_qte_line_rec.uom_code := l_req_line_rec.priced_uom_code ;
2717
2718 x_qte_line_tbl(x_qte_line_tbl.count+1) := l_qte_line_rec;
2719 l_qte_line_prcd(i) := x_qte_line_tbl.count;
2720 ELSE
2721 NULL;
2722 END IF;
2723 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2724 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:*********************NEXT LINE********************************',1,'N');
2725 END IF;
2726 i := p_req_line_tbl.NEXT(i);
2727 END LOOP;
2728
2729 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2730 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Building the detail line tbl.....',1,'N');
2731 END IF;
2732 i := p_req_line_detail_tbl.FIRST;
2733 l_my_index := 1;
2734 WHILE I IS NOT NULL LOOP
2735 l_index := p_req_line_detail_Tbl(i).line_index;
2736 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2737 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Status_code for line_detail_tbl: '
2738 ||p_req_line_tbl(l_index).status_code,1,'N');
2739 END IF;
2740 IF p_req_line_tbl(l_index).status_code in (
2741 QP_PREQ_GRP.G_STATUS_UPDATED,
2742 QP_PREQ_GRP.G_STATUS_GSA_VIOLATION,
2743 QP_PREQ_GRP.G_STATUS_UNCHANGED)
2744 THEN
2745 l_req_line_dtl_rec := p_req_line_detail_Tbl(i);
2746 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2747 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Req_Line_dtl_rec.created_from_list_type_code:'
2748 ||l_req_line_dtl_rec.created_from_list_type_code, 1, 'N');
2749 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Req_Line_dtl_rec.list_line_type_code:'
2750 ||l_req_line_dtl_rec.list_line_type_code, 1, 'N');
2751 END IF;
2752 IF l_req_line_dtl_rec.created_from_list_type_code in ('PRL','AGR')
2753 AND l_req_line_dtl_rec.list_line_type_code in ( 'PLL','PBH') THEN
2754 --education change: changed to priced_price_list_id instead of price_list_id
2755 x_qte_line_tbl(l_qte_line_prcd(l_index)).priced_price_list_id :=
2756 l_req_line_dtl_rec.list_header_id;
2757 End IF;
2758 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2759 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_req_line_tbl(l_index).line_type_code:'
2760 ||p_req_line_tbl(l_index).line_type_code, 1, 'N');
2761 END IF;
2762 IF l_req_line_dtl_rec.created_from_list_type_code in ('PRL','AGR') AND
2763 l_req_line_dtl_rec.list_line_type_code in( 'PLL') THEN
2764 NULL;
2765 ELSIF p_req_line_tbl(l_index).line_type_code = 'ORDER' THEN
2766 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2767 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In elseif Req_Line_dtl_rec.created_from_list_type_code:'
2768 ||l_req_line_dtl_rec.created_from_list_type_code, 1, 'N');
2769 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In elseif Req_Line_dtl_rec.LIST_LINE_ID:'
2770 ||l_req_line_dtl_rec.LIST_LINE_ID, 1, 'N');
2771 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:IF p_req_line_tbl(l_index).line_type_code is ORDER:'
2772 ||p_req_line_tbl(l_index).line_type_code,1, 'N');
2773 END IF;
2774 Copy_Req_Dtl_To_Price_Adj(
2775 p_qte_header_rec => p_qte_header_rec,
2776 p_req_line_dtl_index => i,
2777 p_req_line_detail_rec => l_req_line_dtl_rec,
2778 p_req_line_detail_qual_tbl => p_req_line_detail_qual_tbl,
2779 p_req_line_detail_attr_tbl => p_req_line_detail_attr_tbl,
2780 px_price_adj_tbl => x_price_adj_tbl,
2781 px_price_adj_attr_tbl => x_price_adj_attr_tbl,
2782 px_price_adj_prcd => l_price_adj_prcd);
2783 ELSE
2784 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2785 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In Else Req_Line_dtl_rec.created_from_list_type_code:'
2786 ||l_req_line_dtl_rec.created_from_list_type_code, 1, 'N');
2787 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In elseif Req_Line_dtl_rec.LIST_LINE_ID:'
2788 ||l_req_line_dtl_rec.LIST_LINE_ID, 1, 'N');
2789 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:In Else If p_req_line_tbl(l_index).line_type_code is not Order:'
2790 ||p_req_line_tbl(l_index).line_type_code,1,'N');
2791 END IF;
2792 Copy_Req_Dtl_To_Price_Adj(
2793 p_qte_line_index => l_index-1,
2794 p_qte_line_rec => x_qte_line_tbl(l_qte_line_prcd(l_index)),
2795 p_req_line_dtl_index => i,
2796 p_req_line_detail_rec => l_req_line_dtl_rec,
2797 p_req_line_detail_qual_tbl => p_req_line_detail_qual_tbl,
2798 p_req_line_detail_attr_tbl => p_req_line_detail_attr_tbl,
2799 px_price_adj_tbl => x_price_adj_tbl,
2800 px_price_adj_attr_tbl => x_price_adj_attr_tbl,
2801 px_price_adj_prcd => l_price_adj_prcd);
2802 END IF;
2803 lx_price_adj_prcd(i):= x_price_adj_tbl.count;
2804 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2805 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:i: lx_price_adj_prcd(i): '||i||': '||lx_price_adj_prcd(i),1,'N');
2806 END IF;
2807 END IF;
2808 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2809 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:***************************NEXT ADJUST***************************',1,'N');
2810 END IF;
2811 i := p_req_line_detail_tbl.NEXT(i);
2812 END LOOP;
2813
2814 /*Building the related adjustment record*/
2815 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2816 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Building the p_req_related_lines_tbl with no of rec:'
2817 ||p_req_related_lines_tbl.count,1,'N');
2818 END IF;
2819 i := p_req_related_lines_tbl.FIRST;
2820 WHILE i IS NOT NULL LOOP
2821 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2822 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Req_Line_dtl_rec.Relationship_Type_Code:'
2823 ||p_Req_Related_Lines_Tbl(i).Relationship_Type_Code, 1, 'N');
2824 END IF;
2825 IF p_Req_Related_Lines_Tbl(i).Relationship_Type_Code
2826 IN (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
2827 AND p_req_related_lines_tbl(i).LINE_DETAIL_INDEX is not null
2828 AND p_req_related_lines_tbl(i).RELATED_LINE_DETAIL_INDEX is not null
2829 AND lx_price_adj_prcd.EXISTS(p_req_related_lines_tbl(i).LINE_DETAIL_INDEX)
2830 AND lx_price_adj_prcd.EXISTS(p_req_related_lines_tbl(i).RELATED_LINE_DETAIL_INDEX)
2831 THEN
2832 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2833 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_req_related_lines_tbl(i).line_index:'
2834 ||p_req_related_lines_tbl(i).line_index,1,'N');
2835 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_req_related_lines_tbl(i).line_detail_index:'
2836 ||p_req_related_lines_tbl(i).line_detail_index,1,'N');
2837 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_req_related_lines_tbl(i).related_line_detail_index:'
2838 ||p_req_related_lines_tbl(i).related_line_detail_index,1,'N');
2839 END IF;
2840 If l_qte_line_prcd.EXISTS(p_req_related_lines_tbl(i).line_index) Then
2841 l_price_adj_rltship_rec.QTE_LINE_INDEX :=
2842 l_qte_line_prcd(p_req_related_lines_tbl(i).line_index);
2843 End If;
2844
2845 IF p_qte_line_tbl.exists((p_req_related_lines_tbl(i).line_index-1)) THEN
2846 l_price_adj_rltship_rec.quote_line_id :=
2847 p_qte_line_tbl((p_req_related_lines_tbl(i).line_index-1)).quote_line_id;
2848 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2849 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:p_qte_line_tbl((p_req_related_lines_tbl(i).line_index-1)).quote_line_id: '
2850 ||p_qte_line_tbl((p_req_related_lines_tbl(i).line_index-1)).quote_line_id,1,'N');
2851 END IF;
2852 END IF;
2853 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2854 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Quote Line id '||l_price_adj_rltship_rec.quote_line_id, 1, 'N');
2855 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Before assigning LINE_DETAIL_INDEX(=>PRICE_ADJ_INDEX) '
2856 ||lx_price_adj_prcd(p_req_related_lines_tbl(i).LINE_DETAIL_INDEX), 1, 'N');
2857 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Before assigning RELATED_LINE_DETAIL_INDEX(=>RLTD_PRICE_ADJ_INDEX) '
2858 ||lx_price_adj_prcd(p_req_related_lines_tbl(i).RELATED_LINE_DETAIL_INDEX), 1, 'N');
2859 END IF;
2860 l_price_adj_rltship_rec.PRICE_ADJ_INDEX :=
2861 lx_price_adj_prcd(p_req_related_lines_tbl(i).LINE_DETAIL_INDEX);
2862 l_price_adj_rltship_rec.RLTD_PRICE_ADJ_INDEX :=
2863 lx_price_adj_prcd(p_req_related_lines_tbl(i).RELATED_LINE_DETAIL_INDEX);
2864 l_count1 := x_price_adj_rltship_tbl.count;
2865 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2866 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:Count x_price_adj_rltship_tbl.count before assigning the record: '
2867 ||l_count1,1,'N');
2868 END IF;
2869 x_price_adj_rltship_tbl(x_price_adj_rltship_tbl.count+1) := l_price_adj_rltship_rec;
2870 END IF;--p_Req_Related_Lines_Tbl(i).Relationship_Type_Code
2871 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2872 aso_debug_pub.add('ASO_PRICING_CALLBACK_PVT:**************************NEXT RLTD ADJ********************************',1,'N');
2873 END IF;
2874 i := p_req_related_lines_tbl.next(i);
2875 END LOOP;
2876
2877 END Copy_Request_To_Quote;
2878
2879
2880 PROCEDURE Copy_Req_Dtl_To_Price_Adj (
2881 p_qte_line_index IN NUMBER,
2882 p_qte_line_rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type,
2883 p_req_line_dtl_index IN NUMBER,
2884 p_req_line_detail_rec IN QP_PREQ_GRP.LINE_DETAIL_REC_TYPE,
2885 p_req_line_detail_qual_tbl IN QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE,
2886 p_req_line_detail_attr_tbl IN QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE,
2887 px_price_adj_tbl IN OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Tbl_Type,
2888 px_price_adj_attr_tbl IN OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.PRICE_ADJ_ATTR_Tbl_Type,
2889 px_price_adj_prcd IN OUT NOCOPY /* file.sql.39 change */ Index_Link_Tbl_Type)
2890 IS
2891 l_price_adj_rec ASO_QUOTE_PUB.Price_Adj_Rec_Type;
2892 l_price_adj_attr_rec ASO_QUOTE_PUB.PRICE_ADJ_ATTR_Rec_Type;
2893 i BINARY_INTEGER;
2894 BEGIN
2895 l_price_adj_rec.operation_code := 'CREATE';
2896 l_price_adj_rec.quote_header_id := p_qte_line_rec.quote_header_id;
2897 l_price_adj_rec.quote_line_id := p_qte_line_rec.quote_line_id;
2898 l_price_adj_rec.qte_line_index := p_qte_line_index;
2899 l_price_adj_rec.MODIFIER_HEADER_ID := p_req_line_detail_Rec.list_header_id;
2900 l_price_adj_rec.MODIFIER_LINE_ID := p_req_line_detail_Rec.list_line_id;
2901 l_price_adj_rec.MODIFIER_LINE_TYPE_CODE :=
2902 p_req_line_detail_Rec.list_line_type_code;
2903 l_price_adj_rec.MODIFIED_FROM := NULL;
2904 -- p_req_line_detail_Rec.substitution_from;
2905 l_price_adj_rec.MODIFIED_TO := NULL;
2906 -- p_req_line_detail_Rec.substitution_to;
2907 l_price_adj_rec.OPERAND := p_req_line_detail_Rec.Operand_Value;
2908 l_price_adj_rec.ARITHMETIC_OPERATOR :=
2909 p_req_line_detail_Rec.Operand_Calculation_Code;
2910 l_price_adj_rec.AUTOMATIC_FLAG :=
2911 p_req_line_detail_Rec.Automatic_flag;
2912 l_price_adj_rec.UPDATE_ALLOWABLE_FLAG :=
2913 p_req_line_detail_Rec.Override_flag;
2914 l_price_adj_rec.UPDATED_FLAG := p_req_line_detail_Rec.UPDATED_FLAG;
2915 l_price_adj_rec.APPLIED_FLAG := p_req_line_detail_Rec.Applied_Flag;
2916 l_price_adj_rec.ON_INVOICE_FLAG :=
2917 p_req_line_detail_Rec.Print_On_Invoice_Flag;
2918 /* Added on 9/27 */
2919 l_price_adj_rec.CHARGE_TYPE_CODE := p_req_line_detail_Rec.CHARGE_TYPE_CODE;
2920 l_price_adj_rec.PRICING_PHASE_ID := p_req_line_detail_Rec.Pricing_phase_id;
2921 /* Added on 10/26 by pmothkur */
2922 l_price_adj_rec.PRICING_GROUP_SEQUENCE :=
2923 p_req_line_detail_Rec.PRICING_GROUP_SEQUENCE;
2924 l_price_adj_rec.PRICE_BREAK_TYPE_CODE :=
2925 p_req_line_detail_Rec.PRICE_BREAK_TYPE_CODE;
2926 l_price_adj_rec.ADJUSTED_AMOUNT :=
2927 p_req_line_detail_Rec.ADJUSTMENT_AMOUNT;
2928 l_price_adj_rec.MODIFIER_LEVEL_CODE :=
2929 p_req_line_detail_Rec.MODIFIER_LEVEL_CODE;
2930 /* for this attribute, our record has length of 30, whereas
2931 pricing attribute has 240 characters. Have to look into this */
2932 -- l_price_adj_rec.SUBSTITUTION_ATTRIBUTE := p_req_line_detail_Rec.SUBSTITUTION_ATTRIBUTE;
2933 l_price_adj_rec.ACCRUAL_FLAG := p_req_line_detail_Rec.ACCRUAL_FLAG;
2934 l_price_adj_rec.LIST_LINE_NO := p_req_line_detail_Rec.LIST_LINE_NO;
2935 l_price_adj_rec.ACCRUAL_CONVERSION_RATE := p_req_line_detail_Rec.ACCRUAL_CONVERSION_RATE;
2936 l_price_adj_rec.EXPIRATION_DATE := p_req_line_detail_Rec.EXPIRATION_DATE;
2937 l_price_adj_rec.CHARGE_SUBTYPE_CODE :=
2938 p_req_line_detail_Rec.CHARGE_SUBTYPE_CODE;
2939 l_price_adj_rec.INCLUDE_ON_RETURNS_FLAG :=
2940 p_req_line_detail_Rec.INCLUDE_ON_RETURNS_FLAG;
2941 l_price_adj_rec.BENEFIT_QTY := p_req_line_detail_Rec.BENEFIT_QTY;
2942 l_price_adj_rec.BENEFIT_UOM_CODE := p_req_line_detail_Rec.BENEFIT_UOM_CODE;
2943 l_price_adj_rec.PRORATION_TYPE_CODE := p_req_line_detail_Rec.PRORATION_TYPE_CODE;
2944 l_price_adj_rec.SOURCE_SYSTEM_CODE := p_req_line_detail_Rec.SOURCE_SYSTEM_CODE;
2945 l_price_adj_rec.REBATE_TRANSACTION_TYPE_CODE :=
2946 p_req_line_detail_Rec.REBATE_TRANSACTION_TYPE_CODE;
2947 l_price_adj_rec.update_allowed := p_req_line_detail_Rec.OVERRIDE_FLAG;
2948 l_price_adj_rec.range_break_quantity := p_req_line_detail_Rec.Line_quantity;
2949 l_price_adj_rec.MODIFIER_MECHANISM_TYPE_CODE := p_req_line_detail_Rec.Calculation_code;
2950 l_price_adj_rec.change_reason_code := p_req_line_detail_Rec.change_reason_code;
2951 l_price_adj_rec.change_reason_text := p_req_line_detail_Rec.change_reason_text;
2952 px_price_adj_tbl(px_price_adj_tbl.count+1) := l_price_adj_rec;
2953
2954 i := p_req_line_detail_qual_tbl.first;
2955 WHILE i IS NOT NULL LOOP
2956 IF p_req_line_detail_qual_tbl(i).line_detail_index = p_req_line_dtl_index THEN
2957 l_price_adj_attr_rec.operation_code := 'CREATE';
2958 l_price_adj_attr_rec.qte_line_index := p_qte_line_index;
2959 l_price_adj_attr_rec.PRICE_ADJ_INDEX := px_price_adj_tbl.count;
2960 l_price_adj_attr_rec.PRICING_CONTEXT := p_req_line_detail_qual_tbl(i).Qualifier_Context;
2961 l_price_adj_attr_rec.pricing_attribute := p_req_line_detail_qual_tbl(i).Qualifier_Attribute;
2962 l_price_adj_attr_rec.pricing_attr_value_from :=
2963 p_req_line_detail_qual_tbl(i).Qualifier_Attr_Value_From;
2964 l_price_adj_attr_rec.pricing_attr_value_To :=
2965 p_req_line_detail_qual_tbl(i).Qualifier_Attr_Value_To;
2966 l_price_adj_attr_rec.comparison_operator :=
2967 p_req_line_detail_qual_tbl(i).comparison_operator_Code;
2968 px_price_adj_attr_tbl(px_price_adj_attr_tbl.count+1) := l_price_adj_attr_rec;
2969 px_price_adj_prcd(i) := px_price_adj_tbl.count;
2970 END IF;
2971 i := p_req_line_detail_qual_tbl.next(i);
2972 END LOOP;
2973
2974 i := p_req_line_detail_attr_tbl.first;
2975 WHILE i IS NOT NULL LOOP
2976 IF p_req_line_detail_attr_tbl(i).line_detail_index = p_req_line_dtl_index THEN
2977 l_price_adj_attr_rec.operation_code := 'CREATE';
2978 l_price_adj_attr_rec.qte_line_index := p_qte_line_index;
2979 l_price_adj_attr_rec.PRICE_ADJ_INDEX := px_price_adj_tbl.count;
2980 l_price_adj_attr_rec.PRICING_CONTEXT := p_req_line_detail_attr_tbl(i).Pricing_Context;
2981 l_price_adj_attr_rec.pricing_attribute := p_req_line_detail_attr_tbl(i).Pricing_Attribute;
2982 l_price_adj_attr_rec.pricing_attr_value_from :=
2983 p_req_line_detail_attr_tbl(i).Pricing_Attr_Value_From;
2984 l_price_adj_attr_rec.pricing_attr_value_To :=
2985 p_req_line_detail_attr_tbl(i).Pricing_Attr_Value_To;
2986 px_price_adj_attr_tbl(px_price_adj_attr_tbl.count+1) := l_price_adj_attr_rec;
2987 px_price_adj_prcd(i) := px_price_adj_attr_tbl.count;
2988 END IF;
2989 i := p_req_line_detail_attr_tbl.next(i);
2990 END LOOP;
2991 END Copy_Req_Dtl_To_Price_Adj;
2992
2993 PROCEDURE Copy_Req_Dtl_To_Price_Adj (
2994 p_qte_header_rec IN ASO_QUOTE_PUB.QTE_HEADER_REC_TYPE,
2995 p_req_line_dtl_index IN NUMBER,
2996 p_req_line_detail_rec IN QP_PREQ_GRP.LINE_DETAIL_REC_TYPE,
2997 p_req_line_detail_qual_tbl IN QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE,
2998 p_req_line_detail_attr_tbl IN QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE,
2999 px_price_adj_tbl IN OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Tbl_Type,
3000 px_price_adj_attr_tbl IN OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.PRICE_ADJ_ATTR_Tbl_Type,
3001 px_price_adj_prcd IN OUT NOCOPY /* file.sql.39 change */ Index_Link_Tbl_Type)
3002 IS
3003 l_price_adj_rec ASO_QUOTE_PUB.Price_Adj_Rec_Type;
3004 l_price_adj_attr_rec ASO_QUOTE_PUB.PRICE_ADJ_ATTR_Rec_Type;
3005 i BINARY_INTEGER;
3006 BEGIN
3007 l_price_adj_rec.operation_code := 'CREATE';
3008 l_price_adj_rec.quote_header_id := p_qte_header_rec.quote_header_id;
3009 l_price_adj_rec.MODIFIER_HEADER_ID := p_req_line_detail_Rec.list_header_id;
3010 l_price_adj_rec.MODIFIER_LINE_ID := p_req_line_detail_Rec.list_line_id;
3011 l_price_adj_rec.MODIFIER_LINE_TYPE_CODE := p_req_line_detail_Rec.list_line_type_code;
3012 l_price_adj_rec.MODIFIED_FROM := NULL;
3013 l_price_adj_rec.MODIFIED_TO := NULL;
3014 l_price_adj_rec.OPERAND := p_req_line_detail_Rec.Operand_Value;
3015 l_price_adj_rec.ARITHMETIC_OPERATOR := p_req_line_detail_Rec.Operand_Calculation_Code;
3016 l_price_adj_rec.AUTOMATIC_FLAG := p_req_line_detail_Rec.Automatic_flag;
3017 l_price_adj_rec.UPDATE_ALLOWABLE_FLAG := p_req_line_detail_Rec.Override_flag;
3018 l_price_adj_rec.UPDATED_FLAG := p_req_line_detail_Rec.UPDATED_FLAG;
3019 l_price_adj_rec.APPLIED_FLAG := p_req_line_detail_Rec.Applied_Flag;
3020 l_price_adj_rec.ON_INVOICE_FLAG := p_req_line_detail_Rec.Print_On_Invoice_Flag;
3021 /* Added on 9/27 */
3022 l_price_adj_rec.CHARGE_TYPE_CODE := p_req_line_detail_Rec.CHARGE_TYPE_CODE;
3023 l_price_adj_rec.PRICING_PHASE_ID := p_req_line_detail_Rec.Pricing_phase_id;
3024 /* Added on 10/26 by pmothkur */
3025 l_price_adj_rec.PRICING_GROUP_SEQUENCE :=
3026 p_req_line_detail_Rec.PRICING_GROUP_SEQUENCE;
3027 l_price_adj_rec.PRICE_BREAK_TYPE_CODE :=
3028 p_req_line_detail_Rec.PRICE_BREAK_TYPE_CODE;
3029 l_price_adj_rec.ADJUSTED_AMOUNT :=
3030 p_req_line_detail_Rec.ADJUSTMENT_AMOUNT;
3031 l_price_adj_rec.MODIFIER_LEVEL_CODE :=
3032 p_req_line_detail_Rec.MODIFIER_LEVEL_CODE;
3033 /* for this attribute, our record has length of 30, whereas
3034 pricing attribute has 240 characters. Have to look into this */
3035 -- l_price_adj_rec.SUBSTITUTION_ATTRIBUTE := p_req_line_detail_Rec.SUBSTITUTION_ATTRIBUTE;
3036 l_price_adj_rec.ACCRUAL_FLAG := p_req_line_detail_Rec.ACCRUAL_FLAG;
3037 l_price_adj_rec.LIST_LINE_NO := p_req_line_detail_Rec.LIST_LINE_NO;
3038 l_price_adj_rec.ACCRUAL_CONVERSION_RATE := p_req_line_detail_Rec.ACCRUAL_CONVERSION_RATE;
3039 l_price_adj_rec.EXPIRATION_DATE := p_req_line_detail_Rec.EXPIRATION_DATE;
3040 l_price_adj_rec.CHARGE_SUBTYPE_CODE := p_req_line_detail_Rec.CHARGE_SUBTYPE_CODE;
3041 l_price_adj_rec.INCLUDE_ON_RETURNS_FLAG := p_req_line_detail_Rec.INCLUDE_ON_RETURNS_FLAG;
3042 l_price_adj_rec.BENEFIT_QTY := p_req_line_detail_Rec.BENEFIT_QTY;
3043 l_price_adj_rec.BENEFIT_UOM_CODE := p_req_line_detail_Rec.BENEFIT_UOM_CODE;
3044 l_price_adj_rec.PRORATION_TYPE_CODE := p_req_line_detail_Rec.PRORATION_TYPE_CODE;
3045 l_price_adj_rec.SOURCE_SYSTEM_CODE := p_req_line_detail_Rec.SOURCE_SYSTEM_CODE;
3046 l_price_adj_rec.REBATE_TRANSACTION_TYPE_CODE := p_req_line_detail_Rec.REBATE_TRANSACTION_TYPE_CODE;
3047 l_price_adj_rec.update_allowed := p_req_line_detail_Rec.OVERRIDE_FLAG;
3048 l_price_adj_rec.change_reason_code := p_req_line_detail_Rec.change_reason_code;
3049 l_price_adj_rec.change_reason_text := p_req_line_detail_Rec.change_reason_text;
3050 px_price_adj_tbl(px_price_adj_tbl.count+1) := l_price_adj_rec;
3051
3052 i := p_req_line_detail_qual_tbl.first;
3053 WHILE i IS NOT NULL LOOP
3054 IF p_req_line_detail_qual_tbl(i).line_detail_index = p_req_line_dtl_index THEN
3055 l_price_adj_attr_rec.operation_code := 'CREATE';
3056 l_price_adj_attr_rec.PRICE_ADJ_INDEX := px_price_adj_tbl.count;
3057 l_price_adj_attr_rec.PRICING_CONTEXT :=
3058 p_req_line_detail_qual_tbl(i).Qualifier_Context;
3059 l_price_adj_attr_rec.pricing_attribute :=
3060 p_req_line_detail_qual_tbl(i).Qualifier_Attribute;
3061 l_price_adj_attr_rec.pricing_attr_value_from :=
3062 p_req_line_detail_qual_tbl(i).Qualifier_Attr_Value_From;
3063 l_price_adj_attr_rec.pricing_attr_value_To :=
3064 p_req_line_detail_qual_tbl(i).Qualifier_Attr_Value_To;
3065 l_price_adj_attr_rec.comparison_operator :=
3066 p_req_line_detail_qual_tbl(i).comparison_operator_Code;
3067 px_price_adj_attr_tbl(px_price_adj_attr_tbl.count+1) := l_price_adj_attr_rec;
3068 px_price_adj_prcd(i) := px_price_adj_attr_tbl.count;
3069 END IF;
3070 i := p_req_line_detail_qual_tbl.next(i);
3071 END LOOP;
3072 i := p_req_line_detail_attr_tbl.first;
3073 WHILE i IS NOT NULL LOOP
3074 IF p_req_line_detail_attr_tbl(i).line_detail_index = p_req_line_dtl_index THEN
3075 l_price_adj_attr_rec.operation_code := 'CREATE';
3076 l_price_adj_attr_rec.PRICE_ADJ_INDEX := px_price_adj_tbl.count;
3077 l_price_adj_attr_rec.PRICING_CONTEXT :=
3078 p_req_line_detail_attr_tbl(i).Pricing_Context;
3079 l_price_adj_attr_rec.pricing_attribute :=
3080 p_req_line_detail_attr_tbl(i).Pricing_Attribute;
3081 l_price_adj_attr_rec.pricing_attr_value_from :=
3082 p_req_line_detail_attr_tbl(i).Pricing_Attr_Value_From;
3083 l_price_adj_attr_rec.pricing_attr_value_To :=
3084 p_req_line_detail_attr_tbl(i).Pricing_Attr_Value_To;
3085 px_price_adj_attr_tbl(px_price_adj_attr_tbl.count+1) := l_price_adj_attr_rec;
3086 px_price_adj_prcd(i) := px_price_adj_attr_tbl.count;
3087 END IF;
3088 i := p_req_line_detail_attr_tbl.next(i);
3089 END LOOP;
3090 END Copy_Req_Dtl_To_Price_Adj;
3091
3092
3093 -- Bug 2430068. This following procedure was copied from asoiprcb.pls.115.141 version
3094 -- This is the right version as per vakapoor.
3095 -- Original One was giving no data found.
3096
3097 PROCEDURE Copy_Request_To_Line(
3098 p_req_line_tbl IN QP_PREQ_GRP.LINE_TBL_TYPE,
3099 p_req_line_qual IN QP_PREQ_GRP.QUAL_TBL_TYPE,
3100 p_req_line_attr_tbl IN QP_PREQ_GRP.LINE_ATTR_TBL_TYPE,
3101 p_req_line_detail_tbl IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
3102 p_req_line_detail_qual_tbl IN QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE,
3103 p_req_line_detail_attr_tbl IN QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE,
3104 p_req_related_lines_tbl IN QP_PREQ_GRP.RELATED_LINES_TBL_TYPE,
3105 p_qte_line_rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type,
3106 p_qte_line_dtl_rec IN ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type,
3107 x_qte_line_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
3108 x_qte_line_dtl_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type,
3109 x_price_adj_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Tbl_Type,
3110 x_price_adj_attr_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.PRICE_ADJ_ATTR_Tbl_Type,
3111 x_price_adj_rltship_tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type)
3112 IS
3113 l_index NUMBER;
3114 l_req_line_rec QP_PREQ_GRP.LINE_REC_TYPE;
3115 l_req_line_dtl_rec QP_PREQ_GRP.LINE_DETAIL_REC_TYPE;
3116 l_qte_line_rec ASO_QUOTE_PUB.Qte_Line_Rec_Type;
3117 i BINARY_INTEGER;
3118 j BINARY_INTEGER;
3119 l_base_price NUMBER := FND_API.G_MISS_NUM;
3120 l_price_adj_rltship_rec ASO_QUOTE_PUB.Price_Adj_Rltship_Rec_Type;
3121 l_qte_line_prcd Index_Link_Tbl_Type;
3122 l_price_adj_prcd Index_Link_Tbl_Type;
3123 l_message_text VARCHAR2(2000);
3124 BEGIN
3125 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3126 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line ',1,'Y');
3127 END IF;
3128 i := p_req_line_tbl.FIRST;
3129 WHILE i IS NOT NULL LOOP
3130 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3131 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line in while',1,'Y');
3132 END IF;
3133 l_req_line_rec := p_req_line_tbl(i);
3134 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3135 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line l_req_line_rec.line_type_code'
3136 ||l_req_line_rec.line_type_code,1,'Y');
3137 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line l_req_line_rec.status_code'
3138 ||l_req_line_rec.status_code,1,'Y');
3139 END IF;
3140
3141 IF l_req_line_rec.line_type_code = 'LINE' AND
3142 l_req_line_rec.status_code in ( QP_PREQ_GRP.G_STATUS_UPDATED,
3143 QP_PREQ_GRP.G_STATUS_GSA_VIOLATION,
3144 QP_PREQ_GRP.G_STATUS_UNCHANGED)
3145
3146 Then
3147 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3148 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line in ELSEIF',1,'Y');
3149 END IF;
3150 --IF l_req_line_rec.line_index = 1 THEN
3151 --l_qte_line_rec := p_qte_line_rec;
3152 --END IF;
3153 l_qte_line_rec.operation_code := 'UPDATE';
3154 l_qte_line_rec.line_quote_price :=
3155 NVL(l_req_line_rec.adjusted_unit_price, l_req_line_rec.unit_price);
3156 l_qte_line_rec.line_list_price := l_req_line_rec.unit_price ;
3157 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3158 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line line_list_price '
3159 ||l_qte_line_rec.line_list_price,1,'Y');
3160 END IF;
3161 l_qte_line_rec.line_adjusted_amount :=
3162 l_qte_line_rec.line_quote_price-l_qte_line_rec.line_list_price;
3163 IF l_qte_line_rec.line_list_price <> 0 THEN
3164 l_qte_line_rec.line_adjusted_percent :=
3165 (l_qte_line_rec.line_adjusted_amount/l_qte_line_rec.line_list_price)*100;
3166 END IF;
3167 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3168 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line before price_list_id ',1,'Y');
3169 END IF;
3170 l_qte_line_rec.quantity := l_req_line_rec.priced_quantity ;
3171 l_qte_line_rec.uom_code := l_req_line_rec.priced_uom_code ;
3172 --l_qte_line_rec.price_list_id := p_req_line_detail_tbl(1).list_header_id ;
3173 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3174 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line after price_list_id ',1,'Y');
3175 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line 11 ',1,'Y');
3176 END IF;
3177 --aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line : Price List Id'||l_qte_line_rec.price_list_id,1,'Y');
3178 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3179 aso_debug_pub.add('ASO_PRICING_CORE_PVT:after Copy Req to line ',1,'Y');
3180 END IF;
3181 -- handle the percent price
3182 IF NVL(l_req_line_rec.percent_price, 0) <> 0 OR
3183 l_req_line_rec.percent_price <> FND_API.G_MISS_NUM THEN
3184 j := p_req_related_lines_tbl.first;
3185 WHILE j IS NOT NULL AND l_base_price = FND_API.G_MISS_NUM LOOP
3186 IF p_req_related_lines_tbl(j).line_index = i AND
3187 p_req_related_lines_tbl(j).relationship_type_code =
3188 QP_PREQ_GRP.G_RELATED_ITEM_PRICE THEN
3189 l_base_price := p_req_line_tbl(p_req_related_lines_tbl(j).related_line_index).unit_price;
3190 END IF;
3191 j := p_req_related_lines_tbl.NEXT(j);
3192 END LOOP;
3193 l_qte_line_rec.line_list_price := l_base_price*l_req_line_rec.percent_price;
3194 l_qte_line_rec.line_quote_price := l_qte_line_rec.line_list_price;
3195 END IF;
3196 x_qte_line_tbl(x_qte_line_tbl.count+1) := l_qte_line_rec;
3197 l_qte_line_prcd(i) := x_qte_line_tbl.count;
3198
3199
3200 ELSE
3201 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3202 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line In ELSE1',1,'Y');
3203 END IF;
3204 -- should be later assigned to a pricing error
3205 l_message_text := substr(l_req_line_rec.status_code || ': '||l_req_line_rec.status_text,1,200);
3206 /*
3207 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3208 FND_MESSAGE.Set_Name('ASO', 'ASO_OM_ERROR');
3209 FND_MESSAGE.Set_Token('MSG_TXT', l_message_text, FALSE);
3210 FND_MSG_PUB.ADD;
3211 END IF;
3212 */
3213 END IF;
3214 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3215 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy Req to line In ELSE2',1,'Y');
3216 END IF;
3217 i := p_req_line_tbl.NEXT(i);
3218 END LOOP;
3219
3220 END Copy_Request_To_Line;
3221
3222
3223 PROCEDURE Update_Quote_Rows(
3224 P_Qte_Line_Tbl IN ASO_QUOTE_PUB.Qte_Line_Tbl_Type
3225 := ASO_QUOTE_PUB.G_MISS_qte_line_TBL,
3226 P_Qte_Line_Dtl_tbl IN ASO_QUOTE_PUB.Qte_Line_Dtl_tbl_Type
3227 := ASO_QUOTE_PUB.G_MISS_qte_line_dtl_tbl,
3228 P_Price_Adj_Tbl IN ASO_QUOTE_PUB.Price_Adj_Tbl_Type
3229 := ASO_QUOTE_PUB.G_MISS_Price_Adj_TBL,
3230 P_Price_Adj_Attr_Tbl IN ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type
3231 := ASO_QUOTE_PUB.G_Miss_PRICE_ADJ_ATTR_Tbl,
3232 P_Price_Adj_Rltship_Tbl IN ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type
3233 := ASO_QUOTE_PUB.G_Miss_Price_Adj_Rltship_Tbl)
3234 IS
3235 G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
3236 G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
3237 l_Qte_Line_rec ASO_QUOTE_PUB.Qte_Line_Rec_Type;
3238 l_price_adj_tbl ASO_QUOTE_PUB.Price_Adj_Tbl_Type
3239 := P_Price_Adj_Tbl;
3240 l_Price_Adj_Attr_Tbl ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type
3241 := P_Price_Adj_Attr_Tbl;
3242 l_Price_Adj_Rltship_Tbl ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type
3243 := P_Price_Adj_Rltship_Tbl;
3244 l_price_adj_rec ASO_QUOTE_PUB.Price_Adj_Rec_Type;
3245 l_Price_Adj_Attr_rec ASO_QUOTE_PUB.Price_Adj_Attr_Rec_Type ;
3246 l_Price_Adj_Rltship_rec ASO_QUOTE_PUB.Price_Adj_Rltship_Rec_Type;
3247 l_quote_line_id NUMBER;
3248 l_price_adjustment_id NUMBER;
3249 BEGIN
3250 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3251 aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Update_Quote_Rows', 1, 'Y');
3252 END IF;
3253 FOR i IN 1..P_Qte_Line_Tbl.count LOOP
3254 l_qte_line_rec := p_qte_line_tbl(i);
3255 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3256 aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_qte_line_rec.operation_code in Update Quote Rows is '
3257 ||l_qte_line_rec.operation_code,1,'N');
3258 END IF;
3259 IF l_qte_line_rec.operation_code = 'UPDATE' THEN
3260 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3261 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before ASO_QUOTE_LINES_PKG.Update_Row QUOTE_HEADER_ID'
3262 ||l_qte_line_rec.QUOTE_HEADER_ID, 1, 'N');
3263 END IF;
3264 ASO_QUOTE_LINES_PKG.Update_Row(
3265 p_QUOTE_LINE_ID => l_qte_line_rec.QUOTE_LINE_ID,
3266 p_CREATION_DATE => SYSDATE,
3267 p_CREATED_BY => G_USER_ID,
3268 p_LAST_UPDATE_DATE => SYSDATE,
3269 p_LAST_UPDATED_BY => G_USER_ID,
3270 p_LAST_UPDATE_LOGIN => G_LOGIN_ID,
3271 p_REQUEST_ID => l_qte_line_rec.REQUEST_ID,
3272 p_PROGRAM_APPLICATION_ID => l_qte_line_rec.PROGRAM_APPLICATION_ID,
3273 p_PROGRAM_ID => l_qte_line_rec.PROGRAM_ID,
3274 p_PROGRAM_UPDATE_DATE => l_qte_line_rec.PROGRAM_UPDATE_DATE,
3275 p_QUOTE_HEADER_ID => l_qte_line_rec.QUOTE_HEADER_ID,
3276 p_ORG_ID => l_qte_line_rec.ORG_ID ,
3277 p_LINE_CATEGORY_CODE => l_qte_line_rec.LINE_CATEGORY_CODE ,
3278 p_ITEM_TYPE_CODE => l_qte_line_rec.ITEM_TYPE_CODE,
3279 p_LINE_NUMBER => l_qte_line_rec.LINE_NUMBER,
3280 p_START_DATE_ACTIVE => l_qte_line_rec.START_DATE_ACTIVE,
3281 p_END_DATE_ACTIVE => l_qte_line_rec.END_DATE_ACTIVE,
3282 p_ORDER_LINE_TYPE_ID => l_qte_line_rec.ORDER_LINE_TYPE_ID,
3283 p_INVOICE_TO_PARTY_SITE_ID => l_qte_line_rec.INVOICE_TO_PARTY_SITE_ID,
3284 p_INVOICE_TO_PARTY_ID => l_qte_line_rec.INVOICE_TO_PARTY_ID,
3285 p_INVOICE_TO_CUST_ACCOUNT_ID => l_qte_line_rec.INVOICE_TO_CUST_ACCOUNT_ID,
3286 p_ORGANIZATION_ID => l_qte_line_rec.ORGANIZATION_ID,
3287 p_INVENTORY_ITEM_ID => l_qte_line_rec.INVENTORY_ITEM_ID ,
3288 p_QUANTITY => l_qte_line_rec.QUANTITY,
3289 p_UOM_CODE => l_qte_line_rec.UOM_CODE,
3290 p_MARKETING_SOURCE_CODE_ID => l_qte_line_rec.marketing_source_code_id,
3291 p_PRICE_LIST_ID => l_qte_line_rec.PRICE_LIST_ID,
3292 p_PRICE_LIST_LINE_ID => l_qte_line_rec.PRICE_LIST_LINE_ID,
3293 p_CURRENCY_CODE => l_qte_line_rec.CURRENCY_CODE,
3294 p_LINE_LIST_PRICE => l_qte_line_rec.LINE_LIST_PRICE,
3295 p_LINE_ADJUSTED_AMOUNT => l_qte_line_rec.LINE_ADJUSTED_AMOUNT,
3296 p_LINE_ADJUSTED_PERCENT => l_qte_line_rec.LINE_ADJUSTED_PERCENT,
3297 p_LINE_QUOTE_PRICE => l_qte_line_rec.LINE_QUOTE_PRICE,
3298 p_RELATED_ITEM_ID => l_qte_line_rec.RELATED_ITEM_ID,
3299 p_ITEM_RELATIONSHIP_TYPE => l_qte_line_rec.ITEM_RELATIONSHIP_TYPE,
3300 p_ACCOUNTING_RULE_ID => l_qte_line_rec.ACCOUNTING_RULE_ID,
3301 p_INVOICING_RULE_ID => l_qte_line_rec.INVOICING_RULE_ID,
3302 p_SPLIT_SHIPMENT_FLAG => l_qte_line_rec.SPLIT_SHIPMENT_FLAG,
3303 p_BACKORDER_FLAG => l_qte_line_rec.BACKORDER_FLAG,
3304 p_minisite_id => l_qte_line_rec.minisite_id,
3305 p_section_id => l_qte_line_rec.section_id,
3306 p_PRICED_PRICE_LIST_ID => l_qte_line_rec.PRICED_PRICE_LIST_ID,
3307 p_COMMITMENT_ID => l_qte_line_rec.COMMITMENT_ID,
3308 p_AGREEMENT_ID => l_qte_line_rec.AGREEMENT_ID,
3309 p_ATTRIBUTE_CATEGORY => l_qte_line_rec.ATTRIBUTE_CATEGORY,
3310 p_ATTRIBUTE1 => l_qte_line_rec.ATTRIBUTE1,
3311 p_ATTRIBUTE2 => l_qte_line_rec.ATTRIBUTE2,
3312 p_ATTRIBUTE3 => l_qte_line_rec.ATTRIBUTE3,
3313 p_ATTRIBUTE4 => l_qte_line_rec.ATTRIBUTE4,
3314 p_ATTRIBUTE5 => l_qte_line_rec.ATTRIBUTE5,
3315 p_ATTRIBUTE6 => l_qte_line_rec.ATTRIBUTE6,
3316 p_ATTRIBUTE7 => l_qte_line_rec.ATTRIBUTE7,
3317 p_ATTRIBUTE8 => l_qte_line_rec.ATTRIBUTE8,
3318 p_ATTRIBUTE9 => l_qte_line_rec.ATTRIBUTE9,
3319 p_ATTRIBUTE10 => l_qte_line_rec.ATTRIBUTE10,
3320 p_ATTRIBUTE11 => l_qte_line_rec.ATTRIBUTE11,
3321 p_ATTRIBUTE12 => l_qte_line_rec.ATTRIBUTE12,
3322 p_ATTRIBUTE13 => l_qte_line_rec.ATTRIBUTE13,
3323 p_ATTRIBUTE14 => l_qte_line_rec.ATTRIBUTE14,
3324 p_ATTRIBUTE15 => l_qte_line_rec.ATTRIBUTE15,
3325 p_ATTRIBUTE16 => l_qte_line_rec.ATTRIBUTE16,
3326 p_ATTRIBUTE17 => l_qte_line_rec.ATTRIBUTE17,
3327 p_ATTRIBUTE18 => l_qte_line_rec.ATTRIBUTE18,
3328 p_ATTRIBUTE19 => l_qte_line_rec.ATTRIBUTE19,
3329 p_ATTRIBUTE20 => l_qte_line_rec.ATTRIBUTE20,
3330 p_DISPLAY_ARITHMETIC_OPERATOR => l_qte_line_rec.DISPLAY_ARITHMETIC_OPERATOR,
3331 p_line_type_source_flag => l_qte_line_rec.line_type_source_flag,
3332 p_SERVICE_ITEM_FLAG => l_qte_line_rec.SERVICE_ITEM_FLAG,
3333 p_SERVICEABLE_PRODUCT_FLAG => l_qte_line_rec.SERVICEABLE_PRODUCT_FLAG,
3334 p_INVOICE_TO_CUST_PARTY_ID => l_qte_line_rec.INVOICE_TO_CUST_PARTY_ID,
3335 p_SELLING_PRICE_CHANGE => l_qte_line_rec.SELLING_PRICE_CHANGE,
3336 p_RECALCULATE_FLAG => l_qte_line_rec.RECALCULATE_FLAG,
3337 p_pricing_line_type_indicator => l_qte_line_rec.pricing_line_type_indicator,
3338 p_END_CUSTOMER_PARTY_ID => l_qte_line_rec.END_CUSTOMER_PARTY_ID,
3339 p_END_CUSTOMER_CUST_PARTY_ID => l_qte_line_rec.END_CUSTOMER_CUST_PARTY_ID,
3340 p_END_CUSTOMER_PARTY_SITE_ID => l_qte_line_rec.END_CUSTOMER_PARTY_SITE_ID,
3341 p_END_CUSTOMER_CUST_ACCOUNT_ID => l_qte_line_rec.END_CUSTOMER_CUST_ACCOUNT_ID,
3342 p_OBJECT_VERSION_NUMBER => l_qte_line_rec.OBJECT_VERSION_NUMBER,
3343 p_CHARGE_PERIODICITY_CODE => l_qte_line_rec.CHARGE_PERIODICITY_CODE, -- Recurring charges Change
3344 p_ship_model_complete_flag => l_qte_line_rec.ship_model_complete_flag,
3345 p_LINE_PAYNOW_CHARGES => l_qte_line_rec.LINE_PAYNOW_CHARGES,
3346 p_LINE_PAYNOW_TAX => l_qte_line_rec.LINE_PAYNOW_TAX,
3347 p_LINE_PAYNOW_SUBTOTAL => l_qte_line_rec.LINE_PAYNOW_SUBTOTAL,
3348 p_PRICING_QUANTITY_UOM => l_qte_line_rec.PRICING_QUANTITY_UOM,
3349 p_PRICING_QUANTITY => l_qte_line_rec.PRICING_QUANTITY,
3350 p_CONFIG_MODEL_TYPE => l_qte_line_rec.CONFIG_MODEL_TYPE
3351 );
3352
3353 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3354 aso_debug_pub.add('ASO_PRICING_CORE_PVT:After ASO_QUOTE_LINES_PKG.Update_Row with UPDATE', 1, 'N');
3355 END IF;
3356
3357 FOR j IN 1..l_Price_Adj_Tbl.count LOOP
3358 IF l_Price_Adj_Tbl(j).qte_line_index = i THEN
3359 l_Price_Adj_Tbl(j).quote_line_id := l_qte_line_rec.QUOTE_LINE_ID;
3360 END IF;
3361 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3362 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Update The quote line in l_Price_Adj_Tbl is '
3363 ||l_Price_Adj_Tbl(j).quote_line_id,1,'N');
3364 END IF;
3365 END LOOP;
3366 FOR j IN 1..l_Price_Adj_Rltship_Tbl.count LOOP
3367 IF l_Price_Adj_Rltship_Tbl(j).qte_line_index = i THEN
3368 l_Price_Adj_Rltship_Tbl(j).quote_line_id := l_qte_line_rec.QUOTE_LINE_ID;
3369 END IF;
3370 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3371 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Update The quote line in l_Price_Adj_Rltship_Tbl is '
3372 ||l_Price_Adj_Rltship_Tbl(j).quote_line_id,1,'N');
3373 END IF;
3374 END LOOP;
3375 ELSIF l_qte_line_rec.operation_code = 'CREATE' THEN
3376 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3377 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before ASO_QUOTE_LINES_PKG.Insert_Row QUOTE_HEADER_ID'
3378 ||l_qte_line_rec.QUOTE_HEADER_ID, 1, 'N');
3379 END IF;
3380 ASO_QUOTE_LINES_PKG.Insert_Row(
3381 px_QUOTE_LINE_ID => l_QUOTE_LINE_ID,
3382 p_CREATION_DATE => SYSDATE,
3383 p_CREATED_BY => G_USER_ID,
3384 p_LAST_UPDATE_DATE => SYSDATE,
3385 p_LAST_UPDATED_BY => G_USER_ID,
3386 p_LAST_UPDATE_LOGIN => G_LOGIN_ID,
3387 p_REQUEST_ID => l_qte_line_rec.REQUEST_ID,
3388 p_PROGRAM_APPLICATION_ID => l_qte_line_rec.PROGRAM_APPLICATION_ID,
3389 p_PROGRAM_ID => l_qte_line_rec.PROGRAM_ID,
3390 p_PROGRAM_UPDATE_DATE => l_qte_line_rec.PROGRAM_UPDATE_DATE,
3391 p_QUOTE_HEADER_ID => l_qte_line_rec.QUOTE_HEADER_ID,
3392 p_ORG_ID => l_qte_line_rec.ORG_ID,
3393 p_LINE_CATEGORY_CODE => l_qte_line_rec.LINE_CATEGORY_CODE,
3394 p_ITEM_TYPE_CODE => l_qte_line_rec.ITEM_TYPE_CODE,
3395 p_LINE_NUMBER => l_qte_line_rec.LINE_NUMBER,
3396 p_START_DATE_ACTIVE => l_qte_line_rec.START_DATE_ACTIVE,
3397 p_END_DATE_ACTIVE => l_qte_line_rec.END_DATE_ACTIVE,
3398 p_ORDER_LINE_TYPE_ID => l_qte_line_rec.ORDER_LINE_TYPE_ID,
3399 p_INVOICE_TO_PARTY_SITE_ID => l_qte_line_rec.INVOICE_TO_PARTY_SITE_ID,
3400 p_INVOICE_TO_PARTY_ID => l_qte_line_rec.INVOICE_TO_PARTY_ID,
3401 p_INVOICE_TO_CUST_ACCOUNT_ID => l_qte_line_rec.INVOICE_TO_CUST_ACCOUNT_ID,
3402 p_ORGANIZATION_ID => l_qte_line_rec.ORGANIZATION_ID,
3403 p_INVENTORY_ITEM_ID => l_qte_line_rec.INVENTORY_ITEM_ID,
3404 p_QUANTITY => l_qte_line_rec.QUANTITY,
3405 p_UOM_CODE => l_qte_line_rec.UOM_CODE,
3406 p_MARKETING_SOURCE_CODE_ID => l_qte_line_rec.marketing_source_code_id,
3407 p_PRICE_LIST_ID => l_qte_line_rec.PRICE_LIST_ID,
3408 p_PRICE_LIST_LINE_ID => l_qte_line_rec.PRICE_LIST_LINE_ID,
3409 p_CURRENCY_CODE => l_qte_line_rec.CURRENCY_CODE,
3410 p_LINE_LIST_PRICE => l_qte_line_rec.LINE_LIST_PRICE,
3411 p_LINE_ADJUSTED_AMOUNT => l_qte_line_rec.LINE_ADJUSTED_AMOUNT,
3412 p_LINE_ADJUSTED_PERCENT => l_qte_line_rec.LINE_ADJUSTED_PERCENT,
3413 p_LINE_QUOTE_PRICE => l_qte_line_rec.LINE_QUOTE_PRICE,
3414 p_RELATED_ITEM_ID => l_qte_line_rec.RELATED_ITEM_ID,
3415 p_ITEM_RELATIONSHIP_TYPE => l_qte_line_rec.ITEM_RELATIONSHIP_TYPE,
3416 p_ACCOUNTING_RULE_ID => l_qte_line_rec.ACCOUNTING_RULE_ID,
3417 p_INVOICING_RULE_ID => l_qte_line_rec.INVOICING_RULE_ID,
3418 p_SPLIT_SHIPMENT_FLAG => l_qte_line_rec.SPLIT_SHIPMENT_FLAG,
3419 p_BACKORDER_FLAG => l_qte_line_rec.BACKORDER_FLAG,
3420 p_minisite_id => l_qte_line_rec.minisite_id,
3421 p_section_id => l_qte_line_rec.section_id,
3422 p_PRICED_PRICE_LIST_ID => l_qte_line_rec.PRICED_PRICE_LIST_ID,
3423 p_COMMITMENT_ID => l_qte_line_rec.COMMITMENT_ID,
3424 p_AGREEMENT_ID => l_qte_line_rec.AGREEMENT_ID,
3425 p_ATTRIBUTE_CATEGORY => l_qte_line_rec.ATTRIBUTE_CATEGORY,
3426 p_ATTRIBUTE1 => l_qte_line_rec.ATTRIBUTE1,
3427 p_ATTRIBUTE2 => l_qte_line_rec.ATTRIBUTE2,
3428 p_ATTRIBUTE3 => l_qte_line_rec.ATTRIBUTE3,
3429 p_ATTRIBUTE4 => l_qte_line_rec.ATTRIBUTE4,
3430 p_ATTRIBUTE5 => l_qte_line_rec.ATTRIBUTE5,
3431 p_ATTRIBUTE6 => l_qte_line_rec.ATTRIBUTE6,
3432 p_ATTRIBUTE7 => l_qte_line_rec.ATTRIBUTE7,
3433 p_ATTRIBUTE8 => l_qte_line_rec.ATTRIBUTE8,
3434 p_ATTRIBUTE9 => l_qte_line_rec.ATTRIBUTE9,
3435 p_ATTRIBUTE10 => l_qte_line_rec.ATTRIBUTE10,
3436 p_ATTRIBUTE11 => l_qte_line_rec.ATTRIBUTE11,
3437 p_ATTRIBUTE12 => l_qte_line_rec.ATTRIBUTE12,
3438 p_ATTRIBUTE13 => l_qte_line_rec.ATTRIBUTE13,
3439 p_ATTRIBUTE14 => l_qte_line_rec.ATTRIBUTE14,
3440 p_ATTRIBUTE15 => l_qte_line_rec.ATTRIBUTE15,
3441 p_ATTRIBUTE16 => l_qte_line_rec.ATTRIBUTE16,
3442 p_ATTRIBUTE17 => l_qte_line_rec.ATTRIBUTE17,
3443 p_ATTRIBUTE18 => l_qte_line_rec.ATTRIBUTE18,
3444 p_ATTRIBUTE19 => l_qte_line_rec.ATTRIBUTE19,
3445 p_ATTRIBUTE20 => l_qte_line_rec.ATTRIBUTE20,
3446 p_DISPLAY_ARITHMETIC_OPERATOR => l_qte_line_rec.DISPLAY_ARITHMETIC_OPERATOR,
3447 p_line_type_source_flag => l_qte_line_rec.line_type_source_flag,
3448 p_SERVICE_ITEM_FLAG => l_qte_line_rec.SERVICE_ITEM_FLAG,
3449 p_SERVICEABLE_PRODUCT_FLAG => l_qte_line_rec.SERVICEABLE_PRODUCT_FLAG,
3450 p_INVOICE_TO_CUST_PARTY_ID => l_qte_line_rec.INVOICE_TO_CUST_PARTY_ID,
3451 p_SELLING_PRICE_CHANGE => l_qte_line_rec.SELLING_PRICE_CHANGE,
3452 p_RECALCULATE_FLAG => l_qte_line_rec.RECALCULATE_FLAG,
3453 p_pricing_line_type_indicator => l_qte_line_rec.pricing_line_type_indicator,
3454 p_END_CUSTOMER_PARTY_ID => l_qte_line_rec.END_CUSTOMER_PARTY_ID,
3455 p_END_CUSTOMER_CUST_PARTY_ID => l_qte_line_rec.END_CUSTOMER_CUST_PARTY_ID,
3456 p_END_CUSTOMER_PARTY_SITE_ID => l_qte_line_rec.END_CUSTOMER_PARTY_SITE_ID,
3457 p_END_CUSTOMER_CUST_ACCOUNT_ID => l_qte_line_rec.END_CUSTOMER_CUST_ACCOUNT_ID,
3458 p_OBJECT_VERSION_NUMBER => l_qte_line_rec.OBJECT_VERSION_NUMBER,
3459 p_CHARGE_PERIODICITY_CODE => l_qte_line_rec.CHARGE_PERIODICITY_CODE, -- Recurring charges Change
3460 p_ship_model_complete_flag => l_qte_line_rec.ship_model_complete_flag,
3461 p_LINE_PAYNOW_CHARGES => l_qte_line_rec.LINE_PAYNOW_CHARGES,
3462 p_LINE_PAYNOW_TAX => l_qte_line_rec.LINE_PAYNOW_TAX,
3463 p_LINE_PAYNOW_SUBTOTAL => l_qte_line_rec.LINE_PAYNOW_SUBTOTAL,
3464 p_PRICING_QUANTITY_UOM => l_qte_line_rec.PRICING_QUANTITY_UOM,
3465 p_PRICING_QUANTITY => l_qte_line_rec.PRICING_QUANTITY,
3466 p_CONFIG_MODEL_TYPE => l_qte_line_rec.CONFIG_MODEL_TYPE
3467 );
3468
3469 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3470 aso_debug_pub.add('ASO_PRICING_CORE_PVT:After ASO_QUOTE_LINES_PKG.Insert_row with CREATE', 1, 'N');
3471 END IF;
3472
3473 FOR j IN 1..l_Price_Adj_Tbl.count LOOP
3474 IF l_Price_Adj_Tbl(j).qte_line_index = i THEN
3475 l_Price_Adj_Tbl(j).quote_line_id := l_QUOTE_LINE_ID;
3476 END IF;
3477 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3478 aso_debug_pub.add('ASO_PRICING_CORE_PVT:The quote line in l_Price_Adj_Tbl is '
3479 ||l_Price_Adj_Tbl(j).quote_line_id,1,'N');
3480 END IF;
3481 END LOOP;
3482 FOR j IN 1..l_Price_Adj_Rltship_Tbl.count LOOP
3483 IF l_Price_Adj_Rltship_Tbl(j).qte_line_index = i THEN
3484 l_Price_Adj_Rltship_Tbl(j).quote_line_id := l_QUOTE_LINE_ID;
3485 END IF;
3486 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3487 aso_debug_pub.add('ASO_PRICING_CORE_PVT:The quote line in l_Price_Adj_Rltship_Tbl is '
3488 ||l_Price_Adj_Rltship_Tbl(j).quote_line_id,1,'N');
3489 END IF;
3490 END LOOP;
3491 END IF;
3492
3493 END LOOP;
3494
3495 FOR i IN 1..l_Price_Adj_Tbl.count LOOP
3496 l_price_adj_rec := l_Price_Adj_Tbl(i);
3497 l_PRICE_ADJUSTMENT_ID := NULL;
3498 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3499 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before ASO_PRICE_ADJUSTMENTS_PKG.Insert_Row', 1, 'N');
3500 END IF;
3501 ASO_PRICE_ADJUSTMENTS_PKG.Insert_Row(
3502 px_PRICE_ADJUSTMENT_ID => l_PRICE_ADJUSTMENT_ID,
3503 p_CREATION_DATE => SYSDATE,
3504 p_CREATED_BY => G_USER_ID,
3505 p_LAST_UPDATE_DATE => SYSDATE,
3506 p_LAST_UPDATED_BY => G_USER_ID,
3507 p_LAST_UPDATE_LOGIN => G_LOGIN_ID,
3508 p_PROGRAM_APPLICATION_ID => l_price_adj_rec.PROGRAM_APPLICATION_ID,
3509 p_PROGRAM_ID => l_price_adj_rec.PROGRAM_ID,
3510 p_PROGRAM_UPDATE_DATE => l_price_adj_rec.PROGRAM_UPDATE_DATE,
3511 p_REQUEST_ID => l_price_adj_rec.REQUEST_ID,
3512 p_QUOTE_HEADER_ID => l_price_adj_rec.QUOTE_HEADER_ID,
3513 p_QUOTE_LINE_ID => l_price_adj_rec.QUOTE_LINE_ID,
3514 p_MODIFIER_HEADER_ID => l_price_adj_rec.MODIFIER_HEADER_ID,
3515 p_MODIFIER_LINE_ID => l_price_adj_rec.MODIFIER_LINE_ID,
3516 p_MODIFIER_LINE_TYPE_CODE => l_price_adj_rec.MODIFIER_LINE_TYPE_CODE,
3517 p_MODIFIER_MECHANISM_TYPE_CODE => l_price_adj_rec.MODIFIER_MECHANISM_TYPE_CODE,
3518 p_MODIFIED_FROM => l_price_adj_rec.MODIFIED_FROM,
3519 p_MODIFIED_TO => l_price_adj_rec.MODIFIED_TO,
3520 p_OPERAND => l_price_adj_rec.OPERAND,
3521 p_ARITHMETIC_OPERATOR => l_price_adj_rec.ARITHMETIC_OPERATOR,
3522 p_AUTOMATIC_FLAG => l_price_adj_rec.AUTOMATIC_FLAG,
3523 p_UPDATE_ALLOWABLE_FLAG => l_price_adj_rec.UPDATE_ALLOWABLE_FLAG,
3524 p_UPDATED_FLAG => l_price_adj_rec.UPDATED_FLAG,
3525 p_APPLIED_FLAG => l_price_adj_rec.APPLIED_FLAG,
3526 p_ON_INVOICE_FLAG => l_price_adj_rec.ON_INVOICE_FLAG,
3527 p_PRICING_PHASE_ID => l_price_adj_rec.PRICING_PHASE_ID,
3528 p_ATTRIBUTE_CATEGORY => l_price_adj_rec.ATTRIBUTE_CATEGORY,
3529 p_ATTRIBUTE1 => l_price_adj_rec.ATTRIBUTE1,
3530 p_ATTRIBUTE2 => l_price_adj_rec.ATTRIBUTE2,
3531 p_ATTRIBUTE3 => l_price_adj_rec.ATTRIBUTE3,
3532 p_ATTRIBUTE4 => l_price_adj_rec.ATTRIBUTE4,
3533 p_ATTRIBUTE5 => l_price_adj_rec.ATTRIBUTE5,
3534 p_ATTRIBUTE6 => l_price_adj_rec.ATTRIBUTE6,
3535 p_ATTRIBUTE7 => l_price_adj_rec.ATTRIBUTE7,
3536 p_ATTRIBUTE8 => l_price_adj_rec.ATTRIBUTE8,
3537 p_ATTRIBUTE9 => l_price_adj_rec.ATTRIBUTE9,
3538 p_ATTRIBUTE10 => l_price_adj_rec.ATTRIBUTE10,
3539 p_ATTRIBUTE11 => l_price_adj_rec.ATTRIBUTE11,
3540 p_ATTRIBUTE12 => l_price_adj_rec.ATTRIBUTE12,
3541 p_ATTRIBUTE13 => l_price_adj_rec.ATTRIBUTE13,
3542 p_ATTRIBUTE14 => l_price_adj_rec.ATTRIBUTE14,
3543 p_ATTRIBUTE15 => l_price_adj_rec.ATTRIBUTE15,
3544 p_ATTRIBUTE16 => l_price_adj_rec.ATTRIBUTE16,
3545 p_ATTRIBUTE17 => l_price_adj_rec.ATTRIBUTE17,
3546 p_ATTRIBUTE18 => l_price_adj_rec.ATTRIBUTE18,
3547 p_ATTRIBUTE19 => l_price_adj_rec.ATTRIBUTE19,
3548 p_ATTRIBUTE20 => l_price_adj_rec.ATTRIBUTE20,
3549
3550 p_ORIG_SYS_DISCOUNT_REF => l_price_adj_rec.ORIG_SYS_DISCOUNT_REF,
3551 p_CHANGE_SEQUENCE => l_price_adj_rec.CHANGE_SEQUENCE,
3552 p_UPDATE_ALLOWED => l_price_adj_rec.UPDATE_ALLOWED,
3553 p_CHANGE_REASON_CODE => l_price_adj_rec.CHANGE_REASON_CODE,
3554 p_CHANGE_REASON_TEXT => l_price_adj_rec.CHANGE_REASON_TEXT,
3555 p_COST_ID => l_price_adj_rec.COST_ID,
3556 p_TAX_CODE => l_price_adj_rec.TAX_CODE,
3557 p_TAX_EXEMPT_FLAG => l_price_adj_rec.TAX_EXEMPT_FLAG,
3558 p_TAX_EXEMPT_NUMBER => l_price_adj_rec.TAX_EXEMPT_NUMBER,
3559 p_TAX_EXEMPT_REASON_CODE => l_price_adj_rec.TAX_EXEMPT_REASON_CODE,
3560 p_PARENT_ADJUSTMENT_ID => l_price_adj_rec.PARENT_ADJUSTMENT_ID,
3561 p_INVOICED_FLAG => l_price_adj_rec.INVOICED_FLAG,
3562 p_ESTIMATED_FLAG => l_price_adj_rec.ESTIMATED_FLAG,
3563 p_INC_IN_SALES_PERFORMANCE => l_price_adj_rec.INC_IN_SALES_PERFORMANCE,
3564 p_SPLIT_ACTION_CODE => l_price_adj_rec.SPLIT_ACTION_CODE,
3565 p_ADJUSTED_AMOUNT => l_price_adj_rec.ADJUSTED_AMOUNT,
3566 p_CHARGE_TYPE_CODE => l_price_adj_rec.CHARGE_TYPE_CODE,
3567 p_CHARGE_SUBTYPE_CODE => l_price_adj_rec.CHARGE_SUBTYPE_CODE,
3568 p_RANGE_BREAK_QUANTITY => l_price_adj_rec.RANGE_BREAK_QUANTITY,
3569 p_ACCRUAL_CONVERSION_RATE => l_price_adj_rec.ACCRUAL_CONVERSION_RATE,
3570 p_PRICING_GROUP_SEQUENCE => l_price_adj_rec.PRICING_GROUP_SEQUENCE,
3571 p_ACCRUAL_FLAG => l_price_adj_rec.ACCRUAL_FLAG,
3572 p_LIST_LINE_NO => l_price_adj_rec.LIST_LINE_NO,
3573 p_SOURCE_SYSTEM_CODE => l_price_adj_rec.SOURCE_SYSTEM_CODE,
3574 p_BENEFIT_QTY => l_price_adj_rec.BENEFIT_QTY,
3575 p_BENEFIT_UOM_CODE => l_price_adj_rec.BENEFIT_UOM_CODE,
3576 p_PRINT_ON_INVOICE_FLAG => l_price_adj_rec.PRINT_ON_INVOICE_FLAG,
3577 p_EXPIRATION_DATE => l_price_adj_rec.EXPIRATION_DATE,
3578 p_REBATE_TRANSACTION_TYPE_CODE => l_price_adj_rec.REBATE_TRANSACTION_TYPE_CODE,
3579 p_REBATE_TRANSACTION_REFERENCE => l_price_adj_rec.REBATE_TRANSACTION_REFERENCE,
3580 p_REBATE_PAYMENT_SYSTEM_CODE => l_price_adj_rec.REBATE_PAYMENT_SYSTEM_CODE,
3581 p_REDEEMED_DATE => l_price_adj_rec.REDEEMED_DATE,
3582 p_REDEEMED_FLAG => l_price_adj_rec.REDEEMED_FLAG,
3583 p_MODIFIER_LEVEL_CODE => l_price_adj_rec.MODIFIER_LEVEL_CODE,
3584 p_PRICE_BREAK_TYPE_CODE => l_price_adj_rec.PRICE_BREAK_TYPE_CODE,
3585 p_SUBSTITUTION_ATTRIBUTE => l_price_adj_rec.SUBSTITUTION_ATTRIBUTE,
3586 p_PRORATION_TYPE_CODE => l_price_adj_rec.PRORATION_TYPE_CODE,
3587 p_INCLUDE_ON_RETURNS_FLAG => l_price_adj_rec.INCLUDE_ON_RETURNS_FLAG,
3588 p_CREDIT_OR_CHARGE_FLAG => l_price_adj_rec.CREDIT_OR_CHARGE_FLAG,
3589 p_OPERAND_PER_PQTY => l_price_adj_rec.OPERAND_PER_PQTY,
3590 p_ADJUSTED_AMOUNT_PER_PQTY => l_price_adj_rec.ADJUSTED_AMOUNT_PER_PQTY,
3591 p_OBJECT_VERSION_NUMBER => l_price_adj_rec.OBJECT_VERSION_NUMBER
3592 );
3593 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3594 aso_debug_pub.add('ASO_PRICING_CORE_PVT:After ASO_PRICE_ADJUSTMENTS_PKG.Insert_Row PRICE_ADJUSTMENT_ID'
3595 ||l_PRICE_ADJUSTMENT_ID, 1, 'N');
3596 END IF;
3597 FOR j in 1..l_price_adj_attr_tbl.count LOOP
3598 IF l_price_adj_attr_tbl(j).price_adj_index = i THEN
3599 l_price_adj_attr_tbl(j).price_adjustment_id := l_PRICE_ADJUSTMENT_ID;
3600 END IF;
3601 END LOOP;
3602
3603 FOR j IN 1..l_price_adj_rltship_tbl.count LOOP
3604 IF l_price_adj_rltship_tbl(j).price_adj_index = i THEN
3605 l_price_adj_rltship_tbl(j).price_adjustment_id := l_price_adjustment_id;
3606 END IF;
3607 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3608 aso_debug_pub.add('ASO_PRICING_CORE_PVT:After price_adj_index Loop l_price_adj_rltship_tbl', 1, 'N');
3609 END IF;
3610 IF l_price_adj_rltship_tbl(j).rltd_price_adj_index = i THEN
3611 l_price_adj_rltship_tbl(j).rltd_price_adj_id := l_price_adjustment_id;
3612 END IF;
3613 END LOOP;
3614 END LOOP;
3615 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3616 aso_debug_pub.add('ASO_PRICING_CORE_PVT:xxxxxxxxxxStart inserting into ASO_PRICE_ADJ_ATTRIBSxxxxxxx', 1, 'N');
3617 END IF;
3618 FOR i in 1..l_price_adj_attr_tbl.count LOOP
3619 l_price_adj_attr_rec := l_price_adj_attr_tbl(i);
3620 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3621 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before ASO_PRICE_ADJ_ATTRIBS_PKG.Insert_Row', 1, 'N');
3622 END IF;
3623 ASO_PRICE_ADJ_ATTRIBS_PKG.Insert_Row(
3624 px_PRICE_ADJ_ATTRIB_ID => l_price_adj_attr_rec.PRICE_ADJ_ATTRIB_ID,
3625 p_CREATION_DATE => SYSDATE,
3626 p_CREATED_BY => G_USER_ID,
3627 p_LAST_UPDATE_DATE => SYSDATE,
3628 p_LAST_UPDATED_BY => G_USER_ID,
3629 p_LAST_UPDATE_LOGIN => G_LOGIN_ID,
3630 p_PROGRAM_APPLICATION_ID =>l_price_adj_attr_rec.PROGRAM_APPLICATION_ID,
3631 p_PROGRAM_ID => l_price_adj_attr_rec.PROGRAM_ID,
3632 p_PROGRAM_UPDATE_DATE => l_price_adj_attr_rec.PROGRAM_UPDATE_DATE,
3633 p_REQUEST_ID => l_price_adj_attr_rec.REQUEST_ID,
3634 p_PRICE_ADJUSTMENT_ID => l_price_adj_attr_rec.PRICE_ADJUSTMENT_ID,
3635 p_PRICING_CONTEXT => l_price_adj_attr_rec.PRICING_CONTEXT,
3636 p_PRICING_ATTRIBUTE => l_price_adj_attr_rec.PRICING_ATTRIBUTE,
3637 p_PRICING_ATTR_VALUE_FROM => l_price_adj_attr_rec.PRICING_ATTR_VALUE_FROM,
3638 p_PRICING_ATTR_VALUE_TO => l_price_adj_attr_rec.PRICING_ATTR_VALUE_TO,
3639 p_COMPARISON_OPERATOR => l_price_adj_attr_rec.COMPARISON_OPERATOR,
3640 p_FLEX_TITLE => l_price_adj_attr_rec.FLEX_TITLE,
3641 p_OBJECT_VERSION_NUMBER => l_price_adj_attr_rec.OBJECT_VERSION_NUMBER);
3642 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3643 aso_debug_pub.add('ASO_PRICING_CORE_PVT:After ASO_PRICE_ADJ_ATTRIBS_PKG.Insert_Row', 1, 'N');
3644 END IF;
3645 END LOOP;
3646 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3647 aso_debug_pub.add('ASO_PRICING_CORE_PVT:xxxxxxxxxxFinish inserting into ASO_PRICE_ADJ_ATTRIBSxxxxxx', 1, 'N');
3648 END IF;
3649
3650 FOR i IN 1..l_price_adj_rltship_tbl.count LOOP
3651 l_price_adj_rltship_rec := l_price_adj_rltship_tbl(i);
3652 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3653 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before ASO_PRICE_RLTSHIPS_PKG.Insert_Row', 1, 'N');
3654 aso_debug_pub.add('ASO_PRICING_CORE_PVT:The quote line id is '
3655 ||l_price_adj_rltship_rec.quote_line_id, 1, 'N');
3656 aso_debug_pub.add('ASO_PRICING_CORE_PVT:The price adjustment id is '
3657 ||l_price_adj_rltship_rec.price_adjustment_id,1,'N');
3658 aso_debug_pub.add('ASO_PRICING_CORE_PVT:The rltd price adj id is '
3659 ||l_price_adj_rltship_rec.rltd_price_adj_id,1,'N');
3660 END IF;
3661 ASO_PRICE_RLTSHIPS_PKG.Insert_Row(
3662 px_ADJ_RELATIONSHIP_ID => l_price_adj_rltship_rec.ADJ_RELATIONSHIP_ID,
3663 p_creation_date => sysdate,
3664 p_CREATED_BY => G_USER_ID,
3665 p_LAST_UPDATE_DATE => sysdate,
3666 p_LAST_UPDATED_BY => G_USER_ID,
3667 p_LAST_UPDATE_LOGIN => G_USER_ID,
3668 p_PROGRAM_APPLICATION_ID => l_price_adj_rltship_rec.PROGRAM_APPLICATION_ID,
3669 p_PROGRAM_ID => l_price_adj_rltship_rec.PROGRAM_ID,
3670 p_PROGRAM_UPDATE_DATE => l_price_adj_rltship_rec.PROGRAM_UPDATE_DATE,
3671 p_REQUEST_ID => l_price_adj_rltship_rec.REQUEST_ID,
3672 p_QUOTE_LINE_ID => l_price_adj_rltship_rec.quote_line_id,
3673 p_PRICE_ADJUSTMENT_ID => l_price_adj_rltship_rec.price_adjustment_id,
3674 p_RLTD_PRICE_ADJ_ID => l_price_adj_rltship_rec.rltd_price_adj_id,
3675 p_quote_shipment_id => l_price_adj_rltship_rec.quote_shipment_id,
3676 p_OBJECT_VERSION_NUMBER => l_price_adj_rltship_rec.OBJECT_VERSION_NUMBER
3677 );
3678 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3679 aso_debug_pub.add('ASO_PRICING_CORE_PVT:After ASO_PRICE_RLTSHIPS_PKG.Insert_Row', 1, 'N');
3680 aso_debug_pub.add('ASO_PRICING_CORE_PVT:The adj relationship id is '
3681 ||l_price_adj_rltship_rec.ADJ_RELATIONSHIP_ID,1,'N');
3682 aso_debug_pub.add('ASO_PRICING_CORE_PVT:IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII', 1, 'N');
3683 END IF;
3684 END LOOP;
3685 END Update_Quote_Rows;
3686
3687 End ASO_PRICING_CALLBACK_PVT;