[Home] [Help]
PACKAGE BODY: APPS.QP_QP_FORM_PRICE_LIST
Source
1 PACKAGE BODY QP_QP_Form_Price_List AS
2 /* $Header: QPXFPLHB.pls 120.2 2005/06/20 23:01:00 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_QP_Form_Price_List';
7
8 -- Global variables holding cached record.
9
10 g_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
11 g_db_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_PRICE_LIST
16 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_PRICE_LIST
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_list_header_id IN NUMBER
23 )
24 RETURN QP_Price_List_PUB.Price_List_Rec_Type;
25
26 PROCEDURE Clear_PRICE_LIST;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl QP_Price_List_PUB.Price_List_Tbl_Type;
31
32 -- Procedure : Default_Attributes
33 --
34
35 PROCEDURE Default_Attributes
36 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
37 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
38 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
39 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
40 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
41 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
42 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
43 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
44 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
45 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
46 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
47 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
48 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
49 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
50 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
51 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
52 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
53 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
54 , x_automatic_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 , x_comments OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
57 , x_currency_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
58 , x_discount_lines_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
59 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
60 , x_freight_terms_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
61 , x_gsa_indicator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
62 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
63 , x_list_type_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 , x_prorate_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
65 , x_rounding_factor OUT NOCOPY /* file.sql.39 change */ NUMBER
66 , x_ship_method_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
67 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
68 , x_terms_id OUT NOCOPY /* file.sql.39 change */ NUMBER
69 , x_automatic OUT NOCOPY /* file.sql.39 change */ VARCHAR2
70 , x_currency OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 , x_discount_lines OUT NOCOPY /* file.sql.39 change */ VARCHAR2
72 , x_freight_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
73 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
74 , x_list_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
75 , x_prorate OUT NOCOPY /* file.sql.39 change */ VARCHAR2
76 , x_ship_method OUT NOCOPY /* file.sql.39 change */ VARCHAR2
77 , x_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
78 , x_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
79 , x_description OUT NOCOPY /* file.sql.39 change */ VARCHAR2
80 , x_version_no OUT NOCOPY /* file.sql.39 change */ VARCHAR2
81 , x_active_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
82 , x_mobile_download OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- mkarya for bug 1944882
83 , x_currency_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Multi-Currency SunilPandey
84 , x_currency_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER -- Multi-Currency SunilPandey
85 , x_pte_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
86 , x_pte OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
87 , x_list_source_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
88 , x_orig_system_header_ref OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
89 , x_global_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Pricing Security gtippire
90 , x_source_system_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
91 , x_shareable_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
92 , x_sold_to_org_id OUT NOCOPY /* file.sql.39 change */ NUMBER
93 , x_locked_from_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
94 --added for MOAC
95 , x_org_id OUT NOCOPY /* file.sql.39 change */ NUMBER
96 )
97 IS
98 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
99 l_PRICE_LIST_val_rec QP_Price_List_PUB.Price_List_Val_Rec_Type;
100 l_control_rec QP_GLOBALS.Control_Rec_Type;
101 l_return_status VARCHAR2(1);
102 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
103 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
104 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
105 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
106 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
107 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
108 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
109 --fname varchar2(80);
110 BEGIN
111
112 --oe_debug_pub.debug_on;
113 -- fname := oe_debug_pub.set_debug_mode('FILE');
114
115 oe_debug_pub.add('entering default attributes');
116
117 -- Set control flags.
118
119 l_control_rec.controlled_operation := TRUE;
120 l_control_rec.default_attributes := TRUE;
121
122 l_control_rec.change_attributes := FALSE;
123 l_control_rec.validate_entity := FALSE;
124 l_control_rec.write_to_DB := FALSE;
125 l_control_rec.process := FALSE;
126
127 -- Instruct API to retain its caches
128
129 l_control_rec.clear_api_cache := FALSE;
130 l_control_rec.clear_api_requests := FALSE;
131
132 -- Load IN parameters if any exist
133
134
135 -- Defaulting of flex values is currently done by the form.
136 -- Set flex attributes to NULL in order to avoid defaulting them.
137
138 l_PRICE_LIST_rec.attribute1 := NULL;
139 l_PRICE_LIST_rec.attribute10 := NULL;
140 l_PRICE_LIST_rec.attribute11 := NULL;
141 l_PRICE_LIST_rec.attribute12 := NULL;
142 l_PRICE_LIST_rec.attribute13 := NULL;
143 l_PRICE_LIST_rec.attribute14 := NULL;
144 l_PRICE_LIST_rec.attribute15 := NULL;
145 l_PRICE_LIST_rec.attribute2 := NULL;
146 l_PRICE_LIST_rec.attribute3 := NULL;
147 l_PRICE_LIST_rec.attribute4 := NULL;
148 l_PRICE_LIST_rec.attribute5 := NULL;
149 l_PRICE_LIST_rec.attribute6 := NULL;
150 l_PRICE_LIST_rec.attribute7 := NULL;
151 l_PRICE_LIST_rec.attribute8 := NULL;
152 l_PRICE_LIST_rec.attribute9 := NULL;
153 l_PRICE_LIST_rec.context := NULL;
154
155 -- Set Operation to Create
156
157 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
158
159 -- Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
160
161 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
162 ( p_api_version_number => 1.0
163 , p_init_msg_list => FND_API.G_TRUE
164 , x_return_status => l_return_status
165 , x_msg_count => x_msg_count
166 , x_msg_data => x_msg_data
167 , p_control_rec => l_control_rec
168 , p_PRICE_LIST_rec => l_PRICE_LIST_rec
169 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
170 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
171 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
172 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
173 );
174
175 oe_debug_pub.add('return status after proc_price_list ' || l_return_status);
176
177 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
178 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
179 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
180 RAISE FND_API.G_EXC_ERROR;
181 END IF;
182
183 oe_debug_Pub.add('msg count 1 : ' || x_msg_count);
184 oe_debug_Pub.add('msg data 1 : ' || x_msg_data);
185
186
187 -- Load OUT parameters.
188
189 x_attribute1 := l_x_PRICE_LIST_rec.attribute1;
190 x_attribute10 := l_x_PRICE_LIST_rec.attribute10;
191 x_attribute11 := l_x_PRICE_LIST_rec.attribute11;
192 x_attribute12 := l_x_PRICE_LIST_rec.attribute12;
193 x_attribute13 := l_x_PRICE_LIST_rec.attribute13;
194 x_attribute14 := l_x_PRICE_LIST_rec.attribute14;
195 x_attribute15 := l_x_PRICE_LIST_rec.attribute15;
196 x_attribute2 := l_x_PRICE_LIST_rec.attribute2;
197 x_attribute3 := l_x_PRICE_LIST_rec.attribute3;
198 x_attribute4 := l_x_PRICE_LIST_rec.attribute4;
199 x_attribute5 := l_x_PRICE_LIST_rec.attribute5;
200 x_attribute6 := l_x_PRICE_LIST_rec.attribute6;
201 x_attribute7 := l_x_PRICE_LIST_rec.attribute7;
202 x_attribute8 := l_x_PRICE_LIST_rec.attribute8;
203 x_attribute9 := l_x_PRICE_LIST_rec.attribute9;
204 x_automatic_flag := l_x_PRICE_LIST_rec.automatic_flag;
205 x_comments := l_x_PRICE_LIST_rec.comments;
206 x_context := l_x_PRICE_LIST_rec.context;
207 x_currency_code := l_x_PRICE_LIST_rec.currency_code;
208 x_discount_lines_flag := l_x_PRICE_LIST_rec.discount_lines_flag;
209 x_end_date_active := l_x_PRICE_LIST_rec.end_date_active;
210 x_freight_terms_code := l_x_PRICE_LIST_rec.freight_terms_code;
211 x_gsa_indicator := l_x_PRICE_LIST_rec.gsa_indicator;
212 x_list_header_id := l_x_PRICE_LIST_rec.list_header_id;
213 x_list_type_code := l_x_PRICE_LIST_rec.list_type_code;
214 x_prorate_flag := l_x_PRICE_LIST_rec.prorate_flag;
215 x_rounding_factor := l_x_PRICE_LIST_rec.rounding_factor;
216 x_ship_method_code := l_x_PRICE_LIST_rec.ship_method_code;
217 x_start_date_active := l_x_PRICE_LIST_rec.start_date_active;
218 x_terms_id := l_x_PRICE_LIST_rec.terms_id;
219 x_name := l_x_PRICE_LIST_rec.name;
220 x_description := l_x_PRICE_LIST_rec.description;
221 x_version_no := l_x_PRICE_LIST_rec.version_no;
222 x_active_flag := l_x_PRICE_LIST_rec.active_flag;
223 x_mobile_download := l_x_PRICE_LIST_rec.mobile_download; -- mkarya for bug 1944882
224 x_currency_header_id := l_x_PRICE_LIST_rec.currency_header_id;-- Multi-Currency SunilPandey
225 x_pte_code := l_x_PRICE_LIST_rec.pte_code;-- Attribute Manager Giri
226 x_list_source_code := l_x_PRICE_LIST_rec.list_source_code;-- Blanket Sales Order
227 x_orig_system_header_ref := l_x_PRICE_LIST_rec.orig_system_header_ref;-- Blanket Sales Order
228 x_global_flag := l_x_PRICE_LIST_rec.global_flag;-- Pricing Security gtippire
229 x_source_system_code := l_x_PRICE_LIST_rec.source_system_code;
230 x_shareable_flag := l_x_PRICE_LIST_rec.shareable_flag;
231 x_sold_to_org_id := l_x_PRICE_LIST_rec.sold_to_org_id;
232 x_locked_from_list_header_id :=
233 l_x_PRICE_LIST_rec.locked_from_list_header_id;
234 --added for MOAC
235 x_org_id := l_x_PRICE_LIST_rec.org_id;
236
237 -- Load display out parameters if any
238 oe_debug_Pub.add('msg count 2 : ' || x_msg_count);
239 oe_debug_Pub.add('msg data 2 : ' || x_msg_data);
240
241 l_PRICE_LIST_val_rec := QP_Price_List_Util.Get_Values
242 ( p_PRICE_LIST_rec => l_x_PRICE_LIST_rec
243 );
244 x_automatic := l_PRICE_LIST_val_rec.automatic;
245 x_currency := l_PRICE_LIST_val_rec.currency;
246 x_discount_lines := l_PRICE_LIST_val_rec.discount_lines;
247 x_freight_terms := l_PRICE_LIST_val_rec.freight_terms;
248 x_list_header := l_PRICE_LIST_val_rec.list_header;
249 x_list_type := l_PRICE_LIST_val_rec.list_type;
250 x_prorate := l_PRICE_LIST_val_rec.prorate;
251 x_ship_method := l_PRICE_LIST_val_rec.ship_method;
252 x_terms := l_PRICE_LIST_val_rec.terms;
253 x_pte := l_PRICE_LIST_val_rec.pte;
254 --x_active_flag :=l_PRICE_LIST_val_rec.active_flag;
255 x_list_source_code := l_PRICE_LIST_val_rec.list_source_code;
256 x_orig_system_header_ref := l_PRICE_LIST_val_rec.orig_system_header_ref;
257 -- Write to cache.
258 -- Set db_flag to False before writing to cache
259 oe_debug_Pub.add('msg data 3 : ' || x_msg_data);
260
261 l_x_PRICE_LIST_rec.db_flag := FND_API.G_FALSE;
262
263 Write_PRICE_LIST
264 ( p_PRICE_LIST_rec => l_x_PRICE_LIST_rec
265 );
266
267 -- Set return status.
268
269 x_return_status := FND_API.G_RET_STS_SUCCESS;
270
271 -- Get message count and data
272
273 oe_msg_pub.Count_And_Get
274 ( p_count => x_msg_count
275 , p_data => x_msg_data
276 );
277 oe_debug_Pub.add('msg data 4 : ' || x_msg_data);
278
279 oe_debug_pub.add('exiting default attributes');
280
281
282 EXCEPTION
283
284 WHEN FND_API.G_EXC_ERROR THEN
285
286 x_return_status := FND_API.G_RET_STS_ERROR;
287
288 -- Get message count and data
289
290 oe_msg_pub.Count_And_Get
291 ( p_count => x_msg_count
292 , p_data => x_msg_data
293 );
294
295 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
296
297 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
298
299 -- Get message count and data
300
301 oe_msg_pub.Count_And_Get
302 ( p_count => x_msg_count
303 , p_data => x_msg_data
304 );
305
306 oe_debug_pub.add('msg data 5 : ' || x_msg_data);
307
308 WHEN OTHERS THEN
309
310 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
311
312 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
313 THEN
314 oe_msg_pub.Add_Exc_Msg
315 ( G_PKG_NAME
316 , 'Default_Attributes'
317 );
318 END IF;
319
320 -- Get message count and data
321
322 oe_msg_pub.Count_And_Get
323 ( p_count => x_msg_count
324 , p_data => x_msg_data
325 );
326
327 END Default_Attributes;
328
329 -- Procedure : Change_Attribute
330 --
331
332 PROCEDURE Change_Attribute
333 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
334 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
335 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
336 , p_list_header_id IN NUMBER
337 , p_attr_id IN NUMBER
338 , p_attr_value IN VARCHAR2
339 , p_attribute1 IN VARCHAR2
340 , p_attribute10 IN VARCHAR2
341 , p_attribute11 IN VARCHAR2
342 , p_attribute12 IN VARCHAR2
343 , p_attribute13 IN VARCHAR2
344 , p_attribute14 IN VARCHAR2
345 , p_attribute15 IN VARCHAR2
346 , p_attribute2 IN VARCHAR2
347 , p_attribute3 IN VARCHAR2
348 , p_attribute4 IN VARCHAR2
349 , p_attribute5 IN VARCHAR2
350 , p_attribute6 IN VARCHAR2
351 , p_attribute7 IN VARCHAR2
352 , p_attribute8 IN VARCHAR2
353 , p_attribute9 IN VARCHAR2
354 , p_context IN VARCHAR2
355 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
356 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
357 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
358 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
359 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
360 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
361 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
362 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
363 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
364 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
365 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
366 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
367 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
368 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
369 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
370 , x_automatic_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
371 , x_comments OUT NOCOPY /* file.sql.39 change */ VARCHAR2
372 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
373 , x_currency_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
374 , x_discount_lines_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
375 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
376 , x_freight_terms_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
377 , x_gsa_indicator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
378 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
379 , x_list_type_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
380 , x_prorate_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
381 , x_rounding_factor OUT NOCOPY /* file.sql.39 change */ NUMBER
382 , x_ship_method_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
383 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
384 , x_terms_id OUT NOCOPY /* file.sql.39 change */ NUMBER
385 , x_automatic OUT NOCOPY /* file.sql.39 change */ VARCHAR2
386 , x_currency OUT NOCOPY /* file.sql.39 change */ VARCHAR2
387 , x_discount_lines OUT NOCOPY /* file.sql.39 change */ VARCHAR2
388 , x_freight_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
389 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
390 , x_list_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
391 , x_prorate OUT NOCOPY /* file.sql.39 change */ VARCHAR2
392 , x_ship_method OUT NOCOPY /* file.sql.39 change */ VARCHAR2
393 , x_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
394 , x_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
395 , x_description OUT NOCOPY /* file.sql.39 change */ VARCHAR2
396 , x_version_no OUT NOCOPY /* file.sql.39 change */ VARCHAR2
397 , x_active_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
398 , x_mobile_download OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- mkarya for bug 1944882
399 , x_currency_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Multi-Currency SunilPandey
400 , x_currency_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER -- Multi-Currency SunilPandey
401 , x_pte_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
402 , x_pte OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
403 , x_list_source_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
404 , x_orig_system_header_ref OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
405 , x_global_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Pricing Security gtippire
406 , x_source_system_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
407 , x_shareable_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
408 , x_sold_to_org_id OUT NOCOPY /* file.sql.39 change */ NUMBER
409 , x_locked_from_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
410 --added for MOAC
411 , x_org_id OUT NOCOPY /* file.sql.39 change */ NUMBER
412 )
413 IS
414 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
415 l_old_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
416 l_PRICE_LIST_val_rec QP_Price_List_PUB.Price_List_Val_Rec_Type;
417 l_control_rec QP_GLOBALS.Control_Rec_Type;
418 l_return_status VARCHAR2(1);
419 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
420 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
421 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
422 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
423 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
424 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
425 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
426 BEGIN
427
428 -- Set control flags.
429
430 l_control_rec.controlled_operation := TRUE;
431 l_control_rec.change_attributes := TRUE;
432
433 l_control_rec.default_attributes := FALSE;
434 l_control_rec.validate_entity := FALSE;
435 l_control_rec.write_to_DB := FALSE;
436 l_control_rec.process := FALSE;
437
438 -- Instruct API to retain its caches
439
440 l_control_rec.clear_api_cache := FALSE;
441 l_control_rec.clear_api_requests := FALSE;
442
443 -- Read PRICE_LIST from cache
444
445 l_PRICE_LIST_rec := Get_PRICE_LIST
446 ( p_db_record => FALSE
447 , p_list_header_id => p_list_header_id
448 );
449
450 l_old_PRICE_LIST_rec := l_PRICE_LIST_rec;
451
452 IF p_attr_id = QP_Price_List_Util.G_AUTOMATIC THEN
453 l_PRICE_LIST_rec.automatic_flag := p_attr_value;
454 ELSIF p_attr_id = QP_Price_List_Util.G_COMMENTS THEN
455 l_PRICE_LIST_rec.comments := p_attr_value;
456 ELSIF p_attr_id = QP_Price_List_Util.G_CURRENCY THEN
457 l_PRICE_LIST_rec.currency_code := p_attr_value;
458 ELSIF p_attr_id = QP_Price_List_Util.G_DISCOUNT_LINES THEN
459 l_PRICE_LIST_rec.discount_lines_flag := p_attr_value;
460 ELSIF p_attr_id = QP_Price_List_Util.G_END_DATE_ACTIVE THEN
461 l_PRICE_LIST_rec.end_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
462 ELSIF p_attr_id = QP_Price_List_Util.G_FREIGHT_TERMS THEN
463 l_PRICE_LIST_rec.freight_terms_code := p_attr_value;
464 ELSIF p_attr_id = QP_Price_List_Util.G_GSA_INDICATOR THEN
465 l_PRICE_LIST_rec.gsa_indicator := p_attr_value;
466 ELSIF p_attr_id = QP_Price_List_Util.G_NAME THEN
467 l_PRICE_LIST_rec.name := p_attr_value;
468 ELSIF p_attr_id = QP_Price_List_Util.G_DESCRIPTION THEN
469 l_PRICE_LIST_rec.description := p_attr_value;
470 ELSIF p_attr_id = QP_Price_List_Util.G_LIST_HEADER THEN
471 l_PRICE_LIST_rec.list_header_id := TO_NUMBER(p_attr_value);
472 ELSIF p_attr_id = QP_Price_List_Util.G_LIST_TYPE THEN
473 l_PRICE_LIST_rec.list_type_code := p_attr_value;
474 ELSIF p_attr_id = QP_Price_List_Util.G_VERSION_NO THEN
475 l_PRICE_LIST_rec.version_no := p_attr_value;
476 ELSIF p_attr_id = QP_Price_List_Util.G_PRORATE THEN
477 l_PRICE_LIST_rec.prorate_flag := p_attr_value;
478 ELSIF p_attr_id = QP_Price_List_Util.G_ROUNDING_FACTOR THEN
479 l_PRICE_LIST_rec.rounding_factor := TO_NUMBER(p_attr_value);
480 ELSIF p_attr_id = QP_Price_List_Util.G_SHIP_METHOD THEN
481 l_PRICE_LIST_rec.ship_method_code := p_attr_value;
482 ELSIF p_attr_id = QP_Price_List_Util.G_START_DATE_ACTIVE THEN
483 l_PRICE_LIST_rec.start_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
484 ELSIF p_attr_id = QP_Price_List_Util.G_TERMS THEN
485 l_PRICE_LIST_rec.terms_id := TO_NUMBER(p_attr_value);
486 --added active_flag
487 ELSIF p_attr_id = QP_Price_List_Util.G_ACTIVE_FLAG THEN
488 l_PRICE_LIST_rec.active_flag := p_attr_value;
489 --mkarya for bug 1944882 - added mobile download
490 ELSIF p_attr_id = QP_Price_List_Util.G_MOBILE_DOWNLOAD THEN
491 l_PRICE_LIST_rec.mobile_download := p_attr_value;
492 --Multi-Currency SunilPandey
493 ELSIF p_attr_id = QP_Price_List_Util.G_CURRENCY_HEADER THEN
494 l_PRICE_LIST_rec.CURRENCY_HEADER_ID := TO_NUMBER(p_attr_value);
495 --Attribute Manager Giri
496 ELSIF p_attr_id = QP_Price_List_Util.G_PTE THEN
497 l_PRICE_LIST_rec.PTE_CODE := p_attr_value; --Blanket Agreement
498 ELSIF p_attr_id = QP_Price_List_Util.G_LIST_SOURCE THEN
499 l_PRICE_LIST_rec.list_source_code := p_attr_value;
500 ELSIF p_attr_id = QP_Price_List_Util.ORIG_SYSTEM_HEADER_REF THEN
501 l_PRICE_LIST_rec.orig_system_header_ref:= p_attr_value;
502 -- added global_flag for Pricing Security
503 ELSIF p_attr_id = QP_Price_List_Util.G_GLOBAL_FLAG THEN
504 l_PRICE_LIST_rec.global_flag:= p_attr_value;
505 ELSIF p_attr_id = QP_Price_List_Util.G_SOURCE_SYSTEM_CODE THEN
506 l_PRICE_LIST_rec.source_system_code := p_attr_value;
507 ELSIF p_attr_id = QP_Price_List_Util.G_SHAREABLE_FLAG THEN
508 l_PRICE_LIST_rec.shareable_flag := p_attr_value;
509 ELSIF p_attr_id = QP_Price_List_Util.G_SOLD_TO_ORG_ID THEN
510 l_PRICE_LIST_rec.sold_to_org_id := p_attr_value;
511 ELSIF p_attr_id = QP_Price_List_Util.G_LOCKED_FROM_LIST_HEADER THEN
512 l_PRICE_LIST_rec.locked_from_list_header_id := TO_NUMBER(p_attr_value);
513 --added for MOAC
514 ELSIF p_attr_id = QP_Price_List_Util.G_ORG_ID THEN
515 l_PRICE_LIST_rec.org_id := p_attr_value;
516 ELSIF p_attr_id = QP_Price_List_Util.G_ATTRIBUTE1
517 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE10
518 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE11
519 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE12
520 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE13
521 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE14
522 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE15
523 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE2
524 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE3
525 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE4
526 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE5
527 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE6
528 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE7
529 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE8
530 OR p_attr_id = QP_Price_List_Util.G_ATTRIBUTE9
531 OR p_attr_id = QP_Price_List_Util.G_CONTEXT
532 THEN
533
534 l_PRICE_LIST_rec.attribute1 := p_attribute1;
535 l_PRICE_LIST_rec.attribute10 := p_attribute10;
536 l_PRICE_LIST_rec.attribute11 := p_attribute11;
537 l_PRICE_LIST_rec.attribute12 := p_attribute12;
538 l_PRICE_LIST_rec.attribute13 := p_attribute13;
539 l_PRICE_LIST_rec.attribute14 := p_attribute14;
540 l_PRICE_LIST_rec.attribute15 := p_attribute15;
541 l_PRICE_LIST_rec.attribute2 := p_attribute2;
542 l_PRICE_LIST_rec.attribute3 := p_attribute3;
543 l_PRICE_LIST_rec.attribute4 := p_attribute4;
544 l_PRICE_LIST_rec.attribute5 := p_attribute5;
545 l_PRICE_LIST_rec.attribute6 := p_attribute6;
546 l_PRICE_LIST_rec.attribute7 := p_attribute7;
547 l_PRICE_LIST_rec.attribute8 := p_attribute8;
548 l_PRICE_LIST_rec.attribute9 := p_attribute9;
549 l_PRICE_LIST_rec.context := p_context;
550
551 ELSE
552
553 -- Unexpected error, unrecognized attribute
554
555 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
556 THEN
557 oe_msg_pub.Add_Exc_Msg
558 ( G_PKG_NAME
559 , 'Change_Attribute'
560 , 'Unrecognized attribute'
561 );
562 END IF;
563
564 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
565
566 END IF;
567
568 -- Set Operation.
569
570 IF FND_API.To_Boolean(l_PRICE_LIST_rec.db_flag) THEN
571 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
572 ELSE
573 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
574 END IF;
575
576 -- Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
577
578 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
579 ( p_api_version_number => 1.0
580 , p_init_msg_list => FND_API.G_TRUE
581 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
582 , x_return_status => l_return_status
583 , x_msg_count => x_msg_count
584 , x_msg_data => x_msg_data
585 , p_control_rec => l_control_rec
586 , p_PRICE_LIST_rec => l_PRICE_LIST_rec
587 , p_old_PRICE_LIST_rec => l_old_PRICE_LIST_rec
588 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
589 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
590 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
591 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
592 );
593
594 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
595 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
596 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
597 RAISE FND_API.G_EXC_ERROR;
598 END IF;
599
600
601 -- Init OUT parameters to missing.
602
603 x_attribute1 := FND_API.G_MISS_CHAR;
604 x_attribute10 := FND_API.G_MISS_CHAR;
605 x_attribute11 := FND_API.G_MISS_CHAR;
606 x_attribute12 := FND_API.G_MISS_CHAR;
607 x_attribute13 := FND_API.G_MISS_CHAR;
608 x_attribute14 := FND_API.G_MISS_CHAR;
609 x_attribute15 := FND_API.G_MISS_CHAR;
610 x_attribute2 := FND_API.G_MISS_CHAR;
611 x_attribute3 := FND_API.G_MISS_CHAR;
612 x_attribute4 := FND_API.G_MISS_CHAR;
613 x_attribute5 := FND_API.G_MISS_CHAR;
614 x_attribute6 := FND_API.G_MISS_CHAR;
615 x_attribute7 := FND_API.G_MISS_CHAR;
616 x_attribute8 := FND_API.G_MISS_CHAR;
617 x_attribute9 := FND_API.G_MISS_CHAR;
618 x_automatic_flag := FND_API.G_MISS_CHAR;
619 x_comments := FND_API.G_MISS_CHAR;
620 x_context := FND_API.G_MISS_CHAR;
621 x_currency_code := FND_API.G_MISS_CHAR;
622 x_discount_lines_flag := FND_API.G_MISS_CHAR;
623 x_end_date_active := FND_API.G_MISS_DATE;
624 x_freight_terms_code := FND_API.G_MISS_CHAR;
625 x_gsa_indicator := FND_API.G_MISS_CHAR;
626 x_list_header_id := FND_API.G_MISS_NUM;
627 x_list_type_code := FND_API.G_MISS_CHAR;
628 x_prorate_flag := FND_API.G_MISS_CHAR;
629 x_rounding_factor := FND_API.G_MISS_NUM;
630 x_ship_method_code := FND_API.G_MISS_CHAR;
631 x_start_date_active := FND_API.G_MISS_DATE;
632 x_terms_id := FND_API.G_MISS_NUM;
633 x_automatic := FND_API.G_MISS_CHAR;
634 x_currency := FND_API.G_MISS_CHAR;
635 x_discount_lines := FND_API.G_MISS_CHAR;
636 x_freight_terms := FND_API.G_MISS_CHAR;
637 x_list_header := FND_API.G_MISS_CHAR;
638 x_list_type := FND_API.G_MISS_CHAR;
639 x_prorate := FND_API.G_MISS_CHAR;
640 x_ship_method := FND_API.G_MISS_CHAR;
641 x_terms := FND_API.G_MISS_CHAR;
642 x_name := FND_API.G_MISS_CHAR;
643 x_description := FND_API.G_MISS_CHAR;
644 x_version_no := FND_API.G_MISS_CHAR;
645 x_active_flag :=FND_API.G_MISS_CHAR;
646 x_mobile_download :=FND_API.G_MISS_CHAR; -- mkarya for bug 1944882
647 x_currency_header :=FND_API.G_MISS_CHAR; -- Multi-Currency SunilPandey
648 x_currency_header_id :=FND_API.G_MISS_NUM; -- Multi-Currency SunilPandey
649 x_pte_code :=FND_API.G_MISS_CHAR; -- Attribute Manager Giri
650 x_pte :=FND_API.G_MISS_CHAR; -- Attribute Manager Giri
651 x_list_source_code :=FND_API.G_MISS_CHAR; -- Blanket Sales Order
652 x_orig_system_header_ref :=FND_API.G_MISS_CHAR; -- Blanket Sales Order
653 x_global_flag :=FND_API.G_MISS_CHAR; -- Pricing Security gtippire
654 x_source_system_code := FND_API.G_MISS_CHAR;
655 x_shareable_flag := FND_API.G_MISS_CHAR;
656 x_sold_to_org_id := FND_API.G_MISS_NUM;
657 x_locked_from_list_header_id := FND_API.G_MISS_NUM;
658 --added for MOAC
659 x_org_id := FND_API.G_MISS_NUM;
660
661 -- Load display out parameters if any
662
663 l_PRICE_LIST_val_rec := QP_Price_List_Util.Get_Values
664 ( p_PRICE_LIST_rec => l_x_PRICE_LIST_rec
665 , p_old_PRICE_LIST_rec => l_PRICE_LIST_rec
666 );
667
668 -- Return changed attributes.
669
670 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute1,
671 l_PRICE_LIST_rec.attribute1)
672 THEN
673 x_attribute1 := l_x_PRICE_LIST_rec.attribute1;
674 END IF;
675
676 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute10,
677 l_PRICE_LIST_rec.attribute10)
678 THEN
679 x_attribute10 := l_x_PRICE_LIST_rec.attribute10;
680 END IF;
681
682 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute11,
683 l_PRICE_LIST_rec.attribute11)
684 THEN
685 x_attribute11 := l_x_PRICE_LIST_rec.attribute11;
686 END IF;
687
688 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute12,
689 l_PRICE_LIST_rec.attribute12)
690 THEN
691 x_attribute12 := l_x_PRICE_LIST_rec.attribute12;
692 END IF;
693
694 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute13,
695 l_PRICE_LIST_rec.attribute13)
696 THEN
697 x_attribute13 := l_x_PRICE_LIST_rec.attribute13;
698 END IF;
699
700 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute14,
701 l_PRICE_LIST_rec.attribute14)
702 THEN
703 x_attribute14 := l_x_PRICE_LIST_rec.attribute14;
704 END IF;
705
706 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute15,
707 l_PRICE_LIST_rec.attribute15)
708 THEN
709 x_attribute15 := l_x_PRICE_LIST_rec.attribute15;
710 END IF;
711
712 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute2,
713 l_PRICE_LIST_rec.attribute2)
714 THEN
715 x_attribute2 := l_x_PRICE_LIST_rec.attribute2;
716 END IF;
717
718 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute3,
719 l_PRICE_LIST_rec.attribute3)
720 THEN
721 x_attribute3 := l_x_PRICE_LIST_rec.attribute3;
722 END IF;
723
724 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute4,
725 l_PRICE_LIST_rec.attribute4)
726 THEN
727 x_attribute4 := l_x_PRICE_LIST_rec.attribute4;
728 END IF;
729
730 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute5,
731 l_PRICE_LIST_rec.attribute5)
732 THEN
733 x_attribute5 := l_x_PRICE_LIST_rec.attribute5;
734 END IF;
735
736 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute6,
737 l_PRICE_LIST_rec.attribute6)
738 THEN
739 x_attribute6 := l_x_PRICE_LIST_rec.attribute6;
740 END IF;
741
742 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute7,
743 l_PRICE_LIST_rec.attribute7)
744 THEN
745 x_attribute7 := l_x_PRICE_LIST_rec.attribute7;
746 END IF;
747
748 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute8,
749 l_PRICE_LIST_rec.attribute8)
750 THEN
751 x_attribute8 := l_x_PRICE_LIST_rec.attribute8;
752 END IF;
753
754 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute9,
755 l_PRICE_LIST_rec.attribute9)
756 THEN
757 x_attribute9 := l_x_PRICE_LIST_rec.attribute9;
758 END IF;
759
760 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.automatic_flag,
761 l_PRICE_LIST_rec.automatic_flag)
762 THEN
763 x_automatic_flag := l_x_PRICE_LIST_rec.automatic_flag;
764 x_automatic := l_PRICE_LIST_val_rec.automatic;
765 END IF;
766
767 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.comments,
768 l_PRICE_LIST_rec.comments)
769 THEN
770 x_comments := l_x_PRICE_LIST_rec.comments;
771 END IF;
772
773 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.context,
774 l_PRICE_LIST_rec.context)
775 THEN
776 x_context := l_x_PRICE_LIST_rec.context;
777 END IF;
778
779 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.currency_code,
780 l_PRICE_LIST_rec.currency_code)
781 THEN
782 x_currency_code := l_x_PRICE_LIST_rec.currency_code;
783 x_currency := l_PRICE_LIST_val_rec.currency;
784 END IF;
785
786 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.discount_lines_flag,
787 l_PRICE_LIST_rec.discount_lines_flag)
788 THEN
789 x_discount_lines_flag := l_x_PRICE_LIST_rec.discount_lines_flag;
790 x_discount_lines := l_PRICE_LIST_val_rec.discount_lines;
791 END IF;
792
793 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.end_date_active,
794 l_PRICE_LIST_rec.end_date_active)
795 THEN
796 x_end_date_active := l_x_PRICE_LIST_rec.end_date_active;
797 END IF;
798
799 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.freight_terms_code,
800 l_PRICE_LIST_rec.freight_terms_code)
801 THEN
802 x_freight_terms_code := l_x_PRICE_LIST_rec.freight_terms_code;
803 x_freight_terms := l_PRICE_LIST_val_rec.freight_terms;
804 END IF;
805
806 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.gsa_indicator,
807 l_PRICE_LIST_rec.gsa_indicator)
808 THEN
809 x_gsa_indicator := l_x_PRICE_LIST_rec.gsa_indicator;
810 END IF;
811
812 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.list_header_id,
813 l_PRICE_LIST_rec.list_header_id)
814 THEN
815 x_list_header_id := l_x_PRICE_LIST_rec.list_header_id;
816 x_list_header := l_PRICE_LIST_val_rec.list_header;
817 END IF;
818
819 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.list_type_code,
820 l_PRICE_LIST_rec.list_type_code)
821 THEN
822 x_list_type_code := l_x_PRICE_LIST_rec.list_type_code;
823 x_list_type := l_PRICE_LIST_val_rec.list_type;
824 END IF;
825
826 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.version_no,
827 l_PRICE_LIST_rec.version_no)
828 THEN
829 x_version_no := l_x_PRICE_LIST_rec.version_no;
830 END IF;
831 -- added active_flag
832 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.active_flag,
833 l_PRICE_LIST_rec.active_flag)
834 THEN
835 x_active_flag := l_x_PRICE_LIST_rec.active_flag;
836 END IF;
837 -- mkarya for bug 1944882 - added mobile_download
838 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.mobile_download,
839 l_PRICE_LIST_rec.mobile_download)
840 THEN
841 x_mobile_download := l_x_PRICE_LIST_rec.mobile_download;
842 END IF;
843
844 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.prorate_flag,
845 l_PRICE_LIST_rec.prorate_flag)
846 THEN
847 x_prorate_flag := l_x_PRICE_LIST_rec.prorate_flag;
848 x_prorate := l_PRICE_LIST_val_rec.prorate;
849 END IF;
850
851 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.rounding_factor,
852 l_PRICE_LIST_rec.rounding_factor)
853 THEN
854 x_rounding_factor := l_x_PRICE_LIST_rec.rounding_factor;
855 END IF;
856
857 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.ship_method_code,
858 l_PRICE_LIST_rec.ship_method_code)
859 THEN
860 x_ship_method_code := l_x_PRICE_LIST_rec.ship_method_code;
861 x_ship_method := l_PRICE_LIST_val_rec.ship_method;
862 END IF;
863
864 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.start_date_active,
865 l_PRICE_LIST_rec.start_date_active)
866 THEN
867 x_start_date_active := l_x_PRICE_LIST_rec.start_date_active;
868 END IF;
869
870 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.terms_id,
871 l_PRICE_LIST_rec.terms_id)
872 THEN
873 x_terms_id := l_x_PRICE_LIST_rec.terms_id;
874 x_terms := l_PRICE_LIST_val_rec.terms;
875 END IF;
876
877 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.name,
878 l_PRICE_LIST_rec.name)
879 THEN
880 x_name := l_x_PRICE_LIST_rec.name;
881 END IF;
882
883 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.description,
884 l_PRICE_LIST_rec.description)
885 THEN
886 x_description := l_x_PRICE_LIST_rec.description;
887 END IF;
888
889 -- Multi-Currency SunilPandey
890 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.currency_header_id,
891 l_PRICE_LIST_rec.currency_header_id)
892 THEN
893 x_currency_header_id := l_x_PRICE_LIST_rec.currency_header_id;
894 x_currency_header := l_PRICE_LIST_val_rec.currency_header;
895 END IF;
896
897 -- Attribute Manager Giri
898 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.pte_code,
899 l_PRICE_LIST_rec.pte_code)
900 THEN
901 x_pte_code := l_x_PRICE_LIST_rec.pte_code;
902 x_pte := l_PRICE_LIST_val_rec.pte;
903 END IF;
904
905 -- Blanket Sales Order
906 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.list_source_code,
907 l_PRICE_LIST_rec.list_source_code)
908 THEN
909 x_list_source_code := l_x_PRICE_LIST_rec.list_source_code;
910 x_orig_system_header_ref := l_PRICE_LIST_val_rec.orig_system_header_ref;
911 END IF;
912
913 -- Pricing Security gtippire
914 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.global_flag,
915 l_PRICE_LIST_rec.global_flag)
916 THEN
917 x_global_flag := l_x_PRICE_LIST_rec.global_flag;
918 END IF;
919
920 -- Blanket Pricing
921 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.source_system_code,
922 l_PRICE_LIST_rec.source_system_code)
923 THEN
924 x_source_system_code := l_x_PRICE_LIST_rec.source_system_code;
925 END IF;
926
927 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.shareable_flag,
928 l_PRICE_LIST_rec.shareable_flag)
929 THEN
930 x_shareable_flag := l_x_PRICE_LIST_rec.shareable_flag;
931 END IF;
932
933 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.sold_to_org_id,
934 l_PRICE_LIST_rec.sold_to_org_id)
935 THEN
936 x_sold_to_org_id := l_x_PRICE_LIST_rec.sold_to_org_id;
937 END IF;
938
939 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.locked_from_list_header_id,
940 l_PRICE_LIST_rec.locked_from_list_header_id)
941 THEN
942 x_locked_from_list_header_id :=
943 l_x_PRICE_LIST_rec.locked_from_list_header_id;
944 END IF;
945
946 --added for MOAC
947 IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.org_id,
948 l_PRICE_LIST_rec.org_id)
949 THEN
950 x_org_id := l_x_PRICE_LIST_rec.org_id;
951 END IF;
952
953 -- Write to cache.
954
955 Write_PRICE_LIST
956 ( p_PRICE_LIST_rec => l_x_PRICE_LIST_rec
957 );
958
959 -- Set return status.
960
961 x_return_status := FND_API.G_RET_STS_SUCCESS;
962
963 -- Get message count and data
964
965 oe_msg_pub.Count_And_Get
966 ( p_count => x_msg_count
967 , p_data => x_msg_data
968 );
969
970
971 EXCEPTION
972
973 WHEN FND_API.G_EXC_ERROR THEN
974
975 x_return_status := FND_API.G_RET_STS_ERROR;
976
977 -- Get message count and data
978
979 oe_msg_pub.Count_And_Get
980 ( p_count => x_msg_count
981 , p_data => x_msg_data
982 );
983
984 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
985
986 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
987
988 -- Get message count and data
989
990 oe_msg_pub.Count_And_Get
991 ( p_count => x_msg_count
992 , p_data => x_msg_data
993 );
994
995 WHEN OTHERS THEN
996
997 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
998
999 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1000 THEN
1001 oe_msg_pub.Add_Exc_Msg
1002 ( G_PKG_NAME
1003 , 'Change_Attribute'
1004 );
1005 END IF;
1006
1007 -- Get message count and data
1008
1009 oe_msg_pub.Count_And_Get
1010 ( p_count => x_msg_count
1011 , p_data => x_msg_data
1012 );
1013
1014 END Change_Attribute;
1015
1016 -- Procedure Validate_And_Write
1017 --
1018
1019 PROCEDURE Validate_And_Write
1020 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1021 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1022 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1023 , p_list_header_id IN NUMBER
1024 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
1025 , x_created_by OUT NOCOPY /* file.sql.39 change */ NUMBER
1026 , x_last_update_date OUT NOCOPY /* file.sql.39 change */ DATE
1027 , x_last_updated_by OUT NOCOPY /* file.sql.39 change */ NUMBER
1028 , x_last_update_login OUT NOCOPY /* file.sql.39 change */ NUMBER
1029 , x_program_application_id OUT NOCOPY /* file.sql.39 change */ NUMBER
1030 , x_program_id OUT NOCOPY /* file.sql.39 change */ NUMBER
1031 , x_program_update_date OUT NOCOPY /* file.sql.39 change */ DATE
1032 , x_request_id OUT NOCOPY /* file.sql.39 change */ NUMBER
1033 )
1034 IS
1035 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1036 l_old_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1037 l_control_rec QP_GLOBALS.Control_Rec_Type;
1038 l_return_status VARCHAR2(1);
1039 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1040 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1041 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1042 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1043 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1044 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1045 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1046 BEGIN
1047
1048 -- Set control flags.
1049
1050 l_control_rec.controlled_operation := TRUE;
1051 l_control_rec.validate_entity := TRUE;
1052 l_control_rec.write_to_DB := TRUE;
1053
1054 l_control_rec.default_attributes := FALSE;
1055 l_control_rec.change_attributes := FALSE;
1056 l_control_rec.process := FALSE;
1057
1058 -- Instruct API to retain its caches
1059
1060 l_control_rec.clear_api_cache := FALSE;
1061 l_control_rec.clear_api_requests := FALSE;
1062
1063 -- Read PRICE_LIST from cache
1064
1065 l_old_PRICE_LIST_rec := Get_PRICE_LIST
1066 ( p_db_record => TRUE
1067 , p_list_header_id => p_list_header_id
1068 );
1069
1070 l_PRICE_LIST_rec := Get_PRICE_LIST
1071 ( p_db_record => FALSE
1072 , p_list_header_id => p_list_header_id
1073 );
1074
1075 -- Set Operation.
1076
1077 IF FND_API.To_Boolean(l_PRICE_LIST_rec.db_flag) THEN
1078 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
1079 ELSE
1080 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
1081 END IF;
1082
1083 -- Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1084
1085 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1086 ( p_api_version_number => 1.0
1087 , p_init_msg_list => FND_API.G_TRUE
1088 , x_return_status => l_return_status
1089 , x_msg_count => x_msg_count
1090 , x_msg_data => x_msg_data
1091 , p_control_rec => l_control_rec
1092 , p_PRICE_LIST_rec => l_PRICE_LIST_rec
1093 , p_old_PRICE_LIST_rec => l_old_PRICE_LIST_rec
1094 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1095 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1096 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1097 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1098 );
1099
1100 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1103 RAISE FND_API.G_EXC_ERROR;
1104 END IF;
1105
1106
1107 -- Load OUT parameters.
1108
1109
1110 x_creation_date := l_x_PRICE_LIST_rec.creation_date;
1111 x_created_by := l_x_PRICE_LIST_rec.created_by;
1112 x_last_update_date := l_x_PRICE_LIST_rec.last_update_date;
1113 x_last_updated_by := l_x_PRICE_LIST_rec.last_updated_by;
1114 x_last_update_login := l_x_PRICE_LIST_rec.last_update_login;
1115 x_program_application_id := l_x_PRICE_LIST_rec.program_application_id;
1116 x_program_id := l_x_PRICE_LIST_rec.program_id;
1117 x_program_update_date := l_x_PRICE_LIST_rec.program_update_date;
1118 x_request_id := l_x_PRICE_LIST_rec.request_id;
1119
1120 -- Clear PRICE_LIST record cache
1121
1122 Clear_PRICE_LIST;
1123
1124 -- Keep track of performed operations.
1125
1126 l_old_PRICE_LIST_rec.operation := l_PRICE_LIST_rec.operation;
1127
1128
1129 -- Set return status.
1130
1131 x_return_status := FND_API.G_RET_STS_SUCCESS;
1132
1133 -- Get message count and data
1134
1135 oe_msg_pub.Count_And_Get
1136 ( p_count => x_msg_count
1137 , p_data => x_msg_data
1138 );
1139
1140
1141 EXCEPTION
1142
1143 WHEN FND_API.G_EXC_ERROR THEN
1144
1145 x_return_status := FND_API.G_RET_STS_ERROR;
1146
1147 -- Get message count and data
1148
1149 oe_msg_pub.Count_And_Get
1150 ( p_count => x_msg_count
1151 , p_data => x_msg_data
1152 );
1153
1154 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1155
1156 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1157
1158 -- Get message count and data
1159
1160 oe_msg_pub.Count_And_Get
1161 ( p_count => x_msg_count
1162 , p_data => x_msg_data
1163 );
1164
1165 WHEN OTHERS THEN
1166
1167 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1168
1169 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1170 THEN
1171 oe_msg_pub.Add_Exc_Msg
1172 ( G_PKG_NAME
1173 , 'Validate_And_Write'
1174 );
1175 END IF;
1176
1177 -- Get message count and data
1178
1179 oe_msg_pub.Count_And_Get
1180 ( p_count => x_msg_count
1181 , p_data => x_msg_data
1182 );
1183
1184 END Validate_And_Write;
1185
1186 -- Procedure Delete_Row
1187 --
1188
1189 PROCEDURE Delete_Row
1190 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1191 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1192 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1193 , p_list_header_id IN NUMBER
1194 )
1195 IS
1196 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1197 l_control_rec QP_GLOBALS.Control_Rec_Type;
1198 l_return_status VARCHAR2(1);
1199 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1200 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1201 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1202 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1203 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1204 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1205 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1206 BEGIN
1207
1208 -- Set control flags.
1209
1210 l_control_rec.controlled_operation := TRUE;
1211 l_control_rec.validate_entity := TRUE;
1212 l_control_rec.write_to_DB := TRUE;
1213
1214 l_control_rec.default_attributes := FALSE;
1215 l_control_rec.change_attributes := FALSE;
1216 l_control_rec.process := FALSE;
1217
1218 -- Instruct API to retain its caches
1219
1220 l_control_rec.clear_api_cache := FALSE;
1221 l_control_rec.clear_api_requests := FALSE;
1222
1223 -- Read DB record from cache
1224
1225 l_PRICE_LIST_rec := Get_PRICE_LIST
1226 ( p_db_record => TRUE
1227 , p_list_header_id => p_list_header_id
1228 );
1229
1230 -- Set Operation.
1231
1232 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_DELETE;
1233
1234 -- Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1235
1236 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1237 ( p_api_version_number => 1.0
1238 , p_init_msg_list => FND_API.G_TRUE
1239 , x_return_status => l_return_status
1240 , x_msg_count => x_msg_count
1241 , x_msg_data => x_msg_data
1242 , p_control_rec => l_control_rec
1243 , p_PRICE_LIST_rec => l_PRICE_LIST_rec
1244 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1245 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1246 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1247 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1248 );
1249
1250 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1251 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1252 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1253 RAISE FND_API.G_EXC_ERROR;
1254 END IF;
1255
1256
1257 -- Clear PRICE_LIST record cache
1258
1259 Clear_PRICE_LIST;
1260
1261 -- Set return status.
1262
1263 x_return_status := FND_API.G_RET_STS_SUCCESS;
1264
1265 -- Get message count and data
1266
1267 oe_msg_pub.Count_And_Get
1268 ( p_count => x_msg_count
1269 , p_data => x_msg_data
1270 );
1271
1272
1273 EXCEPTION
1274
1275 WHEN FND_API.G_EXC_ERROR THEN
1276
1277 x_return_status := FND_API.G_RET_STS_ERROR;
1278
1279 -- Get message count and data
1280
1281 oe_msg_pub.Count_And_Get
1282 ( p_count => x_msg_count
1283 , p_data => x_msg_data
1284 );
1285
1286 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1287
1288 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1289
1290 -- Get message count and data
1291
1292 oe_msg_pub.Count_And_Get
1293 ( p_count => x_msg_count
1294 , p_data => x_msg_data
1295 );
1296
1297 WHEN OTHERS THEN
1298
1299 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1300
1301 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1302 THEN
1303 oe_msg_pub.Add_Exc_Msg
1304 ( G_PKG_NAME
1305 , 'Delete_Row'
1306 );
1307 END IF;
1308
1309 -- Get message count and data
1310
1311 oe_msg_pub.Count_And_Get
1312 ( p_count => x_msg_count
1313 , p_data => x_msg_data
1314 );
1315
1316 END Delete_Row;
1317
1318 -- Procedure Process_Entity
1319 --
1320
1321 PROCEDURE Process_Entity
1322 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1323 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1324 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1325 )
1326 IS
1327 l_control_rec QP_GLOBALS.Control_Rec_Type;
1328 l_return_status VARCHAR2(1);
1329 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1330 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1331 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1332 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1333 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1334 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1335 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1336 BEGIN
1337
1338 -- Set control flags.
1339
1340 l_control_rec.controlled_operation := TRUE;
1341 l_control_rec.process := TRUE;
1342 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_PRICE_LIST;
1343
1344 l_control_rec.default_attributes := FALSE;
1345 l_control_rec.change_attributes := FALSE;
1346 l_control_rec.validate_entity := FALSE;
1347 l_control_rec.write_to_DB := FALSE;
1348
1349 -- Instruct API to clear its request table
1350
1351 l_control_rec.clear_api_cache := FALSE;
1352 l_control_rec.clear_api_requests := FALSE;
1353
1354 -- Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1355
1356 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1357 ( p_api_version_number => 1.0
1358 , p_init_msg_list => FND_API.G_TRUE
1359 , x_return_status => l_return_status
1360 , x_msg_count => x_msg_count
1361 , x_msg_data => x_msg_data
1362 , p_control_rec => l_control_rec
1363 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1364 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1365 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1366 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1367 );
1368
1369 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1370 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1371 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1372 RAISE FND_API.G_EXC_ERROR;
1373 END IF;
1374
1375
1376 -- Set return status.
1377
1378 x_return_status := FND_API.G_RET_STS_SUCCESS;
1379
1380 -- Get message count and data
1381
1382 oe_msg_pub.Count_And_Get
1383 ( p_count => x_msg_count
1384 , p_data => x_msg_data
1385 );
1386
1387
1388 EXCEPTION
1389
1390 WHEN FND_API.G_EXC_ERROR THEN
1391
1392 x_return_status := FND_API.G_RET_STS_ERROR;
1393
1394 -- Get message count and data
1395
1396 oe_msg_pub.Count_And_Get
1397 ( p_count => x_msg_count
1398 , p_data => x_msg_data
1399 );
1400
1401 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1402
1403 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1404
1405 -- Get message count and data
1406
1407 oe_msg_pub.Count_And_Get
1408 ( p_count => x_msg_count
1409 , p_data => x_msg_data
1410 );
1411
1412 WHEN OTHERS THEN
1413
1414 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1415
1416 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1417 THEN
1418 oe_msg_pub.Add_Exc_Msg
1419 ( G_PKG_NAME
1420 , 'Process_Entity'
1421 );
1422 END IF;
1423
1424 -- Get message count and data
1425
1426 oe_msg_pub.Count_And_Get
1427 ( p_count => x_msg_count
1428 , p_data => x_msg_data
1429 );
1430
1431 END Process_Entity;
1432
1433 -- Procedure Process_Object
1434 --
1435
1436 PROCEDURE Process_Object
1437 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1438 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1439 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1440 )
1441 IS
1442 l_control_rec QP_GLOBALS.Control_Rec_Type;
1443 l_return_status VARCHAR2(1);
1444 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1445 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1446 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1447 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1448 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1449 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1450 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1451 BEGIN
1452
1453 -- Set control flags.
1454
1455 l_control_rec.controlled_operation := TRUE;
1456 l_control_rec.process := TRUE;
1457 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_ALL;
1458
1459 l_control_rec.default_attributes := FALSE;
1460 l_control_rec.change_attributes := FALSE;
1461 l_control_rec.validate_entity := FALSE;
1462 l_control_rec.write_to_DB := FALSE;
1463
1464 -- Instruct API to clear its request table
1465
1466 l_control_rec.clear_api_cache := FALSE;
1467 l_control_rec.clear_api_requests := TRUE;
1468
1469 -- Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1470
1471 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1472 ( p_api_version_number => 1.0
1473 , p_init_msg_list => FND_API.G_TRUE
1474 , x_return_status => l_return_status
1475 , x_msg_count => x_msg_count
1476 , x_msg_data => x_msg_data
1477 , p_control_rec => l_control_rec
1478 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1479 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1480 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1481 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1482 );
1483
1484 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1485 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1486 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1487 RAISE FND_API.G_EXC_ERROR;
1488 END IF;
1489
1490
1491 -- Set return status.
1492
1493 x_return_status := FND_API.G_RET_STS_SUCCESS;
1494
1495 -- Get message count and data
1496
1497 oe_msg_pub.Count_And_Get
1498 ( p_count => x_msg_count
1499 , p_data => x_msg_data
1500 );
1501
1502
1503 EXCEPTION
1504
1505 WHEN FND_API.G_EXC_ERROR THEN
1506
1507 x_return_status := FND_API.G_RET_STS_ERROR;
1508
1509 -- Get message count and data
1510
1511 oe_msg_pub.Count_And_Get
1512 ( p_count => x_msg_count
1513 , p_data => x_msg_data
1514 );
1515
1516 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1517
1518 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1519
1520 -- Get message count and data
1521
1522 oe_msg_pub.Count_And_Get
1523 ( p_count => x_msg_count
1524 , p_data => x_msg_data
1525 );
1526
1527 WHEN OTHERS THEN
1528
1529 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1530
1531 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1532 THEN
1533 oe_msg_pub.Add_Exc_Msg
1534 ( G_PKG_NAME
1535 , 'Process_Object'
1536 );
1537 END IF;
1538
1539 -- Get message count and data
1540
1541 oe_msg_pub.Count_And_Get
1542 ( p_count => x_msg_count
1543 , p_data => x_msg_data
1544 );
1545
1546 END Process_Object;
1547
1548 -- Procedure lock_Row
1549 --
1550
1551 PROCEDURE Lock_Row
1552 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1553 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1554 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1555 , p_attribute1 IN VARCHAR2
1556 , p_attribute10 IN VARCHAR2
1557 , p_attribute11 IN VARCHAR2
1558 , p_attribute12 IN VARCHAR2
1559 , p_attribute13 IN VARCHAR2
1560 , p_attribute14 IN VARCHAR2
1561 , p_attribute15 IN VARCHAR2
1562 , p_attribute2 IN VARCHAR2
1563 , p_attribute3 IN VARCHAR2
1564 , p_attribute4 IN VARCHAR2
1565 , p_attribute5 IN VARCHAR2
1566 , p_attribute6 IN VARCHAR2
1567 , p_attribute7 IN VARCHAR2
1568 , p_attribute8 IN VARCHAR2
1569 , p_attribute9 IN VARCHAR2
1570 , p_automatic_flag IN VARCHAR2
1571 , p_comments IN VARCHAR2
1572 , p_context IN VARCHAR2
1573 , p_created_by IN NUMBER
1574 , p_creation_date IN DATE
1575 , p_currency_code IN VARCHAR2
1576 , p_discount_lines_flag IN VARCHAR2
1577 , p_end_date_active IN DATE
1578 , p_freight_terms_code IN VARCHAR2
1579 , p_gsa_indicator IN VARCHAR2
1580 , p_last_updated_by IN NUMBER
1581 , p_last_update_date IN DATE
1582 , p_last_update_login IN NUMBER
1583 , p_list_header_id IN NUMBER
1584 , p_list_type_code IN VARCHAR2
1585 , p_program_application_id IN NUMBER
1586 , p_program_id IN NUMBER
1587 , p_program_update_date IN DATE
1588 , p_prorate_flag IN VARCHAR2
1589 , p_request_id IN NUMBER
1590 , p_rounding_factor IN NUMBER
1591 , p_ship_method_code IN VARCHAR2
1592 , p_start_date_active IN DATE
1593 , p_terms_id IN NUMBER
1594 , p_name IN VARCHAR2
1595 , p_description IN VARCHAR2
1596 , p_version_no IN VARCHAR2
1597 , p_active_flag IN VARCHAR2
1598 , p_mobile_download IN VARCHAR2 -- mkarya for bug 1944882
1599 , p_currency_header_id IN NUMBER -- Multi-Currency SunilPandey
1600 , p_pte_code IN VARCHAR2 := NULL -- Attribute Manager Giri
1601 , p_list_source_code IN VARCHAR2 := NULL--FND_API.G_MISS_CHAR--NULL -- Blanket Sales Order
1602 , p_orig_system_header_ref IN VARCHAR2 := NULL--FND_API.G_MISS_CHAR--NULL -- Blanket Sales Order
1603 , p_global_flag IN VARCHAR2 -- Pricing Security gtippire
1604 , p_source_system_code IN VARCHAR2
1605 , p_shareable_flag IN VARCHAR2 := NULL
1606 , p_sold_to_org_id IN NUMBER := NULL
1607 , p_locked_from_list_header_id IN NUMBER := NULL
1608 --added for MOAC
1609 , p_org_id IN NUMBER
1610 )
1611 IS
1612 l_return_status VARCHAR2(1);
1613 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1614 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1615 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1616 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1617 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1618 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1619 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1620 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1621 BEGIN
1622
1623 -- Load PRICE_LIST record
1624 oe_debug_pub.add('Lock_Row in QPXFPLHB, next call to QPXVPRLB::Lock_PRICE_LIST');
1625
1626 if(p_list_source_code IS NULL) then
1627 oe_debug_pub.add('list_source_code is ' || p_list_source_code);
1628 oe_debug_pub.add('orig_system_header_Ref is ' || p_orig_system_header_ref);
1629 end if;
1630 l_PRICE_LIST_rec.attribute1 := p_attribute1;
1631 l_PRICE_LIST_rec.attribute10 := p_attribute10;
1632 l_PRICE_LIST_rec.attribute11 := p_attribute11;
1633 l_PRICE_LIST_rec.attribute12 := p_attribute12;
1634 l_PRICE_LIST_rec.attribute13 := p_attribute13;
1635 l_PRICE_LIST_rec.attribute14 := p_attribute14;
1636 l_PRICE_LIST_rec.attribute15 := p_attribute15;
1637 l_PRICE_LIST_rec.attribute2 := p_attribute2;
1638 l_PRICE_LIST_rec.attribute3 := p_attribute3;
1639 l_PRICE_LIST_rec.attribute4 := p_attribute4;
1640 l_PRICE_LIST_rec.attribute5 := p_attribute5;
1641 l_PRICE_LIST_rec.attribute6 := p_attribute6;
1642 l_PRICE_LIST_rec.attribute7 := p_attribute7;
1643 l_PRICE_LIST_rec.attribute8 := p_attribute8;
1644 l_PRICE_LIST_rec.attribute9 := p_attribute9;
1645 l_PRICE_LIST_rec.automatic_flag := p_automatic_flag;
1646 l_PRICE_LIST_rec.comments := p_comments;
1647 l_PRICE_LIST_rec.context := p_context;
1648 l_PRICE_LIST_rec.created_by := p_created_by;
1649 l_PRICE_LIST_rec.creation_date := p_creation_date;
1650 l_PRICE_LIST_rec.currency_code := p_currency_code;
1651 l_PRICE_LIST_rec.discount_lines_flag := p_discount_lines_flag;
1652 l_PRICE_LIST_rec.end_date_active := p_end_date_active;
1653 l_PRICE_LIST_rec.freight_terms_code := p_freight_terms_code;
1654 l_PRICE_LIST_rec.gsa_indicator := p_gsa_indicator;
1655 l_PRICE_LIST_rec.last_updated_by := p_last_updated_by;
1656 l_PRICE_LIST_rec.last_update_date := p_last_update_date;
1657 l_PRICE_LIST_rec.last_update_login := p_last_update_login;
1658 l_PRICE_LIST_rec.list_header_id := p_list_header_id;
1659 l_PRICE_LIST_rec.list_type_code := p_list_type_code;
1660 l_PRICE_LIST_rec.program_application_id := p_program_application_id;
1661 l_PRICE_LIST_rec.program_id := p_program_id;
1662 l_PRICE_LIST_rec.program_update_date := p_program_update_date;
1663 l_PRICE_LIST_rec.prorate_flag := p_prorate_flag;
1664 l_PRICE_LIST_rec.request_id := p_request_id;
1665 l_PRICE_LIST_rec.rounding_factor := p_rounding_factor;
1666 l_PRICE_LIST_rec.ship_method_code := p_ship_method_code;
1667 l_PRICE_LIST_rec.start_date_active := p_start_date_active;
1668 l_PRICE_LIST_rec.terms_id := p_terms_id;
1669 l_PRICE_LIST_rec.name := p_name;
1670 l_PRICE_LIST_rec.description := p_description;
1671 l_PRICE_LIST_rec.version_no := p_version_no;
1672 l_PRICE_LIST_rec.active_flag := p_active_flag;
1673 l_PRICE_LIST_rec.mobile_download := p_mobile_download; -- mkarya for bug 1944882
1674 l_PRICE_LIST_rec.currency_header_id := p_currency_header_id; -- Multi-Currency SunilPandey
1675 l_PRICE_LIST_rec.pte_code := p_pte_code; -- Attribute Manager Giri
1676 l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_LOCK;
1677 l_PRICE_LIST_rec.list_source_code := p_list_source_code ; --Blanket Sales Order
1678 l_PRICE_LIST_rec.orig_system_header_ref := p_orig_system_header_ref ; --Blanket Sales Order
1679 l_PRICE_LIST_rec.global_flag := p_global_flag ; --Pricing Security gtippire
1680 l_PRICE_LIST_rec.source_system_code := p_source_system_code;
1681 l_PRICE_LIST_rec.shareable_flag := p_shareable_flag;
1682 l_PRICE_LIST_rec.sold_to_org_id := p_sold_to_org_id;
1683 l_PRICE_LIST_rec.locked_from_list_header_id := p_locked_from_list_header_id;
1684 --added for MOAC
1685 l_PRICE_LIST_rec.org_id := p_org_id;
1686
1687
1688 -- Call QP_LIST_HEADERS_PVT.Lock_PRICE_LIST
1689
1690 QP_LIST_HEADERS_PVT.Lock_PRICE_LIST
1691 ( p_api_version_number => 1.0
1692 , p_init_msg_list => FND_API.G_TRUE
1693 , x_return_status => l_return_status
1694 , x_msg_count => x_msg_count
1695 , x_msg_data => x_msg_data
1696 , p_PRICE_LIST_rec => l_PRICE_LIST_rec
1697 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1698 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1699 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1700 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1701 );
1702
1703 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1704
1705 -- Set DB flag and write record to cache.
1706
1707 l_x_PRICE_LIST_rec.db_flag := FND_API.G_TRUE;
1708
1709 Write_PRICE_LIST
1710 ( p_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1711 , p_db_record => TRUE
1712 );
1713
1714 END IF;
1715
1716 -- Set return status.
1717
1718 x_return_status := l_return_status;
1719
1720 -- Get message count and data
1721
1722 oe_msg_pub.Count_And_Get
1723 ( p_count => x_msg_count
1724 , p_data => x_msg_data
1725 );
1726
1727
1728 EXCEPTION
1729
1730 WHEN OTHERS THEN
1731
1732 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1733 THEN
1734 oe_msg_pub.Add_Exc_Msg
1735 ( G_PKG_NAME
1736 , 'Lock_Row'
1737 );
1738 END IF;
1739
1740 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1741
1742 -- Get message count and data
1743
1744 oe_msg_pub.Count_And_Get
1745 ( p_count => x_msg_count
1746 , p_data => x_msg_data
1747 );
1748
1749
1750
1751 END Lock_Row;
1752
1753 -- Procedures maintaining PRICE_LIST record cache.
1754
1755 PROCEDURE Write_PRICE_LIST
1756 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1757 , p_db_record IN BOOLEAN := FALSE
1758 )
1759 IS
1760 BEGIN
1761
1762 g_PRICE_LIST_rec := p_PRICE_LIST_rec;
1763
1764 IF p_db_record THEN
1765
1766 g_db_PRICE_LIST_rec := p_PRICE_LIST_rec;
1767
1768 END IF;
1769
1770 END Write_Price_List;
1771
1772 FUNCTION Get_PRICE_LIST
1773 ( p_db_record IN BOOLEAN := FALSE
1774 , p_list_header_id IN NUMBER
1775 )
1776 RETURN QP_Price_List_PUB.Price_List_Rec_Type
1777 IS
1778 BEGIN
1779
1780 IF p_list_header_id <> g_PRICE_LIST_rec.list_header_id
1781 THEN
1782
1783 -- Query row from DB
1784
1785 g_PRICE_LIST_rec := QP_Price_List_Util.Query_Row
1786 ( p_list_header_id => p_list_header_id
1787 );
1788
1789 g_PRICE_LIST_rec.db_flag := FND_API.G_TRUE;
1790
1791 -- Load DB record
1792
1793 g_db_PRICE_LIST_rec := g_PRICE_LIST_rec;
1794
1795 END IF;
1796
1797 IF p_db_record THEN
1798
1799 RETURN g_db_PRICE_LIST_rec;
1800
1801 ELSE
1802
1803 RETURN g_PRICE_LIST_rec;
1804
1805 END IF;
1806
1807 END Get_Price_List;
1808
1809 PROCEDURE Clear_Price_List
1810 IS
1811 BEGIN
1812
1813 g_PRICE_LIST_rec := QP_Price_List_PUB.G_MISS_PRICE_LIST_REC;
1814 g_db_PRICE_LIST_rec := QP_Price_List_PUB.G_MISS_PRICE_LIST_REC;
1815
1816 END Clear_Price_List;
1817
1818 Procedure Clear_Record
1819 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1820 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1821 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1822 , p_list_header_id IN NUMBER
1823 )
1824 IS
1825 l_return_status Varchar2(30);
1826 BEGIN
1827 OE_MSG_PUB.initialize;
1828 x_return_status := FND_API.G_RET_STS_SUCCESS;
1829 QP_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
1830 p_entity_code => QP_GLOBALS.G_ENTITY_PRICE_LIST
1831 ,p_entity_id => p_list_header_id
1832 ,x_return_status => l_return_status);
1833
1834 OE_MSG_PUB.Count_And_Get
1835 ( p_count => x_msg_count
1836 , p_data => x_msg_data
1837 );
1838
1839 -- Clear the controller cache
1840 Clear_Price_List;
1841
1842 EXCEPTION
1843 WHEN OTHERS THEN
1844 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1845 THEN
1846 OE_MSG_PUB.Add_Exc_Msg
1847 ( G_PKG_NAME
1848 , 'Clear_Record'
1849 );
1850 END IF;
1851 -- Get message count and data
1852 OE_MSG_PUB.Count_And_Get
1853 ( p_count => x_msg_count
1854 , p_data => x_msg_data
1855 );
1856 x_return_status := FND_API.G_RET_STS_ERROR;
1857
1858 END Clear_Record;
1859
1860
1861 -- This procedure will be called from the client when the user
1862 -- clears a block or Form
1863
1864 Procedure Delete_All_Requests
1865 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1866 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1867 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1868 )
1869 IS
1870 l_return_status Varchar2(30);
1871 BEGIN
1872 OE_MSG_PUB.initialize;
1873 x_return_status := FND_API.G_RET_STS_SUCCESS;
1874 QP_DELAYED_REQUESTS_PVT.Clear_Request(
1875 x_return_status => l_return_status);
1876
1877 EXCEPTION
1878 WHEN OTHERS THEN
1879 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1880 THEN
1881 OE_MSG_PUB.Add_Exc_Msg
1882 ( G_PKG_NAME
1883 , 'Delete_All_Requests'
1884 );
1885 END IF;
1886 -- Get message count and data
1887 OE_MSG_PUB.Count_And_Get
1888 ( p_count => x_msg_count
1889 , p_data => x_msg_data
1890 );
1891 x_return_status := FND_API.G_RET_STS_ERROR;
1892
1893 END Delete_All_Requests;
1894
1895
1896 END QP_QP_Form_Price_List;