1 PACKAGE BODY QP_Validate_Price_List AS
2 /* $Header: QPXLPLHB.pls 120.9 2006/08/03 05:27:03 rbagri ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Validate_Price_List';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 , p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
13 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
14 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
15 )
16 IS
17 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 l_dummy_c VARCHAR2(1);
19 l_security_profile VARCHAR2(1);
20 l_unit_precision_type VARCHAR2(255):= '';
21 l_price_rounding VARCHAR2(50):= '';
22
23 cursor c_lines_dates_cur(p_list_header_id NUMBER) is
24 select end_date_active, start_date_active
25 from qp_list_lines
26 where list_header_id = p_list_header_id
27 and NOT((end_date_active is null or end_date_active = FND_API.G_MISS_DATE)
28 and (start_date_active is null or start_date_active = FND_API.G_MISS_DATE));
29
30 BEGIN
31
32 -- Check required attributes. list_header_id, list_type_code
33 -- and currency_code are required.
34
35 IF p_PRICE_LIST_rec.list_header_id IS NULL
36 THEN
37
38 l_return_status := FND_API.G_RET_STS_ERROR;
39
40 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
41 THEN
42
43 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
44 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header_id');
45 oe_msg_pub.Add;
46
47 END IF;
48
49 END IF;
50
51 --5286339
52 IF p_PRICE_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE
53 THEN
54 IF nvl(p_old_PRICE_LIST_rec.shareable_flag,'X') <>
55 nvl(p_PRICE_LIST_rec.shareable_flag,'X')
56 THEN
57 l_return_status := FND_API.G_RET_STS_ERROR;
58
59 FND_MESSAGE.SET_NAME('QP','QP_CANNOT_UPDATE_ATTRIBUTE');
60 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','shareable_flag');
61 OE_MSG_PUB.Add;
62
63 END IF;
64
65 IF nvl(p_old_PRICE_LIST_rec.list_source_code,'X') <>
66 nvl(p_PRICE_LIST_rec.list_source_code,'X')
67 THEN
68 l_return_status := FND_API.G_RET_STS_ERROR;
69
70 FND_MESSAGE.SET_NAME('QP','QP_CANNOT_UPDATE_ATTRIBUTE');
71 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_source_code');
72 OE_MSG_PUB.Add;
73
74 END IF;
75
76 IF nvl(p_old_PRICE_LIST_rec.rounding_factor,9999999) <>
77 nvl(p_PRICE_LIST_rec.rounding_factor,9999999)
78 THEN
79
80 l_unit_precision_type := FND_PROFILE.VALUE('QP_UNIT_PRICE_PRECISION_TYPE');
81 l_price_rounding := fnd_profile.value('QP_PRICE_ROUNDING');
82
83 IF l_unit_precision_type = 'STANDARD' THEN
84 IF l_price_rounding = 'PRECISION' THEN
85 l_return_status := FND_API.G_RET_STS_ERROR;
86 FND_MESSAGE.SET_NAME('QP', 'QP_ROUNDING_FACTOR_NO_UPDATE');
87 OE_MSG_PUB.Add;
88 END IF;
89 END IF;
90 END IF;
91
92 IF nvl(p_old_PRICE_LIST_rec.pte_code,'X') <>
93 nvl(p_PRICE_LIST_rec.pte_code,'X')
94 THEN
95 l_return_status := FND_API.G_RET_STS_ERROR;
96
97 FND_MESSAGE.SET_NAME('QP','QP_CANNOT_UPDATE_ATTRIBUTE');
98 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pte_code');
99 OE_MSG_PUB.Add;
100
101 END IF;
102
103 IF nvl(p_old_PRICE_LIST_rec.source_system_code,'X') <>
104 nvl(p_PRICE_LIST_rec.source_system_code,'X')
105 THEN
106 l_return_status := FND_API.G_RET_STS_ERROR;
107
108 FND_MESSAGE.SET_NAME('QP','QP_CANNOT_UPDATE_ATTRIBUTE');
109 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','source_system_code');
110 OE_MSG_PUB.Add;
111
112 END IF;
113
114 IF nvl(p_old_PRICE_LIST_rec.sold_to_org_id,9999999) <>
115 nvl(p_PRICE_LIST_rec.sold_to_org_id,9999999)
116 THEN
117 l_return_status := FND_API.G_RET_STS_ERROR;
118
119 FND_MESSAGE.SET_NAME('QP','QP_CANNOT_UPDATE_ATTRIBUTE');
120 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','sold_to_org_id');
121 OE_MSG_PUB.Add;
122
123 END IF;
124
125 END IF;
126
127 --5286339
128
129 IF p_PRICE_LIST_rec.list_type_code IS NULL
130 THEN
131
132 l_return_status := FND_API.G_RET_STS_ERROR;
133
134 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
135 THEN
136
137 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
138 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',QP_PRC_UTIL.Get_Attribute_Name('LIST_TYPE_CODE')); -- Fix For Bug-1974413
139 oe_msg_pub.Add;
140
141 END IF;
142
143 END IF;
144
145
146 IF p_PRICE_LIST_rec.currency_code IS NULL
147 THEN
148
149 l_return_status := FND_API.G_RET_STS_ERROR;
150
151 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
152 THEN
153
154 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
155 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',QP_PRC_UTIL.Get_Attribute_Name('CURRENCY_CODE')); -- Fix For Bug-1974413
156 oe_msg_pub.Add;
157
158 END IF;
159
160 END IF;
161
162 -- Bug 2347427 start
163
164 IF p_PRICE_LIST_rec.currency_code IS NOT NULL AND
165 ( p_PRICE_LIST_rec.currency_code <>
166 p_old_PRICE_LIST_rec.currency_code )
167 THEN
168 FND_MESSAGE.SET_NAME('QP','QP_CHANGE_SEC_PRL_CURR');
169 OE_MSG_PUB.Add;
170 END IF;
171
172 -- Bug 2347427 end
173
174 IF p_PRICE_LIST_rec.name IS NULL
175 THEN
176
177 l_return_status := FND_API.G_RET_STS_ERROR;
178
179 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
180 THEN
181
182 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
183 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',QP_PRC_UTIL.Get_Attribute_Name('NAME')); -- Fix For Bug-1974413
184 oe_msg_pub.Add;
185
186 END IF;
187
188 END IF;
189
190 -- Return Error if a required attribute is missing.
191
192 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
193
194 RAISE FND_API.G_EXC_ERROR;
195
196 END IF;
197
198 --
199 -- Check conditionally required attributes here.
200 --
201
202 IF NOT QP_Validate.Currency(p_PRICE_LIST_rec.currency_code) THEN
203 l_return_status := FND_API.G_RET_STS_ERROR;
204 END IF;
205
206
207 IF NOT QP_Validate.Rounding_Factor(p_PRICE_LIST_rec.rounding_factor,p_PRICE_LIST_rec.currency_code) THEN
208 l_return_status := FND_API.G_RET_STS_ERROR;
209 END IF;
210
211 IF ( p_PRICE_LIST_rec.automatic_flag IS NOT NULL
212 and p_PRICE_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR ) THEN
213
214 IF p_PRICE_LIST_rec.automatic_flag not in ('Y', 'N', 'y', 'n') THEN
215
216 l_return_status := FND_API.G_RET_STS_ERROR;
217
218 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
219 THEN
220
221 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
222 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
223 oe_msg_pub.Add;
224
225 END IF;
226
227 END IF;
228
229 END IF;
230 --add validation for active_flag
231 IF ( p_PRICE_LIST_rec.active_flag IS NOT NULL
232 and p_PRICE_LIST_rec.active_flag <> FND_API.G_MISS_CHAR ) THEN
233
234 IF p_PRICE_LIST_rec.active_flag not in ('Y', 'N', 'y', 'n') THEN
235
236 l_return_status := FND_API.G_RET_STS_ERROR;
237
238 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
239 THEN
240
241 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
242 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','active_flag');
243 oe_msg_pub.add;
244 END IF;
245 END IF;
246 END IF;
247
248 -- mkarya for bug 1944882
249 IF ( p_PRICE_LIST_rec.mobile_download IS NOT NULL
250 and p_PRICE_LIST_rec.mobile_download <> FND_API.G_MISS_CHAR ) THEN
251
252 IF p_PRICE_LIST_rec.mobile_download not in ('Y', 'N', 'n') THEN
253
254 l_return_status := FND_API.G_RET_STS_ERROR;
255
256 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR) THEN
257
258 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
259 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','mobile_download');
260 oe_msg_pub.add;
261 END IF;
262 END IF;
263 END IF;
264
265 -- Pricing Security gtippire
266 IF ( p_PRICE_LIST_rec.global_flag IS NOT NULL
267 and p_PRICE_LIST_rec.global_flag <> FND_API.G_MISS_CHAR ) THEN
268
269 IF p_PRICE_LIST_rec.global_flag not in ('Y', 'N', 'n') THEN
270
271 l_return_status := FND_API.G_RET_STS_ERROR;
272 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR) THEN
273
274 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
275 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Global_flag');
276 oe_msg_pub.add;
277 END IF;
278 END IF;
279 END IF;
280
281 --added for MOAC
282 l_security_profile := QP_SECURITY.security_on;
283
284 IF ( p_PRICE_LIST_rec.global_flag IS NOT NULL)
285 THEN
286
287 --if security is OFF, global_flag cannot be 'N'
288 IF (l_security_profile = 'N'
289 and p_PRICE_LIST_rec.global_flag in ('N', 'n')) THEN
290 l_return_status := FND_API.G_RET_STS_ERROR;
291 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR) THEN
292 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
293 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','global_flag');
294 oe_msg_pub.add;
295 END IF;
296 END IF;
297
298 IF l_security_profile = 'Y' THEN
299 --if security is ON and global_flag is 'N', org_id cannot be null
300 IF (p_PRICE_LIST_rec.global_flag in ('N', 'n')
301 and p_PRICE_LIST_rec.org_id is null) THEN
302 l_return_status := FND_API.G_RET_STS_ERROR;
303 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR) THEN
304 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
305 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORG_ID');
306 oe_msg_pub.add;
307 END IF;
308 END IF;
309
310 --if org_id is not null and it is not a valid org
311 IF (p_PRICE_LIST_rec.org_id is not null
312 and QP_UTIL.validate_org_id(p_PRICE_LIST_rec.org_id) = 'N') THEN
313 l_return_status := FND_API.G_RET_STS_ERROR;
314 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR) THEN
315 FND_MESSAGE.SET_NAME('FND','FND_MO_ORG_INVALID');
316 -- FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORG_ID');
317 oe_msg_pub.add;
318 END IF;
319 END IF;
320 END IF;--IF l_security_profile = 'Y'
321
322 -- global_flag 'Y', and org_id not null combination is invalid
323 IF ((p_PRICE_LIST_rec.global_flag = 'Y'
324 and p_PRICE_LIST_rec.org_id is not null) OR (p_PRICE_LIST_rec.global_flag ='N' and p_PRICE_LIST_rec.org_id is null)) THEN
325 -- and p_MODIFIER_LIST_rec.org_id <> FND_API.G_MISS_NUM THEN
326 l_return_status := FND_API.G_RET_STS_ERROR;
327 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR) THEN
328 FND_MESSAGE.SET_NAME('QP', 'QP_GLOBAL_OR_ORG');
329 oe_msg_pub.add;
330 END IF;
331 END IF;--p_header_rec.global_flag
332 END IF;
333 --end validations for moac
334
335
336 -- Multi-Currency SunilPandey
337 -- Check if the multi-currency profile option is set then multi-currency name must be
338 -- present and rounding_factor should be null else other way round
339 -- If NVL(UPPER(fnd_profile.value('QP_MULTI_CURRENCY_INSTALLED')), 'NO') = 'Y'
340 If QP_UTIL.Get_QP_Status = 'I' AND -- bug 4739577 (sfiresto)
341 QP_LIST_HEADERS_PVT.G_MULTI_CURRENCY_INSTALLED = 'Y'
342 then
343
344 -- Multi-Currency is installed
345 If (p_PRICE_LIST_rec.currency_header_id is NULL or
346 p_PRICE_LIST_rec.currency_header_id = FND_API.G_MISS_NUM )
347 then
348 l_return_status := FND_API.G_RET_STS_ERROR;
349
350 FND_MESSAGE.SET_NAME('QP','QP_MUL_CURR_REQD');
351 oe_msg_pub.add;
352
353 end if;
354
355 /*
356 If (p_PRICE_LIST_rec.rounding_factor is NOT NULL and
357 p_PRICE_LIST_rec.rounding_factor <> FND_API.G_MISS_NUM )
358 then
359 l_return_status := FND_API.G_RET_STS_ERROR;
360
361 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE'); -- CHANGE
362 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','rounding_factor');
363 oe_msg_pub.add;
364
365 end if;
366 */
367 else
368 -- Multi-Currency not installed
369 If (p_PRICE_LIST_rec.currency_header_id is NOT NULL and
370 p_PRICE_LIST_rec.currency_header_id <> FND_API.G_MISS_NUM and
371 p_old_PRICE_LIST_rec.currency_header_id <> p_PRICE_LIST_rec.currency_header_id)
372 then
373 l_return_status := FND_API.G_RET_STS_ERROR;
374
375 FND_MESSAGE.SET_NAME('QP','QP_MUL_CURR_NULL');
376 oe_msg_pub.add;
377
378 end if;
379
380 end if;
381
382 -- Bug 2293974 - rounding factor is mandatory irrespective of multi-currency is installed or not
383 If (p_PRICE_LIST_rec.rounding_factor is NULL or
384 p_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM )
385 then
386 l_return_status := FND_API.G_RET_STS_ERROR;
387
388 FND_MESSAGE.SET_NAME('QP','QP_RNDG_FACTOR_REQD');
389 oe_msg_pub.add;
390
391 end if;
392
393 IF ( p_PRICE_LIST_rec.currency_header_id IS NOT NULL and
394 p_PRICE_LIST_rec.currency_header_id <> FND_API.G_MISS_NUM ) THEN
395 BEGIN
396
397 SELECT 'X'
398 INTO l_dummy_c
399 FROM QP_CURRENCY_LISTS_B
400 WHERE currency_header_id = p_PRICE_LIST_rec.currency_header_id and
401 base_currency_code = p_PRICE_LIST_rec.currency_code;
402
403 EXCEPTION
404 WHEN NO_DATA_FOUND THEN
405 l_return_status := FND_API.G_RET_STS_ERROR;
406 FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
407 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency_header_id');
408 oe_msg_pub.add;
409 END;
410 END IF;
411
412 IF NOT QP_Validate.List_Type(p_PRICE_LIST_rec.list_type_code) THEN
413 l_return_status := FND_API.G_RET_STS_ERROR;
414 END IF;
415
416 /*
417
418 IF NOT QP_Validate.Source_System(p_PRICE_LIST_rec.source_system_code) THEN
419 l_return_status := FND_API.G_RET_STS_ERROR;
420 END IF;
421
422 */
423
424 IF NOT QP_Validate.Ship_Method(p_PRICE_LIST_rec.ship_method_code) THEN
425 l_return_status := FND_API.G_RET_STS_ERROR;
426 END IF;
427
428 IF NOT QP_Validate.Freight_Terms(p_PRICE_LIST_rec.freight_terms_code) THEN
429 l_return_status := FND_API.G_RET_STS_ERROR;
430 END IF;
431
432 IF NOT QP_Validate.Terms(p_PRICE_LIST_rec.terms_id) THEN
433 l_return_status := FND_API.G_RET_STS_ERROR;
434 END IF;
435
436 --
437 -- Validate attribute dependencies here.
438 --
439
440 IF NOT QP_Validate.Start_Date_Active(p_PRICE_LIST_rec.start_date_active, p_PRICE_LIST_rec.end_date_active) THEN
441
442 l_return_status := FND_API.G_RET_STS_ERROR;
443
444 /*
445
446 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
447 THEN
448
449 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
450 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line_id');
451 oe_msg_pub.Add;
452
453 END IF;
454
455 */
456
457 END IF;
458
459 IF NOT((p_PRICE_LIST_rec.end_date_active is null or p_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE)
460 and (p_PRICE_LIST_rec.start_date_active is null or p_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE)) THEN
461 FOR l_lines_dates_cur IN c_lines_dates_cur(p_PRICE_LIST_rec.list_header_id) LOOP
462 IF (p_PRICE_LIST_rec.end_date_active < l_lines_dates_cur.end_date_active) THEN -- line date not within hdr date
463 l_return_status := FND_API.G_RET_STS_ERROR;
464 FND_MESSAGE.SET_NAME('QP','QP_PLL_END_DATE_NOT_WITHIN');
465 oe_msg_pub.add;
466 exit;
467 END IF;
468
469 IF (p_PRICE_LIST_rec.start_date_active > l_lines_dates_cur.start_date_active) THEN -- line date not within hdr date
470 l_return_status := FND_API.G_RET_STS_ERROR;
471 FND_MESSAGE.SET_NAME('QP','QP_PLL_START_DATE_NOT_WITHIN');
472 oe_msg_pub.add;
473 exit;
474 END IF;
475 END LOOP;
476 END IF;
477
478 IF NOT QP_Validate.Price_List_Name(p_PRICE_LIST_rec.name,
479 p_PRICE_LIST_rec.list_header_id,
480 p_PRICE_LIST_rec.version_no) THEN
481
482 l_return_status := FND_API.G_RET_STS_ERROR;
483
484 END IF;
485
486
487 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
488
489 RAISE FND_API.G_EXC_ERROR;
490
491 END IF;
492
493 -- Done validating entity
494
495 x_return_status := l_return_status;
496
497 EXCEPTION
498
499 WHEN FND_API.G_EXC_ERROR THEN
500
501 x_return_status := FND_API.G_RET_STS_ERROR;
502
503 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
504
505 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
506
507 WHEN OTHERS THEN
508
509 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
510
511 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
512 THEN
513 oe_msg_pub.Add_Exc_Msg
514 ( G_PKG_NAME
515 , 'Entity'
516 );
517 END IF;
518
519 END Entity;
520
521 -- Procedure Attributes
522
523 PROCEDURE Attributes
524 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
525 , p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
526 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
527 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
528 )
529 IS
530
531 BEGIN
532
533 x_return_status := FND_API.G_RET_STS_SUCCESS;
534
535 -- Validate PRICE_LIST attributes
536
537 IF p_PRICE_LIST_rec.automatic_flag IS NOT NULL AND
538 ( p_PRICE_LIST_rec.automatic_flag <>
539 p_old_PRICE_LIST_rec.automatic_flag OR
540 p_old_PRICE_LIST_rec.automatic_flag IS NULL )
541 THEN
542 IF NOT QP_Validate.Automatic(p_PRICE_LIST_rec.automatic_flag) THEN
543 x_return_status := FND_API.G_RET_STS_ERROR;
544 END IF;
545 END IF;
546
547 IF p_PRICE_LIST_rec.active_flag IS NOT NULL AND
548 (p_PRICE_LIST_rec.active_flag <>
549 p_old_PRICE_LIST_rec.active_flag OR
550 p_old_PRICE_LIST_rec.active_flag IS NULL)
551 THEN
552 IF NOT QP_Validate.active(p_PRICE_LIST_rec.active_flag) THEN
553 x_return_status := FND_API.G_RET_STS_ERROR;
554 END IF;
555 END IF;
556
557 --mkarya for bug 1944882
558 IF p_PRICE_LIST_rec.mobile_download IS NOT NULL AND
559 (p_PRICE_LIST_rec.mobile_download <>
560 p_old_PRICE_LIST_rec.mobile_download OR
561 p_old_PRICE_LIST_rec.mobile_download IS NULL)
562 THEN
563 IF NOT QP_Validate.mobile_download(p_PRICE_LIST_rec.mobile_download) THEN
564 x_return_status := FND_API.G_RET_STS_ERROR;
565 END IF;
566 END IF;
567
568 --Pricing Security gtippire
569 IF p_PRICE_LIST_rec.global_flag IS NOT NULL AND
570 (p_PRICE_LIST_rec.global_flag <>
571 p_old_PRICE_LIST_rec.global_flag OR
572 p_old_PRICE_LIST_rec.global_flag IS NULL)
573 THEN
574 IF NOT QP_Validate.global_flag(p_PRICE_LIST_rec.global_flag) THEN
575 x_return_status := FND_API.G_RET_STS_ERROR;
576 END IF;
577 END IF;
578
579
580 IF p_PRICE_LIST_rec.description IS NOT NULL AND
581 ( p_PRICE_LIST_rec.description <>
582 p_old_PRICE_LIST_rec.description OR
583 p_old_PRICE_LIST_rec.description IS NULL )
584 THEN
585 IF NOT QP_Validate.Description(p_PRICE_LIST_rec.description) THEN
586 x_return_status := FND_API.G_RET_STS_ERROR;
587 END IF;
588 END IF;
589
590 IF p_PRICE_LIST_rec.name IS NOT NULL AND
591 ( p_PRICE_LIST_rec.name <>
592 p_old_PRICE_LIST_rec.name OR
593 p_old_PRICE_LIST_rec.name IS NULL )
594 THEN
595 IF NOT QP_Validate.Name(p_PRICE_LIST_rec.name) THEN
596 x_return_status := FND_API.G_RET_STS_ERROR;
597 END IF;
598 END IF;
599
600 IF p_PRICE_LIST_rec.comments IS NOT NULL AND
601 ( p_PRICE_LIST_rec.comments <>
602 p_old_PRICE_LIST_rec.comments OR
603 p_old_PRICE_LIST_rec.comments IS NULL )
604 THEN
605 IF NOT QP_Validate.Comments(p_PRICE_LIST_rec.comments) THEN
606 x_return_status := FND_API.G_RET_STS_ERROR;
607 END IF;
608 END IF;
609
610 IF p_PRICE_LIST_rec.created_by IS NOT NULL AND
611 ( p_PRICE_LIST_rec.created_by <>
612 p_old_PRICE_LIST_rec.created_by OR
613 p_old_PRICE_LIST_rec.created_by IS NULL )
614 THEN
615 IF NOT QP_Validate.Created_By(p_PRICE_LIST_rec.created_by) THEN
616 x_return_status := FND_API.G_RET_STS_ERROR;
617 END IF;
618 END IF;
619
620 IF p_PRICE_LIST_rec.creation_date IS NOT NULL AND
621 ( p_PRICE_LIST_rec.creation_date <>
622 p_old_PRICE_LIST_rec.creation_date OR
623 p_old_PRICE_LIST_rec.creation_date IS NULL )
624 THEN
625 IF NOT QP_Validate.Creation_Date(p_PRICE_LIST_rec.creation_date) THEN
626 x_return_status := FND_API.G_RET_STS_ERROR;
627 END IF;
628 END IF;
629
630 IF p_PRICE_LIST_rec.currency_code IS NOT NULL AND
631 ( p_PRICE_LIST_rec.currency_code <>
632 p_old_PRICE_LIST_rec.currency_code OR
633 p_old_PRICE_LIST_rec.currency_code IS NULL )
634 THEN
635 IF NOT QP_Validate.Currency(p_PRICE_LIST_rec.currency_code) THEN
636 x_return_status := FND_API.G_RET_STS_ERROR;
637 END IF;
638 END IF;
639
640 IF p_PRICE_LIST_rec.discount_lines_flag IS NOT NULL AND
641 ( p_PRICE_LIST_rec.discount_lines_flag <>
642 p_old_PRICE_LIST_rec.discount_lines_flag OR
643 p_old_PRICE_LIST_rec.discount_lines_flag IS NULL )
644 THEN
645 IF NOT QP_Validate.Discount_Lines(p_PRICE_LIST_rec.discount_lines_flag) THEN
646 x_return_status := FND_API.G_RET_STS_ERROR;
647 END IF;
648 END IF;
649
650 IF p_PRICE_LIST_rec.end_date_active IS NOT NULL AND
651 ( p_PRICE_LIST_rec.end_date_active <>
652 p_old_PRICE_LIST_rec.end_date_active OR
653 p_old_PRICE_LIST_rec.end_date_active IS NULL )
654 THEN
655 IF NOT QP_Validate.End_Date_Active(p_PRICE_LIST_rec.end_date_active, p_PRICE_LIST_rec.start_date_active) THEN
656 x_return_status := FND_API.G_RET_STS_ERROR;
657 END IF;
658
659 END IF;
660
661 IF p_PRICE_LIST_rec.freight_terms_code IS NOT NULL AND
662 ( p_PRICE_LIST_rec.freight_terms_code <>
663 p_old_PRICE_LIST_rec.freight_terms_code OR
664 p_old_PRICE_LIST_rec.freight_terms_code IS NULL )
665 THEN
666 IF NOT QP_Validate.Freight_Terms(p_PRICE_LIST_rec.freight_terms_code) THEN
667 x_return_status := FND_API.G_RET_STS_ERROR;
668 END IF;
669 END IF;
670
671 IF p_PRICE_LIST_rec.gsa_indicator IS NOT NULL AND
672 ( p_PRICE_LIST_rec.gsa_indicator <>
673 p_old_PRICE_LIST_rec.gsa_indicator OR
674 p_old_PRICE_LIST_rec.gsa_indicator IS NULL )
675 THEN
676 IF NOT QP_Validate.Gsa_Indicator(p_PRICE_LIST_rec.gsa_indicator) THEN
677 x_return_status := FND_API.G_RET_STS_ERROR;
678 END IF;
679 END IF;
680
681 IF p_PRICE_LIST_rec.last_updated_by IS NOT NULL AND
682 ( p_PRICE_LIST_rec.last_updated_by <>
683 p_old_PRICE_LIST_rec.last_updated_by OR
684 p_old_PRICE_LIST_rec.last_updated_by IS NULL )
685 THEN
686 IF NOT QP_Validate.Last_Updated_By(p_PRICE_LIST_rec.last_updated_by) THEN
687 x_return_status := FND_API.G_RET_STS_ERROR;
688 END IF;
689 END IF;
690
691 IF p_PRICE_LIST_rec.last_update_date IS NOT NULL AND
692 ( p_PRICE_LIST_rec.last_update_date <>
693 p_old_PRICE_LIST_rec.last_update_date OR
694 p_old_PRICE_LIST_rec.last_update_date IS NULL )
695 THEN
696 IF NOT QP_Validate.Last_Update_Date(p_PRICE_LIST_rec.last_update_date) THEN
697 x_return_status := FND_API.G_RET_STS_ERROR;
698 END IF;
699 END IF;
700
701 IF p_PRICE_LIST_rec.last_update_login IS NOT NULL AND
702 ( p_PRICE_LIST_rec.last_update_login <>
703 p_old_PRICE_LIST_rec.last_update_login OR
704 p_old_PRICE_LIST_rec.last_update_login IS NULL )
705 THEN
706 IF NOT QP_Validate.Last_Update_Login(p_PRICE_LIST_rec.last_update_login) THEN
707 x_return_status := FND_API.G_RET_STS_ERROR;
708 END IF;
709 END IF;
710
711 IF p_PRICE_LIST_rec.list_header_id IS NOT NULL AND
712 ( p_PRICE_LIST_rec.list_header_id <>
713 p_old_PRICE_LIST_rec.list_header_id OR
714 p_old_PRICE_LIST_rec.list_header_id IS NULL )
715 THEN
716 IF NOT QP_Validate.List_Header(p_PRICE_LIST_rec.list_header_id) THEN
717 x_return_status := FND_API.G_RET_STS_ERROR;
718 END IF;
719 END IF;
720
721 IF p_PRICE_LIST_rec.list_type_code IS NOT NULL AND
722 ( p_PRICE_LIST_rec.list_type_code <>
723 p_old_PRICE_LIST_rec.list_type_code OR
724 p_old_PRICE_LIST_rec.list_type_code IS NULL )
725 THEN
726 IF NOT QP_Validate.List_Type(p_PRICE_LIST_rec.list_type_code) THEN
727 x_return_status := FND_API.G_RET_STS_ERROR;
728 END IF;
729 END IF;
730
731 IF p_PRICE_LIST_rec.version_no IS NOT NULL AND
732 ( p_PRICE_LIST_rec.version_no <>
733 p_old_PRICE_LIST_rec.version_no OR
734 p_old_PRICE_LIST_rec.version_no IS NULL )
735 THEN
736 IF NOT QP_Validate.Version(p_PRICE_LIST_rec.version_no) THEN
737 x_return_status := FND_API.G_RET_STS_ERROR;
738 END IF;
739 END IF;
740
741 IF p_PRICE_LIST_rec.program_application_id IS NOT NULL AND
742 ( p_PRICE_LIST_rec.program_application_id <>
743 p_old_PRICE_LIST_rec.program_application_id OR
744 p_old_PRICE_LIST_rec.program_application_id IS NULL )
745 THEN
746 IF NOT QP_Validate.Program_Application(p_PRICE_LIST_rec.program_application_id) THEN
747 x_return_status := FND_API.G_RET_STS_ERROR;
748 END IF;
749 END IF;
750
751 IF p_PRICE_LIST_rec.program_id IS NOT NULL AND
752 ( p_PRICE_LIST_rec.program_id <>
753 p_old_PRICE_LIST_rec.program_id OR
754 p_old_PRICE_LIST_rec.program_id IS NULL )
755 THEN
756 IF NOT QP_Validate.Program(p_PRICE_LIST_rec.program_id) THEN
757 x_return_status := FND_API.G_RET_STS_ERROR;
758 END IF;
759 END IF;
760
761 IF p_PRICE_LIST_rec.program_update_date IS NOT NULL AND
762 ( p_PRICE_LIST_rec.program_update_date <>
763 p_old_PRICE_LIST_rec.program_update_date OR
764 p_old_PRICE_LIST_rec.program_update_date IS NULL )
765 THEN
766 IF NOT QP_Validate.Program_Update_Date(p_PRICE_LIST_rec.program_update_date) THEN
767 x_return_status := FND_API.G_RET_STS_ERROR;
768 END IF;
769 END IF;
770
771 IF p_PRICE_LIST_rec.prorate_flag IS NOT NULL AND
772 ( p_PRICE_LIST_rec.prorate_flag <>
773 p_old_PRICE_LIST_rec.prorate_flag OR
774 p_old_PRICE_LIST_rec.prorate_flag IS NULL )
775 THEN
776 IF NOT QP_Validate.Prorate(p_PRICE_LIST_rec.prorate_flag) THEN
777 x_return_status := FND_API.G_RET_STS_ERROR;
778 END IF;
779 END IF;
780
781 IF p_PRICE_LIST_rec.request_id IS NOT NULL AND
782 ( p_PRICE_LIST_rec.request_id <>
783 p_old_PRICE_LIST_rec.request_id OR
784 p_old_PRICE_LIST_rec.request_id IS NULL )
785 THEN
786 IF NOT QP_Validate.Request(p_PRICE_LIST_rec.request_id) THEN
787 x_return_status := FND_API.G_RET_STS_ERROR;
788 END IF;
789 END IF;
790
791 IF p_PRICE_LIST_rec.rounding_factor IS NOT NULL AND
792 ( p_PRICE_LIST_rec.rounding_factor <>
793 p_old_PRICE_LIST_rec.rounding_factor OR
794 p_old_PRICE_LIST_rec.rounding_factor IS NULL )
795 THEN
796 IF NOT QP_Validate.Rounding_Factor(p_PRICE_LIST_rec.rounding_factor) THEN
797 x_return_status := FND_API.G_RET_STS_ERROR;
798 END IF;
799 END IF;
800
801 IF p_PRICE_LIST_rec.ship_method_code IS NOT NULL AND
802 ( p_PRICE_LIST_rec.ship_method_code <>
803 p_old_PRICE_LIST_rec.ship_method_code OR
804 p_old_PRICE_LIST_rec.ship_method_code IS NULL )
805 THEN
806 IF NOT QP_Validate.Ship_Method(p_PRICE_LIST_rec.ship_method_code) THEN
807 x_return_status := FND_API.G_RET_STS_ERROR;
808 END IF;
809 END IF;
810
811 IF p_PRICE_LIST_rec.start_date_active IS NOT NULL AND
812 ( p_PRICE_LIST_rec.start_date_active <>
813 p_old_PRICE_LIST_rec.start_date_active OR
814 p_old_PRICE_LIST_rec.start_date_active IS NULL )
815 THEN
816 IF NOT QP_Validate.Start_Date_Active(p_PRICE_LIST_rec.start_date_active, p_PRICE_LIST_rec.end_date_active) THEN
817 x_return_status := FND_API.G_RET_STS_ERROR;
818 END IF;
819
820
821 END IF;
822
823 IF p_PRICE_LIST_rec.terms_id IS NOT NULL AND
824 ( p_PRICE_LIST_rec.terms_id <>
825 p_old_PRICE_LIST_rec.terms_id OR
826 p_old_PRICE_LIST_rec.terms_id IS NULL )
827 THEN
828 IF NOT QP_Validate.Terms(p_PRICE_LIST_rec.terms_id) THEN
829 x_return_status := FND_API.G_RET_STS_ERROR;
830 END IF;
831 END IF;
832
833 --Multi-Currency SunilPandey
834 IF p_PRICE_LIST_rec.currency_header_id IS NOT NULL AND
835 (p_PRICE_LIST_rec.currency_header_id <>
836 p_old_PRICE_LIST_rec.currency_header_id OR
837 p_old_PRICE_LIST_rec.currency_header_id IS NULL)
838 THEN
839 IF NOT QP_Validate.currency_header(p_PRICE_LIST_rec.currency_header_id) THEN
840 x_return_status := FND_API.G_RET_STS_ERROR;
841 END IF;
842 END IF;
843
844 --Attribute Manager Giri
845 IF p_PRICE_LIST_rec.pte_code IS NOT NULL AND
846 (p_PRICE_LIST_rec.pte_code <>
847 p_old_PRICE_LIST_rec.pte_code OR
848 p_old_PRICE_LIST_rec.pte_code IS NULL)
849 THEN
850 IF NOT QP_Validate.pte(p_PRICE_LIST_rec.pte_code) THEN
851 x_return_status := FND_API.G_RET_STS_ERROR;
852 END IF;
853 END IF;
854
855 --Blanket Sales Order
856 IF p_PRICE_LIST_rec.LIST_SOURCE_CODE IS NOT NULL AND
857 (p_PRICE_LIST_rec.LIST_SOURCE_CODE <>
858 p_old_PRICE_LIST_rec.LIST_SOURCE_CODE OR
859 p_old_PRICE_LIST_rec.LIST_SOURCE_CODE IS NULL)
860 THEN
861 IF NOT QP_Validate.list_source_code(p_PRICE_LIST_rec.LIST_SOURCE_CODE) THEN
862 x_return_status := FND_API.G_RET_STS_ERROR;
863 END IF;
864
865 END IF;
866
867 -- Blanket Pricing
868 IF p_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF IS NOT NULL AND
869 (p_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF <>
870 p_old_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF OR
871 p_old_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF IS NULL)
872 THEN
873 IF NOT QP_Validate.orig_system_header_ref(p_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF) THEN
874 x_return_status := FND_API.G_RET_STS_ERROR;
875 END IF;
876
877 END IF;
878
879 IF p_PRICE_LIST_rec.SOURCE_SYSTEM_CODE IS NOT NULL AND
880 (p_PRICE_LIST_rec.SOURCE_SYSTEM_CODE <>
881 p_old_PRICE_LIST_rec.SOURCE_SYSTEM_CODE OR
882 p_old_PRICE_LIST_rec.SOURCE_SYSTEM_CODE IS NULL)
883 THEN
884 IF NOT QP_Validate.Source_System(p_PRICE_LIST_rec.SOURCE_SYSTEM_CODE) THEN
885 x_return_status := FND_API.G_RET_STS_ERROR;
886 END IF;
887 END IF;
888
889 IF p_PRICE_LIST_rec.SHAREABLE_FLAG IS NOT NULL AND
890 (p_PRICE_LIST_rec.SHAREABLE_FLAG <>
891 p_old_PRICE_LIST_rec.SHAREABLE_FLAG OR
892 p_old_PRICE_LIST_rec.SHAREABLE_FLAG IS NULL)
893 THEN
894 IF NOT QP_Validate.shareable_flag(p_PRICE_LIST_rec.SHAREABLE_FLAG) THEN
895 x_return_status := FND_API.G_RET_STS_ERROR;
896 END IF;
897 END IF;
898
899 IF p_PRICE_LIST_rec.SOLD_TO_ORG_ID IS NOT NULL AND
900 (p_PRICE_LIST_rec.SOLD_TO_ORG_ID <>
901 p_old_PRICE_LIST_rec.SOLD_TO_ORG_ID OR
902 p_old_PRICE_LIST_rec.SOLD_TO_ORG_ID IS NULL)
903 THEN
904 IF NOT QP_Validate.sold_to_org_id(p_PRICE_LIST_rec.SOLD_TO_ORG_ID) THEN
905 x_return_status := FND_API.G_RET_STS_ERROR;
906 END IF;
907 END IF;
908
909 IF p_PRICE_LIST_rec.locked_from_list_header_id IS NOT NULL AND
910 (p_PRICE_LIST_rec.locked_from_list_header_id <>
911 p_old_PRICE_LIST_rec.locked_from_list_header_id OR
912 p_old_PRICE_LIST_rec.locked_from_list_header_id IS NULL)
913 THEN
914 IF NOT QP_Validate.locked_from_list_header_id(p_PRICE_LIST_rec.locked_from_list_header_id) THEN
915 x_return_status := FND_API.G_RET_STS_ERROR;
916 END IF;
917 END IF;
918
919 --added for MOAC
920 IF p_PRICE_LIST_rec.org_id IS NOT NULL AND
921 (p_PRICE_LIST_rec.org_id <>
922 p_old_PRICE_LIST_rec.org_id OR
923 p_old_PRICE_LIST_rec.org_id IS NULL)
924 THEN
925 IF NOT QP_Validate.org_id(p_PRICE_LIST_rec.org_id) THEN
926 x_return_status := FND_API.G_RET_STS_ERROR;
927 END IF;
928 END IF;
929
930 IF (p_PRICE_LIST_rec.attribute1 IS NOT NULL AND
931 ( p_PRICE_LIST_rec.attribute1 <>
932 p_old_PRICE_LIST_rec.attribute1 OR
933 p_old_PRICE_LIST_rec.attribute1 IS NULL ))
934 OR (p_PRICE_LIST_rec.attribute10 IS NOT NULL AND
935 ( p_PRICE_LIST_rec.attribute10 <>
936 p_old_PRICE_LIST_rec.attribute10 OR
937 p_old_PRICE_LIST_rec.attribute10 IS NULL ))
938 OR (p_PRICE_LIST_rec.attribute11 IS NOT NULL AND
939 ( p_PRICE_LIST_rec.attribute11 <>
940 p_old_PRICE_LIST_rec.attribute11 OR
941 p_old_PRICE_LIST_rec.attribute11 IS NULL ))
942 OR (p_PRICE_LIST_rec.attribute12 IS NOT NULL AND
943 ( p_PRICE_LIST_rec.attribute12 <>
944 p_old_PRICE_LIST_rec.attribute12 OR
945 p_old_PRICE_LIST_rec.attribute12 IS NULL ))
946 OR (p_PRICE_LIST_rec.attribute13 IS NOT NULL AND
947 ( p_PRICE_LIST_rec.attribute13 <>
948 p_old_PRICE_LIST_rec.attribute13 OR
949 p_old_PRICE_LIST_rec.attribute13 IS NULL ))
950 OR (p_PRICE_LIST_rec.attribute14 IS NOT NULL AND
951 ( p_PRICE_LIST_rec.attribute14 <>
952 p_old_PRICE_LIST_rec.attribute14 OR
953 p_old_PRICE_LIST_rec.attribute14 IS NULL ))
954 OR (p_PRICE_LIST_rec.attribute15 IS NOT NULL AND
955 ( p_PRICE_LIST_rec.attribute15 <>
956 p_old_PRICE_LIST_rec.attribute15 OR
957 p_old_PRICE_LIST_rec.attribute15 IS NULL ))
958 OR (p_PRICE_LIST_rec.attribute2 IS NOT NULL AND
959 ( p_PRICE_LIST_rec.attribute2 <>
960 p_old_PRICE_LIST_rec.attribute2 OR
961 p_old_PRICE_LIST_rec.attribute2 IS NULL ))
962 OR (p_PRICE_LIST_rec.attribute3 IS NOT NULL AND
963 ( p_PRICE_LIST_rec.attribute3 <>
964 p_old_PRICE_LIST_rec.attribute3 OR
965 p_old_PRICE_LIST_rec.attribute3 IS NULL ))
966 OR (p_PRICE_LIST_rec.attribute4 IS NOT NULL AND
967 ( p_PRICE_LIST_rec.attribute4 <>
968 p_old_PRICE_LIST_rec.attribute4 OR
969 p_old_PRICE_LIST_rec.attribute4 IS NULL ))
970 OR (p_PRICE_LIST_rec.attribute5 IS NOT NULL AND
971 ( p_PRICE_LIST_rec.attribute5 <>
972 p_old_PRICE_LIST_rec.attribute5 OR
973 p_old_PRICE_LIST_rec.attribute5 IS NULL ))
974 OR (p_PRICE_LIST_rec.attribute6 IS NOT NULL AND
975 ( p_PRICE_LIST_rec.attribute6 <>
976 p_old_PRICE_LIST_rec.attribute6 OR
977 p_old_PRICE_LIST_rec.attribute6 IS NULL ))
978 OR (p_PRICE_LIST_rec.attribute7 IS NOT NULL AND
979 ( p_PRICE_LIST_rec.attribute7 <>
980 p_old_PRICE_LIST_rec.attribute7 OR
981 p_old_PRICE_LIST_rec.attribute7 IS NULL ))
982 OR (p_PRICE_LIST_rec.attribute8 IS NOT NULL AND
983 ( p_PRICE_LIST_rec.attribute8 <>
984 p_old_PRICE_LIST_rec.attribute8 OR
985 p_old_PRICE_LIST_rec.attribute8 IS NULL ))
986 OR (p_PRICE_LIST_rec.attribute9 IS NOT NULL AND
987 ( p_PRICE_LIST_rec.attribute9 <>
988 p_old_PRICE_LIST_rec.attribute9 OR
989 p_old_PRICE_LIST_rec.attribute9 IS NULL ))
990 OR (p_PRICE_LIST_rec.context IS NOT NULL AND
991 ( p_PRICE_LIST_rec.context <>
992 p_old_PRICE_LIST_rec.context OR
993 p_old_PRICE_LIST_rec.context IS NULL ))
994 THEN
995
996 -- These calls are temporarily commented out
997
998 /*
999 FND_FLEX_DESC_VAL.Set_Column_Value
1000 ( column_name => 'ATTRIBUTE1'
1001 , column_value => p_PRICE_LIST_rec.attribute1
1002 );
1003 FND_FLEX_DESC_VAL.Set_Column_Value
1004 ( column_name => 'ATTRIBUTE10'
1005 , column_value => p_PRICE_LIST_rec.attribute10
1006 );
1007 FND_FLEX_DESC_VAL.Set_Column_Value
1008 ( column_name => 'ATTRIBUTE11'
1009 , column_value => p_PRICE_LIST_rec.attribute11
1010 );
1011 FND_FLEX_DESC_VAL.Set_Column_Value
1012 ( column_name => 'ATTRIBUTE12'
1013 , column_value => p_PRICE_LIST_rec.attribute12
1014 );
1015 FND_FLEX_DESC_VAL.Set_Column_Value
1016 ( column_name => 'ATTRIBUTE13'
1017 , column_value => p_PRICE_LIST_rec.attribute13
1018 );
1019 FND_FLEX_DESC_VAL.Set_Column_Value
1020 ( column_name => 'ATTRIBUTE14'
1021 , column_value => p_PRICE_LIST_rec.attribute14
1022 );
1023 FND_FLEX_DESC_VAL.Set_Column_Value
1024 ( column_name => 'ATTRIBUTE15'
1025 , column_value => p_PRICE_LIST_rec.attribute15
1026 );
1027 FND_FLEX_DESC_VAL.Set_Column_Value
1028 ( column_name => 'ATTRIBUTE2'
1029 , column_value => p_PRICE_LIST_rec.attribute2
1030 );
1031 FND_FLEX_DESC_VAL.Set_Column_Value
1032 ( column_name => 'ATTRIBUTE3'
1033 , column_value => p_PRICE_LIST_rec.attribute3
1034 );
1035 FND_FLEX_DESC_VAL.Set_Column_Value
1036 ( column_name => 'ATTRIBUTE4'
1037 , column_value => p_PRICE_LIST_rec.attribute4
1038 );
1039 FND_FLEX_DESC_VAL.Set_Column_Value
1040 ( column_name => 'ATTRIBUTE5'
1041 , column_value => p_PRICE_LIST_rec.attribute5
1042 );
1043 FND_FLEX_DESC_VAL.Set_Column_Value
1044 ( column_name => 'ATTRIBUTE6'
1045 , column_value => p_PRICE_LIST_rec.attribute6
1046 );
1047 FND_FLEX_DESC_VAL.Set_Column_Value
1048 ( column_name => 'ATTRIBUTE7'
1049 , column_value => p_PRICE_LIST_rec.attribute7
1050 );
1051 FND_FLEX_DESC_VAL.Set_Column_Value
1052 ( column_name => 'ATTRIBUTE8'
1053 , column_value => p_PRICE_LIST_rec.attribute8
1054 );
1055 FND_FLEX_DESC_VAL.Set_Column_Value
1056 ( column_name => 'ATTRIBUTE9'
1057 , column_value => p_PRICE_LIST_rec.attribute9
1058 );
1059 FND_FLEX_DESC_VAL.Set_Column_Value
1060 ( column_name => 'CONTEXT'
1061 , column_value => p_PRICE_LIST_rec.context
1062 );
1063 */
1064
1065 -- Validate descriptive flexfield.
1066
1067 IF NOT QP_Validate.Desc_Flex( 'PRICE_LIST' ) THEN
1068 x_return_status := FND_API.G_RET_STS_ERROR;
1069 END IF;
1070
1071 END IF;
1072
1073 -- Done validating attributes
1074
1075 EXCEPTION
1076
1077 WHEN FND_API.G_EXC_ERROR THEN
1078
1079 x_return_status := FND_API.G_RET_STS_ERROR;
1080
1081 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1082
1083 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1084
1085 WHEN OTHERS THEN
1086
1087 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1088
1089 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1090 THEN
1091 oe_msg_pub.Add_Exc_Msg
1092 ( G_PKG_NAME
1093 , 'Attributes'
1094 );
1095 END IF;
1096
1097 END Attributes;
1098
1099 -- Procedure Entity_Delete
1100
1101 PROCEDURE Entity_Delete
1102 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1103 , p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1104 )
1105 IS
1106 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1107 BEGIN
1108
1109 -- Validate entity delete.
1110
1111 NULL;
1112
1113 -- Done.
1114
1115 x_return_status := l_return_status;
1116
1117 EXCEPTION
1118
1119 WHEN FND_API.G_EXC_ERROR THEN
1120
1121 x_return_status := FND_API.G_RET_STS_ERROR;
1122
1123 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1124
1125 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1126
1127 WHEN OTHERS THEN
1128
1129 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1130
1131 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1132 THEN
1133 oe_msg_pub.Add_Exc_Msg
1134 ( G_PKG_NAME
1135 , 'Entity_Delete'
1136 );
1137 END IF;
1138
1139 END Entity_Delete;
1140
1141 END QP_Validate_Price_List;