DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CNCL_VALIDATE_ADJ

Source


1 PACKAGE BODY OE_CNCL_Validate_Adj AS
2 /* $Header: OEXVCADB.pls 120.0 2005/05/31 23:33:51 appldev noship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_CNCL_Validate_Adj';
7 
8 --  Procedure Get_Attr_Tbl.
9 --
10 --  Used by generator to avoid overriding or duplicating existing
11 --  validation functions.
12 --
13 --  DO NOT REMOVE
14 
15 PROCEDURE Get_Attr_Tbl
16 IS
17 I                             NUMBER:=0;
18 BEGIN
19 
20     FND_API.g_attr_tbl.DELETE;
21 
22 --  START GEN attributes
23 
24 --  Generator will append new attributes before end generate comment.
25 
26     I := I + 1;
27     FND_API.g_attr_tbl(I).name     := 'created_by';
28     I := I + 1;
29     FND_API.g_attr_tbl(I).name     := 'creation_date';
30     I := I + 1;
31     FND_API.g_attr_tbl(I).name     := 'desc_flex';
32     I := I + 1;
33     FND_API.g_attr_tbl(I).name     := 'header';
34     I := I + 1;
35     FND_API.g_attr_tbl(I).name     := 'last_updated_by';
36     I := I + 1;
37     FND_API.g_attr_tbl(I).name     := 'last_update_date';
38     I := I + 1;
39     FND_API.g_attr_tbl(I).name     := 'last_update_login';
40     I := I + 1;
41     FND_API.g_attr_tbl(I).name     := 'program_application';
42     I := I + 1;
43     FND_API.g_attr_tbl(I).name     := 'program';
44     I := I + 1;
45     FND_API.g_attr_tbl(I).name     := 'program_update_date';
46     I := I + 1;
47     FND_API.g_attr_tbl(I).name     := 'request_date';
48     I := I + 1;
49     FND_API.g_attr_tbl(I).name     := 'request';
50     I := I + 1;
51     FND_API.g_attr_tbl(I).name     := 'applied_flag';
52     I := I + 1;
53     FND_API.g_attr_tbl(I).name     := 'automatic';
54     I := I + 1;
55     FND_API.g_attr_tbl(I).name     := 'change_reason_code';
56     I := I + 1;
57     FND_API.g_attr_tbl(I).name     := 'change_reason_text';
58     I := I + 1;
59     FND_API.g_attr_tbl(I).name     := 'discount';
60     I := I + 1;
61     FND_API.g_attr_tbl(I).name     := 'discount_line';
62     I := I + 1;
63     FND_API.g_attr_tbl(I).name     := 'line';
64     I := I + 1;
65     FND_API.g_attr_tbl(I).name     := 'list_header_id';
66     I := I + 1;
67     FND_API.g_attr_tbl(I).name     := 'list_line_id';
68     I := I + 1;
69     FND_API.g_attr_tbl(I).name     := 'list_line_type_code';
70     I := I + 1;
71     FND_API.g_attr_tbl(I).name     := 'modified_from';
72     I := I + 1;
73     FND_API.g_attr_tbl(I).name     := 'modified_to';
74     I := I + 1;
75     FND_API.g_attr_tbl(I).name     := 'modified_mechanism_type_code';
76     I := I + 1;
77     FND_API.g_attr_tbl(I).name     := 'percent';
78     I := I + 1;
79     FND_API.g_attr_tbl(I).name     := 'price_adjustment';
80     I := I + 1;
81     FND_API.g_attr_tbl(I).name     := 'updated_flag';
82     I := I + 1;
83     FND_API.g_attr_tbl(I).name     := 'update_allowed';
84     I := I + 1;
85     FND_API.g_attr_tbl(I).name     := 'adjusted_amount';
86     I := I + 1;
87     FND_API.g_attr_tbl(I).name     := 'pricing_phase_id';
88     I := I + 1;
89     FND_API.g_attr_tbl(I).name     := 'operand';
90     I := I + 1;
91     FND_API.g_attr_tbl(I).name     := 'arithmetic_operator';
92     I := I + 1;
93     FND_API.g_attr_tbl(I).name     := 'list_line_no';
94     I := I + 1;
95     FND_API.g_attr_tbl(I).name     := 'source_system_code';
96     I := I + 1;
97     FND_API.g_attr_tbl(I).name     := 'benefit_qty';
98     I := I + 1;
99     FND_API.g_attr_tbl(I).name     := 'benefit_uom_code';
100     I := I + 1;
101     FND_API.g_attr_tbl(I).name     := 'print_on_invoice_flag';
102     I := I + 1;
103     FND_API.g_attr_tbl(I).name     := 'expiration_date';
104     I := I + 1;
105     FND_API.g_attr_tbl(I).name     := 'rebate_transaction_type_code';
106     I := I + 1;
107     FND_API.g_attr_tbl(I).name     := 'rebate_transaction_reference';
108     I := I + 1;
109     FND_API.g_attr_tbl(I).name     := 'rebate_payment_system_code';
110     I := I + 1;
111     FND_API.g_attr_tbl(I).name     := 'redeemed_date';
112     I := I + 1;
113     FND_API.g_attr_tbl(I).name     := 'redeemed_flag';
114     I := I + 1;
115     FND_API.g_attr_tbl(I).name     := 'accrual_flag';
116     I := I + 1;
117     FND_API.g_attr_tbl(I).name     := 'range_break_quantity';
118     I := I + 1;
119     FND_API.g_attr_tbl(I).name     := 'accrual_conversion_rate';
120     I := I + 1;
121     FND_API.g_attr_tbl(I).name     := 'pricing_group_sequence';
122     I := I + 1;
123     FND_API.g_attr_tbl(I).name     := 'modifier_level_code';
124     I := I + 1;
125     FND_API.g_attr_tbl(I).name     := 'price_break_type_code';
126     I := I + 1;
127     FND_API.g_attr_tbl(I).name     := 'substitution_attribute';
128     I := I + 1;
129     FND_API.g_attr_tbl(I).name     := 'proration_type_code';
130 
131 --  END GEN attributes
132 
133 END Get_Attr_Tbl;
134 
135 --  Prototypes for validate functions.
136 
137 --  START GEN validate
138 
139 --  Generator will append new prototypes before end generate comment.
140 
141 --/old/
142 
143 
144 FUNCTION Desc_Flex ( p_appl_short_name varchar2,p_flex_name IN VARCHAR2 )
145 RETURN BOOLEAN
146 IS
147 BEGIN
148 
149     --  Call FND validate API.
150 
151 
152     --  This call is temporarily commented out
153 
154     IF	FND_FLEX_DESCVAL.Validate_Desccols
155         (   appl_short_name               => p_appl_short_name
156         ,   desc_flex_name                => p_flex_name
157         )
158     THEN
159         RETURN TRUE;
160     ELSE
161 
162         --  Prepare the encoded message by setting it on the message
163         --  dictionary stack. Then, add it to the API message list.
164 
165         FND_MESSAGE.Set_Encoded(FND_FLEX_DESCVAL.Encoded_Error_Message);
166 
167         OE_MSG_PUB.Add;
168 
169         --  Derive return status.
170 
171         IF FND_FLEX_DESCVAL.value_error OR
172             FND_FLEX_DESCVAL.unsupported_error
173         THEN
174 
175             --  In case of an expected error return FALSE
176 
177             RETURN FALSE;
178 
179         ELSE
180 
181             --  In case of an unexpected error raise an exception.
182 
183             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
184 
185         END IF;
186 
187     END IF;
188 
189 
190     RETURN TRUE;
191 
192 END Desc_Flex;
193 
194 FUNCTION Header ( p_header_id IN NUMBER )
195 RETURN BOOLEAN
196 IS
197 l_dummy                       VARCHAR2(10);
198 BEGIN
199 
200 
201     IF p_header_id IS NULL OR
202         p_header_id = FND_API.G_MISS_NUM
203     THEN
204             RETURN TRUE;
205     END IF;
206 
207     --  SELECT  'VALID'
208     --  INTO     l_dummy
209     --  FROM     DB_TABLE
210     --  WHERE    DB_COLUMN = p_header_id;
211 
212 
213     RETURN TRUE;
214 
215 EXCEPTION
216 
217     WHEN NO_DATA_FOUND THEN
218 
219 
220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
221         THEN
222 
223 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'HEADER_ID');
224 
225             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
226             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
227 				OE_Order_Util.Get_Attribute_Name('HEADER_ID'));
228             OE_MSG_PUB.Add;
229 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
230 
231         END IF;
232 
233 
234         RETURN FALSE;
235 
236     WHEN OTHERS THEN
237 
238         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
239         THEN
240             OE_MSG_PUB.Add_Exc_Msg
241             (   G_PKG_NAME
242             ,   'Header'
243             );
244         END IF;
245 
246         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
247 
248 END Header;
249 
250 
251 FUNCTION Last_Updated_By ( p_last_updated_by IN NUMBER )
252 RETURN BOOLEAN
253 IS
254 l_dummy                       VARCHAR2(10);
255 BEGIN
256 
257 
258     IF p_last_updated_by IS NULL OR
259         p_last_updated_by = FND_API.G_MISS_NUM
260     THEN
261 
262         RETURN TRUE;
263     END IF;
264 
265     --  SELECT  'VALID'
266     --  INTO     l_dummy
267     --  FROM     DB_TABLE
268     --  WHERE    DB_COLUMN = p_last_updated_by;
269 
270 
271     RETURN TRUE;
272 
273 EXCEPTION
274 
275     WHEN NO_DATA_FOUND THEN
276 
277         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
278         THEN
279 
280 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATED_BY');
281 
282             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
283             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
284 				OE_Order_Util.Get_Attribute_Name('last_updated_by'));
285             OE_MSG_PUB.Add;
286 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
287 
288         END IF;
289 
290 
291         RETURN FALSE;
292 
293     WHEN OTHERS THEN
294 
295         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
296         THEN
297             OE_MSG_PUB.Add_Exc_Msg
298             (   G_PKG_NAME
299             ,   'Last_Updated_By'
300             );
301         END IF;
302 
303 
304         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305 
306 END Last_Updated_By;
307 
308 FUNCTION Last_Update_Date ( p_last_update_date IN DATE )
309 RETURN BOOLEAN
310 IS
311 l_dummy                       VARCHAR2(10);
312 BEGIN
313 
314 
315     IF p_last_update_date IS NULL OR
316         p_last_update_date = FND_API.G_MISS_DATE
317     THEN
318 
319         RETURN TRUE;
320     END IF;
321 
322     --  SELECT  'VALID'
323     --  INTO     l_dummy
324     --  FROM     DB_TABLE
325     --  WHERE    DB_COLUMN = p_last_update_date;
326 
327 
328     RETURN TRUE;
329 
330 EXCEPTION
331 
332     WHEN NO_DATA_FOUND THEN
333 
334         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
335         THEN
336 
337 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATE_DATE');
338 
339             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
340             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
341 				OE_Order_Util.Get_Attribute_Name('last_update_date'));
342             OE_MSG_PUB.Add;
343 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
344 
345         END IF;
346 
347 
348         RETURN FALSE;
349 
350     WHEN OTHERS THEN
351 
352         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
353         THEN
354             OE_MSG_PUB.Add_Exc_Msg
355             (   G_PKG_NAME
356             ,   'Last_Update_Date'
357             );
358         END IF;
359 
360 
361         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
362 
363 END Last_Update_Date;
364 
365 FUNCTION Last_Update_Login ( p_last_update_login IN NUMBER )
366 RETURN BOOLEAN
367 IS
368 l_dummy                       VARCHAR2(10);
369 BEGIN
370 
371 
372     IF p_last_update_login IS NULL OR
373         p_last_update_login = FND_API.G_MISS_NUM
374     THEN
375 
376         RETURN TRUE;
377     END IF;
378 
379     --  SELECT  'VALID'
380     --  INTO     l_dummy
381     --  FROM     DB_TABLE
382     --  WHERE    DB_COLUMN = p_last_update_login;
383 
384 
385     RETURN TRUE;
386 
387 EXCEPTION
388 
389     WHEN NO_DATA_FOUND THEN
390 
391         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
392         THEN
393 
394 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATE_LOGIN');
395 
396             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
397             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
398 				OE_Order_Util.Get_Attribute_Name('last_update_login'));
399             OE_MSG_PUB.Add;
400 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
401 
402         END IF;
403 
404 
405         RETURN FALSE;
406 
407     WHEN OTHERS THEN
408 
409         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
410         THEN
411             OE_MSG_PUB.Add_Exc_Msg
412             (   G_PKG_NAME
413             ,   'Last_Update_Login'
414             );
415         END IF;
416 
417 
418         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
419 
420 END Last_Update_Login;
421 
422 FUNCTION Program_Application ( p_program_application_id IN NUMBER )
423 RETURN BOOLEAN
424 IS
425 l_dummy                       VARCHAR2(10);
426 BEGIN
427 
428 
429     IF p_program_application_id IS NULL OR
430         p_program_application_id = FND_API.G_MISS_NUM
431     THEN
432 
433         RETURN TRUE;
434     END IF;
435 
436     --  SELECT  'VALID'
437     --  INTO     l_dummy
438     --  FROM     DB_TABLE
439     --  WHERE    DB_COLUMN = p_program_application_id;
440 
441 
442     RETURN TRUE;
443 
444 EXCEPTION
445 
446     WHEN NO_DATA_FOUND THEN
447 
448         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
449         THEN
450 
451 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_APPLICATION_ID');
452 
453             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
454             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
455 				OE_Order_Util.Get_Attribute_Name('program_application_id'));
456             OE_MSG_PUB.Add;
457 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
458 
459         END IF;
460 
461 
462         RETURN FALSE;
463 
464     WHEN OTHERS THEN
465 
466         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
467         THEN
468             OE_MSG_PUB.Add_Exc_Msg
469             (   G_PKG_NAME
470             ,   'Program_Application'
471             );
472         END IF;
473 
474 
475         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
476 
477 END Program_Application;
478 
479 FUNCTION Program ( p_program_id IN NUMBER )
480 RETURN BOOLEAN
481 IS
482 l_dummy                       VARCHAR2(10);
483 BEGIN
484 
485 
486     IF p_program_id IS NULL OR
487         p_program_id = FND_API.G_MISS_NUM
488     THEN
489 
490         RETURN TRUE;
491     END IF;
492 
493     --  SELECT  'VALID'
494     --  INTO     l_dummy
495     --  FROM     DB_TABLE
496     --  WHERE    DB_COLUMN = p_program_id;
497 
498 
499     RETURN TRUE;
500 
501 EXCEPTION
502 
503     WHEN NO_DATA_FOUND THEN
504 
505         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
506         THEN
507 
508 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_ID');
509 
510             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
511             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
512 				OE_Order_Util.Get_Attribute_Name('program_id'));
513             OE_MSG_PUB.Add;
514 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
515 
516         END IF;
517 
518 
519         RETURN FALSE;
520 
521     WHEN OTHERS THEN
522 
523         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
524         THEN
525             OE_MSG_PUB.Add_Exc_Msg
526             (   G_PKG_NAME
527             ,   'Program'
528             );
529         END IF;
530 
531 
532         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
533 
534 END Program;
535 
536 FUNCTION Program_Update_Date ( p_program_update_date IN DATE )
537 RETURN BOOLEAN
538 IS
539 l_dummy                       VARCHAR2(10);
540 BEGIN
541 
542 
543     IF p_program_update_date IS NULL OR
544         p_program_update_date = FND_API.G_MISS_DATE
545     THEN
546 
547         RETURN TRUE;
548     END IF;
549 
550     --  SELECT  'VALID'
551     --  INTO     l_dummy
552     --  FROM     DB_TABLE
553     --  WHERE    DB_COLUMN = p_program_update_date;
554 
555 
556     RETURN TRUE;
557 
558 EXCEPTION
559 
560     WHEN NO_DATA_FOUND THEN
561 
562         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
563         THEN
564 
565 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_UPDATE_DATE');
566 
567             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
568             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
569 				OE_Order_Util.Get_Attribute_Name('program_update_date'));
570             OE_MSG_PUB.Add;
571 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
572 
573         END IF;
574 
575 
576         RETURN FALSE;
577 
578     WHEN OTHERS THEN
579 
580         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
581         THEN
582             OE_MSG_PUB.Add_Exc_Msg
583             (   G_PKG_NAME
584             ,   'Program_Update_Date'
585             );
586         END IF;
587 
588 
589         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
590 
591 END Program_Update_Date;
592 
593 FUNCTION Request ( p_request_id IN NUMBER )
594 RETURN BOOLEAN
595 IS
596 l_dummy                       VARCHAR2(10);
597 BEGIN
598 
599 
600     IF p_request_id IS NULL OR
601         p_request_id = FND_API.G_MISS_NUM
602     THEN
603 
604         RETURN TRUE;
605     END IF;
606 
607     --  SELECT  'VALID'
608     --  INTO     l_dummy
609     --  FROM     DB_TABLE
610     --  WHERE    DB_COLUMN = p_request_id;
611 
612 
613     RETURN TRUE;
614 
615 EXCEPTION
616 
617     WHEN NO_DATA_FOUND THEN
618 
619         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
620         THEN
621 
622 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_ID');
623 
624             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
625             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
626 				OE_Order_Util.Get_Attribute_Name('request_id'));
627             OE_MSG_PUB.Add;
628 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
629 
630         END IF;
631 
632 
633         RETURN FALSE;
634 
635     WHEN OTHERS THEN
636 
637         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
638         THEN
639             OE_MSG_PUB.Add_Exc_Msg
640             (   G_PKG_NAME
641             ,   'Request'
642             );
643         END IF;
644 
645 
646         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
647 
648 END Request;
649 
650 FUNCTION Price_Adjustment ( p_price_adjustment_id IN NUMBER )
651 RETURN BOOLEAN
652 IS
653 l_dummy                       VARCHAR2(10);
654 BEGIN
655 
656 
657     IF p_price_adjustment_id IS NULL OR
658         p_price_adjustment_id = FND_API.G_MISS_NUM
659     THEN
660 
661         RETURN TRUE;
662     END IF;
663 
664     --  SELECT  'VALID'
665     --  INTO     l_dummy
666     --  FROM     DB_TABLE
667     --  WHERE    DB_COLUMN = p_price_adjustment_id;
668 
669 
670     RETURN TRUE;
671 
672 EXCEPTION
673 
674     WHEN NO_DATA_FOUND THEN
675 
676         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
677         THEN
678 
679 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_ADJUSTMENT_ID');
680 
681             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
682             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
683 				OE_Order_Util.Get_Attribute_Name('price_adjustment_id'));
684             OE_MSG_PUB.Add;
685 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
686 
687         END IF;
688 
689 
690         RETURN FALSE;
691 
692     WHEN OTHERS THEN
693 
694         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
695         THEN
696             OE_MSG_PUB.Add_Exc_Msg
697             (   G_PKG_NAME
698             ,   'Price_Adjustment'
699             );
700         END IF;
701 
702 
703         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
704 
705 END Price_Adjustment;
706 
707 FUNCTION Discount ( p_discount_id IN NUMBER )
708 RETURN BOOLEAN
709 IS
710 l_dummy                       VARCHAR2(10);
711 BEGIN
712 
713 
714     IF p_discount_id IS NULL OR
715         p_discount_id = FND_API.G_MISS_NUM
716     THEN
717 
718         RETURN TRUE;
719     END IF;
720 
721     --  SELECT  'VALID'
722     --  INTO     l_dummy
723     --  FROM     DB_TABLE
724     --  WHERE    DB_COLUMN = p_discount_id;
725 
726 
727     RETURN TRUE;
728 
729 EXCEPTION
730 
731     WHEN NO_DATA_FOUND THEN
732 
733         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
734         THEN
735 
736 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DISCOUNT_ID');
737 
738             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
739             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
740 				OE_Order_Util.Get_Attribute_Name('discount_id'));
741             OE_MSG_PUB.Add;
742 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
743 
744         END IF;
745 
746 
747         RETURN FALSE;
748 
749     WHEN OTHERS THEN
750 
751         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
752         THEN
753             OE_MSG_PUB.Add_Exc_Msg
754             (   G_PKG_NAME
755             ,   'Discount'
756             );
757         END IF;
758 
759 
760         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
761 
762 END Discount;
763 
764 FUNCTION Discount_Line ( p_discount_line_id IN NUMBER )
765 RETURN BOOLEAN
766 IS
767 l_dummy                       VARCHAR2(10);
768 BEGIN
769 
770 
771     IF p_discount_line_id <> -1 OR
772         p_discount_line_id = FND_API.G_MISS_NUM
773     THEN
774 
775         RETURN TRUE;
776     END IF;
777 
778 
779     --  SELECT  'VALID'
780     --  INTO     l_dummy
781     --  FROM     DB_TABLE
782     --  WHERE    DB_COLUMN = p_discount_line_id;
783 
784 
785     RETURN TRUE;
786 
787 EXCEPTION
788 
789     WHEN NO_DATA_FOUND THEN
790 
791         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
792         THEN
793 
794 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DISCOUNT_LINE_ID');
795 
796             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
797             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
798 				OE_Order_Util.Get_Attribute_Name('discount_line_id'));
799             OE_MSG_PUB.Add;
800 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
801 
802         END IF;
803 
804 
805         RETURN FALSE;
806 
807     WHEN OTHERS THEN
808 
809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
810         THEN
811             OE_MSG_PUB.Add_Exc_Msg
812             (   G_PKG_NAME
813             ,   'Discount_Line'
814             );
815         END IF;
816 
817 
818         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
819 
820 END Discount_Line;
821 
822 FUNCTION Automatic ( p_automatic_flag IN VARCHAR2 )
823 RETURN BOOLEAN
824 IS
825 l_dummy                       VARCHAR2(10);
826 BEGIN
827 
828     IF p_automatic_flag IS NULL OR
829        p_automatic_flag = FND_API.G_MISS_CHAR THEN
830 
831         RETURN TRUE;
832     END IF;
833 
834     IF p_automatic_flag NOT IN ('Y','N') THEN
835 		RAISE NO_DATA_FOUND;
836     END IF;
837 
838     --  SELECT  'VALID'
839     --  INTO     l_dummy
840     --  FROM     DB_TABLE
841     --  WHERE    DB_COLUMN = p_automatic_flag;
842 
843 
844     RETURN TRUE;
845 
846 EXCEPTION
847 
848     WHEN NO_DATA_FOUND THEN
849 
850         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
851         THEN
852 
853 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTOMATIC_FLAG');
854 
855             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
856             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
857 				OE_Order_Util.Get_Attribute_Name('automatic_flag'));
858             OE_MSG_PUB.Add;
859 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
860 
861         END IF;
862 
863 
864         RETURN FALSE;
865 
866     WHEN OTHERS THEN
867 
868         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
869         THEN
870             OE_MSG_PUB.Add_Exc_Msg
871             (   G_PKG_NAME
872             ,   'Automatic'
873             );
874         END IF;
875 
876 
877         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
878 
879 END Automatic;
880 
881 FUNCTION Percent ( p_percent IN NUMBER )
882 RETURN BOOLEAN
883 IS
884 l_dummy                       VARCHAR2(10);
885 BEGIN
886 
887 
888    -- All attribute validation being turned on
889 --   IF p_percent IS NULL OR
890 --     p_percent = FND_API.g_miss_num
891 --     THEN
892 --      RETURN TRUE;
893 --    ELSIF p_percent = 0
894 --      THEN
895 --      RETURN FALSE;
896 --   END IF;
897 
898 
899    RETURN TRUE;
900 
901 /*
902     IF p_percent IS NULL OR
903         p_percent = FND_API.G_MISS_NUM
904     THEN
905         RETURN TRUE;
906     END IF;
907 
908     --  SELECT  'VALID'
909     --  INTO     l_dummy
910     --  FROM     DB_TABLE
911     --  WHERE    DB_COLUMN = p_percent;
912 
913     RETURN TRUE;
914 */
915 EXCEPTION
916 
917     WHEN NO_DATA_FOUND THEN
918 
919         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
920         THEN
921 
922 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PERCENT');
923 
924             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
925             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
926 				OE_Order_Util.Get_Attribute_Name('percent'));
927             OE_MSG_PUB.Add;
928 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
929 
930         END IF;
931 
932 
933         RETURN FALSE;
934 
935     WHEN OTHERS THEN
936 
937         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
938         THEN
939             OE_MSG_PUB.Add_Exc_Msg
940             (   G_PKG_NAME
941             ,   'Percent'
942             );
943         END IF;
944 
945 
946         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947 
948 END Percent;
949 
950 FUNCTION Line ( p_line_id IN NUMBER )
951 RETURN BOOLEAN
952 IS
953 l_dummy                       VARCHAR2(10);
954 BEGIN
955 
956 
957     IF p_line_id IS NULL OR
958         p_line_id = FND_API.G_MISS_NUM
959     THEN
960 
961         RETURN TRUE;
962     END IF;
963 
964     --  SELECT  'VALID'
965     --  INTO     l_dummy
966     --  FROM     DB_TABLE
967     --  WHERE    DB_COLUMN = p_line_id;
968 
969 
970     RETURN TRUE;
971 
972 EXCEPTION
973 
974     WHEN NO_DATA_FOUND THEN
975 
976         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
977         THEN
978 
979 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_ID');
980 
981             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
982             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
983 				OE_Order_Util.Get_Attribute_Name('line_id'));
984             OE_MSG_PUB.Add;
985 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
986 
987         END IF;
988 
989 
990         RETURN FALSE;
991 
992     WHEN OTHERS THEN
993 
994         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
995         THEN
996             OE_MSG_PUB.Add_Exc_Msg
997             (   G_PKG_NAME
998             ,   'Line'
999             );
1000         END IF;
1001 
1002 
1003         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1004 
1005 END Line;
1006 
1007 
1008 FUNCTION Applied_Flag ( p_Applied_Flag IN VARCHAR2 )
1009 RETURN BOOLEAN
1010 IS
1011 l_dummy                       VARCHAR2(10);
1012 BEGIN
1013 
1014 
1015     IF p_Applied_Flag IS NULL OR
1016         p_Applied_Flag = FND_API.G_MISS_CHAR
1017     THEN
1018 
1019         RETURN TRUE;
1020     END IF;
1021 
1022 	   if p_applied_flag not in ('Y','N') then
1023 
1024         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1025         THEN
1026 
1027 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPLIED_FLAG');
1028 
1029             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1030             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1031 				OE_Order_Util.Get_Attribute_Name('Applied_Flag'));
1032             OE_MSG_PUB.Add;
1033 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1034 
1035         END IF;
1036         RETURN FALSE;
1037      End if;
1038 
1039         RETURN TRUE;
1040 
1041 EXCEPTION
1042 
1043     WHEN NO_DATA_FOUND THEN
1044 
1045         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1046         THEN
1047 
1048 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPLIED_FLAG');
1049 
1050             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1051             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1052 				OE_Order_Util.Get_Attribute_Name('Applied_Flag'));
1053             OE_MSG_PUB.Add;
1054 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1055 
1056         END IF;
1057 
1058 
1059         RETURN FALSE;
1060 
1061     WHEN OTHERS THEN
1062 
1063         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1064         THEN
1065             OE_MSG_PUB.Add_Exc_Msg
1066             (   G_PKG_NAME
1067             ,   'Applied_Flag'
1068             );
1069         END IF;
1070 
1071 
1072         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1073 
1074 END Applied_Flag;
1075 
1076 
1077 
1078 FUNCTION Change_Reason_Code(p_Change_Reason_Code IN VARCHAR2)
1079 RETURN BOOLEAN
1080 IS
1081 l_dummy                       VARCHAR2(10);
1082 BEGIN
1083 
1084 
1085     IF p_Change_Reason_Code IS NULL OR
1086         p_Change_Reason_Code = FND_API.G_MISS_CHAR
1087     THEN
1088 
1089         RETURN TRUE;
1090     END IF;
1091 
1092 
1093     RETURN TRUE;
1094 
1095 EXCEPTION
1096 
1097     WHEN NO_DATA_FOUND THEN
1098 
1099         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1100         THEN
1101 
1102 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHANGE_REASON_CODE');
1103 
1104             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1105             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1106 				OE_Order_Util.Get_Attribute_Name('Change_Reason_Code'));
1107             OE_MSG_PUB.Add;
1108 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1109 
1110         END IF;
1111 
1112 
1113         RETURN FALSE;
1114 
1115     WHEN OTHERS THEN
1116 
1117         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1118         THEN
1119             OE_MSG_PUB.Add_Exc_Msg
1120             (   G_PKG_NAME
1121             ,   'Change_Reason_Code'
1122             );
1123         END IF;
1124 
1125 
1126         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1127 
1128 END Change_Reason_Code;
1129 
1130 
1131 FUNCTION Change_Reason_Text(p_Change_Reason_Text IN VARCHAR2)
1132 RETURN BOOLEAN
1133 IS
1134 l_dummy                       VARCHAR2(10);
1135 BEGIN
1136 
1137 
1138     IF p_Change_Reason_Text IS NULL OR
1139         p_Change_Reason_Text = FND_API.G_MISS_CHAR
1140     THEN
1141 
1142         RETURN TRUE;
1143     END IF;
1144 
1145 
1146     RETURN TRUE;
1147 
1148 EXCEPTION
1149 
1150     WHEN NO_DATA_FOUND THEN
1151 
1152         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1153         THEN
1154 
1155 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHANGE_REASON_TEXT');
1156 
1157             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1158             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1159 				OE_Order_Util.Get_Attribute_Name('Change_Reason_Text'));
1160             OE_MSG_PUB.Add;
1161 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1162 
1163         END IF;
1164 
1165 
1166         RETURN FALSE;
1167 
1168     WHEN OTHERS THEN
1169 
1170         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1171         THEN
1172             OE_MSG_PUB.Add_Exc_Msg
1173             (   G_PKG_NAME
1174             ,   'Change_Reason_Text'
1175             );
1176         END IF;
1177 
1178 
1179         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1180 
1181 END Change_Reason_Text;
1182 
1183 
1184 FUNCTION List_Header_id(p_List_Header_id IN NUMBER)
1185 RETURN BOOLEAN
1186 IS
1187 l_dummy                       VARCHAR2(10);
1188 BEGIN
1189 
1190 
1191     IF p_List_Header_id IS NULL OR
1192         p_List_Header_id = FND_API.G_MISS_NUM
1193     THEN
1194 
1195         RETURN TRUE;
1196     END IF;
1197 
1198       SELECT  'VALID'
1199       INTO     l_dummy
1200       FROM     qp_list_headers_vl
1201       WHERE    list_header_id = p_List_Header_id;
1202 
1203 
1204     RETURN TRUE;
1205 
1206 EXCEPTION
1207 
1208     WHEN NO_DATA_FOUND THEN
1209 
1210         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1211         THEN
1212 
1213 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_HEADER_ID');
1214 
1215             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1216             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1217 				OE_Order_Util.Get_Attribute_Name('List_Header_id'));
1218             OE_MSG_PUB.Add;
1219 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1220 
1221         END IF;
1222 
1223 
1224         RETURN FALSE;
1225 
1226     WHEN OTHERS THEN
1227 
1228         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1229         THEN
1230             OE_MSG_PUB.Add_Exc_Msg
1231             (   G_PKG_NAME
1232             ,   'List_Header_id'
1233             );
1234         END IF;
1235 
1236 
1237         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1238 
1239 END List_Header_id;
1240 
1241 
1242 FUNCTION List_Line_id(p_List_Line_id IN NUMBER)
1243 RETURN BOOLEAN
1244 IS
1245 l_dummy                       VARCHAR2(10);
1246 BEGIN
1247 
1248 
1249     IF p_List_Line_id IS NULL OR
1250         p_List_Line_id = FND_API.G_MISS_NUM
1251     THEN
1252 
1253         RETURN TRUE;
1254     END IF;
1255 
1256       SELECT  'VALID'
1257       INTO     l_dummy
1258       FROM     qp_list_lines
1259       WHERE    list_line_id = p_List_Line_id;
1260 
1261 
1262     RETURN TRUE;
1263 
1264 EXCEPTION
1265 
1266     WHEN NO_DATA_FOUND THEN
1267 
1268         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1269         THEN
1270 
1271 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_LINE_ID');
1272 
1273             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1274             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1275 				OE_Order_Util.Get_Attribute_Name('List_Line_id'));
1276             OE_MSG_PUB.Add;
1277 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1278 
1279         END IF;
1280 
1281 
1282         RETURN FALSE;
1283 
1284     WHEN OTHERS THEN
1285 
1286         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1287         THEN
1288             OE_MSG_PUB.Add_Exc_Msg
1289             (   G_PKG_NAME
1290             ,   'List_Line_id'
1291             );
1292         END IF;
1293 
1294         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1295 
1296 END List_Line_id;
1297 
1298 
1299 FUNCTION  List_Line_Type_code(p_List_Line_Type_code IN VARCHAR2)
1300 RETURN BOOLEAN
1301 IS
1302 l_dummy                       VARCHAR2(10);
1303 BEGIN
1304 
1305     IF p_List_Line_Type_code IS NULL OR
1306         p_List_Line_Type_code = FND_API.G_MISS_CHAR
1307     THEN
1308 
1309         RETURN TRUE;
1310     END IF;
1311 
1312     -- JAUTOMO: TO DO: Validation, but how ?
1313 
1314     --  SELECT  'VALID'
1315     --  INTO     l_dummy
1316     --  FROM     DB_TABLE
1317     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1318 
1319 
1320     RETURN TRUE;
1321 
1322 EXCEPTION
1323 
1324     WHEN NO_DATA_FOUND THEN
1325 
1326         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1327         THEN
1328 
1329 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_LINE_TYPE_CODE');
1330 
1331             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1332             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1333 				OE_Order_Util.Get_Attribute_Name('List_Line_Type_code'));
1334             OE_MSG_PUB.Add;
1335 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1336 
1337         END IF;
1338 
1339 
1340         RETURN FALSE;
1341 
1342     WHEN OTHERS THEN
1343 
1344         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1345         THEN
1346             OE_MSG_PUB.Add_Exc_Msg
1347             (   G_PKG_NAME
1348             ,   'List_Line_Type_code'
1349             );
1350         END IF;
1351 
1352 
1353         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354 
1355 END List_Line_Type_code;
1356 
1357 
1358 
1359 FUNCTION Pricing_Phase_id(p_Pricing_Phase_id IN NUMBER)
1360 RETURN BOOLEAN
1361 IS
1362 l_dummy                       VARCHAR2(10);
1363 BEGIN
1364 
1365 
1366     IF p_Pricing_Phase_id IS NULL OR
1367         p_Pricing_Phase_id = FND_API.G_MISS_NUM
1368     THEN
1369 
1370         RETURN TRUE;
1371     END IF;
1372 
1373     -- JAUTOMO: TO DO: Validation, but how ?
1374 
1375     --  SELECT  'VALID'
1376     --  INTO     l_dummy
1377     --  FROM     DB_TABLE
1378     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1379 
1380 
1381     RETURN TRUE;
1382 
1383 EXCEPTION
1384 
1385     WHEN NO_DATA_FOUND THEN
1386 
1387         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1388         THEN
1389 
1390 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Pricing_Phase_id');
1391 
1392             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1393             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1394 				OE_Order_Util.Get_Attribute_Name('Pricing_Phase_id'));
1395             OE_MSG_PUB.Add;
1396 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1397 
1398         END IF;
1399 
1400 
1401         RETURN FALSE;
1402 
1403     WHEN OTHERS THEN
1404 
1405         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1406         THEN
1407             OE_MSG_PUB.Add_Exc_Msg
1408             (   G_PKG_NAME
1409             ,   'Pricing_Phase_id'
1410             );
1411         END IF;
1412 
1413 
1414         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1415 
1416 END Pricing_Phase_id;
1417 
1418 
1419 FUNCTION Adjusted_Amount(p_Adjusted_Amount IN NUMBER)
1420 RETURN BOOLEAN
1421 IS
1422 l_dummy                       VARCHAR2(10);
1423 BEGIN
1424 
1425 
1426     IF p_Adjusted_Amount IS NULL OR
1427         p_Adjusted_Amount = FND_API.G_MISS_NUM
1428     THEN
1429 
1430         RETURN TRUE;
1431     END IF;
1432 
1433     --  SELECT  'VALID'
1434     --  INTO     l_dummy
1435     --  FROM     DB_TABLE
1436     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1437 
1438 
1439     RETURN TRUE;
1440 
1441 EXCEPTION
1442 
1443     WHEN NO_DATA_FOUND THEN
1444 
1445         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1446         THEN
1447 
1448 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ADJUSTED_AMOUNT');
1449 
1450             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1451             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1452 				OE_Order_Util.Get_Attribute_Name('ADJUSTED_AMOUNT'));
1453             OE_MSG_PUB.Add;
1454 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1455 
1456         END IF;
1457 
1458 
1459         RETURN FALSE;
1460 
1461     WHEN OTHERS THEN
1462 
1463         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1464         THEN
1465             OE_MSG_PUB.Add_Exc_Msg
1466             (   G_PKG_NAME
1467             ,   'Adjusted_Amount'
1468             );
1469         END IF;
1470 
1471 
1472         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1473 
1474 END Adjusted_Amount;
1475 
1476 
1477 
1478 FUNCTION Modified_From(p_Modified_From IN VARCHAR2)
1479 RETURN BOOLEAN
1480 IS
1481 l_dummy                       VARCHAR2(10);
1482 BEGIN
1483 
1484 
1485     IF p_Modified_From IS NULL OR
1486         p_Modified_From = FND_API.G_MISS_CHAR
1487     THEN
1488 
1489         RETURN TRUE;
1490     END IF;
1491 
1492     -- JAUTOMO: TO DO: Validation, but how ?
1493 
1494     --  SELECT  'VALID'
1495     --  INTO     l_dummy
1496     --  FROM     DB_TABLE
1497     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1498 
1499 
1500     RETURN TRUE;
1501 
1502 EXCEPTION
1503 
1504     WHEN NO_DATA_FOUND THEN
1505 
1506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1507         THEN
1508 
1509 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIED_FROM');
1510 
1511             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1512             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1513 				OE_Order_Util.Get_Attribute_Name('Modified_From'));
1514             OE_MSG_PUB.Add;
1515 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1516 
1517         END IF;
1518 
1519 
1520         RETURN FALSE;
1521 
1522     WHEN OTHERS THEN
1523 
1524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1525         THEN
1526             OE_MSG_PUB.Add_Exc_Msg
1527             (   G_PKG_NAME
1528             ,   'Modified_From'
1529             );
1530         END IF;
1531 
1532 
1533         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1534 
1535 END Modified_From;
1536 
1537 FUNCTION Modified_To(p_Modified_To IN VARCHAR2)
1538 RETURN BOOLEAN
1539 IS
1540 l_dummy                       VARCHAR2(10);
1541 BEGIN
1542 
1543 
1544     IF p_Modified_To IS NULL OR
1545         p_Modified_To = FND_API.G_MISS_CHAR
1546     THEN
1547 
1548         RETURN TRUE;
1549     END IF;
1550 
1551     -- JAUTOMO: TO DO: Validation, but how ?
1552 
1553     --  SELECT  'VALID'
1554     --  INTO     l_dummy
1555     --  FROM     DB_TABLE
1556     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1557 
1558 
1559     RETURN TRUE;
1560 
1561 EXCEPTION
1562 
1563     WHEN NO_DATA_FOUND THEN
1564 
1565         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1566         THEN
1567 
1568 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIED_TO');
1569 
1570             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1571             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1572 				OE_Order_Util.Get_Attribute_Name('Modified_To'));
1573             OE_MSG_PUB.Add;
1574 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1575 
1576         END IF;
1577 
1578 
1579         RETURN FALSE;
1580 
1581     WHEN OTHERS THEN
1582 
1583         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1584         THEN
1585             OE_MSG_PUB.Add_Exc_Msg
1586             (   G_PKG_NAME
1587             ,   'Modified_To'
1588             );
1589         END IF;
1590 
1591 
1592         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1593 
1594 END Modified_To;
1595 
1596 
1597 FUNCTION  Modifier_mechanism_type_code(p_Modifier_mechanism_type_code IN VARCHAR2)
1598 RETURN BOOLEAN
1599 IS
1600 l_dummy                       VARCHAR2(10);
1601 BEGIN
1602 
1603 
1604     IF p_Modifier_mechanism_type_code IS NULL OR
1605         p_Modifier_mechanism_type_code = FND_API.G_MISS_CHAR
1606     THEN
1607 
1608         RETURN TRUE;
1609     END IF;
1610 
1611     --  SELECT  'VALID'
1612     --  INTO     l_dummy
1613     --  FROM     DB_TABLE
1614     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1615 
1616 
1617     RETURN TRUE;
1618 
1619 EXCEPTION
1620 
1621     WHEN NO_DATA_FOUND THEN
1622 
1623         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1624         THEN
1625 
1626 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIER_MECHANISM_TYPE_CODE');
1627 
1628             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1629             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1630 				OE_Order_Util.Get_Attribute_Name('Modifier_mechanism_type_code'));
1631             OE_MSG_PUB.Add;
1632 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1633 
1634         END IF;
1635 
1636 
1637         RETURN FALSE;
1638 
1639     WHEN OTHERS THEN
1640 
1641         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1642         THEN
1643             OE_MSG_PUB.Add_Exc_Msg
1644             (   G_PKG_NAME
1645             ,   'Modifier_mechanism_type_code'
1646             );
1647         END IF;
1648 
1649 
1650         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1651 
1652 END Modifier_mechanism_type_code;
1653 
1654 
1655 
1656 FUNCTION operand(p_operand IN number)
1657 RETURN BOOLEAN
1658 IS
1659 l_dummy                       VARCHAR2(10);
1660 BEGIN
1661 
1662 
1663     IF p_Operand IS NULL OR
1664         p_Operand = FND_API.G_MISS_NUM
1665     THEN
1666 
1667         RETURN TRUE;
1668     END IF;
1669 
1670     --  SELECT  'VALID'
1671     --  INTO     l_dummy
1672     --  FROM     DB_TABLE
1673     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1674 
1675 
1676     RETURN TRUE;
1677 
1678 EXCEPTION
1679 
1680     WHEN NO_DATA_FOUND THEN
1681 
1682         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1683         THEN
1684 
1685 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPERAND');
1686 
1687             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1688             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1689 				OE_Order_Util.Get_Attribute_Name('Operand'));
1690             OE_MSG_PUB.Add;
1691 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1692 
1693         END IF;
1694 
1695 
1696         RETURN FALSE;
1697 
1698     WHEN OTHERS THEN
1699 
1700         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1701         THEN
1702             OE_MSG_PUB.Add_Exc_Msg
1703             (   G_PKG_NAME
1704             ,   'Operand'
1705             );
1706         END IF;
1707 
1708 
1709         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1710 
1711 END operand;
1712 
1713 
1714 FUNCTION arithmetic_operator(p_arithmetic_operator IN varchar2)
1715 RETURN BOOLEAN
1716 IS
1717 l_dummy                       VARCHAR2(10);
1718 BEGIN
1719 
1720 
1721     IF p_arithmetic_operator IS NULL OR
1722         p_arithmetic_operator = FND_API.G_MISS_CHAR
1723     THEN
1724 
1725         RETURN TRUE;
1726     END IF;
1727 
1728     --  SELECT  'VALID'
1729     --  INTO     l_dummy
1730     --  FROM     DB_TABLE
1731     --  WHERE    DB_COLUMN = p_price_adjustment_id;
1732 
1733 
1734     RETURN TRUE;
1735 
1736 EXCEPTION
1737 
1738     WHEN NO_DATA_FOUND THEN
1739 
1740         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1741         THEN
1742 
1743 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ARITHMETIC_OPERATOR');
1744 
1745             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1746             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1747 				OE_Order_Util.Get_Attribute_Name('Arithmetic_Operator'));
1748             OE_MSG_PUB.Add;
1749 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1750 
1751         END IF;
1752 
1753 
1754         RETURN FALSE;
1755 
1756     WHEN OTHERS THEN
1757 
1758         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1759         THEN
1760             OE_MSG_PUB.Add_Exc_Msg
1761             (   G_PKG_NAME
1762             ,   'Arithmetic_operator'
1763             );
1764         END IF;
1765 
1766 
1767         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1768 
1769 END Arithmetic_Operator;
1770 
1771 FUNCTION List_Line_NO ( p_List_Line_NO IN VARCHAR2 )
1772 RETURN BOOLEAN
1773 IS
1774 l_dummy                       VARCHAR2(10);
1775 BEGIN
1776 
1777     IF p_List_Line_NO IS NULL OR
1778         p_List_Line_NO = FND_API.G_MISS_CHAR
1779     THEN
1780             RETURN TRUE;
1781     END IF;
1782 
1783     -- JAUTOMO: Is this correct ?
1784 
1785     SELECT  'VALID'
1786     INTO     l_dummy
1787     FROM     qp_list_lines
1788     WHERE    list_line_no = p_List_Line_NO
1789     AND      ROWNUM=1;
1790 
1791     RETURN TRUE;
1792 
1793 EXCEPTION
1794 
1795     WHEN NO_DATA_FOUND THEN
1796 
1797 
1798         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1799         THEN
1800 
1801 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'List_Line_NO');
1802 
1803             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1804             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1805 				OE_Order_Util.Get_Attribute_Name('List_Line_NO'));
1806             OE_MSG_PUB.Add;
1807 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1808 
1809         END IF;
1810 
1811 
1812         RETURN FALSE;
1813 
1814     WHEN OTHERS THEN
1815 
1816         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1817         THEN
1818             OE_MSG_PUB.Add_Exc_Msg
1819             (   G_PKG_NAME
1820             ,   'List Line NO'
1821             );
1822         END IF;
1823 
1824         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1825 
1826 END List_Line_NO;
1827 
1828 FUNCTION Source_System_Code ( p_Source_System_Code IN VARCHAR2 )
1829 RETURN BOOLEAN
1830 IS
1831 l_dummy                       VARCHAR2(10);
1832 BEGIN
1833 
1834     IF p_Source_System_Code IS NULL OR
1835         p_Source_System_Code = FND_API.G_MISS_CHAR
1836     THEN
1837             RETURN TRUE;
1838     END IF;
1839 
1840     --  SELECT  'VALID'
1841     --  INTO     l_dummy
1842     --  FROM     DB_TABLE
1843     --  WHERE    DB_COLUMN = p_Source_System_Code;
1844 
1845 
1846     RETURN TRUE;
1847 
1848 EXCEPTION
1849 
1850     WHEN NO_DATA_FOUND THEN
1851 
1852 
1853         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1854         THEN
1855 
1856 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Source_System_Code');
1857 
1858             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1859             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1860 				OE_Order_Util.Get_Attribute_Name('Source_System_Code'));
1861             OE_MSG_PUB.Add;
1862 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1863 
1864         END IF;
1865 
1866 
1867         RETURN FALSE;
1868 
1869     WHEN OTHERS THEN
1870 
1871         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1872         THEN
1873             OE_MSG_PUB.Add_Exc_Msg
1874             (   G_PKG_NAME
1875             ,   'Source System Code'
1876             );
1877         END IF;
1878 
1879         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1880 
1881 END Source_System_Code;
1882 
1883 FUNCTION Benefit_Qty ( p_Benefit_Qty IN NUMBER )
1884 RETURN BOOLEAN
1885 IS
1886 l_dummy                       VARCHAR2(10);
1887 BEGIN
1888 
1889     IF p_Benefit_Qty IS NULL OR
1890         p_Benefit_Qty = FND_API.G_MISS_NUM
1891     THEN
1892             RETURN TRUE;
1893     END IF;
1894 
1895     --  SELECT  'VALID'
1896     --  INTO     l_dummy
1897     --  FROM     DB_TABLE
1898     --  WHERE    DB_COLUMN = p_Benefit_Qty;
1899 
1900 
1901     RETURN TRUE;
1902 
1903 EXCEPTION
1904 
1905     WHEN NO_DATA_FOUND THEN
1906 
1907 
1908         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1909         THEN
1910 
1911 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Benefit_Qty');
1912 
1913             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1914             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1915 				OE_Order_Util.Get_Attribute_Name('Benefit_Qty'));
1916             OE_MSG_PUB.Add;
1917 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1918 
1919         END IF;
1920 
1921 
1922         RETURN FALSE;
1923 
1924     WHEN OTHERS THEN
1925 
1926         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1927         THEN
1928             OE_MSG_PUB.Add_Exc_Msg
1929             (   G_PKG_NAME
1930             ,   'Benefit Qty'
1931             );
1932         END IF;
1933 
1934         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1935 
1936 END Benefit_Qty;
1937 
1938 FUNCTION Benefit_UOM_Code ( p_Benefit_UOM_Code IN VARCHAR2 )
1939 RETURN BOOLEAN
1940 IS
1941 l_dummy                       VARCHAR2(10);
1942 BEGIN
1943 
1944     IF p_Benefit_UOM_Code IS NULL OR
1945         p_Benefit_UOM_Code = FND_API.G_MISS_CHAR
1946     THEN
1947             RETURN TRUE;
1948     END IF;
1949 
1950     --  SELECT  'VALID'
1951     --  INTO     l_dummy
1952     --  FROM     DB_TABLE
1953     --  WHERE    DB_COLUMN = p_Benefit_UOM_Code;
1954 
1955 
1956     RETURN TRUE;
1957 
1958 EXCEPTION
1959 
1960     WHEN NO_DATA_FOUND THEN
1961 
1962 
1963         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1964         THEN
1965 
1966 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Benefit_UOM_Code');
1967 
1968             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1969             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1970 				OE_Order_Util.Get_Attribute_Name('Benefit_UOM_Code'));
1971             OE_MSG_PUB.Add;
1972 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1973 
1974         END IF;
1975 
1976 
1977         RETURN FALSE;
1978 
1979     WHEN OTHERS THEN
1980 
1981         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1982         THEN
1983             OE_MSG_PUB.Add_Exc_Msg
1984             (   G_PKG_NAME
1985             ,   'Benefit UOM Code '
1986             );
1987         END IF;
1988 
1989         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1990 
1991 END Benefit_UOM_Code;
1992 
1993 FUNCTION Print_On_Invoice_Flag ( p_Print_On_Invoice_Flag IN VARCHAR2 )
1994 RETURN BOOLEAN
1995 IS
1996 l_dummy                       VARCHAR2(10);
1997 BEGIN
1998 
1999     IF p_Print_On_Invoice_Flag IS NULL OR
2000         p_Print_On_Invoice_Flag = FND_API.G_MISS_CHAR
2001     THEN
2002             RETURN TRUE;
2003     END IF;
2004 
2005     --  SELECT  'VALID'
2006     --  INTO     l_dummy
2007     --  FROM     DB_TABLE
2008     --  WHERE    DB_COLUMN = p_Print_On_Invoice_Flag;
2009 
2010 
2011     RETURN TRUE;
2012 
2013 EXCEPTION
2014 
2015     WHEN NO_DATA_FOUND THEN
2016 
2017 
2018         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2019         THEN
2020 
2021 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Print_On_Invoice_Flag');
2022 
2023             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2024             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2025 				OE_Order_Util.Get_Attribute_Name('Print_On_Invoice_Flag'));
2026             OE_MSG_PUB.Add;
2027 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2028 
2029         END IF;
2030 
2031 
2032         RETURN FALSE;
2033 
2034     WHEN OTHERS THEN
2035 
2036         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2037         THEN
2038             OE_MSG_PUB.Add_Exc_Msg
2039             (   G_PKG_NAME
2040             ,   'Print On Invoice Flag'
2041             );
2042         END IF;
2043 
2044         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2045 
2046 END Print_On_Invoice_Flag;
2047 
2048 FUNCTION Expiration_Date ( p_Expiration_Date IN DATE )
2049 RETURN BOOLEAN
2050 IS
2051 l_dummy                       VARCHAR2(10);
2052 BEGIN
2053 
2054     IF p_Expiration_Date IS NULL OR
2055         p_Expiration_Date = FND_API.G_MISS_DATE
2056     THEN
2057             RETURN TRUE;
2058     END IF;
2059 
2060     --  SELECT  'VALID'
2061     --  INTO     l_dummy
2062     --  FROM     DB_TABLE
2063     --  WHERE    DB_COLUMN = p_Expiration_Date;
2064 
2065 
2066     RETURN TRUE;
2067 
2068 EXCEPTION
2069 
2070     WHEN NO_DATA_FOUND THEN
2071 
2072 
2073         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2074         THEN
2075 
2076 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Expiration_Date');
2077 
2078             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2079             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2080 				OE_Order_Util.Get_Attribute_Name('Expiration_Date'));
2081             OE_MSG_PUB.Add;
2082 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2083 
2084         END IF;
2085 
2086 
2087         RETURN FALSE;
2088 
2089     WHEN OTHERS THEN
2090 
2091         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2092         THEN
2093             OE_MSG_PUB.Add_Exc_Msg
2094             (   G_PKG_NAME
2095             ,   'Expiration Date'
2096             );
2097         END IF;
2098 
2099         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2100 
2101 END Expiration_Date;
2102 
2103 FUNCTION Rebate_Transaction_Type_Code ( p_Rebate_Transaction_Type_Code IN VARCHAR2 )
2104 RETURN BOOLEAN
2105 IS
2106 l_dummy                       VARCHAR2(10);
2107 BEGIN
2108 
2109     IF p_Rebate_Transaction_Type_Code IS NULL OR
2110         p_Rebate_Transaction_Type_Code = FND_API.G_MISS_CHAR
2111     THEN
2112             RETURN TRUE;
2113     END IF;
2114 
2115     --  SELECT  'VALID'
2116     --  INTO     l_dummy
2117     --  FROM     DB_TABLE
2118     --  WHERE    DB_COLUMN = p_Rebate_Transaction_Type_Code;
2119 
2120 
2121     RETURN TRUE;
2122 
2123 EXCEPTION
2124 
2125     WHEN NO_DATA_FOUND THEN
2126 
2127 
2128         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2129         THEN
2130 
2131 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Rebate_Transaction_Type_Code');
2132 
2133             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2134             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2135 				OE_Order_Util.Get_Attribute_Name('Rebate_Transaction_Type_Code'));
2136             OE_MSG_PUB.Add;
2137 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2138 
2139         END IF;
2140 
2141 
2142         RETURN FALSE;
2143 
2144     WHEN OTHERS THEN
2145 
2146         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2147         THEN
2148             OE_MSG_PUB.Add_Exc_Msg
2149             (   G_PKG_NAME
2150             ,   'Rebate Transaction Type Code'
2151             );
2152         END IF;
2153 
2154         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2155 
2156 END Rebate_Transaction_Type_Code;
2157 
2158 FUNCTION Rebate_Transaction_Reference ( p_Rebate_Transaction_Reference IN VARCHAR2 )
2159 RETURN BOOLEAN
2160 IS
2161 l_dummy                       VARCHAR2(10);
2162 BEGIN
2163 
2164     IF p_Rebate_Transaction_Reference IS NULL OR
2165         p_Rebate_Transaction_Reference = FND_API.G_MISS_CHAR
2166     THEN
2167             RETURN TRUE;
2168     END IF;
2169 
2170     --  SELECT  'VALID'
2171     --  INTO     l_dummy
2172     --  FROM     DB_TABLE
2173     --  WHERE    DB_COLUMN = p_Rebate_Transaction_Reference;
2174 
2175 
2176     RETURN TRUE;
2177 
2178 EXCEPTION
2179 
2180     WHEN NO_DATA_FOUND THEN
2181 
2182 
2183         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2184         THEN
2185 
2186 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Rebate_Transaction_Reference');
2187 
2188             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2189             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2190 				OE_Order_Util.Get_Attribute_Name('Rebate_Transaction_Reference'));
2191             OE_MSG_PUB.Add;
2192 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2193 
2194         END IF;
2195 
2196 
2197         RETURN FALSE;
2198 
2199     WHEN OTHERS THEN
2200 
2201         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2202         THEN
2203             OE_MSG_PUB.Add_Exc_Msg
2204             (   G_PKG_NAME
2205             ,   'Rebate_Transaction_Reference'
2206             );
2207         END IF;
2208 
2209         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2210 
2211 END Rebate_Transaction_Reference;
2212 
2213 FUNCTION Rebate_Payment_System_Code ( p_Rebate_Payment_System_Code IN VARCHAR2 )
2214 RETURN BOOLEAN
2215 IS
2216 l_dummy                       VARCHAR2(10);
2217 BEGIN
2218 
2219     IF p_Rebate_Payment_System_Code IS NULL OR
2220         p_Rebate_Payment_System_Code = FND_API.G_MISS_CHAR
2221     THEN
2222             RETURN TRUE;
2223     END IF;
2224 
2225     --  SELECT  'VALID'
2226     --  INTO     l_dummy
2227     --  FROM     DB_TABLE
2228     --  WHERE    DB_COLUMN = p_Rebate_Payment_System_Code;
2229 
2230 
2231     RETURN TRUE;
2232 
2233 EXCEPTION
2234 
2235     WHEN NO_DATA_FOUND THEN
2236 
2237 
2238         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2239         THEN
2240 
2241 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Rebate_Payment_System_Code');
2242 
2243             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2244             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2245 				OE_Order_Util.Get_Attribute_Name('Rebate_Payment_System_Code'));
2246             OE_MSG_PUB.Add;
2247 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2248 
2249         END IF;
2250 
2251 
2252         RETURN FALSE;
2253 
2254     WHEN OTHERS THEN
2255 
2256         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2257         THEN
2258             OE_MSG_PUB.Add_Exc_Msg
2259             (   G_PKG_NAME
2260             ,   'Rebate Payment System Code'
2261             );
2262         END IF;
2263 
2264         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2265 
2266 END Rebate_Payment_System_Code;
2267 
2268 FUNCTION Redeemed_Date ( p_Redeemed_Date IN DATE )
2269 RETURN BOOLEAN
2270 IS
2271 l_dummy                       VARCHAR2(10);
2272 BEGIN
2273 
2274     IF p_Redeemed_Date IS NULL OR
2275         p_Redeemed_Date = FND_API.G_MISS_DATE
2276     THEN
2277             RETURN TRUE;
2278     END IF;
2279 
2280     --  SELECT  'VALID'
2281     --  INTO     l_dummy
2282     --  FROM     DB_TABLE
2283     --  WHERE    DB_COLUMN = p_Redeemed_Date;
2284 
2285 
2286     RETURN TRUE;
2287 
2288 EXCEPTION
2289 
2290     WHEN NO_DATA_FOUND THEN
2291 
2292 
2293         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2294         THEN
2295 
2296 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Redeemed_Date');
2297 
2298             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2299             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2300 				OE_Order_Util.Get_Attribute_Name('Redeemed_Date'));
2301             OE_MSG_PUB.Add;
2302 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2303 
2304         END IF;
2305 
2306 
2307         RETURN FALSE;
2308 
2309     WHEN OTHERS THEN
2310 
2311         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2312         THEN
2313             OE_MSG_PUB.Add_Exc_Msg
2314             (   G_PKG_NAME
2315             ,   'Redeemed Date'
2316             );
2317         END IF;
2318 
2319         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2320 
2321 END Redeemed_Date;
2322 
2323 FUNCTION Redeemed_Flag ( p_Redeemed_Flag IN VARCHAR2 )
2324 RETURN BOOLEAN
2325 IS
2326 l_dummy                       VARCHAR2(10);
2327 BEGIN
2328 
2329     IF p_Redeemed_Flag IS NULL OR
2330         p_Redeemed_Flag = FND_API.G_MISS_CHAR
2331     THEN
2332             RETURN TRUE;
2333     END IF;
2334 
2335     IF p_Redeemed_Flag NOT IN ('Y','N') THEN
2336 		RAISE NO_DATA_FOUND;
2337     END IF;
2338 
2339     --  SELECT  'VALID'
2340     --  INTO     l_dummy
2341     --  FROM     DB_TABLE
2342     --  WHERE    DB_COLUMN = p_Redeemed_Flag;
2343 
2344 
2345     RETURN TRUE;
2346 
2347 EXCEPTION
2348 
2349     WHEN NO_DATA_FOUND THEN
2350 
2351 
2352         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2353         THEN
2354 
2355 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Redeemed_Flag');
2356 
2357             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2358             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2359 				OE_Order_Util.Get_Attribute_Name('Redeemed_Flag'));
2360             OE_MSG_PUB.Add;
2361 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2362 
2363         END IF;
2364 
2365 
2366         RETURN FALSE;
2367 
2368     WHEN OTHERS THEN
2369 
2370         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2371         THEN
2372             OE_MSG_PUB.Add_Exc_Msg
2373             (   G_PKG_NAME
2374             ,   'Redeemed Flag'
2375             );
2376         END IF;
2377 
2378         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379 
2380 END Redeemed_Flag;
2381 
2382 FUNCTION Accrual_Flag ( p_Accrual_Flag IN VARCHAR2 )
2383 RETURN BOOLEAN
2384 IS
2385 l_dummy                       VARCHAR2(10);
2386 BEGIN
2387 
2388     IF p_Accrual_Flag IS NULL OR
2389         p_Accrual_Flag = FND_API.G_MISS_CHAR THEN
2390             RETURN TRUE;
2391     END IF;
2392 
2393     IF p_Accrual_Flag NOT IN ('Y','N') THEN
2394 		RAISE NO_DATA_FOUND;
2395     END IF;
2396 
2397     --  SELECT  'VALID'
2398     --  INTO     l_dummy
2399     --  FROM     DB_TABLE
2400     --  WHERE    DB_COLUMN = p_Accrual_Flag;
2401 
2402 
2403     RETURN TRUE;
2404 
2405 EXCEPTION
2406 
2407     WHEN NO_DATA_FOUND THEN
2408 
2409 
2410         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2411         THEN
2412 
2413 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Accrual_Flag');
2414 
2415             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2416             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2417 				OE_Order_Util.Get_Attribute_Name('Accrual_Flag'));
2418             OE_MSG_PUB.Add;
2419 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2420 
2421         END IF;
2422 
2423 
2424         RETURN FALSE;
2425 
2426     WHEN OTHERS THEN
2427 
2428         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2429         THEN
2430             OE_MSG_PUB.Add_Exc_Msg
2431             (   G_PKG_NAME
2432             ,   'Accrual Flag'
2433             );
2434         END IF;
2435 
2436         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2437 
2438 END Accrual_Flag;
2439 
2440 FUNCTION range_break_quantity ( p_range_break_quantity IN NUMBER )
2441 RETURN BOOLEAN
2442 IS
2443 l_dummy                       VARCHAR2(10);
2444 BEGIN
2445 
2446     IF p_range_break_quantity IS NULL OR
2447         p_range_break_quantity = FND_API.G_MISS_NUM
2448     THEN
2449             RETURN TRUE;
2450     END IF;
2451 
2452     -- JAUTOMO: TO DO: Validation required here ?
2453 
2454     --  SELECT  'VALID'
2455     --  INTO     l_dummy
2456     --  FROM     DB_TABLE
2457     --  WHERE    DB_COLUMN = p_range_break_quantity;
2458 
2459 
2460     RETURN TRUE;
2461 
2462 EXCEPTION
2463 
2464     WHEN NO_DATA_FOUND THEN
2465 
2466 
2467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2468         THEN
2469 
2470 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'range_break_quantity');
2471 
2472             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2473             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2474 				OE_Order_Util.Get_Attribute_Name('range_break_quantity'));
2475             OE_MSG_PUB.Add;
2476 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2477 
2478         END IF;
2479 
2480 
2481         RETURN FALSE;
2482 
2483     WHEN OTHERS THEN
2484 
2485         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2486         THEN
2487             OE_MSG_PUB.Add_Exc_Msg
2488             (   G_PKG_NAME
2489             ,   'range_break_quantity'
2490             );
2491         END IF;
2492 
2493         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2494 
2495 END range_break_quantity;
2496 
2497 FUNCTION accrual_conversion_rate ( p_accrual_conversion_rate IN NUMBER )
2498 RETURN BOOLEAN
2499 IS
2500 l_dummy                       VARCHAR2(10);
2501 BEGIN
2502 
2503     IF p_accrual_conversion_rate IS NULL OR
2504         p_accrual_conversion_rate = FND_API.G_MISS_NUM
2505     THEN
2506             RETURN TRUE;
2507     END IF;
2508 
2509     -- JAUTOMO: TO DO: Validation required here ?
2510 
2511     --  SELECT  'VALID'
2512     --  INTO     l_dummy
2513     --  FROM     DB_TABLE
2514     --  WHERE    DB_COLUMN = p_accrual_conversion_rate;
2515 
2516 
2517     RETURN TRUE;
2518 
2519 EXCEPTION
2520 
2521     WHEN NO_DATA_FOUND THEN
2522 
2523 
2524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2525         THEN
2526 
2527 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'accrual_conversion_rate');
2528 
2529             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2530             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2531 				OE_Order_Util.Get_Attribute_Name('accrual_conversion_rate'));
2532             OE_MSG_PUB.Add;
2533 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2534 
2535         END IF;
2536 
2537 
2538         RETURN FALSE;
2539 
2540     WHEN OTHERS THEN
2541 
2542         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2543         THEN
2544             OE_MSG_PUB.Add_Exc_Msg
2545             (   G_PKG_NAME
2546             ,   'accrual_conversion_rate'
2547             );
2548         END IF;
2549 
2550         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2551 
2552 END accrual_conversion_rate;
2553 
2554 FUNCTION pricing_group_sequence ( p_pricing_group_sequence IN NUMBER )
2555 RETURN BOOLEAN
2556 IS
2557 l_dummy                       VARCHAR2(10);
2558 BEGIN
2559 
2560     IF p_pricing_group_sequence IS NULL OR
2561         p_pricing_group_sequence = FND_API.G_MISS_NUM
2562     THEN
2563             RETURN TRUE;
2564     END IF;
2565 
2566     -- JAUTOMO: TO DO: validation required ?
2567 
2568     --  SELECT  'VALID'
2569     --  INTO     l_dummy
2570     --  FROM     DB_TABLE
2571     --  WHERE    DB_COLUMN = p_pricing_group_sequence;
2572 
2573 
2574     RETURN TRUE;
2575 
2576 EXCEPTION
2577 
2578     WHEN NO_DATA_FOUND THEN
2579 
2580 
2581         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2582         THEN
2583 
2584 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'pricing_group_sequence');
2585 
2586             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2587             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2588 				OE_Order_Util.Get_Attribute_Name('pricing_group_sequence'));
2589             OE_MSG_PUB.Add;
2590 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2591 
2592         END IF;
2593 
2594 
2595         RETURN FALSE;
2596 
2597     WHEN OTHERS THEN
2598 
2599         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2600         THEN
2601             OE_MSG_PUB.Add_Exc_Msg
2602             (   G_PKG_NAME
2603             ,   'pricing_group_sequence'
2604             );
2605         END IF;
2606 
2607         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2608 
2609 END pricing_group_sequence;
2610 
2611 FUNCTION modifier_level_code ( p_modifier_level_code IN VARCHAR2 )
2612 RETURN BOOLEAN
2613 IS
2614 l_dummy                       VARCHAR2(10);
2615 BEGIN
2616 
2617     IF p_modifier_level_code IS NULL OR
2618         p_modifier_level_code = FND_API.G_MISS_CHAR
2619     THEN
2620             RETURN TRUE;
2621     END IF;
2622 
2623     -- JAUTOMO: TO DO: Validation required ?
2624 
2625     --  SELECT  'VALID'
2626     --  INTO     l_dummy
2627     --  FROM     DB_TABLE
2628     --  WHERE    DB_COLUMN = p_modifier_level_code;
2629 
2630 
2631     RETURN TRUE;
2632 
2633 EXCEPTION
2634 
2635     WHEN NO_DATA_FOUND THEN
2636 
2637 
2638         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2639         THEN
2640 
2641 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'modifier_level_code');
2642 
2643             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2644             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2645 				OE_Order_Util.Get_Attribute_Name('modifier_level_code'));
2646             OE_MSG_PUB.Add;
2647 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2648 
2649         END IF;
2650 
2651 
2652         RETURN FALSE;
2653 
2654     WHEN OTHERS THEN
2655 
2656         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2657         THEN
2658             OE_MSG_PUB.Add_Exc_Msg
2659             (   G_PKG_NAME
2660             ,   'modifier_level_code'
2661             );
2662         END IF;
2663 
2664         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2665 
2666 END modifier_level_code;
2667 
2668 FUNCTION price_break_type_code ( p_price_break_type_code IN VARCHAR2 )
2669 RETURN BOOLEAN
2670 IS
2671 l_dummy                       VARCHAR2(10);
2672 BEGIN
2673 
2674     IF p_price_break_type_code IS NULL OR
2675         p_price_break_type_code = FND_API.G_MISS_CHAR
2676     THEN
2677             RETURN TRUE;
2678     END IF;
2679 
2680     -- JAUTOMO: TO DO: Validation required ?
2681 
2682     --  SELECT  'VALID'
2683     --  INTO     l_dummy
2684     --  FROM     DB_TABLE
2685     --  WHERE    DB_COLUMN = p_price_break_type_code;
2686 
2687 
2688     RETURN TRUE;
2689 
2690 EXCEPTION
2691 
2692     WHEN NO_DATA_FOUND THEN
2693 
2694 
2695         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2696         THEN
2697 
2698 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'price_break_type_code');
2699 
2700             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2701             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2702 				OE_Order_Util.Get_Attribute_Name('price_break_type_code'));
2703             OE_MSG_PUB.Add;
2704 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2705 
2706         END IF;
2707 
2708 
2709         RETURN FALSE;
2710 
2711     WHEN OTHERS THEN
2712 
2713         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2714         THEN
2715             OE_MSG_PUB.Add_Exc_Msg
2716             (   G_PKG_NAME
2717             ,   'price_break_type_code'
2718             );
2719         END IF;
2720 
2721         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2722 
2723 END price_break_type_code;
2724 
2725 FUNCTION substitution_attribute ( p_substitution_attribute IN VARCHAR2 )
2726 RETURN BOOLEAN
2727 IS
2728 l_dummy                       VARCHAR2(10);
2729 BEGIN
2730 
2731     IF p_substitution_attribute IS NULL OR
2732         p_substitution_attribute = FND_API.G_MISS_CHAR
2733     THEN
2734             RETURN TRUE;
2735     END IF;
2736 
2737     -- JAUTOMO: TO DO: Validation required ?
2738 
2739     --  SELECT  'VALID'
2740     --  INTO     l_dummy
2741     --  FROM     DB_TABLE
2742     --  WHERE    DB_COLUMN = p_substitution_attribute;
2743 
2744 
2745     RETURN TRUE;
2746 
2747 EXCEPTION
2748 
2749     WHEN NO_DATA_FOUND THEN
2750 
2751 
2752         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2753         THEN
2754 
2755 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'substitution_attribute');
2756 
2757             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2758             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2759 				OE_Order_Util.Get_Attribute_Name('substitution_attribute'));
2760             OE_MSG_PUB.Add;
2761 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2762 
2763         END IF;
2764 
2765 
2766         RETURN FALSE;
2767 
2768     WHEN OTHERS THEN
2769 
2770         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2771         THEN
2772             OE_MSG_PUB.Add_Exc_Msg
2773             (   G_PKG_NAME
2774             ,   'substitution_attribute'
2775             );
2776         END IF;
2777 
2778         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2779 
2780 END substitution_attribute;
2781 
2782 FUNCTION proration_type_code ( p_proration_type_code IN VARCHAR2 )
2783 RETURN BOOLEAN
2784 IS
2785 l_dummy                       VARCHAR2(10);
2786 BEGIN
2787 
2788     IF p_proration_type_code IS NULL OR
2789         p_proration_type_code = FND_API.G_MISS_CHAR
2790     THEN
2791             RETURN TRUE;
2792     END IF;
2793 
2794     -- JAUTOMO: TO DO: Validation required ?
2795 
2796     --  SELECT  'VALID'
2797     --  INTO     l_dummy
2798     --  FROM     DB_TABLE
2799     --  WHERE    DB_COLUMN = p_proration_type_code;
2800 
2801 
2802     RETURN TRUE;
2803 
2804 EXCEPTION
2805 
2806     WHEN NO_DATA_FOUND THEN
2807 
2808 
2809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2810         THEN
2811 
2812 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'proration_type_code');
2813 
2814             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2815             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2816 				OE_Order_Util.Get_Attribute_Name('proration_type_code'));
2817             OE_MSG_PUB.Add;
2818 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2819 
2820         END IF;
2821 
2822 
2823         RETURN FALSE;
2824 
2825     WHEN OTHERS THEN
2826 
2827         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2828         THEN
2829             OE_MSG_PUB.Add_Exc_Msg
2830             (   G_PKG_NAME
2831             ,   'proration_type_code'
2832             );
2833         END IF;
2834 
2835         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2836 
2837 END proration_type_code;
2838 
2839 FUNCTION Updated_Flag(p_Updated_Flag IN VARCHAR2)
2840 RETURN BOOLEAN
2841 IS
2842 l_dummy                       VARCHAR2(10);
2843 BEGIN
2844 
2845 
2846     IF p_Updated_Flag IS NULL OR
2847         p_Updated_Flag = FND_API.G_MISS_CHAR
2848     THEN
2849 
2850         RETURN TRUE;
2851     END IF;
2852 
2853     IF p_updated_flag NOT IN ('Y','N') THEN
2854 		RAISE NO_DATA_FOUND;
2855     END IF;
2856 
2857     --  SELECT  'VALID'
2858     --  INTO     l_dummy
2859     --  FROM     DB_TABLE
2860     --  WHERE    DB_COLUMN = p_price_adjustment_id;
2861 
2862 
2863     RETURN TRUE;
2864 
2865 EXCEPTION
2866 
2867     WHEN NO_DATA_FOUND THEN
2868 
2869         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2870         THEN
2871 
2872 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UPDATED_FLAG');
2873 
2874             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2875             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2876 				OE_Order_Util.Get_Attribute_Name('Updated_Flag'));
2877             OE_MSG_PUB.Add;
2878 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2879 
2880         END IF;
2881 
2882 
2883         RETURN FALSE;
2884 
2885     WHEN OTHERS THEN
2886 
2887         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2888         THEN
2889             OE_MSG_PUB.Add_Exc_Msg
2890             (   G_PKG_NAME
2891             ,   'Updated_Flag'
2892             );
2893         END IF;
2894 
2895 
2896         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2897 
2898 END Updated_Flag;
2899 
2900 
2901 FUNCTION Update_Allowed(p_Update_Allowed IN VARCHAR2)
2902 RETURN BOOLEAN
2903 IS
2904 l_dummy                       VARCHAR2(10);
2905 BEGIN
2906 
2907 
2908     IF p_Update_Allowed IS NULL OR
2909         p_Update_Allowed = FND_API.G_MISS_CHAR
2910     THEN
2911 
2912         RETURN TRUE;
2913     END IF;
2914 
2915     --  SELECT  'VALID'
2916     --  INTO     l_dummy
2917     --  FROM     DB_TABLE
2918     --  WHERE    DB_COLUMN = p_price_adjustment_id;
2919 
2920 
2921     RETURN TRUE;
2922 
2923 EXCEPTION
2924 
2925     WHEN NO_DATA_FOUND THEN
2926 
2927         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2928         THEN
2929 
2930 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UPDATE_ALLOWED');
2931 
2932             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2933             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2934 				OE_Order_Util.Get_Attribute_Name('Update_Allowed'));
2935             OE_MSG_PUB.Add;
2936 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2937 
2938         END IF;
2939 
2940 
2941         RETURN FALSE;
2942 
2943     WHEN OTHERS THEN
2944 
2945         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2946         THEN
2947             OE_MSG_PUB.Add_Exc_Msg
2948             (   G_PKG_NAME
2949             ,   'Update_Allowed'
2950             );
2951         END IF;
2952 
2953 
2954         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2955 
2956 END Update_Allowed;
2957 
2958 
2959 FUNCTION Created_By ( p_created_by IN NUMBER )
2960 RETURN BOOLEAN
2961 IS
2962 l_dummy                       VARCHAR2(10);
2963 BEGIN
2964 
2965 
2966     IF p_created_by IS NULL OR
2967         p_created_by = FND_API.G_MISS_NUM
2968     THEN
2969 
2970         RETURN TRUE;
2971     END IF;
2972 
2973     --  SELECT  'VALID'
2974     --  INTO     l_dummy
2975     --  FROM     DB_TABLE
2976     --  WHERE    DB_COLUMN = p_created_by;
2977 
2978 
2979     RETURN TRUE;
2980 
2981 EXCEPTION
2982 
2983     WHEN NO_DATA_FOUND THEN
2984 
2985         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2986         THEN
2987 
2988 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATED_BY');
2989 
2990             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2991             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2992 				OE_Order_Util.Get_Attribute_Name('created_by'));
2993             OE_MSG_PUB.Add;
2994 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2995 
2996         END IF;
2997 
2998 
2999         RETURN FALSE;
3000 
3001     WHEN OTHERS THEN
3002 
3003         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3004         THEN
3005             OE_MSG_PUB.Add_Exc_Msg
3006             (   G_PKG_NAME
3007             ,   'Created_By'
3008             );
3009         END IF;
3010 
3011 
3012         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3013 
3014 END Created_By;
3015 
3016 FUNCTION Creation_Date ( p_creation_date IN DATE )
3017 RETURN BOOLEAN
3018 IS
3019 l_dummy                       VARCHAR2(10);
3020 BEGIN
3021 
3022 
3023     IF p_creation_date IS NULL OR
3024         p_creation_date = FND_API.G_MISS_DATE
3025     THEN
3026 
3027         RETURN TRUE;
3028     END IF;
3029 
3030     --  SELECT  'VALID'
3031     --  INTO     l_dummy
3032     --  FROM     DB_TABLE
3033     --  WHERE    DB_COLUMN = p_creation_date;
3034 
3035 
3036     RETURN TRUE;
3037 
3038 EXCEPTION
3039 
3040     WHEN NO_DATA_FOUND THEN
3041 
3042         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3043         THEN
3044 
3045 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATION_DATE');
3046 
3047             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3048             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3049 				OE_Order_Util.Get_Attribute_Name('creation_date'));
3050             OE_MSG_PUB.Add;
3051 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3052 
3053         END IF;
3054 
3055 
3056         RETURN FALSE;
3057 
3058     WHEN OTHERS THEN
3059 
3060         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3061         THEN
3062             OE_MSG_PUB.Add_Exc_Msg
3063             (   G_PKG_NAME
3064             ,   'Creation_Date'
3065             );
3066         END IF;
3067 
3068 
3069         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3070 
3071 END Creation_Date;
3072 
3073 --
3074 
3075 FUNCTION Override_Flag ( p_override_flag IN VARCHAR2 )
3076 RETURN BOOLEAN
3077 IS
3078 l_dummy                       VARCHAR2(10);
3079 BEGIN
3080 
3081 
3082     IF p_override_flag IS NULL OR
3083         p_override_flag = FND_API.G_MISS_CHAR
3084     THEN
3085 
3086         RETURN TRUE;
3087     END IF;
3088 
3089     --  SELECT  'VALID'
3090     --  INTO     l_dummy
3091     --  FROM     DB_TABLE
3092     --  WHERE    DB_COLUMN = p_request_date;
3093 
3094 
3095     RETURN TRUE;
3096 
3097 EXCEPTION
3098 
3099     WHEN NO_DATA_FOUND THEN
3100 
3101         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3102         THEN
3103 
3104 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVERRIDE_FLAG');
3105 
3106             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3107             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3108 				OE_Order_Util.Get_Attribute_Name('override_flag'));
3109             OE_MSG_PUB.Add;
3110 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3111 
3112         END IF;
3113 
3114 
3115         RETURN FALSE;
3116 
3117     WHEN OTHERS THEN
3118 
3119         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3120         THEN
3121             OE_MSG_PUB.Add_Exc_Msg
3122             (   G_PKG_NAME
3123             ,   'override_flag'
3124             );
3125         END IF;
3126 
3127 
3128         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3129 
3130 END Override_Flag;
3131 
3132 --
3133 FUNCTION Request_Date ( p_request_date IN DATE )
3134 RETURN BOOLEAN
3135 IS
3136 l_dummy                       VARCHAR2(10);
3137 BEGIN
3138 
3139 
3140     IF p_request_date IS NULL OR
3141         p_request_date = FND_API.G_MISS_DATE
3142     THEN
3143 
3144         RETURN TRUE;
3145     END IF;
3146 
3147     --  SELECT  'VALID'
3148     --  INTO     l_dummy
3149     --  FROM     DB_TABLE
3150     --  WHERE    DB_COLUMN = p_request_date;
3151 
3152 
3153     RETURN TRUE;
3154 
3155 EXCEPTION
3156 
3157     WHEN NO_DATA_FOUND THEN
3158 
3159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3160         THEN
3161 
3162 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_DATE');
3163 
3164             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3165             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3166 				OE_Order_Util.Get_Attribute_Name('request_date'));
3167             OE_MSG_PUB.Add;
3168 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3169 
3170         END IF;
3171 
3172 
3173         RETURN FALSE;
3174 
3175     WHEN OTHERS THEN
3176 
3177         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3178         THEN
3179             OE_MSG_PUB.Add_Exc_Msg
3180             (   G_PKG_NAME
3181             ,   'Request_Date'
3182             );
3183         END IF;
3184 
3185 
3186         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3187 
3188 END Request_Date;
3189 
3190 FUNCTION Price_Adj_Desc_Flex (p_context IN VARCHAR2,
3191 			   p_attribute1 IN VARCHAR2,
3192                            p_attribute2 IN VARCHAR2,
3193                            p_attribute3 IN VARCHAR2,
3194                            p_attribute4 IN VARCHAR2,
3195                            p_attribute5 IN VARCHAR2,
3196                            p_attribute6 IN VARCHAR2,
3197                            p_attribute7 IN VARCHAR2,
3198                            p_attribute8 IN VARCHAR2,
3199                            p_attribute9 IN VARCHAR2,
3200                            p_attribute10 IN VARCHAR2,
3201                            p_attribute11 IN VARCHAR2,
3202                            p_attribute12 IN VARCHAR2,
3203                            p_attribute13 IN VARCHAR2,
3204                            p_attribute14 IN VARCHAR2,
3205                            p_attribute15 IN VARCHAR2)
3206 
3207 RETURN BOOLEAN
3208 IS
3209 l_column_value VARCHAR2(240) := null;
3210 BEGIN
3211 
3212 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
3213 
3214 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
3215                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
3216 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
3217                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
3218                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
3219                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
3220                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
3221                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
3222                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
3223                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
3224                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
3225                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
3226                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
3227                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
3228                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
3229                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
3230 
3231 
3232 		     RETURN TRUE;
3233 
3234                 ELSE
3235 
3236 
3237 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
3238 
3239 		     l_column_value := null;
3240 
3241 	          ELSE
3242 
3243 		     l_column_value := p_attribute1;
3244 
3245                   END IF;
3246 
3247                   FND_FLEX_DESCVAL.Set_Column_Value
3248                   (   column_name   => 'ATTRIBUTE1'
3249                    ,  column_value  => l_column_value);
3250 
3251 
3252 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
3253 
3254 		     l_column_value := null;
3255 
3256 	          ELSE
3257 
3258 		     l_column_value := p_attribute2;
3259 
3260                   END IF;
3261                   FND_FLEX_DESCVAL.Set_Column_Value
3262                   (   column_name   => 'ATTRIBUTE2'
3263                    ,  column_value  =>  l_column_value);
3264 
3265 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
3266 
3267 		     l_column_value := null;
3268 
3269 	          ELSE
3270 
3271 		     l_column_value := p_attribute3;
3272 
3273                   END IF;
3274                   FND_FLEX_DESCVAL.Set_Column_Value
3275                   (   column_name   => 'ATTRIBUTE3'
3276                    ,  column_value  =>  l_column_value);
3277 
3278 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
3279 
3280 		     l_column_value := null;
3281 
3282 	          ELSE
3283 
3284 		     l_column_value := p_attribute4;
3285 
3286                   END IF;
3287                   FND_FLEX_DESCVAL.Set_Column_Value
3288                   (   column_name   => 'ATTRIBUTE4'
3289                    ,  column_value  =>  l_column_value);
3290 
3291 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
3292 
3293 		     l_column_value := null;
3294 
3295 	          ELSE
3296 
3297 		     l_column_value := p_attribute5;
3298 
3299                   END IF;
3300                   FND_FLEX_DESCVAL.Set_Column_Value
3301                   (   column_name   => 'ATTRIBUTE5'
3302                    ,  column_value  =>  l_column_value);
3303 
3304 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
3305 
3306 		     l_column_value := null;
3307 
3308 	          ELSE
3309 
3310 		     l_column_value := p_attribute6;
3311 
3312                   END IF;
3313                   FND_FLEX_DESCVAL.Set_Column_Value
3314                   (   column_name   => 'ATTRIBUTE6'
3315                    ,  column_value  =>  l_column_value);
3316 
3317 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
3318 
3319 		     l_column_value := null;
3320 
3321 	          ELSE
3322 
3323 		     l_column_value := p_attribute7;
3324 
3325                   END IF;
3326                   FND_FLEX_DESCVAL.Set_Column_Value
3327                   (   column_name   => 'ATTRIBUTE7'
3328                    ,  column_value  =>  l_column_value);
3329 
3330 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
3331 
3332 		     l_column_value := null;
3333 
3334 	          ELSE
3335 
3336 		     l_column_value := p_attribute8;
3337 
3338                   END IF;
3339                   FND_FLEX_DESCVAL.Set_Column_Value
3340                   (   column_name   => 'ATTRIBUTE8'
3341                    ,  column_value  =>  l_column_value);
3342 
3343 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
3344 
3345 		     l_column_value := null;
3346 
3347 	          ELSE
3348 
3349 		     l_column_value := p_attribute9;
3350 
3351                   END IF;
3352                   FND_FLEX_DESCVAL.Set_Column_Value
3353                   (   column_name   => 'ATTRIBUTE9'
3354                    ,  column_value  =>  l_column_value);
3355 
3356 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
3357 
3358 		     l_column_value := null;
3359 
3360 	          ELSE
3361 
3362 		     l_column_value := p_attribute10;
3363 
3364                   END IF;
3365                   FND_FLEX_DESCVAL.Set_Column_Value
3366                   (   column_name   => 'ATTRIBUTE10'
3367                    ,  column_value  =>  l_column_value);
3368 
3369 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
3370 
3371 		     l_column_value := null;
3372 
3373 	          ELSE
3374 
3375 		     l_column_value := p_attribute11;
3376 
3377                   END IF;
3378                   FND_FLEX_DESCVAL.Set_Column_Value
3379                   (   column_name   => 'ATTRIBUTE11'
3380                    ,  column_value  =>  l_column_value);
3381 
3382 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
3383 
3384 		     l_column_value := null;
3385 
3386 	          ELSE
3387 
3388 		     l_column_value := p_attribute12;
3389 
3390                   END IF;
3391                   FND_FLEX_DESCVAL.Set_Column_Value
3392                   (   column_name   => 'ATTRIBUTE12'
3393                    ,  column_value  =>  l_column_value);
3394 
3395 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
3396 
3397 		     l_column_value := null;
3398 
3399 	          ELSE
3400 
3401 		     l_column_value := p_attribute13;
3402 
3403                   END IF;
3404                   FND_FLEX_DESCVAL.Set_Column_Value
3405                   (   column_name   => 'ATTRIBUTE13'
3406                    ,  column_value  =>  l_column_value);
3407 
3408 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
3409 
3410 		     l_column_value := null;
3411 
3412 	          ELSE
3413 
3414 		     l_column_value := p_attribute14;
3415 
3416                   END IF;
3417                   FND_FLEX_DESCVAL.Set_Column_Value
3418                   (   column_name   => 'ATTRIBUTE14'
3419                    ,  column_value  =>  l_column_value);
3420 
3421 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
3422 
3423 		     l_column_value := null;
3424 
3425 	          ELSE
3426 
3427 		     l_column_value := p_attribute15;
3428 
3429                   END IF;
3430                   FND_FLEX_DESCVAL.Set_Column_Value
3431                   (   column_name   => 'ATTRIBUTE15'
3432                    ,  column_value  =>  l_column_value);
3433 
3434 		  IF p_context = FND_API.G_MISS_CHAR THEN
3435 
3436 		     l_column_value := null;
3437 
3438 	          ELSE
3439 
3440 		     l_column_value := p_context;
3441 
3442                   END IF;
3443 		  FND_FLEX_DESCVAL.Set_Context_Value
3444 		   ( context_value   => l_column_value);
3445 
3446                    IF NOT Desc_Flex('ONT','OE_PRICE_ADJUSTMENTS') THEN
3447 			RETURN FALSE;
3448                    END IF;
3449 
3450 
3451                 END IF;
3452 
3453     RETURN TRUE;
3454 
3455 EXCEPTION
3456 
3457    WHEN OTHERS THEN
3458 
3459 
3460      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3461      THEN
3462 
3463         OE_MSG_PUB.Add_Exc_Msg
3464 	( G_PKG_NAME
3465           , 'Price_Adj_Desc_Flex');
3466      END IF;
3467 
3468 
3469      RETURN FALSE;
3470 
3471 
3472 END Price_Adj_Desc_Flex;
3473 
3474 
3475 
3476 FUNCTION Flex_Title ( p_flex_title IN VARCHAR2 )
3477 RETURN BOOLEAN
3478 IS
3479 l_dummy                       VARCHAR2(10);
3480 BEGIN
3481 
3482     IF p_flex_title IS NULL OR
3483         p_flex_title = FND_API.G_MISS_CHAR
3484     THEN
3485         RETURN TRUE;
3486     END IF;
3487 
3488     --  SELECT  'VALID'
3489     --  INTO     l_dummy
3490     --  FROM     DB_TABLE
3491     --  WHERE    DB_COLUMN = p_flex_title;
3492 
3493     RETURN TRUE;
3494 
3495 EXCEPTION
3496 
3497     WHEN NO_DATA_FOUND THEN
3498 
3499         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3500         THEN
3501 
3502             FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
3503             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','flex_title');
3504             FND_MSG_PUB.Add;
3505 
3506         END IF;
3507 
3508         RETURN FALSE;
3509 
3510     WHEN OTHERS THEN
3511 
3512         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3513         THEN
3514             FND_MSG_PUB.Add_Exc_Msg
3515             (   G_PKG_NAME
3516             ,   'Flex_Title'
3517             );
3518         END IF;
3519 
3520         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3521 
3522 END Flex_Title;
3523 
3524 FUNCTION Order_Price_Attrib ( p_order_price_attrib_id IN NUMBER )
3525 RETURN BOOLEAN
3526 IS
3527 l_dummy                       VARCHAR2(10);
3528 BEGIN
3529 
3530     IF p_order_price_attrib_id IS NULL OR
3531         p_order_price_attrib_id = FND_API.G_MISS_NUM
3532     THEN
3533         RETURN TRUE;
3534     END IF;
3535 
3536     --  SELECT  'VALID'
3537     --  INTO     l_dummy
3538     --  FROM     DB_TABLE
3539     --  WHERE    DB_COLUMN = p_order_price_attrib_id;
3540 
3541     RETURN TRUE;
3542 
3543 EXCEPTION
3544 
3545     WHEN NO_DATA_FOUND THEN
3546 
3547         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3548         THEN
3549 
3550             FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
3551             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','order_price_attrib');
3552             FND_MSG_PUB.Add;
3553 
3554         END IF;
3555 
3556         RETURN FALSE;
3557 
3558     WHEN OTHERS THEN
3559 
3560         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3561         THEN
3562             FND_MSG_PUB.Add_Exc_Msg
3563             (   G_PKG_NAME
3564             ,   'Order_Price_Attrib'
3565             );
3566         END IF;
3567 
3568         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3569 
3570 END Order_Price_Attrib;
3571 
3572 --  END GEN validate
3573 
3574 END OE_CNCL_Validate_Adj;