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