DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_VALIDATE_PRICE_LIST

Source


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;