DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CNCL_VALIDATE

Source


1 PACKAGE BODY OE_CNCL_Validate AS
2 /* $Header: OEXVCATB.pls 120.2 2006/02/20 22:09:20 mbhoumik ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_CNCL_Validate';
7 
8 
9 
10 FUNCTION Desc_Flex ( p_flex_name IN VARCHAR2 )
11 RETURN BOOLEAN
12 IS
13 BEGIN
14 
15     --  Call FND validate API.
16 
17 
18     --  This call is temporarily commented out
19 
20 
21     IF	FND_FLEX_DESCVAL.Validate_Desccols
22         (   appl_short_name               => 'ONT'
23         ,   desc_flex_name                => p_flex_name
24         )
25     THEN
26         RETURN TRUE;
27     ELSE
28 
29         --  Prepare the encoded message by setting it on the message
30         --  dictionary stack. Then, add it to the API message list.
31 
32         FND_MESSAGE.Set_Encoded(FND_FLEX_DESCVAL.Encoded_Error_Message);
33 
34         OE_MSG_PUB.Add;
35 
36         --  Derive return status.
37 
38         IF FND_FLEX_DESCVAL.value_error OR
39             FND_FLEX_DESCVAL.unsupported_error
40         THEN
41 
42             --  In case of an expected error return FALSE
43 
44             RETURN FALSE;
45 
46         ELSE
47 
48             --  In case of an unexpected error raise an exception.
49 
50             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
51 
52         END IF;
53 
54     END IF;
55 
56 
57     RETURN TRUE;
58 
59 END Desc_Flex;
60 
61 FUNCTION Header ( p_header_id IN NUMBER )
62 RETURN BOOLEAN
63 IS
64 l_dummy                       VARCHAR2(10);
65 BEGIN
66 
67 
68     IF p_header_id IS NULL OR
69         p_header_id = FND_API.G_MISS_NUM
70     THEN
71             RETURN TRUE;
72     END IF;
73 
74     --  SELECT  'VALID'
75     --  INTO     l_dummy
76     --  FROM     DB_TABLE
77     --  WHERE    DB_COLUMN = p_header_id;
78 
79 
80     RETURN TRUE;
81 
82 EXCEPTION
83 
84     WHEN NO_DATA_FOUND THEN
85 
86 
87         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
88         THEN
89 
90 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'HEADER_ID');
91 
92             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
93             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
94 				OE_Order_Util.Get_Attribute_Name('HEADER_ID'));
95             OE_MSG_PUB.Add;
96 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
97 
98         END IF;
99 
100 
101         RETURN FALSE;
102 
103     WHEN OTHERS THEN
104 
105         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
106         THEN
107             OE_MSG_PUB.Add_Exc_Msg
108             (   G_PKG_NAME
109             ,   'Header'
110             );
111         END IF;
112 
113         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114 
115 END Header;
116 
117 FUNCTION Org ( p_org_id IN NUMBER )
118 RETURN BOOLEAN
119 IS
120 l_dummy                       VARCHAR2(10);
121 BEGIN
122 
123 
124     IF p_org_id IS NULL OR
125         p_org_id = FND_API.G_MISS_NUM
126     THEN
127         RETURN TRUE;
128     END IF;
129 
130     --  SELECT  'VALID'
131     --  INTO     l_dummy
132     --  FROM     DB_TABLE
133     --  WHERE    DB_COLUMN = p_org_id;
134 
135     RETURN TRUE;
136 
137 EXCEPTION
138 
139     WHEN NO_DATA_FOUND THEN
140 
141         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
142         THEN
143 
144             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORG_ID');
145 
146             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
147             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
148 				OE_Order_Util.Get_Attribute_Name('ORG_ID'));
149             OE_MSG_PUB.Add;
150 
151 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
152 
153         END IF;
154 
155         RETURN FALSE;
156 
157     WHEN OTHERS THEN
158 
159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
160         THEN
161             OE_MSG_PUB.Add_Exc_Msg
162             (   G_PKG_NAME
163             ,   'Org'
164             );
165         END IF;
166 
167         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
168 
169 END Org;
170 
171 FUNCTION Order_Type ( p_order_type_id IN NUMBER )
172 RETURN BOOLEAN
173 IS
174 x_doc_sequence_value     NUMBER;
175 x_doc_category_code      VARCHAR(30);
176 X_doc_sequence_id       NUMBER;
177 X_db_sequence_name      VARCHAR2(50);
178 X_set_Of_Books_id       NUMBER;
179 seqassid                integer;
180 x_Trx_Date		DATE;
181 l_order_type_rec    OE_Order_Cache.Order_Type_Rec_Type;
182 l_set_of_books_rec    OE_Order_Cache.Set_Of_Books_Rec_Type;
183 
184 l_dummy                       VARCHAR2(80);
185 BEGIN
186 
187     IF p_order_type_id IS NULL OR
188         p_order_type_id = FND_API.G_MISS_NUM
189     THEN
190         RETURN TRUE;
191     END IF;
192 
193     SELECT  'VALID'
194     INTO    l_dummy
195     FROM    OE_ORDER_TYPES_V
196     WHERE   ORDER_TYPE_ID = p_order_type_id
197     AND     ROWNUM = 1;
198     --
199     -- Commented out when importing CLOSED orders
200     --
201     --AND     SYSDATE BETWEEN NVL( START_DATE_ACTIVE, SYSDATE  )
202     --                AND     NVL( END_DATE_ACTIVE, SYSDATE );
203 
204     RETURN TRUE;
205 
206 
207 
208 EXCEPTION
209 
210     WHEN NO_DATA_FOUND THEN
211 
212         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
213         THEN
214 
215             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_TYPE_ID');
216 
217             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
218             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
219 				OE_Order_Util.Get_Attribute_Name('ORDER_TYPE_ID'));
220             OE_MSG_PUB.Add;
221 
222             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
223 
224 
225         END IF;
226 
227         RETURN FALSE;
228 
229     WHEN OTHERS THEN
230 
231         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
232         THEN
233             OE_MSG_PUB.Add_Exc_Msg
234             (   G_PKG_NAME
235             ,   'Order_Type'
236             );
237         END IF;
238 
239         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
240 
241 END Order_Type;
242 
243 FUNCTION IB_OWNER ( p_ib_owner IN VARCHAR2 )
244 RETURN BOOLEAN
245 IS
246 l_dummy                       VARCHAR2(10);
247 l_lookup_type1      	      VARCHAR2(80) :='ITEM_OWNER';
248 --l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
249 BEGIN
250 
251 
252     IF p_ib_owner IS NULL OR
253         p_ib_owner = FND_API.G_MISS_CHAR
254     THEN
255 
256         RETURN TRUE;
257     END IF;
258 
259       SELECT  'VALID'
260       INTO     l_dummy
261       FROM     OE_LOOKUPS
262       WHERE    lookup_code = p_ib_owner AND
263                lookup_type = l_lookup_type1;
264 
265 
266     RETURN TRUE;
267 
268 EXCEPTION
269 
270     WHEN NO_DATA_FOUND THEN
271 
272         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
273         THEN
274 
275            OE_DEBUG_PUB.ADD('Validation failed for IB_OWNER in OEXSVATB.pls');
276 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_OWNER');
277 
278             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
279             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
280 				OE_Order_Util.Get_Attribute_Name('ib_owner'));
281             OE_MSG_PUB.Add;
282 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
283 
284         END IF;
285 
286 
287         RETURN FALSE;
288 
289     WHEN OTHERS THEN
290 
291         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
292         THEN
293             OE_MSG_PUB.Add_Exc_Msg
294             (   G_PKG_NAME
295             ,   'IB_OWNER'
296             );
297         END IF;
298 
299 
300         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
301 
302 END IB_OWNER;
303 
304 FUNCTION IB_INSTALLED_AT_LOCATION ( p_ib_installed_at_location IN VARCHAR2 )
305 RETURN BOOLEAN
306 IS
307 l_dummy                       VARCHAR2(10);
308 l_lookup_type1      	      VARCHAR2(80) :='ITEM_INSTALL_LOCATION';
309 --l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
310 BEGIN
311 
312 
313     IF p_ib_installed_at_location IS NULL OR
314         p_ib_installed_at_location = FND_API.G_MISS_CHAR
315     THEN
316 
317         RETURN TRUE;
318     END IF;
319 
320       SELECT  'VALID'
321       INTO     l_dummy
322       FROM     OE_LOOKUPS
323       WHERE    lookup_code = p_ib_installed_at_location AND
324                lookup_type = l_lookup_type1;
325 
326 
327     RETURN TRUE;
328 
329 EXCEPTION
330 
331     WHEN NO_DATA_FOUND THEN
332 
333         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
334         THEN
335 
336            OE_DEBUG_PUB.ADD('Validation failed for IB_INSTALLED_AT_LOCATION in OEXSVATB.pls');
337 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_INSTALLED_AT_LOCATION');
338 
339             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
340             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
341 				OE_Order_Util.Get_Attribute_Name('ib_installed_at_location'));
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             ,   'IB_INSTALLED_AT_LOCATION'
357             );
358         END IF;
359 
360 
361         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
362 
363 END IB_INSTALLED_AT_LOCATION;
364 
365 FUNCTION IB_CURRENT_LOCATION ( p_ib_current_location IN VARCHAR2 )
366 RETURN BOOLEAN
367 IS
368 l_dummy                       VARCHAR2(10);
369 l_lookup_type1      	      VARCHAR2(80) :='ITEM_CURRENT_LOCATION';
370 --l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
371 BEGIN
372 
373 
374     IF p_ib_current_location IS NULL OR
375         p_ib_current_location = FND_API.G_MISS_CHAR
376     THEN
377 
378         RETURN TRUE;
379     END IF;
380 
381       SELECT  'VALID'
382       INTO     l_dummy
383       FROM     OE_LOOKUPS
384       WHERE    lookup_code = p_ib_current_location AND
385                lookup_type = l_lookup_type1;
386 
387 
388     RETURN TRUE;
389 
390 EXCEPTION
391 
392     WHEN NO_DATA_FOUND THEN
393 
394         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
395         THEN
396 
397            OE_DEBUG_PUB.ADD('Validation failed for IB_CURRENT_LOCATION in OEXSVATB.pls');
398 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_CURRENT_LOCATION');
399 
400             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
401             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
402 				OE_Order_Util.Get_Attribute_Name('ib_current_location'));
403             OE_MSG_PUB.Add;
404 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
405 
406         END IF;
407 
408 
409         RETURN FALSE;
410 
411     WHEN OTHERS THEN
412 
413         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
414         THEN
415             OE_MSG_PUB.Add_Exc_Msg
416             (   G_PKG_NAME
417             ,   'IB_CURRENT_LOCATION'
418             );
419         END IF;
420 
421 
422         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
423 
424 END IB_CURRENT_LOCATION;
425 
426 -- distributed orders
427 FUNCTION end_customer(p_end_customer_id IN NUMBER) RETURN BOOLEAN
428 IS
429    l_dummy                       VARCHAR2(10);
430 BEGIN
431 
432    IF p_end_customer_id IS NULL OR
433         p_end_customer_id = FND_API.G_MISS_NUM
434     THEN
435         RETURN TRUE;
436     END IF;
437 
438     SELECT  'VALID'
439     INTO    l_dummy
440     FROM    OE_SOLD_TO_ORGS_V
441     WHERE   ORGANIZATION_ID =p_end_customer_id
442     AND     STATUS = 'A'
443     AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
444                     AND     NVL(END_DATE_ACTIVE, SYSDATE);
445 
446 
447 
448     RETURN TRUE;
449 
450 EXCEPTION
451 
452     WHEN NO_DATA_FOUND THEN
453 
454         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
455         THEN
456 
457 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_ID');
458 
459             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
460             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
461 				OE_Order_Util.Get_Attribute_Name('END_CUSTOMER_ID')||':validation:'||to_char(p_end_customer_id));
462             OE_MSG_PUB.Add;
463 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
464 
465         END IF;
466 
467 
468         RETURN FALSE;
469 
470     WHEN OTHERS THEN
471 
472         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
473         THEN
474             OE_MSG_PUB.Add_Exc_Msg
475             (   G_PKG_NAME
476             ,   'END_CUSOTMER'
477             );
478         END IF;
479 
480 
481         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
482    null;
483 END end_customer;
484 
485 
486 FUNCTION end_customer_contact(p_end_customer_contact_id IN NUMBER) RETURN BOOLEAN
487 IS
488    l_dummy                       VARCHAR2(10);
489 BEGIN
490 
491    IF p_end_customer_contact_id IS NULL OR
492         p_end_customer_contact_id = FND_API.G_MISS_NUM
493     THEN
494 
495         RETURN TRUE;
496     END IF;
497 
498 
499     SELECT  'VALID'
500     INTO    l_dummy
501     FROM    OE_RA_CONTACTS_V                CON
502     WHERE   CON.CONTACT_ID = p_end_customer_contact_id
503     AND     CON.STATUS = 'A';
504 
505     RETURN TRUE;
506 
507 EXCEPTION
508 
509     WHEN NO_DATA_FOUND THEN
510 
511         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
512         THEN
513 
514 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_CONTACT_ID');
515 
516             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
517             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
518 				OE_Order_Util.Get_Attribute_Name('end_customer_contact_id'));
519             OE_MSG_PUB.Add;
520 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
521 
522         END IF;
523 
524 
525         RETURN FALSE;
526 
527     WHEN OTHERS THEN
528 
529         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
530         THEN
531             OE_MSG_PUB.Add_Exc_Msg
532             (   G_PKG_NAME
533             ,   'End_Customer_Contact'
534             );
535         END IF;
536 
537 
538         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
539    null;
540 END end_customer_contact;
541 
542 FUNCTION END_CUSTOMER_SITE_USE ( p_end_customer_site_use_id IN NUMBER )
543 RETURN BOOLEAN
544 IS
545 l_dummy                       VARCHAR2(10);
546 BEGIN
547 
548 
549     IF p_end_customer_site_use_id IS NULL OR
550         p_end_customer_site_use_id = FND_API.G_MISS_NUM
551     THEN
552 
553         RETURN TRUE;
554     END IF;
555 
556     --  SELECT  'VALID'
557     --  INTO     l_dummy
558     --  FROM     DB_TABLE
559     --  WHERE    DB_COLUMN = p_end_customer_site_use_id;
560 
561 
562     RETURN TRUE;
563 
564 EXCEPTION
565 
566     WHEN NO_DATA_FOUND THEN
567 
568         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
569         THEN
570 
571 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_SITE_USE_ID');
572 
573             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
574             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
575 				OE_Order_Util.Get_Attribute_Name('end_customer_site_use_id'));
576             OE_MSG_PUB.Add;
577 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
578 
579         END IF;
580 
581 
582         RETURN FALSE;
583 
584     WHEN OTHERS THEN
585 
586         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
587         THEN
588             OE_MSG_PUB.Add_Exc_Msg
589             (   G_PKG_NAME
590             ,   'END_CUSTOMER_SITE_USE_ID'
591             );
592         END IF;
593 
594 
595         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
596 
597 END END_CUSTOMER_SITE_USE;
598 
599 FUNCTION Order_Number ( p_order_number IN NUMBER)
600 RETURN BOOLEAN
601 IS
602 x_doc_sequence_value     NUMBER;
603 x_doc_category_code      VARCHAR(30);
604 X_doc_sequence_id       NUMBER;
605 X_db_sequence_name      VARCHAR2(50);
606 X_set_Of_Books_id       NUMBER;
607 seqassid                integer;
608 x_Trx_Date		DATE;
609 l_set_of_books_rec    OE_Order_Cache.Set_Of_Books_Rec_Type;
610 l_dummy                       VARCHAR2(10);
611 t				VARCHAR2(1);
612 BEGIN
613 
614     IF p_order_number IS NULL OR
615         p_order_number = FND_API.G_MISS_NUM
616     THEN
617 
618         RETURN TRUE;
619     END IF;
620 
621     --  SELECT  'VALID'
622     --  INTO     l_dummy
623     --  FROM     DB_TABLE
624     --  WHERE    DB_COLUMN = p_order_number;
625 
626     RETURN TRUE;
627 
628 EXCEPTION
629 
630     WHEN NO_DATA_FOUND THEN
631 
632         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
633         THEN
634 
635            OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_NUMBER');
636 
637             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
638             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
639 				OE_Order_Util.Get_Attribute_Name('ORDER_NUMBER'));
640 
641             OE_MSG_PUB.Add;
642 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
643 
644         END IF;
645 
646 
647         RETURN FALSE;
648 
649     WHEN OTHERS THEN
650 
651         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
652         THEN
653             OE_MSG_PUB.Add_Exc_Msg
654             (   G_PKG_NAME
655             ,   'Order_Number'
656             );
657         END IF;
658 
659 
660         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
661 
662 END Order_Number;
663 
664 FUNCTION Version_Number ( p_version_number IN NUMBER )
665 RETURN BOOLEAN
666 IS
667 l_dummy                       VARCHAR2(10);
668 BEGIN
669 
670     IF p_version_number IS NULL OR
671         p_version_number = FND_API.G_MISS_NUM
672     THEN
673 
674         RETURN TRUE;
675     END IF;
676 
677     --  SELECT  'VALID'
678     --  INTO     l_dummy
679     --  FROM     DB_TABLE
680     --  WHERE    DB_COLUMN = p_version_number;
681 
682     RETURN TRUE;
683 
684 EXCEPTION
685 
686     WHEN NO_DATA_FOUND THEN
687 
688         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
689         THEN
690 
691             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VERSION_NUMBER');
692 
693             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
694             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
695 				OE_Order_Util.Get_Attribute_Name('VERSION_NUMBER'));
696             OE_MSG_PUB.Add;
697 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
698 
699         END IF;
700 
701 
702         RETURN FALSE;
703 
704     WHEN OTHERS THEN
705 
706         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
707         THEN
708             OE_MSG_PUB.Add_Exc_Msg
709             (   G_PKG_NAME
710             ,   'Version_Number'
711             );
712         END IF;
713 
714 
715         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
716 
717 END Version_Number;
718 
719 FUNCTION Expiration_Date ( p_expiration_date IN DATE )
720 RETURN BOOLEAN
721 IS
722 l_dummy                       VARCHAR2(10);
723 BEGIN
724     IF p_expiration_date IS NULL OR
725         p_expiration_date = FND_API.G_MISS_DATE
726     THEN
727 
728         RETURN TRUE;
729     END IF;
730 
731     --  SELECT  'VALID'
732     --  INTO     l_dummy
733     --  FROM     DB_TABLE
734     --  WHERE    DB_COLUMN = p_expiration_date;
735 
736 
737     RETURN TRUE;
738 
739 EXCEPTION
740 
741     WHEN NO_DATA_FOUND THEN
742 
743         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
744         THEN
745 
746             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPIRATION_DATE');
747 
748             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
749             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
750 				OE_Order_Util.Get_Attribute_Name('EXPIRATION_DATE'));
751             OE_MSG_PUB.Add;
752 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
753 
754         END IF;
755 
756 
757         RETURN FALSE;
758 
759     WHEN OTHERS THEN
760 
761         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
762         THEN
763             OE_MSG_PUB.Add_Exc_Msg
764             (   G_PKG_NAME
765             ,   'Expiration_Date'
766             );
767         END IF;
768 
769 
770         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
771 
772 END Expiration_Date;
773 
774 FUNCTION Order_Source ( p_order_source_id IN NUMBER )
775 RETURN BOOLEAN
776 IS
777 l_dummy                       VARCHAR2(10);
778 BEGIN
779 
780     IF p_order_source_id IS NULL OR
781         p_order_source_id = FND_API.G_MISS_NUM
782     THEN
783 
784         RETURN TRUE;
785     END IF;
786 
787     SELECT  'VALID'
788     INTO    l_dummy
789     FROM    OE_ORDER_SOURCES
790     WHERE   ORDER_SOURCE_ID = p_order_source_id
791     AND     ROWNUM = 1;
792     --
793     -- Commented out when importing CLOSED orders
794     --
795     -- AND     ENABLED_FLAG = 'Y';
796 
797 
798 
799     RETURN TRUE;
800 
801 EXCEPTION
802 
803     WHEN NO_DATA_FOUND THEN
804 
805         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
806         THEN
807 
808 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_SOURCE_ID');
809 
810             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
811             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
812 				OE_Order_Util.Get_Attribute_Name('order_source'));
813             OE_MSG_PUB.Add;
814 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
815 
816         END IF;
817 
818 
819         RETURN FALSE;
820 
821     WHEN OTHERS THEN
822 
823         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
824         THEN
825             OE_MSG_PUB.Add_Exc_Msg
826             (   G_PKG_NAME
827             ,   'Order_Source'
828             );
829         END IF;
830 
831 
832         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833 
834 END Order_Source;
835 
836 FUNCTION Source_Document_Type ( p_source_document_type_id IN NUMBER )
837 RETURN BOOLEAN
838 IS
839 l_dummy                       VARCHAR2(10);
840 BEGIN
841 
842     IF p_source_document_type_id IS NULL OR
843         p_source_document_type_id = FND_API.G_MISS_NUM
844     THEN
845 
846         RETURN TRUE;
847     END IF;
848 
849     SELECT  'VALID'
850     INTO    l_dummy
851     FROM    OE_ORDER_SOURCES
852     WHERE   ORDER_SOURCE_ID = p_source_document_type_id
853     AND     ROWNUM = 1;
854     --
855     -- Commented out when importing CLOSED orders
856     --
857     -- AND     ENABLED_FLAG = 'Y';
858 
859 
860     RETURN TRUE;
861 
862 EXCEPTION
863 
864     WHEN NO_DATA_FOUND THEN
865 
866         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
867         THEN
868 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_TYPE_ID');
869 
870             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
871             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
872 				OE_Order_Util.Get_Attribute_Name('SOURCE_DOCUMENT_TYPE_ID'));
873             OE_MSG_PUB.Add;
874 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
875 
876         END IF;
877 
878 
879         RETURN FALSE;
880 
881     WHEN OTHERS THEN
882 
883         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
884         THEN
885             OE_MSG_PUB.Add_Exc_Msg
886             (   G_PKG_NAME
887             ,   'Source_Document_Type'
888             );
889         END IF;
890 
891 
892         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
893 
894 END Source_Document_Type;
895 
896 FUNCTION Source_Type ( p_source_type_code IN VARCHAR2 )
897 RETURN BOOLEAN
898 IS
899 l_dummy                       VARCHAR2(10);
900   l_lookup_type      	      VARCHAR2(80) := 'SOURCE_TYPE';
901 BEGIN
902 
903     IF p_source_type_code IS NULL OR
904         p_source_type_code = FND_API.G_MISS_CHAR
905     THEN
906 
907         RETURN TRUE;
908     END IF;
909 
910     SELECT  'VALID'
911     INTO    l_dummy
912     FROM    OE_LOOKUPS
913     WHERE   LOOKUP_CODE = p_source_type_code
914     AND     LOOKUP_TYPE = l_lookup_type
915     AND     ROWNUM = 1;
916     --
917     -- Commented out when importing CLOSED orders
918     --
919     -- AND     ENABLED_FLAG = 'Y'
920     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
921     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
922 
923     RETURN TRUE;
924 
925 EXCEPTION
926 
927     WHEN NO_DATA_FOUND THEN
928 
929         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
930         THEN
931 
932 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_TYPE_CODE');
933 
934             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
935             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
936 				OE_Order_Util.Get_Attribute_Name('SOURCE_TYPE_CODE'));
937             OE_MSG_PUB.Add;
938 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
939 
940         END IF;
941 
942 
943         RETURN FALSE;
944 
945     WHEN OTHERS THEN
946 
947         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
948         THEN
949             OE_MSG_PUB.Add_Exc_Msg
950             (   G_PKG_NAME
951             ,   'Source_Type'
952             );
953         END IF;
954 
955 
956         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
957 
958 END Source_Type;
959 
960 
961 FUNCTION Source_Document ( p_source_document_id IN NUMBER )
962 RETURN BOOLEAN
963 IS
964 l_dummy                       VARCHAR2(10);
965 BEGIN
966     IF p_source_document_id IS NULL OR
967         p_source_document_id = FND_API.G_MISS_NUM
968     THEN
969 
970         RETURN TRUE;
971     END IF;
972 
973     --  SELECT  'VALID'
974     --  INTO     l_dummy
975     --  FROM     DB_TABLE
976     --  WHERE    DB_COLUMN = p_source_document_id;
977 
978 
979     RETURN TRUE;
980 
981 EXCEPTION
982 
983     WHEN NO_DATA_FOUND THEN
984 
985         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
986         THEN
987 
988 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_ID');
989 
990             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
991             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
992 				OE_Order_Util.Get_Attribute_Name('SOURCE_DOCUMENT_ID'));
993             OE_MSG_PUB.Add;
994 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
995 
996         END IF;
997 
998 
999         RETURN FALSE;
1000 
1001     WHEN OTHERS THEN
1002 
1003         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1004         THEN
1005             OE_MSG_PUB.Add_Exc_Msg
1006             (   G_PKG_NAME
1007             ,   'Source_Document'
1008             );
1009         END IF;
1010 
1011 
1012         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1013 
1014 END Source_Document;
1015 
1016 FUNCTION Orig_Sys_Document_Ref ( p_orig_sys_document_ref IN VARCHAR2)
1017 RETURN BOOLEAN
1018 IS
1019 l_dummy                       VARCHAR2(10);
1020 BEGIN
1021 
1022     IF p_orig_sys_document_ref IS NULL OR
1023         p_orig_sys_document_ref = FND_API.G_MISS_CHAR
1024     THEN
1025 
1026         RETURN TRUE;
1027     END IF;
1028 
1029     --  SELECT  'VALID'
1030     --  INTO     l_dummy
1031     --  FROM     DB_TABLE
1032     --  WHERE    DB_COLUMN = p_orig_sys_document_ref;
1033 
1034 
1035     RETURN TRUE;
1036 
1037 EXCEPTION
1038 
1039     WHEN NO_DATA_FOUND THEN
1040 
1041         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1042         THEN
1043 
1044             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORIG_SYS_DOCUMENT_REF');
1045 
1046             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1047             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1048 				OE_Order_Util.Get_Attribute_Name('orig_sys_document_ref'));
1049             OE_MSG_PUB.Add;
1050 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1051 
1052         END IF;
1053 
1054 
1055         RETURN FALSE;
1056 
1057     WHEN OTHERS THEN
1058 
1059         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1060         THEN
1061             OE_MSG_PUB.Add_Exc_Msg
1062             (   G_PKG_NAME
1063             ,   'Orig_Sys_Document_Ref'
1064             );
1065         END IF;
1066 
1067 
1068         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1069 
1070 END Orig_Sys_Document_Ref;
1071 
1072 FUNCTION Date_Ordered ( p_date_ordered IN DATE )
1073 RETURN BOOLEAN
1074 IS
1075 l_dummy                       VARCHAR2(10);
1076 BEGIN
1077     IF p_date_ordered IS NULL OR
1078         p_date_ordered = FND_API.G_MISS_DATE
1079     THEN
1080 
1081 
1082         RETURN TRUE;
1083     END IF;
1084 
1085     --  SELECT  'VALID'
1086     --  INTO     l_dummy
1087     --  FROM     DB_TABLE
1088     --  WHERE    DB_COLUMN = p_date_ordered;
1089 
1090 
1091     RETURN TRUE;
1092 
1093 EXCEPTION
1094 
1095     WHEN NO_DATA_FOUND THEN
1096 
1097         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1098         THEN
1099 
1100 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_ORDERED');
1101 
1102             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1103             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1104 				OE_Order_Util.Get_Attribute_Name('date_ordered'));
1105             OE_MSG_PUB.Add;
1106 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1107 
1108         END IF;
1109 
1110 
1111         RETURN FALSE;
1112 
1113     WHEN OTHERS THEN
1114 
1115         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1116         THEN
1117             OE_MSG_PUB.Add_Exc_Msg
1118             (   G_PKG_NAME
1119             ,   'Date_Ordered'
1120             );
1121         END IF;
1122 
1123 
1124         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1125 
1126 END Date_Ordered;
1127 
1128 FUNCTION Date_Requested ( p_date_requested IN DATE )
1129 RETURN BOOLEAN
1130 IS
1131 l_dummy                       VARCHAR2(10);
1132 BEGIN
1133     IF p_date_requested IS NULL OR
1134         p_date_requested = FND_API.G_MISS_DATE
1135     THEN
1136 
1137         RETURN TRUE;
1138     END IF;
1139 
1140     --  SELECT  'VALID'
1141     --  INTO     l_dummy
1142     --  FROM     DB_TABLE
1143     --  WHERE    DB_COLUMN = p_date_requested;
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 => 'DATE_REQUESTED');
1156 
1157             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1158             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1159 				OE_Order_Util.Get_Attribute_Name('date_requested'));
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             ,   'Date_Requested'
1175             );
1176         END IF;
1177 
1178 
1179         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1180 
1181 END Date_Requested;
1182 
1183 FUNCTION Shipment_Priority ( p_shipment_priority_code IN VARCHAR2 )
1184 RETURN BOOLEAN
1185 IS
1186 l_dummy                       VARCHAR2(10);
1187   l_lookup_type      	      VARCHAR2(80) :=  'SHIPMENT_PRIORITY';
1188 BEGIN
1189 
1190     IF p_shipment_priority_code IS NULL OR
1191         p_shipment_priority_code = FND_API.G_MISS_CHAR
1192     THEN
1193 
1194         RETURN TRUE;
1195     END IF;
1196 
1197     SELECT  'VALID'
1198     INTO    l_dummy
1199     FROM    OE_LOOKUPS
1200     WHERE   LOOKUP_CODE = p_shipment_priority_code
1201     AND     LOOKUP_TYPE = l_lookup_type
1202     AND     ROWNUM = 1;
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 => 'SHIPMENT_PRIORITY_CODE');
1214 
1215             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1216             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1217 				OE_Order_Util.Get_Attribute_Name('shipment_priority_code'));
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             ,   'Shipment_Priority'
1233             );
1234         END IF;
1235 
1236 
1237         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1238 
1239 END Shipment_Priority;
1240 
1241 FUNCTION Demand_Class ( p_demand_class_code IN VARCHAR2 )
1242 RETURN BOOLEAN
1243 IS
1244 l_dummy                       VARCHAR2(10);
1245   l_lookup_type      	      VARCHAR2(80) :='DEMAND_CLASS';
1246 BEGIN
1247     IF p_demand_class_code IS NULL OR
1248         p_demand_class_code = FND_API.G_MISS_CHAR
1249     THEN
1250 
1251         RETURN TRUE;
1252     END IF;
1253 
1254     SELECT  'VALID'
1255     INTO    l_dummy
1256     FROM    OE_FND_COMMON_LOOKUPS_V
1257     WHERE   LOOKUP_CODE = p_demand_class_code
1258     AND     LOOKUP_TYPE = l_lookup_type
1259     AND     APPLICATION_ID = 700
1260     AND     ROWNUM = 1;
1261 
1262     --
1263     -- Commented out when importing CLOSED orders
1264     --
1265     -- AND     ENABLED_FLAG = 'Y'
1266     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1267     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
1268 
1269     RETURN TRUE;
1270 
1271 EXCEPTION
1272 
1273     WHEN NO_DATA_FOUND THEN
1274 
1275         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1276         THEN
1277 
1278 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_CLASS_CODE');
1279 
1280             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1281             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1282 				OE_Order_Util.Get_Attribute_Name('demand_class_code'));
1283             OE_MSG_PUB.Add;
1284 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1285 
1286         END IF;
1287 
1288 
1289         RETURN FALSE;
1290 
1291     WHEN OTHERS THEN
1292 
1293         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1294         THEN
1295             OE_MSG_PUB.Add_Exc_Msg
1296             (   G_PKG_NAME
1297             ,   'Demand_Class'
1298             );
1299         END IF;
1300 
1301 
1302         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1303 
1304 END Demand_Class;
1305 
1306 FUNCTION Price_List ( p_price_list_id IN NUMBER )
1307 RETURN BOOLEAN
1308 IS
1309 l_dummy                       VARCHAR2(10);
1310 BEGIN
1311     IF p_price_list_id IS NULL OR
1312         p_price_list_id = FND_API.G_MISS_NUM
1313     THEN
1314 
1315         RETURN TRUE;
1316     END IF;
1317 
1318    SELECT  'VALID'
1319     INTO    l_dummy
1320     FROM    qp_list_headers_vl
1321     WHERE   list_header_id = p_price_list_id
1322     AND     list_type_code in ('PRL', 'AGR')
1323     AND     ROWNUM = 1;
1324 
1325     --
1326     -- Commented out when importing CLOSED order
1327     --
1328     -- AND     NVL(active_flag,'Y') ='Y';
1329 
1330     --  Valid price list
1331 
1332 
1333     RETURN TRUE;
1334 
1335 EXCEPTION
1336 
1337     WHEN NO_DATA_FOUND THEN
1338 
1339         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1340         THEN
1341 
1342 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_LIST_ID');
1343 
1344             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1345             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1346 				OE_Order_Util.Get_Attribute_Name('price_list_id'));
1347             OE_MSG_PUB.Add;
1348 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1349 
1350         END IF;
1351 
1352 
1353         RETURN FALSE;
1354 
1355     WHEN OTHERS THEN
1356 
1357         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1358         THEN
1359             OE_MSG_PUB.Add_Exc_Msg
1360             (   G_PKG_NAME
1361             ,   'Price_List'
1362             );
1363         END IF;
1364 
1365 
1366         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1367 
1368 END Price_List;
1369 
1370 FUNCTION Tax_Exempt ( p_tax_exempt_flag IN VARCHAR2 )
1371 RETURN BOOLEAN
1372 IS
1373   l_dummy           VARCHAR2(10);
1374   -- eBTax changes
1375   l_lookup_type     VARCHAR2(80) := 'ZX_EXEMPTION_CONTROL';
1376 BEGIN
1377 
1378     IF p_tax_exempt_flag IS NULL OR
1379         p_tax_exempt_flag = FND_API.G_MISS_CHAR
1380     THEN
1381 
1382         RETURN TRUE;
1383     END IF;
1384 
1385     SELECT  'VALID'
1386     INTO    l_dummy
1387     FROM    fnd_lookups
1388     WHERE   LOOKUP_CODE = p_tax_exempt_flag
1389     AND     LOOKUP_TYPE = l_lookup_type
1390     AND     ROWNUM = 1;
1391     --
1392     -- Commented out when importing CLOSE orders
1393     --
1394     -- AND     ENABLED_FLAG = 'Y'
1395     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1396     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
1397 
1398 
1399     RETURN TRUE;
1400 
1401 EXCEPTION
1402 
1403     WHEN NO_DATA_FOUND THEN
1404 
1405         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1406         THEN
1407 
1408 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_EXEMPT_FLAG');
1409 
1410             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1411             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1412 				OE_Order_Util.Get_Attribute_Name('tax_exempt_flag'));
1413             OE_MSG_PUB.Add;
1414 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1415 
1416         END IF;
1417 
1418 
1419         RETURN FALSE;
1420 
1421     WHEN OTHERS THEN
1422 
1423         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1424         THEN
1425             OE_MSG_PUB.Add_Exc_Msg
1426             (   G_PKG_NAME
1427             ,   'Tax_Exempt'
1428             );
1429         END IF;
1430 
1431 
1432         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1433 
1434 END Tax_Exempt;
1435 
1436 
1437 FUNCTION Tax_Exempt_Number ( p_tax_exempt_number IN VARCHAR2 )
1438 RETURN BOOLEAN
1439 IS
1440 l_dummy                       VARCHAR2(10);
1441 BEGIN
1442 
1443     IF p_tax_exempt_number IS NULL OR
1444         p_tax_exempt_number = FND_API.G_MISS_CHAR
1445     THEN
1446 
1447         RETURN TRUE;
1448     END IF;
1449 
1450     --  Valid Tax Exempt Number
1451 
1452 
1453 
1454     RETURN TRUE;
1455 
1456 EXCEPTION
1457 
1458     WHEN NO_DATA_FOUND THEN
1459 
1460         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1461         THEN
1462 
1463 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_EXEMPT_NUMBER');
1464 
1465             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1466             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1467 				OE_Order_Util.Get_Attribute_Name('tax_exempt_number'));
1468             OE_MSG_PUB.Add;
1469 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1470 
1471         END IF;
1472 
1473 
1474         RETURN FALSE;
1475 
1476     WHEN OTHERS THEN
1477 
1478         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1479         THEN
1480             OE_MSG_PUB.Add_Exc_Msg
1481             (   G_PKG_NAME
1482             ,   'Tax_Exempt_Number'
1483             );
1484         END IF;
1485 
1486 
1487         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1488 
1489 END Tax_Exempt_Number;
1490 
1491 FUNCTION Tax_Exempt_Reason ( p_tax_exempt_reason_code IN VARCHAR2 )
1492 RETURN BOOLEAN
1493 IS
1494   l_dummy         VARCHAR2(10);
1495   -- eBTax changes
1496   l_lookup_type   VARCHAR2(80) := 'ZX_EXEMPTION_REASON_CODE';
1497 BEGIN
1498 
1499     IF p_tax_exempt_reason_code IS NULL OR
1500         p_tax_exempt_reason_code = FND_API.G_MISS_CHAR
1501     THEN
1502 
1503         RETURN TRUE;
1504     END IF;
1505 
1506     SELECT  'VALID'
1507     INTO    l_dummy
1508     FROM    fnd_lookups
1509     WHERE   LOOKUP_CODE = p_tax_exempt_reason_code
1510     AND     LOOKUP_TYPE = l_lookup_type
1511     AND     ROWNUM = 1;
1512     --
1513     -- Commented out when importing CLOSE orders
1514     --
1515     -- AND     ENABLED_FLAG = 'Y'
1516     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1517     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
1518 
1519 
1520     RETURN TRUE;
1521 
1522 EXCEPTION
1523 
1524     WHEN NO_DATA_FOUND THEN
1525 
1526         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1527         THEN
1528 
1529 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_EXEMPT_REASON_CODE');
1530 
1531             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1532             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1533 				OE_Order_Util.Get_Attribute_Name('tax_exempt_reason_code'));
1534             OE_MSG_PUB.Add;
1535 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1536 
1537         END IF;
1538 
1539 
1540 
1541         RETURN FALSE;
1542 
1543     WHEN OTHERS THEN
1544 
1545         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1546         THEN
1547             OE_MSG_PUB.Add_Exc_Msg
1548             (   G_PKG_NAME
1549             ,   'Tax_Exempt_Reason'
1550             );
1551         END IF;
1552 
1553 
1554 
1555         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1556 
1557 END Tax_Exempt_Reason;
1558 
1559 FUNCTION Conversion_Rate ( p_conversion_rate IN NUMBER )
1560 RETURN BOOLEAN
1561 IS
1562 l_dummy                       VARCHAR2(10);
1563 BEGIN
1564 
1565     IF p_conversion_rate IS NULL OR
1566         p_conversion_rate = FND_API.G_MISS_NUM
1567     THEN
1568 
1569         RETURN TRUE;
1570     END IF;
1571 
1572     --  SELECT  'VALID'
1573     --  INTO     l_dummy
1574     --  FROM     DB_TABLE
1575     --  WHERE    DB_COLUMN = p_conversion_rate;
1576 
1577 
1578     RETURN TRUE;
1579 
1580 EXCEPTION
1581 
1582     WHEN NO_DATA_FOUND THEN
1583 
1584         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1585         THEN
1586 
1587 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_RATE');
1588 
1589             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1590             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1591 				OE_Order_Util.Get_Attribute_Name('conversion_rate'));
1592             OE_MSG_PUB.Add;
1593 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1594 
1595         END IF;
1596 
1597 
1598         RETURN FALSE;
1599 
1600     WHEN OTHERS THEN
1601 
1602         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1603         THEN
1604             OE_MSG_PUB.Add_Exc_Msg
1605             (   G_PKG_NAME
1606             ,   'Conversion_Rate'
1607             );
1608         END IF;
1609 
1610 
1611         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1612 
1613 END Conversion_Rate;
1614 
1615 FUNCTION CUSTOMER_PREFERENCE_SET ( p_CUSTOMER_PREFERENCE_SET_CODE IN VARCHAR2 )
1616 RETURN BOOLEAN
1617 IS
1618 l_dummy                       VARCHAR2(10);
1619 BEGIN
1620 
1621     IF p_CUSTOMER_PREFERENCE_SET_CODE IS NULL OR
1622         p_CUSTOMER_PREFERENCE_SET_CODE = FND_API.G_MISS_CHAR
1623     THEN
1624 
1625         RETURN TRUE;
1626     END IF;
1627 
1628 
1629     RETURN TRUE;
1630 
1631 EXCEPTION
1632 
1633     WHEN NO_DATA_FOUND THEN
1634 
1635         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1636         THEN
1637 
1638 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_PREFERENCE_SET_CODE');
1639 
1640             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1641             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1642 				OE_Order_Util.Get_Attribute_Name('CUSTOMER_PREFERENCE_SET_CODE'));
1643             OE_MSG_PUB.Add;
1644 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1645 
1646         END IF;
1647 
1648 
1649         RETURN FALSE;
1650 
1651     WHEN OTHERS THEN
1652 
1653         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1654         THEN
1655             OE_MSG_PUB.Add_Exc_Msg
1656             (   G_PKG_NAME
1657             ,   'CUSTOMER_PREFERENCE_SET'
1658             );
1659         END IF;
1660 
1661         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1662 
1663 END CUSTOMER_PREFERENCE_SET;
1664 
1665 FUNCTION Conversion_Type ( p_conversion_type_code IN VARCHAR2 )
1666 RETURN BOOLEAN
1667 IS
1668 l_dummy                       VARCHAR2(10);
1669 BEGIN
1670 
1671     IF p_conversion_type_code IS NULL OR
1672         p_conversion_type_code = FND_API.G_MISS_CHAR
1673     THEN
1674 
1675         RETURN TRUE;
1676     END IF;
1677 
1678     SELECT  'VALID'
1679     INTO    l_dummy
1680     FROM    OE_GL_DAILY_CONVERSION_TYPES_V
1681     WHERE   CONVERSION_TYPE = p_conversion_type_code;
1682 
1683 
1684     RETURN TRUE;
1685 
1686 EXCEPTION
1687 
1688     WHEN NO_DATA_FOUND THEN
1689 
1690         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1691         THEN
1692 
1693 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_TYPE_CODE');
1694 
1695             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1696             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1697 				OE_Order_Util.Get_Attribute_Name('conversion_type_code'));
1698             OE_MSG_PUB.Add;
1699 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1700 
1701         END IF;
1702 
1703 
1704         RETURN FALSE;
1705 
1706     WHEN OTHERS THEN
1707 
1708         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1709         THEN
1710             OE_MSG_PUB.Add_Exc_Msg
1711             (   G_PKG_NAME
1712             ,   'Conversion_Type'
1713             );
1714         END IF;
1715 
1716         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1717 
1718 END Conversion_Type;
1719 
1720 FUNCTION Conversion_Rate_Date ( p_conversion_rate_date IN DATE )
1721 RETURN BOOLEAN
1722 IS
1723 l_dummy                       VARCHAR2(10);
1724 BEGIN
1725     IF p_conversion_rate_date IS NULL OR
1726         p_conversion_rate_date = FND_API.G_MISS_DATE
1727     THEN
1728 
1729         RETURN TRUE;
1730     END IF;
1731 
1732     --  SELECT  'VALID'
1733     --  INTO     l_dummy
1734     --  FROM     DB_TABLE
1735     --  WHERE    DB_COLUMN = p_conversion_rate_date;
1736 
1737 
1738     RETURN TRUE;
1739 
1740 EXCEPTION
1741 
1742     WHEN NO_DATA_FOUND THEN
1743 
1744         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1745         THEN
1746 
1747 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_RATE_DATE');
1748 
1749             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1750             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1751 				OE_Order_Util.Get_Attribute_Name('conversion_rate_date'));
1752             OE_MSG_PUB.Add;
1753 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1754 
1755         END IF;
1756 
1757 
1758         RETURN FALSE;
1759 
1760     WHEN OTHERS THEN
1761 
1762         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1763         THEN
1764             OE_MSG_PUB.Add_Exc_Msg
1765             (   G_PKG_NAME
1766             ,   'Conversion_Rate_Date'
1767             );
1768         END IF;
1769 
1770 
1771         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1772 
1773 END Conversion_Rate_Date;
1774 
1775 FUNCTION Partial_Shipments_Allowed ( p_partial_shipments_allowed IN VARCHAR2 )
1776 RETURN BOOLEAN
1777 IS
1778 l_dummy                       VARCHAR2(10);
1779   l_lookup_type      	      VARCHAR2(80) := 'YES_NO';
1780 BEGIN
1781 
1782     IF p_partial_shipments_allowed IS NULL OR
1783         p_partial_shipments_allowed = FND_API.G_MISS_CHAR
1784     THEN
1785 
1786         RETURN TRUE;
1787     END IF;
1788 
1789     SELECT  'VALID'
1790     INTO     l_dummy
1791     FROM     OE_FND_COMMON_LOOKUPS_V
1792     WHERE    LOOKUP_CODE = p_partial_shipments_allowed
1793     AND      LOOKUP_TYPE = l_lookup_type
1794     AND      ROWNUM = 1;
1795     --
1796     -- Commented out when importing CLOSED orders
1797     --
1798     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
1799     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
1800 
1801 
1802 
1803     RETURN TRUE;
1804 
1805 EXCEPTION
1806 
1807     WHEN NO_DATA_FOUND THEN
1808 
1809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1810         THEN
1811 
1812 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PARTIAL_SHIPMENTS_ALLOWED');
1813 
1814             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1815             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1816 				OE_Order_Util.Get_Attribute_Name('partial_shipments_allowed'));
1817             OE_MSG_PUB.Add;
1818 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1819 
1820         END IF;
1821 
1822 
1823         RETURN FALSE;
1824 
1825     WHEN OTHERS THEN
1826 
1827         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1828         THEN
1829             OE_MSG_PUB.Add_Exc_Msg
1830             (   G_PKG_NAME
1831             ,   'Partial_Shipments_Allowed'
1832             );
1833         END IF;
1834 
1835 
1836         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1837 
1838 END Partial_Shipments_Allowed;
1839 
1840 
1841 FUNCTION Ship_Tolerance_Above ( p_ship_tolerance_above IN NUMBER )
1842 RETURN BOOLEAN
1843 IS
1844 l_dummy                       VARCHAR2(10);
1845 BEGIN
1846     IF p_ship_tolerance_above IS NULL OR
1847         p_ship_tolerance_above = FND_API.G_MISS_NUM
1848     THEN
1849 
1850         RETURN TRUE;
1851     END IF;
1852 
1853     --  SELECT  'VALID'
1854     --  INTO     l_dummy
1855     --  FROM     DB_TABLE
1856     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
1857 
1858 
1859     RETURN TRUE;
1860 
1861 EXCEPTION
1862 
1863     WHEN NO_DATA_FOUND THEN
1864 
1865         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1866         THEN
1867 
1868 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TOLERANCE_ABOVE');
1869 
1870             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1871             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1872 				OE_Order_Util.Get_Attribute_Name('ship_tolerance_above'));
1873             OE_MSG_PUB.Add;
1874 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1875 
1876         END IF;
1877 
1878 
1879         RETURN FALSE;
1880 
1881     WHEN OTHERS THEN
1882 
1883         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1884         THEN
1885             OE_MSG_PUB.Add_Exc_Msg
1886             (   G_PKG_NAME
1887             ,   'Ship_Tolerance_Above'
1888             );
1889         END IF;
1890 
1891 
1892         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1893 
1894 END Ship_Tolerance_Above;
1895 
1896 FUNCTION Ship_Tolerance_Below ( p_ship_tolerance_below IN NUMBER )
1897 RETURN BOOLEAN
1898 IS
1899 l_dummy                       VARCHAR2(10);
1900 BEGIN
1901 
1902     IF p_ship_tolerance_below IS NULL OR
1903         p_ship_tolerance_below = FND_API.G_MISS_NUM
1904     THEN
1905 
1906         RETURN TRUE;
1907     END IF;
1908 
1909     --  SELECT  'VALID'
1910     --  INTO     l_dummy
1911     --  FROM     DB_TABLE
1912     --  WHERE    DB_COLUMN = p_ship_tolerance_below;
1913 
1914 
1915     RETURN TRUE;
1916 
1917 EXCEPTION
1918 
1919     WHEN NO_DATA_FOUND THEN
1920 
1921         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1922         THEN
1923 
1924 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TOLERANCE_BELOW');
1925 
1926             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1927             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1928 				OE_Order_Util.Get_Attribute_Name('ship_tolerance_below'));
1929             OE_MSG_PUB.Add;
1930 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1931 
1932         END IF;
1933 
1934 
1935         RETURN FALSE;
1936 
1937     WHEN OTHERS THEN
1938 
1939         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1940         THEN
1941             OE_MSG_PUB.Add_Exc_Msg
1942             (   G_PKG_NAME
1943             ,   'Ship_Tolerance_Below'
1944             );
1945         END IF;
1946 
1947 
1948         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1949 
1950 END Ship_Tolerance_Below;
1951 
1952 FUNCTION Shippable ( p_shippable_flag IN VARCHAR2 )
1953 RETURN BOOLEAN
1954 IS
1955 l_dummy                       VARCHAR2(10);
1956 BEGIN
1957 
1958     IF p_shippable_flag IS NULL OR
1959         p_shippable_flag = FND_API.G_MISS_CHAR
1960     THEN
1961 
1962         RETURN TRUE;
1963     END IF;
1964 
1965     IF p_shippable_flag NOT IN ('Y','N') THEN
1966 		RAISE NO_DATA_FOUND;
1967     END IF;
1968 
1969     --  SELECT  'VALID'
1970     --  INTO     l_dummy
1971     --  FROM     DB_TABLE
1972     --  WHERE    DB_COLUMN = p_shippable_flag;
1973 
1974 
1975     RETURN TRUE;
1976 
1977 EXCEPTION
1978 
1979     WHEN NO_DATA_FOUND THEN
1980 
1981         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1982         THEN
1983 
1984 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPABLE_FLAG');
1985 
1986             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1987             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1988 				OE_Order_Util.Get_Attribute_Name('shippable_flag'));
1989             OE_MSG_PUB.Add;
1990 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1991 
1992         END IF;
1993 
1994 
1995         RETURN FALSE;
1996 
1997     WHEN OTHERS THEN
1998 
1999         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2000         THEN
2001             OE_MSG_PUB.Add_Exc_Msg
2002             (   G_PKG_NAME
2003             ,   'Shippable'
2004             );
2005         END IF;
2006 
2007 
2008         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2009 
2010 END Shippable;
2011 
2012 FUNCTION Shipping_Interfaced ( p_shipping_interfaced_flag IN VARCHAR2 )
2013 RETURN BOOLEAN
2014 IS
2015 l_dummy                       VARCHAR2(10);
2016 BEGIN
2017 
2018     IF p_shipping_interfaced_flag IS NULL OR
2019         p_shipping_interfaced_flag = FND_API.G_MISS_CHAR
2020     THEN
2021 
2022         RETURN TRUE;
2023     END IF;
2024 
2025     IF p_shipping_interfaced_flag NOT IN ('Y','N') THEN
2026 		RAISE NO_DATA_FOUND;
2027     END IF;
2028 
2029     --  SELECT  'VALID'
2030     --  INTO     l_dummy
2031     --  FROM     DB_TABLE
2032     --  WHERE    DB_COLUMN = p_shipping_interfaced_flag;
2033 
2034 
2035     RETURN TRUE;
2036 
2037 EXCEPTION
2038 
2039     WHEN NO_DATA_FOUND THEN
2040 
2041         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2042         THEN
2043 
2044 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_INTERFACED_FLAG');
2045 
2046             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2047             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2048 				OE_Order_Util.Get_Attribute_Name('shipping_interfaced_flag'));
2049             OE_MSG_PUB.Add;
2050 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2051 
2052         END IF;
2053 
2054 
2055         RETURN FALSE;
2056 
2057     WHEN OTHERS THEN
2058 
2059         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2060         THEN
2061             OE_MSG_PUB.Add_Exc_Msg
2062             (   G_PKG_NAME
2063             ,   'Shipping_Interfaced'
2064             );
2065         END IF;
2066 
2067 
2068         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2069 
2070 END Shipping_Interfaced;
2071 
2072 FUNCTION Shipping_Instructions ( p_shipping_instructions IN VARCHAR2 )
2073 RETURN BOOLEAN
2074 IS
2075 l_dummy                       VARCHAR2(10);
2076 BEGIN
2077 
2078     IF p_shipping_instructions IS NULL OR
2079         p_shipping_instructions = FND_API.G_MISS_CHAR
2080     THEN
2081 
2082         RETURN TRUE;
2083     END IF;
2084 
2085     --  SELECT  'VALID'
2086     --  INTO     l_dummy
2087     --  FROM     DB_TABLE
2088     --  WHERE    DB_COLUMN = p_shipping_instructions;
2089 
2090 
2091     RETURN TRUE;
2092 
2093 EXCEPTION
2094 
2095     WHEN NO_DATA_FOUND THEN
2096 
2097         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2098         THEN
2099 
2100 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_INSTRUCTIONS');
2101 
2102             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2103             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2104 				OE_Order_Util.Get_Attribute_Name('shipping_instructions'));
2105             OE_MSG_PUB.Add;
2106 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2107 
2108         END IF;
2109 
2110 
2111         RETURN FALSE;
2112 
2113     WHEN OTHERS THEN
2114 
2115         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2116         THEN
2117             OE_MSG_PUB.Add_Exc_Msg
2118             (   G_PKG_NAME
2119             ,   'Shipping_Instructions'
2120             );
2121         END IF;
2122 
2123 
2124         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2125 
2126 END Shipping_Instructions;
2127 
2128 
2129 FUNCTION Packing_Instructions ( p_packing_instructions IN VARCHAR2 )
2130 RETURN BOOLEAN
2131 IS
2132 l_dummy                       VARCHAR2(10);
2133 BEGIN
2134 
2135     IF p_packing_instructions IS NULL OR
2136         p_packing_instructions = FND_API.G_MISS_CHAR
2137     THEN
2138 
2139         RETURN TRUE;
2140     END IF;
2141 
2142     --  SELECT  'VALID'
2143     --  INTO     l_dummy
2144     --  FROM     DB_TABLE
2145     --  WHERE    DB_COLUMN = p_packing_instructions;
2146 
2147 
2148     RETURN TRUE;
2149 
2150 EXCEPTION
2151 
2152     WHEN NO_DATA_FOUND THEN
2153 
2154         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2155         THEN
2156 
2157 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAQCKING_INSTRUCTIONS');
2158 
2159             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2160             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2161 				OE_Order_Util.Get_Attribute_Name('packing_instructions'));
2162             OE_MSG_PUB.Add;
2163 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2164 
2165         END IF;
2166 
2167 
2168         RETURN FALSE;
2169 
2170     WHEN OTHERS THEN
2171 
2172         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2173         THEN
2174             OE_MSG_PUB.Add_Exc_Msg
2175             (   G_PKG_NAME
2176             ,   'Packing_Instructions'
2177             );
2178         END IF;
2179 
2180 
2181         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2182 
2183 END Packing_Instructions;
2184 
2185 
2186 
2187 FUNCTION Under_Shipment_Tolerance ( p_under_shipment_tolerance IN NUMBER )
2188 RETURN BOOLEAN
2189 IS
2190 l_dummy                       VARCHAR2(10);
2191 BEGIN
2192     IF p_under_shipment_tolerance IS NULL OR
2193         p_under_shipment_tolerance = FND_API.G_MISS_NUM
2194     THEN
2195 
2196         RETURN TRUE;
2197     END IF;
2198 
2199     --  SELECT  'VALID'
2200     --  INTO     l_dummy
2201     --  FROM     DB_TABLE
2202     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2203 
2204 
2205     RETURN TRUE;
2206 
2207 EXCEPTION
2208 
2209     WHEN NO_DATA_FOUND THEN
2210 
2211         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2212         THEN
2213 
2214 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNDER_SHIPMENT_TOLERANCE');
2215 
2216             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2217             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2218 				OE_Order_Util.Get_Attribute_Name('under_shipment_tolerance'));
2219             OE_MSG_PUB.Add;
2220 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2221 
2222         END IF;
2223 
2224 
2225         RETURN FALSE;
2226 
2227     WHEN OTHERS THEN
2228 
2229         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2230         THEN
2231             OE_MSG_PUB.Add_Exc_Msg
2232             (   G_PKG_NAME
2233             ,   'under_shipment_tolerance'
2234             );
2235         END IF;
2236 
2237 
2238         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2239 
2240 END Under_Shipment_Tolerance;
2241 
2242 FUNCTION Over_Shipment_Tolerance ( p_over_shipment_tolerance IN NUMBER )
2243 RETURN BOOLEAN
2244 IS
2245 l_dummy                       VARCHAR2(10);
2246 BEGIN
2247     IF p_over_shipment_tolerance IS NULL OR
2248         p_over_shipment_tolerance = FND_API.G_MISS_NUM
2249     THEN
2250 
2251         RETURN TRUE;
2252     END IF;
2253 
2254     --  SELECT  'VALID'
2255     --  INTO     l_dummy
2256     --  FROM     DB_TABLE
2257     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2258 
2259 
2260     RETURN TRUE;
2261 
2262 EXCEPTION
2263 
2264     WHEN NO_DATA_FOUND THEN
2265 
2266         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2267         THEN
2268 
2269 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIPMENT_TOLERANCE');
2270 
2271             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2272             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2273 				OE_Order_Util.Get_Attribute_Name('over_shipment_tolerance'));
2274             OE_MSG_PUB.Add;
2275 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2276 
2277         END IF;
2278 
2279 
2280         RETURN FALSE;
2281 
2282     WHEN OTHERS THEN
2283 
2284         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2285         THEN
2286             OE_MSG_PUB.Add_Exc_Msg
2287             (   G_PKG_NAME
2288             ,   'over_shipment_tolerance'
2289             );
2290         END IF;
2291 
2292 
2293         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2294 
2295 END Over_Shipment_Tolerance;
2296 
2297 FUNCTION Over_Return_Tolerance ( p_over_return_tolerance IN NUMBER )
2298 RETURN BOOLEAN
2299 IS
2300 l_dummy                       VARCHAR2(10);
2301 BEGIN
2302     IF p_over_return_tolerance IS NULL OR
2303         p_over_return_tolerance = FND_API.G_MISS_NUM
2304     THEN
2305 
2306         RETURN TRUE;
2307     END IF;
2308 
2309     --  SELECT  'VALID'
2310     --  INTO     l_dummy
2311     --  FROM     DB_TABLE
2312     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2313 
2314 
2315     RETURN TRUE;
2316 
2317 EXCEPTION
2318 
2319     WHEN NO_DATA_FOUND THEN
2320 
2321         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2322         THEN
2323 
2324 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_RETURN_TOLERANCE');
2325 
2326             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2327             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2328 				OE_Order_Util.Get_Attribute_Name('over_return_tolerance'));
2329             OE_MSG_PUB.Add;
2330 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2331 
2332         END IF;
2333 
2334 
2335         RETURN FALSE;
2336 
2337     WHEN OTHERS THEN
2338 
2339         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2340         THEN
2341             OE_MSG_PUB.Add_Exc_Msg
2342             (   G_PKG_NAME
2343             ,   'over_return_tolerance'
2344             );
2345         END IF;
2346 
2347 
2348         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2349 
2350 END Over_Return_Tolerance;
2351 
2352 FUNCTION Under_Return_Tolerance ( p_under_return_tolerance IN NUMBER )
2353 RETURN BOOLEAN
2354 IS
2355 l_dummy                       VARCHAR2(10);
2356 BEGIN
2357     IF p_under_return_tolerance IS NULL OR
2358         p_under_return_tolerance = FND_API.G_MISS_NUM
2359     THEN
2360 
2361         RETURN TRUE;
2362     END IF;
2363 
2364     --  SELECT  'VALID'
2365     --  INTO     l_dummy
2366     --  FROM     DB_TABLE
2367     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2368 
2369 
2370     RETURN TRUE;
2371 
2372 EXCEPTION
2373 
2374     WHEN NO_DATA_FOUND THEN
2375 
2376         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2377         THEN
2378 
2379 	    OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNDER_RETURN_TOLERANCE');
2380 
2381             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2382             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2383 				OE_Order_Util.Get_Attribute_Name('under_return_tolerance'));
2384             OE_MSG_PUB.Add;
2385 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2386 
2387         END IF;
2388 
2389 
2390         RETURN FALSE;
2391 
2392     WHEN OTHERS THEN
2393 
2394         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2395         THEN
2396             OE_MSG_PUB.Add_Exc_Msg
2397             (   G_PKG_NAME
2398             ,   'under_return_tolerance'
2399             );
2400         END IF;
2401 
2402 
2403         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2404 
2405 END Under_Return_Tolerance;
2406 
2407 FUNCTION Transactional_Curr ( p_transactional_curr_code IN VARCHAR2 )
2408 RETURN BOOLEAN
2409 IS
2410 l_dummy                       VARCHAR2(10);
2411 BEGIN
2412 
2413     IF p_transactional_curr_code IS NULL OR
2414         p_transactional_curr_code = FND_API.G_MISS_CHAR
2415     THEN
2416 
2417         RETURN TRUE;
2418     END IF;
2419 
2420     SELECT  'VALID'
2421     INTO    l_dummy
2422     FROM    OE_FND_CURRENCIES_V
2423     WHERE   CURRENCY_CODE = p_transactional_curr_code
2424     AND     CURRENCY_FLAG = 'Y'
2425     AND     ROWNUM = 1;
2426     --
2427     -- Commented out when importing CLOSED orders
2428     --
2429     -- AND     ENABLED_FLAG = 'Y'
2430     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2431     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
2432 
2433     --  Valid Currency.
2434 
2435 
2436 
2437     RETURN TRUE;
2438 
2439 EXCEPTION
2440 
2441     WHEN NO_DATA_FOUND THEN
2442 
2443         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2444         THEN
2445 
2446 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TRANSACTIONAL_CURR_CODE');
2447 
2448             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2449             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2450 				OE_Order_Util.Get_Attribute_Name('transactional_curr_code'));
2451             OE_MSG_PUB.Add;
2452 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2453 
2454         END IF;
2455 
2456 
2457         RETURN FALSE;
2458 
2459     WHEN OTHERS THEN
2460 
2461         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2462         THEN
2463             OE_MSG_PUB.Add_Exc_Msg
2464             (   G_PKG_NAME
2465             ,   'Transactional_Curr'
2466             );
2467         END IF;
2468 
2469 
2470         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2471 
2472 END Transactional_Curr;
2473 
2474 
2475 FUNCTION Agreement ( p_agreement_id IN NUMBER )
2476 RETURN BOOLEAN
2477 IS
2478 l_dummy                       VARCHAR2(10);
2479 BEGIN
2480 
2481 
2482     IF p_agreement_id IS NULL OR
2483         p_agreement_id = FND_API.G_MISS_NUM
2484     THEN
2485 
2486         RETURN TRUE;
2487     END IF;
2488 
2489     -- JAUTOMO: Why not use OE_AGREEMENTS_V instead ?
2490 
2491     SELECT  'VALID'
2492     INTO    l_dummy
2493     FROM    OE_AGREEMENTS_B  A
2494     WHERE   A.AGREEMENT_ID = p_agreement_id
2495     AND     ROWNUM = 1;
2496 
2497 /*    AND     SYSDATE     BETWEEN NVL(A.START_DATE_ACTIVE, SYSDATE)
2498                         AND NVL(A.END_DATE_ACTIVE, SYSDATE); */
2499 
2500 
2501     RETURN TRUE;
2502 
2503 EXCEPTION
2504 
2505     WHEN NO_DATA_FOUND THEN
2506 
2507         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2508         THEN
2509 
2510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AGREEMENT_ID');
2511 
2512             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2513             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2514 				OE_Order_Util.Get_Attribute_Name('agreement_id'));
2515             OE_MSG_PUB.Add;
2516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2517 
2518         END IF;
2519 
2520 
2521 
2522         RETURN FALSE;
2523 
2524     WHEN OTHERS THEN
2525 
2526         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2527         THEN
2528             OE_MSG_PUB.Add_Exc_Msg
2529             (   G_PKG_NAME
2530             ,   'Agreement'
2531             );
2532         END IF;
2533 
2534 
2535         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2536 
2537 END Agreement;
2538 
2539 FUNCTION Tax_Point ( p_tax_point_code IN VARCHAR2 )
2540 RETURN BOOLEAN
2541 IS
2542 l_dummy                       VARCHAR2(10);
2543   l_lookup_type      	      VARCHAR2(80) :='TAX_POINT';
2544 BEGIN
2545 
2546 
2547     IF p_tax_point_code IS NULL OR
2548         p_tax_point_code = FND_API.G_MISS_CHAR
2549     THEN
2550 
2551         RETURN TRUE;
2552     END IF;
2553 
2554     SELECT  'VALID'
2555     INTO    l_dummy
2556     FROM    OE_LOOKUPS
2557     WHERE   LOOKUP_CODE = p_tax_point_code
2558     AND     LOOKUP_TYPE = l_lookup_type
2559     AND     ROWNUM = 1;
2560     --
2561     -- Commented out when importing CLOSED orders
2562     --
2563     -- AND     ENABLED_FLAG = 'Y'
2564     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2565     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
2566 
2567 
2568     RETURN TRUE;
2569 
2570 EXCEPTION
2571 
2572     WHEN NO_DATA_FOUND THEN
2573 
2574         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2575         THEN
2576 
2577 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_POINT_CODE');
2578 
2579             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2580             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2581 				OE_Order_Util.Get_Attribute_Name('tax_point_code'));
2582             OE_MSG_PUB.Add;
2583 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2584 
2585         END IF;
2586 
2587 
2588         RETURN FALSE;
2589 
2590     WHEN OTHERS THEN
2591 
2592         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2593         THEN
2594             OE_MSG_PUB.Add_Exc_Msg
2595             (   G_PKG_NAME
2596             ,   'Tax_Point'
2597             );
2598         END IF;
2599 
2600 
2601         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2602 
2603 END Tax_Point;
2604 
2605 FUNCTION Cust_Po_Number ( p_cust_po_number IN VARCHAR2 )
2606 RETURN BOOLEAN
2607 IS
2608 l_dummy                       VARCHAR2(10);
2609 BEGIN
2610 
2611 
2612     IF p_cust_po_number IS NULL OR
2613         p_cust_po_number = FND_API.G_MISS_CHAR
2614     THEN
2615 
2616         RETURN TRUE;
2617     END IF;
2618 
2619     --  SELECT  'VALID'
2620     --  INTO     l_dummy
2621     --  FROM     DB_TABLE
2622     --  WHERE    DB_COLUMN = p_cust_po_number;
2623 
2624 
2625     RETURN TRUE;
2626 
2627 EXCEPTION
2628 
2629     WHEN NO_DATA_FOUND THEN
2630 
2631         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2632         THEN
2633 
2634 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PO_NUMBER');
2635 
2636             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2637             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2638 				OE_Order_Util.Get_Attribute_Name('cust_po_number'));
2639             OE_MSG_PUB.Add;
2640 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2641 
2642         END IF;
2643 
2644 
2645         RETURN FALSE;
2646 
2647     WHEN OTHERS THEN
2648 
2649         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2650         THEN
2651             OE_MSG_PUB.Add_Exc_Msg
2652             (   G_PKG_NAME
2653             ,   'Cust_Po_Number'
2654             );
2655         END IF;
2656 
2657 
2658         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2659 
2660 END Cust_Po_Number;
2661 
2662 FUNCTION Invoicing_Rule ( p_invoicing_rule_id IN NUMBER )
2663 RETURN BOOLEAN
2664 IS
2665 l_dummy                       VARCHAR2(10);
2666 BEGIN
2667 
2668 
2669     IF p_invoicing_rule_id IS NULL OR
2670         p_invoicing_rule_id = FND_API.G_MISS_NUM
2671     THEN
2672 
2673         RETURN TRUE;
2674     END IF;
2675 
2676     SELECT  'VALID'
2677     INTO    l_dummy
2678     FROM    OE_RA_RULES_V
2679     WHERE   RULE_ID = p_invoicing_rule_id
2680     AND     TYPE = 'I'
2681     AND     ROWNUM = 1;
2682     --
2683     -- Commented out when importing CLOSED order
2684     --
2685     -- AND     STATUS = 'A'
2686 
2687 
2688 
2689     RETURN TRUE;
2690 
2691 EXCEPTION
2692 
2693     WHEN NO_DATA_FOUND THEN
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 => 'INVOICING_RULE_ID');
2699 
2700             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2701             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2702 				OE_Order_Util.Get_Attribute_Name('invoicing_rule_id'));
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             ,   'Invoicing_Rule'
2718             );
2719         END IF;
2720 
2721 
2722         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2723 
2724 END Invoicing_Rule;
2725 
2726 
2727 FUNCTION Payment_Term ( p_payment_term_id IN NUMBER )
2728 RETURN BOOLEAN
2729 IS
2730 l_dummy                       VARCHAR2(10);
2731 BEGIN
2732 
2733 
2734     IF p_payment_term_id IS NULL OR
2735         p_payment_term_id = FND_API.G_MISS_NUM
2736     THEN
2737 
2738         RETURN TRUE;
2739     END IF;
2740 
2741     SELECT  'VALID'
2742     INTO    l_dummy
2743     FROM    OE_RA_TERMS_V
2744     WHERE   TERM_ID = p_payment_term_id
2745     AND     ROWNUM = 1;
2746     --
2747     -- Commented out when importing CLOSED orders
2748     --
2749     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2750     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
2751 
2752 
2753 
2754     RETURN TRUE;
2755 
2756 EXCEPTION
2757 
2758     WHEN NO_DATA_FOUND THEN
2759 
2760         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2761         THEN
2762 
2763 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TERM_ID');
2764 
2765             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2766             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2767 				OE_Order_Util.Get_Attribute_Name('payment_term_id'));
2768             OE_MSG_PUB.Add;
2769 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2770 
2771         END IF;
2772 
2773 
2774         RETURN FALSE;
2775 
2776     WHEN OTHERS THEN
2777 
2778         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2779         THEN
2780             OE_MSG_PUB.Add_Exc_Msg
2781             (   G_PKG_NAME
2782             ,   'Payment_Term'
2783             );
2784         END IF;
2785 
2786 
2787         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2788 
2789 END Payment_Term;
2790 
2791 FUNCTION Planning_Priority ( p_planning_priority IN NUMBER )
2792 RETURN BOOLEAN
2793 IS
2794 l_dummy                       VARCHAR2(10);
2795 BEGIN
2796 
2797 
2798     IF p_planning_priority IS NULL OR
2799         p_planning_priority = FND_API.G_MISS_NUM
2800     THEN
2801 
2802         RETURN TRUE;
2803     END IF;
2804 
2805     --  SELECT  'VALID'
2806     -- Planning_Priority  INTO     l_dummy
2807     --  FROM     DB_TABLE
2808     --  WHERE    DB_COLUMN = p_planning_priority;
2809 
2810     RETURN TRUE;
2811 
2812 EXCEPTION
2813 
2814     WHEN NO_DATA_FOUND THEN
2815 
2816         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2817         THEN
2818 
2819 	      OE_MSG_PUB.Update_Msg_Context
2820 				 (p_attribute_code => 'PLANNING_PRIORITY');
2821            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2822            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2823 				OE_Order_Util.Get_Attribute_Name('planning_priority'));
2824            OE_MSG_PUB.Add;
2825 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2826 
2827         END IF;
2828 
2829 
2830         RETURN FALSE;
2831 
2832     WHEN OTHERS THEN
2833 
2834         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2835         THEN
2836             OE_MSG_PUB.Add_Exc_Msg
2837             (   G_PKG_NAME
2838             ,   'Planning_Priority'
2839             );
2840         END IF;
2841 
2842 
2843         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2844 
2845 END Planning_Priority;
2846 
2847 FUNCTION Shipping_Method ( p_shipping_method_code IN VARCHAR2 )
2848 RETURN BOOLEAN
2849 IS
2850 l_dummy                       VARCHAR2(10);
2851 BEGIN
2852 
2853 
2854     IF p_shipping_method_code IS NULL OR
2855         p_shipping_method_code = FND_API.G_MISS_CHAR
2856     THEN
2857 
2858         RETURN TRUE;
2859     END IF;
2860 
2861 /* this validation is being moved to entity level validation */
2862     SELECT  'VALID'
2863     INTO    l_dummy
2864     FROM    OE_SHIP_METHODS_V
2865     WHERE   lookup_code = p_shipping_method_code
2866     AND     ROWNUM = 1;
2867     --
2868     -- Commented out when importing CLOSED orders
2869     --
2870     -- AND     SYSDATE <= NVL(END_DATE_ACTIVE, SYSDATE)
2871 
2872 
2873 
2874     RETURN TRUE;
2875 
2876 EXCEPTION
2877 
2878     WHEN NO_DATA_FOUND THEN
2879 
2880         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2881         THEN
2882 
2883 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_METHOD_CODE');
2884 
2885             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2886             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2887 				OE_Order_Util.Get_Attribute_Name('shipping_method_code'));
2888             OE_MSG_PUB.Add;
2889 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2890 
2891         END IF;
2892 
2893 
2894         RETURN FALSE;
2895 
2896     WHEN OTHERS THEN
2897 
2898         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2899         THEN
2900             OE_MSG_PUB.Add_Exc_Msg
2901             (   G_PKG_NAME
2902             ,   'Shipping_Method'
2903             );
2904         END IF;
2905 
2906 
2907         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2908 
2909 END Shipping_Method;
2910 
2911 FUNCTION Freight_Carrier ( p_freight_carrier_code IN VARCHAR2 )
2912 RETURN BOOLEAN
2913 IS
2914 l_dummy                       VARCHAR2(10);
2915 BEGIN
2916 
2917 
2918     IF p_freight_carrier_code IS NULL OR
2919         p_freight_carrier_code = FND_API.G_MISS_CHAR
2920     THEN
2921 
2922         RETURN TRUE;
2923     END IF;
2924 
2925     --  SELECT  'VALID'
2926     --  INTO     l_dummy
2927     --  FROM     DB_TABLE
2928     --  WHERE    DB_COLUMN = p_freight_carrier_code;
2929 
2930 
2931     RETURN TRUE;
2932 
2933 EXCEPTION
2934 
2935     WHEN NO_DATA_FOUND THEN
2936 
2937         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2938         THEN
2939 
2940 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FREIGHT_CARRIER_CODE');
2941 
2942             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2943             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2944 				OE_Order_Util.Get_Attribute_Name('freight_carrier_code'));
2945             OE_MSG_PUB.Add;
2946 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2947 
2948         END IF;
2949 
2950 
2951         RETURN FALSE;
2952 
2953     WHEN OTHERS THEN
2954 
2955         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2956         THEN
2957             OE_MSG_PUB.Add_Exc_Msg
2958             (   G_PKG_NAME
2959             ,   'Freight_Carrier'
2960             );
2961         END IF;
2962 
2963 
2964         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2965 
2966 END Freight_Carrier;
2967 
2968 FUNCTION Fob_Point ( p_fob_point_code IN VARCHAR2 )
2969 RETURN BOOLEAN
2970 IS
2971 l_dummy                       VARCHAR2(10);
2972   l_lookup_type      	      VARCHAR2(80) := 'FOB';
2973 BEGIN
2974 
2975 
2976     IF p_fob_point_code IS NULL OR
2977         p_fob_point_code = FND_API.G_MISS_CHAR
2978     THEN
2979 
2980         RETURN TRUE;
2981     END IF;
2982 
2983     SELECT  'VALID'
2984     INTO    l_dummy
2985     FROM    OE_AR_LOOKUPS_V
2986     WHERE   LOOKUP_CODE = p_fob_point_code
2987     AND     LOOKUP_TYPE = l_lookup_type
2988     AND     ROWNUM = 1;
2989     --
2990     --
2991     --
2992     -- AND     ENABLED_FLAG = 'Y'
2993     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2994     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
2995 
2996 
2997 
2998 
2999     RETURN TRUE;
3000 
3001 EXCEPTION
3002 
3003     WHEN NO_DATA_FOUND THEN
3004 
3005         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3006         THEN
3007 
3008 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FOB_POINT_CODE');
3009 
3010             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3011             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3012 				OE_Order_Util.Get_Attribute_Name('fob_point_code'));
3013             OE_MSG_PUB.Add;
3014 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3015 
3016         END IF;
3017 
3018 
3019         RETURN FALSE;
3020 
3021     WHEN OTHERS THEN
3022 
3023         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3024         THEN
3025             OE_MSG_PUB.Add_Exc_Msg
3026             (   G_PKG_NAME
3027             ,   'Fob_Point'
3028             );
3029         END IF;
3030 
3031 
3032         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3033 
3034 END Fob_Point;
3035 
3036 FUNCTION Freight_Terms ( p_freight_terms_code IN VARCHAR2 )
3037 RETURN BOOLEAN
3038 IS
3039 l_dummy                       VARCHAR2(10);
3040   l_lookup_type      	      VARCHAR2(80) := 'FREIGHT_TERMS';
3041 BEGIN
3042 
3043 
3044     IF p_freight_terms_code IS NULL OR
3045         p_freight_terms_code = FND_API.G_MISS_CHAR
3046     THEN
3047 
3048         RETURN TRUE;
3049     END IF;
3050 
3051     SELECT  'VALID'
3052     INTO    l_dummy
3053     FROM    OE_LOOKUPS
3054     WHERE   LOOKUP_CODE = p_freight_terms_code
3055     AND     LOOKUP_TYPE = l_lookup_type
3056     AND     ROWNUM = 1;
3057     --
3058     -- Commented out when importing CLOSED orders
3059     --
3060     -- AND     ENABLED_FLAG = 'Y'
3061     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3062     --                     AND NVL(END_DATE_ACTIVE, SYSDATE);
3063 
3064     --  Valid Tax Exempt Reason
3065 
3066 
3067 
3068 
3069     RETURN TRUE;
3070 
3071 EXCEPTION
3072 
3073     WHEN NO_DATA_FOUND THEN
3074 
3075         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3076         THEN
3077 
3078 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FREIGHT_TERMS_CODE');
3079 
3080 
3081             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3082             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3083 				OE_Order_Util.Get_Attribute_Name('freight_terms_code'));
3084             OE_MSG_PUB.Add;
3085 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3086 
3087         END IF;
3088 
3089 
3090         RETURN FALSE;
3091 
3092     WHEN OTHERS THEN
3093 
3094         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3095         THEN
3096             OE_MSG_PUB.Add_Exc_Msg
3097             (   G_PKG_NAME
3098             ,   'Freight_Terms'
3099             );
3100         END IF;
3101 
3102 
3103         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3104 
3105 END Freight_Terms;
3106 
3107 
3108 FUNCTION Sold_To_Org ( p_sold_to_org_id IN NUMBER )
3109 RETURN BOOLEAN
3110 IS
3111 l_dummy                       VARCHAR2(10);
3112 BEGIN
3113 
3114 
3115     IF p_sold_to_org_id IS NULL OR
3116         p_sold_to_org_id = FND_API.G_MISS_NUM
3117     THEN
3118 
3119         RETURN TRUE;
3120     END IF;
3121 
3122     SELECT  'VALID'
3123     INTO    l_dummy
3124     FROM    OE_SOLD_TO_ORGS_V
3125     WHERE   ORGANIZATION_ID =p_sold_to_org_id
3126     AND     ROWNUM = 1;
3127     --
3128     -- Commented out when importing CLOSED orders
3129     --
3130     -- AND     STATUS = 'A'
3131     -- AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3132     --                AND     NVL(END_DATE_ACTIVE, SYSDATE);
3133 
3134 
3135 
3136     RETURN TRUE;
3137 
3138 EXCEPTION
3139 
3140     WHEN NO_DATA_FOUND THEN
3141 
3142         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3143         THEN
3144 
3145 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_ORG_ID');
3146 
3147             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3148             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3149 				OE_Order_Util.Get_Attribute_Name('sold_to_org_id'));
3150             OE_MSG_PUB.Add;
3151 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3152 
3153         END IF;
3154 
3155 
3156         RETURN FALSE;
3157 
3158     WHEN OTHERS THEN
3159 
3160         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3161         THEN
3162             OE_MSG_PUB.Add_Exc_Msg
3163             (   G_PKG_NAME
3164             ,   'Sold_To_Org'
3165             );
3166         END IF;
3167 
3168 
3169         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3170 
3171 END Sold_To_Org;
3172 
3173 FUNCTION Customer ( p_customer_id IN NUMBER )
3174 RETURN BOOLEAN
3175 IS
3176 l_dummy                       VARCHAR2(10);
3177 BEGIN
3178 
3179 
3180     IF p_customer_id IS NULL OR
3181         p_customer_id = FND_API.G_MISS_NUM
3182     THEN
3183 
3184         RETURN TRUE;
3185     END IF;
3186 
3187     SELECT  'VALID'
3188     INTO    l_dummy
3189     FROM    OE_SOLD_TO_ORGS_V
3190     WHERE   ORGANIZATION_ID =p_customer_id
3191     AND     ROWNUM = 1;
3192     --
3193     -- Commented out when importing CLOSED orders
3194     --
3195     -- AND     STATUS = 'A'
3196     -- AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3197     --                AND     NVL(END_DATE_ACTIVE, SYSDATE);
3198 
3199 
3200 
3201     RETURN TRUE;
3202 
3203 EXCEPTION
3204 
3205     WHEN NO_DATA_FOUND THEN
3206 
3207         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3208         THEN
3209 
3210 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_ID');
3211 
3212             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3213             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3214 				OE_Order_Util.Get_Attribute_Name('Customer_id'));
3215             OE_MSG_PUB.Add;
3216 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3217 
3218         END IF;
3219 
3220 
3221         RETURN FALSE;
3222 
3223     WHEN OTHERS THEN
3224 
3225         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3226         THEN
3227             OE_MSG_PUB.Add_Exc_Msg
3228             (   G_PKG_NAME
3229             ,   'Customer'
3230             );
3231         END IF;
3232 
3233 
3234         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3235 
3236 END Customer;
3237 
3238 FUNCTION Internal_Item ( p_internal_item_id IN NUMBER )
3239 RETURN BOOLEAN
3240 IS
3241 l_dummy                       VARCHAR2(10);
3242 BEGIN
3243 
3244 
3245     IF p_internal_item_id IS NULL OR
3246         p_internal_item_id = FND_API.G_MISS_NUM
3247     THEN
3248 
3249         RETURN TRUE;
3250     END IF;
3251 
3252     --  SELECT  'VALID'
3253     --  INTO     l_dummy
3254     --  FROM     DB_TABLE
3255     --  WHERE    DB_COLUMN = p_inventory_item_id;
3256 
3257 
3258     RETURN TRUE;
3259 
3260 EXCEPTION
3261 
3262     WHEN NO_DATA_FOUND THEN
3263 
3264         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3265         THEN
3266 
3267 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INTERNAL_ITEM_ID');
3268 
3269 
3270             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3271             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3272 				OE_Order_Util.Get_Attribute_Name('internal_item_id'));
3273             OE_MSG_PUB.Add;
3274 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3275 
3276         END IF;
3277 
3278 
3279         RETURN FALSE;
3280 
3281     WHEN OTHERS THEN
3282 
3283         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3284         THEN
3285             OE_MSG_PUB.Add_Exc_Msg
3286             (   G_PKG_NAME
3287             ,   'internal_item'
3288             );
3289         END IF;
3290 
3291 
3292         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3293 
3294 END Internal_Item;
3295 
3296 FUNCTION Cust_Item_Setting ( p_cust_item_setting_id IN NUMBER )
3297 RETURN BOOLEAN
3298 IS
3299 l_dummy                       VARCHAR2(10);
3300 BEGIN
3301 
3302 
3303     IF p_cust_item_setting_id IS NULL OR
3304         p_cust_item_setting_id = FND_API.G_MISS_NUM
3305     THEN
3306 
3307         RETURN TRUE;
3308     END IF;
3309 
3310     --  SELECT  'VALID'
3311     --  INTO     l_dummy
3312     --  FROM     DB_TABLE
3313     --  WHERE    DB_COLUMN = p_inventory_item_id;
3314 
3315 
3316     RETURN TRUE;
3317 
3318 EXCEPTION
3319 
3320     WHEN NO_DATA_FOUND THEN
3321 
3322         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3323         THEN
3324 
3325 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_ITEM_SETTING_ID');
3326 
3327             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3328             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3329 				OE_Order_Util.Get_Attribute_Name('cust_item_setting_id'));
3330             OE_MSG_PUB.Add;
3331 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3332 
3333         END IF;
3334 
3335 
3336         RETURN FALSE;
3337 
3338     WHEN OTHERS THEN
3339 
3340         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3341         THEN
3342             OE_MSG_PUB.Add_Exc_Msg
3343             (   G_PKG_NAME
3344             ,   'cust_item_setting'
3345             );
3346         END IF;
3347 
3348 
3349         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3350 
3351 END Cust_Item_Setting;
3352 
3353 FUNCTION Ship_From_Org ( p_ship_from_org_id IN NUMBER )
3354 RETURN BOOLEAN
3355 IS
3356 l_dummy                       VARCHAR2(10);
3357 BEGIN
3358 
3359 
3360     IF p_ship_from_org_id IS NULL OR
3361         p_ship_from_org_id = FND_API.G_MISS_NUM
3362     THEN
3363 
3364         RETURN TRUE;
3365     END IF;
3366 
3367     -- JAUTOMO: Is this a correct validation ?
3368 
3369     SELECT 'VALID'
3370     INTO   l_dummy
3371     FROM   oe_ship_from_orgs_v
3372     WHERE  organization_id = p_ship_from_org_id
3373     AND    ROWNUM = 1;
3374 
3375     RETURN TRUE;
3376 
3377 EXCEPTION
3378 
3379     WHEN NO_DATA_FOUND THEN
3380 
3381         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3382         THEN
3383 
3384 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_FROM_ORG_ID');
3385 
3386             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3387             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3388 				OE_Order_Util.Get_Attribute_Name('ship_from_org_id'));
3389             OE_MSG_PUB.Add;
3390 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3391 
3392         END IF;
3393 
3394 
3395         RETURN FALSE;
3396 
3397     WHEN OTHERS THEN
3398 
3399         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3400         THEN
3401             OE_MSG_PUB.Add_Exc_Msg
3402             (   G_PKG_NAME
3403             ,   'Ship_From_Org'
3404             );
3405         END IF;
3406 
3407 
3408         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3409 
3410 END Ship_From_Org;
3411 
3412 FUNCTION Subinventory ( p_subinventory IN VARCHAR2 )
3413 RETURN BOOLEAN
3414 IS
3415 BEGIN
3416 
3417 
3418     IF p_subinventory IS NULL OR
3419         p_subinventory = FND_API.G_MISS_CHAR
3420     THEN
3421         RETURN TRUE;
3422     END IF;
3423 
3424     --  SELECT  'VALID'
3425     --  INTO     l_dummy
3426     --  FROM     DB_TABLE
3427     --  WHERE    DB_COLUMN = p_ship_from_org_id;
3428 
3429 
3430     RETURN TRUE;
3431 
3432 EXCEPTION
3433 
3434     WHEN NO_DATA_FOUND THEN
3435 
3436         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3437         THEN
3438 
3439 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUBINVENTORY');
3440 
3441             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3442             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3443 				OE_Order_Util.Get_Attribute_Name('subinventory'));
3444             OE_MSG_PUB.Add;
3445 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3446 
3447         END IF;
3448 
3449 
3450         RETURN FALSE;
3451 
3452     WHEN OTHERS THEN
3453 
3454         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3455         THEN
3456             OE_MSG_PUB.Add_Exc_Msg
3457             (   G_PKG_NAME
3458             ,   'Subinventory'
3459             );
3460         END IF;
3461 
3462 
3463         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3464 
3465 END Subinventory;
3466 
3467 FUNCTION Inventory_Org ( p_inventory_org_id IN NUMBER )
3468 RETURN BOOLEAN
3469 IS
3470 l_dummy                       VARCHAR2(10);
3471 BEGIN
3472 
3473 
3474     IF p_inventory_org_id IS NULL OR
3475         p_inventory_org_id = FND_API.G_MISS_NUM
3476     THEN
3477 
3478         RETURN TRUE;
3479     END IF;
3480 
3481     --  SELECT  'VALID'
3482     --  INTO     l_dummy
3483     --  FROM     DB_TABLE
3484     --  WHERE    DB_COLUMN = p_inventory_item_id;
3485 
3486 
3487     RETURN TRUE;
3488 
3489 EXCEPTION
3490 
3491     WHEN NO_DATA_FOUND THEN
3492 
3493         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3494         THEN
3495 
3496 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVENTORY_ORG_ID');
3497 
3498             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3499             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3500 				OE_Order_Util.Get_Attribute_Name('inventory_org_id'));
3501             OE_MSG_PUB.Add;
3502 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3503 
3504         END IF;
3505 
3506 
3507         RETURN FALSE;
3508 
3509     WHEN OTHERS THEN
3510 
3511         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3512         THEN
3513             OE_MSG_PUB.Add_Exc_Msg
3514             (   G_PKG_NAME
3515             ,   'inventory_org'
3516             );
3517         END IF;
3518 
3519 
3520         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3521 
3522 END Inventory_Org;
3523 
3524 FUNCTION Ship_To_Org ( p_ship_to_org_id IN NUMBER )
3525 RETURN BOOLEAN
3526 IS
3527 l_dummy                       VARCHAR2(10);
3528 BEGIN
3529 
3530 
3531 -- the validation should be done in record validation.
3532 
3533     -- JAUTOMO: Based on the existing commment above, should
3534     -- we not do the following validation we just added ?
3535 
3536     SELECT 'VALID'
3537     INTO   l_dummy
3538     FROM   oe_ship_to_orgs_v
3539     WHERE  organization_id = p_ship_to_org_id
3540     AND    ROWNUM = 1;
3541 
3542     RETURN TRUE;
3543 
3544 EXCEPTION
3545 
3546     WHEN NO_DATA_FOUND THEN
3547 
3548         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3549         THEN
3550 
3551 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TO_ORG_ID');
3552 
3553             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3554             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3555 				OE_Order_Util.Get_Attribute_Name('ship_to_org_id'));
3556             OE_MSG_PUB.Add;
3557 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3558 
3559         END IF;
3560 
3561 
3562         RETURN FALSE;
3563 
3564     WHEN OTHERS THEN
3565 
3566         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3567         THEN
3568             OE_MSG_PUB.Add_Exc_Msg
3569             (   G_PKG_NAME
3570             ,   'Ship_To_Org'
3571             );
3572         END IF;
3573 
3574 
3575         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3576 
3577 END Ship_To_Org;
3578 
3579 FUNCTION Site_Use ( p_site_use_id IN NUMBER )
3580 RETURN BOOLEAN
3581 IS
3582 l_dummy                       VARCHAR2(10);
3583 BEGIN
3584 
3585 
3586     IF p_site_use_id IS NULL OR
3587         p_site_use_id = FND_API.G_MISS_NUM
3588     THEN
3589 
3590         RETURN TRUE;
3591     END IF;
3592 
3593     --  SELECT  'VALID'
3594     --  INTO     l_dummy
3595     --  FROM     DB_TABLE
3596     --  WHERE    DB_COLUMN = p_inventory_item_id;
3597 
3598 
3599     RETURN TRUE;
3600 
3601 EXCEPTION
3602 
3603     WHEN NO_DATA_FOUND THEN
3604 
3605         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3606         THEN
3607 
3608 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SITE_USE_ID');
3609 
3610             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3611             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3612 				OE_Order_Util.Get_Attribute_Name('site_use_id'));
3613             OE_MSG_PUB.Add;
3614 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3615 
3616         END IF;
3617 
3618 
3619         RETURN FALSE;
3620 
3621     WHEN OTHERS THEN
3622 
3623         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3624         THEN
3625             OE_MSG_PUB.Add_Exc_Msg
3626             (   G_PKG_NAME
3627             ,   'Site_Use'
3628             );
3629         END IF;
3630 
3631 
3632         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3633 
3634 END Site_Use;
3635 
3636 FUNCTION Intermed_Ship_To_Org ( p_intermed_ship_to_org_id IN NUMBER )
3637 RETURN BOOLEAN
3638 IS
3639 l_dummy                       VARCHAR2(10);
3640 BEGIN
3641 
3642 -- the validation should be done in record validation.
3643 
3644 
3645     RETURN TRUE;
3646 
3647 EXCEPTION
3648 
3649     WHEN NO_DATA_FOUND THEN
3650 
3651         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3652         THEN
3653 
3654 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INTERMED_SHIP_TO_ORG_ID');
3655 
3656             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3657             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3658 				OE_Order_Util.Get_Attribute_Name('intermed_ship_to_org_id'));
3659             OE_MSG_PUB.Add;
3660 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3661 
3662         END IF;
3663 
3664 
3665         RETURN FALSE;
3666 
3667     WHEN OTHERS THEN
3668 
3669         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3670         THEN
3671             OE_MSG_PUB.Add_Exc_Msg
3672             (   G_PKG_NAME
3673             ,   'Intermed_Ship_To_Org'
3674             );
3675         END IF;
3676 
3677 
3678         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3679 
3680 END Intermed_Ship_To_Org;
3681 
3682 FUNCTION Invoice_To_Org ( p_invoice_to_org_id IN NUMBER )
3683 RETURN BOOLEAN
3684 IS
3685 l_dummy                       VARCHAR2(10);
3686 BEGIN
3687 
3688 
3689     IF p_invoice_to_org_id IS NULL OR
3690         p_invoice_to_org_id = FND_API.G_MISS_NUM
3691     THEN
3692 
3693         RETURN TRUE;
3694     END IF;
3695 
3696     SELECT  'VALID'
3697     INTO    l_dummy
3698     FROM    OE_INVOICE_TO_ORGS_V   INV
3699     WHERE   INV.ORGANIZATION_ID =p_invoice_to_org_id
3700     AND     ROWNUM = 1;
3701     --
3702     -- Commented out when importing CLOSED orders
3703     --
3704     -- AND     INV.STATUS = 'A'
3705     -- AND     SYSDATE BETWEEN NVL(INV.START_DATE_ACTIVE, SYSDATE)
3706     --                AND     NVL(INV.END_DATE_ACTIVE, SYSDATE);
3707 
3708 
3709     RETURN TRUE;
3710 
3711 EXCEPTION
3712 
3713     WHEN NO_DATA_FOUND THEN
3714 
3715         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3716         THEN
3717 
3718 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_TO_ORG_ID');
3719 
3720             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3721             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3722 				OE_Order_Util.Get_Attribute_Name('invoice_to_org_id'));
3723             OE_MSG_PUB.Add;
3724 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3725 
3726         END IF;
3727 
3728 
3729         RETURN FALSE;
3730 
3731     WHEN OTHERS THEN
3732 
3733         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3734         THEN
3735             OE_MSG_PUB.Add_Exc_Msg
3736             (   G_PKG_NAME
3737             ,   'Invoice_To_Org'
3738             );
3739         END IF;
3740 
3741 
3742         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3743 
3744 END Invoice_To_Org;
3745 
3746 FUNCTION Deliver_To_Org ( p_deliver_to_org_id IN NUMBER )
3747 RETURN BOOLEAN
3748 IS
3749 l_dummy                       VARCHAR2(10);
3750 BEGIN
3751 
3752 
3753     IF p_deliver_to_org_id IS NULL OR
3754         p_deliver_to_org_id = FND_API.G_MISS_NUM
3755     THEN
3756 
3757         RETURN TRUE;
3758     END IF;
3759 
3760     SELECT  'VALID'
3761     INTO    l_dummy
3762     FROM    OE_DELIVER_TO_ORGS_V   DEL
3763     WHERE   DEL.ORGANIZATION_ID =p_deliver_to_org_id
3764     AND     ROWNUM = 1;
3765     --
3766     -- Commented out when importing CLOSED orders
3767     --
3768     -- AND     DEL.STATUS = 'A'
3769     -- AND     SYSDATE BETWEEN NVL(DEL.START_DATE_ACTIVE, SYSDATE)
3770     --                AND     NVL(DEL.END_DATE_ACTIVE, SYSDATE);
3771 
3772 
3773     RETURN TRUE;
3774 
3775 EXCEPTION
3776 
3777     WHEN NO_DATA_FOUND THEN
3778 
3779         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3780         THEN
3781 
3782 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVER_TO_ORG_ID');
3783 
3784             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3785             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3786 				OE_Order_Util.Get_Attribute_Name('deliver_to_org_id'));
3787             OE_MSG_PUB.Add;
3788 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3789 
3790         END IF;
3791 
3792 
3793         RETURN FALSE;
3794 
3795     WHEN OTHERS THEN
3796 
3797         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3798         THEN
3799             OE_MSG_PUB.Add_Exc_Msg
3800             (   G_PKG_NAME
3801             ,   'Deliver_To_Org'
3802             );
3803         END IF;
3804 
3805 
3806         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3807 
3808 END Deliver_To_Org;
3809 
3810 FUNCTION Sold_To_Contact ( p_sold_to_contact_id IN NUMBER )
3811 RETURN BOOLEAN
3812 IS
3813 l_dummy                       VARCHAR2(10);
3814 BEGIN
3815 
3816 
3817     IF p_sold_to_contact_id IS NULL OR
3818         p_sold_to_contact_id = FND_API.G_MISS_NUM
3819     THEN
3820 
3821         RETURN TRUE;
3822     END IF;
3823 
3824     SELECT  'VALID'
3825     INTO    l_dummy
3826     FROM    OE_RA_CONTACTS_V
3827     WHERE   CONTACT_ID = p_sold_to_contact_id
3828     AND     ROWNUM = 1;
3829     --
3830     -- Commented out when importing CLOSED orders
3831     --
3832     --    AND     STATUS = 'A';
3833 
3834 
3835 
3836     RETURN TRUE;
3837 
3838 EXCEPTION
3839 
3840     WHEN NO_DATA_FOUND THEN
3841 
3842         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3843         THEN
3844 
3845 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_CONTACT_ID');
3846 
3847             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3848             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3849 				OE_Order_Util.Get_Attribute_Name('sold_to_contact_id'));
3850             OE_MSG_PUB.Add;
3851 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3852 
3853         END IF;
3854 
3855 
3856         RETURN FALSE;
3857 
3858     WHEN OTHERS THEN
3859 
3860         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3861         THEN
3862             OE_MSG_PUB.Add_Exc_Msg
3863             (   G_PKG_NAME
3864             ,   'Sold_To_Contact'
3865             );
3866         END IF;
3867 
3868 
3869         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3870 
3871 END Sold_To_Contact;
3872 
3873 FUNCTION Ship_To_Contact ( p_ship_to_contact_id IN NUMBER )
3874 RETURN BOOLEAN
3875 IS
3876 l_dummy                       VARCHAR2(10);
3877 BEGIN
3878 
3879 
3880     IF p_ship_to_contact_id IS NULL OR
3881         p_ship_to_contact_id = FND_API.G_MISS_NUM
3882     THEN
3883 
3884         RETURN TRUE;
3885     END IF;
3886 
3887     SELECT  'VALID'
3888     INTO    l_dummy
3889     FROM    OE_RA_CONTACTS_V                CON
3890     ,       OE_RA_CONTACT_ROLES_V           ROL
3891     WHERE   CON.CONTACT_ID = p_ship_to_contact_id
3892     AND     CON.CONTACT_ID = ROL.CONTACT_ID (+)
3893     AND     NVL( ROL.USAGE_CODE,'SHIP_TO')='SHIP_TO'
3894     AND     ROWNUM = 1;
3895 
3896     -- Commented out when importing CLOSED orders
3897     -- AND     CON.STATUS = 'A'
3898 
3899     --  Valid ship to Contact
3900 
3901 
3902 
3903     RETURN TRUE;
3904 
3905 EXCEPTION
3906 
3907     WHEN NO_DATA_FOUND THEN
3908 
3909         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3910         THEN
3911 
3912 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TO_CONTACT_ID');
3913 
3914             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3915             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3916 				OE_Order_Util.Get_Attribute_Name('ship_to_contact_id'));
3917             OE_MSG_PUB.Add;
3918 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3919 
3920         END IF;
3921 
3922 
3923         RETURN FALSE;
3924 
3925     WHEN OTHERS THEN
3926 
3927         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3928         THEN
3929             OE_MSG_PUB.Add_Exc_Msg
3930             (   G_PKG_NAME
3931             ,   'Ship_To_Contact'
3932             );
3933         END IF;
3934 
3935 
3936         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3937 
3938 END Ship_To_Contact;
3939 
3940 FUNCTION Intermed_Ship_To_Contact ( p_intermed_ship_to_contact_id IN NUMBER )
3941 RETURN BOOLEAN
3942 IS
3943 l_dummy                       VARCHAR2(10);
3944 BEGIN
3945 
3946 
3947     IF p_intermed_ship_to_contact_id IS NULL OR
3948         p_intermed_ship_to_contact_id = FND_API.G_MISS_NUM
3949     THEN
3950 
3951         RETURN TRUE;
3952     END IF;
3953 
3954     SELECT  'VALID'
3955     INTO    l_dummy
3956     FROM    OE_RA_CONTACTS_V                CON
3957     ,       OE_RA_CONTACT_ROLES_V           ROL
3958     WHERE   CON.CONTACT_ID = p_intermed_ship_to_contact_id
3959     AND     CON.CONTACT_ID = ROL.CONTACT_ID (+)
3960     AND     NVL( ROL.USAGE_CODE,'SHIP_TO')='SHIP_TO'
3961     AND     ROWNUM = 1;
3962     --
3963     -- Commented out when importing CLOSED orders
3964     -- AND     CON.STATUS = 'A'
3965     --  Valid ship to Contact
3966 
3967 
3968 
3969     RETURN TRUE;
3970 
3971 EXCEPTION
3972 
3973     WHEN NO_DATA_FOUND THEN
3974 
3975         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3976         THEN
3977 
3978 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INTERMED_SHIP_TO_CONTACT_ID');
3979 
3980             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3981             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3982 				OE_Order_Util.Get_Attribute_Name('intermed_ship_to_contact_id'));
3983             OE_MSG_PUB.Add;
3984 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3985 
3986         END IF;
3987 
3988 
3989         RETURN FALSE;
3990 
3991     WHEN OTHERS THEN
3992 
3993         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3994 
3995         THEN
3996             OE_MSG_PUB.Add_Exc_Msg
3997             (   G_PKG_NAME
3998             ,   'Intermed_Ship_To_Contact'
3999             );
4000         END IF;
4001 
4002 
4003         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4004 
4005 END Intermed_Ship_To_Contact;
4006 
4007 FUNCTION Invoice_To_Contact ( p_invoice_to_contact_id IN NUMBER )
4008 RETURN BOOLEAN
4009 IS
4010 l_dummy                       VARCHAR2(10);
4011 BEGIN
4012 
4013 
4014     IF p_invoice_to_contact_id IS NULL OR
4015         p_invoice_to_contact_id = FND_API.G_MISS_NUM
4016     THEN
4017 
4018         RETURN TRUE;
4019     END IF;
4020 
4021     SELECT  'VALID'
4022     INTO    l_dummy
4023     FROM    OE_RA_CONTACTS_V                CON
4024     ,       OE_RA_CONTACT_ROLES_V           ROL
4025     WHERE   CON.CONTACT_ID = p_invoice_to_contact_id
4026     AND     CON.CONTACT_ID = ROL.CONTACT_ID (+)
4027     AND     NVL( ROL.USAGE_CODE,'BILL_TO')='BILL_TO'
4028     AND     ROWNUM = 1;
4029     --
4030     -- Commented out when importing CLOSED orders
4031     --
4032     -- AND     CON.STATUS = 'A'
4033 
4034 
4035     RETURN TRUE;
4036 
4037 EXCEPTION
4038 
4039     WHEN NO_DATA_FOUND THEN
4040 
4041         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4042         THEN
4043 
4044 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_TO_CONTACT_ID');
4045 
4046             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4047             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4048 				OE_Order_Util.Get_Attribute_Name('invoice_to_contact_id'));
4049             OE_MSG_PUB.Add;
4050 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4051 
4052         END IF;
4053 
4054 
4055         RETURN FALSE;
4056 
4057     WHEN OTHERS THEN
4058 
4059         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4060         THEN
4061             OE_MSG_PUB.Add_Exc_Msg
4062             (   G_PKG_NAME
4063             ,   'Invoice_To_Contact'
4064             );
4065         END IF;
4066 
4067 
4068         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4069 
4070 END Invoice_To_Contact;
4071 
4072 FUNCTION Deliver_To_Contact ( p_deliver_to_contact_id IN NUMBER )
4073 RETURN BOOLEAN
4074 IS
4075 l_dummy                       VARCHAR2(10);
4076 BEGIN
4077 
4078     IF p_deliver_to_contact_id IS NULL OR
4079         p_deliver_to_contact_id = FND_API.G_MISS_NUM
4080     THEN
4081 
4082         RETURN TRUE;
4083     END IF;
4084 
4085     SELECT  'VALID'
4086     INTO    l_dummy
4087     FROM    OE_RA_CONTACTS_V                CON
4088     ,       OE_RA_CONTACT_ROLES_V           ROL
4089     WHERE   CON.CONTACT_ID = p_deliver_to_contact_id
4090     AND     CON.CONTACT_ID = ROL.CONTACT_ID (+)
4091     AND     NVL( ROL.USAGE_CODE,'SHIP_TO')='SHIP_TO'
4092     AND     ROWNUM = 1;
4093 
4094     -- Commented out when importing CLOSED orders
4095     -- AND     CON.STATUS = 'A'
4096     --  Valid deliver to Contact
4097 
4098 
4099 
4100     RETURN TRUE;
4101 
4102 EXCEPTION
4103 
4104     WHEN NO_DATA_FOUND THEN
4105 
4106         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4107         THEN
4108 
4109 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVER_TO_CONTACT_ID');
4110 
4111             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4112             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4113 				OE_Order_Util.Get_Attribute_Name('deliver_to_contact_id'));
4114             OE_MSG_PUB.Add;
4115 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4116 
4117         END IF;
4118 
4119 
4120         RETURN FALSE;
4121 
4122     WHEN OTHERS THEN
4123 
4124         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4125         THEN
4126             OE_MSG_PUB.Add_Exc_Msg
4127             (   G_PKG_NAME
4128             ,   'Deliver_To_Contact'
4129             );
4130         END IF;
4131 
4132 
4133         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4134 
4135 END Deliver_To_Contact;
4136 
4137 
4138 
4139 FUNCTION Last_Updated_By ( p_last_updated_by IN NUMBER )
4140 RETURN BOOLEAN
4141 IS
4142 l_dummy                       VARCHAR2(10);
4143 BEGIN
4144 
4145 
4146     IF p_last_updated_by IS NULL OR
4147         p_last_updated_by = FND_API.G_MISS_NUM
4148     THEN
4149 
4150         RETURN TRUE;
4151     END IF;
4152 
4153     --  SELECT  'VALID'
4154     --  INTO     l_dummy
4155     --  FROM     DB_TABLE
4156     --  WHERE    DB_COLUMN = p_last_updated_by;
4157 
4158 
4159     RETURN TRUE;
4160 
4161 EXCEPTION
4162 
4163     WHEN NO_DATA_FOUND THEN
4164 
4165         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4166         THEN
4167 
4168 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATED_BY');
4169 
4170             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4171             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4172 				OE_Order_Util.Get_Attribute_Name('last_updated_by'));
4173             OE_MSG_PUB.Add;
4174 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4175 
4176         END IF;
4177 
4178 
4179         RETURN FALSE;
4180 
4181     WHEN OTHERS THEN
4182 
4183         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4184         THEN
4185             OE_MSG_PUB.Add_Exc_Msg
4186             (   G_PKG_NAME
4187             ,   'Last_Updated_By'
4188             );
4189         END IF;
4190 
4191 
4192         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4193 
4194 END Last_Updated_By;
4195 
4196 FUNCTION Last_Update_Date ( p_last_update_date IN DATE )
4197 RETURN BOOLEAN
4198 IS
4199 l_dummy                       VARCHAR2(10);
4200 BEGIN
4201 
4202 
4203     IF p_last_update_date IS NULL OR
4204         p_last_update_date = FND_API.G_MISS_DATE
4205     THEN
4206 
4207         RETURN TRUE;
4208     END IF;
4209 
4210     --  SELECT  'VALID'
4211     --  INTO     l_dummy
4212     --  FROM     DB_TABLE
4213     --  WHERE    DB_COLUMN = p_last_update_date;
4214 
4215 
4216     RETURN TRUE;
4217 
4218 EXCEPTION
4219 
4220     WHEN NO_DATA_FOUND THEN
4221 
4222         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4223         THEN
4224 
4225 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATE_DATE');
4226 
4227             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4228             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4229 				OE_Order_Util.Get_Attribute_Name('last_update_date'));
4230             OE_MSG_PUB.Add;
4231 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4232 
4233         END IF;
4234 
4235 
4236         RETURN FALSE;
4237 
4238     WHEN OTHERS THEN
4239 
4240         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4241         THEN
4242             OE_MSG_PUB.Add_Exc_Msg
4243             (   G_PKG_NAME
4244             ,   'Last_Update_Date'
4245             );
4246         END IF;
4247 
4248 
4249         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4250 
4251 END Last_Update_Date;
4252 
4253 FUNCTION Last_Update_Login ( p_last_update_login IN NUMBER )
4254 RETURN BOOLEAN
4255 IS
4256 l_dummy                       VARCHAR2(10);
4257 BEGIN
4258 
4259 
4260     IF p_last_update_login IS NULL OR
4261         p_last_update_login = FND_API.G_MISS_NUM
4262     THEN
4263 
4264         RETURN TRUE;
4265     END IF;
4266 
4267     --  SELECT  'VALID'
4268     --  INTO     l_dummy
4269     --  FROM     DB_TABLE
4270     --  WHERE    DB_COLUMN = p_last_update_login;
4271 
4272 
4273     RETURN TRUE;
4274 
4275 EXCEPTION
4276 
4277     WHEN NO_DATA_FOUND THEN
4278 
4279         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4280         THEN
4281 
4282 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATE_LOGIN');
4283 
4284             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4285             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4286 				OE_Order_Util.Get_Attribute_Name('last_update_login'));
4287             OE_MSG_PUB.Add;
4288 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4289 
4290         END IF;
4291 
4292 
4293         RETURN FALSE;
4294 
4295     WHEN OTHERS THEN
4296 
4297         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4298         THEN
4299             OE_MSG_PUB.Add_Exc_Msg
4300             (   G_PKG_NAME
4301             ,   'Last_Update_Login'
4302             );
4303         END IF;
4304 
4305 
4306         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4307 
4308 END Last_Update_Login;
4309 
4310 FUNCTION Program_Application ( p_program_application_id IN NUMBER )
4311 RETURN BOOLEAN
4312 IS
4313 l_dummy                       VARCHAR2(10);
4314 BEGIN
4315 
4316 
4317     IF p_program_application_id IS NULL OR
4318         p_program_application_id = FND_API.G_MISS_NUM
4319     THEN
4320 
4321         RETURN TRUE;
4322     END IF;
4323 
4324     --  SELECT  'VALID'
4325     --  INTO     l_dummy
4326     --  FROM     DB_TABLE
4327     --  WHERE    DB_COLUMN = p_program_application_id;
4328 
4329 
4330     RETURN TRUE;
4331 
4332 EXCEPTION
4333 
4334     WHEN NO_DATA_FOUND THEN
4335 
4336         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4337         THEN
4338 
4339 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_APPLICATION_ID');
4340 
4341             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4342             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4343 				OE_Order_Util.Get_Attribute_Name('program_application_id'));
4344             OE_MSG_PUB.Add;
4345 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4346 
4347         END IF;
4348 
4349 
4350         RETURN FALSE;
4351 
4352     WHEN OTHERS THEN
4353 
4354         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4355         THEN
4356             OE_MSG_PUB.Add_Exc_Msg
4357             (   G_PKG_NAME
4358             ,   'Program_Application'
4359             );
4360         END IF;
4361 
4362 
4363         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4364 
4365 END Program_Application;
4366 
4367 FUNCTION Program ( p_program_id IN NUMBER )
4368 RETURN BOOLEAN
4369 IS
4370 l_dummy                       VARCHAR2(10);
4371 BEGIN
4372 
4373 
4374     IF p_program_id IS NULL OR
4375         p_program_id = FND_API.G_MISS_NUM
4376     THEN
4377 
4378         RETURN TRUE;
4379     END IF;
4380 
4381     --  SELECT  'VALID'
4382     --  INTO     l_dummy
4383     --  FROM     DB_TABLE
4384     --  WHERE    DB_COLUMN = p_program_id;
4385 
4386 
4387     RETURN TRUE;
4388 
4389 EXCEPTION
4390 
4391     WHEN NO_DATA_FOUND THEN
4392 
4393         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4394         THEN
4395 
4396 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_ID');
4397 
4398             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4399             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4400 				OE_Order_Util.Get_Attribute_Name('program_id'));
4401             OE_MSG_PUB.Add;
4402 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4403 
4404         END IF;
4405 
4406 
4407         RETURN FALSE;
4408 
4409     WHEN OTHERS THEN
4410 
4411         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4412         THEN
4413             OE_MSG_PUB.Add_Exc_Msg
4414             (   G_PKG_NAME
4415             ,   'Program'
4416             );
4417         END IF;
4418 
4419 
4420         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4421 
4422 END Program;
4423 
4424 FUNCTION Program_Update_Date ( p_program_update_date IN DATE )
4425 RETURN BOOLEAN
4426 IS
4427 l_dummy                       VARCHAR2(10);
4428 BEGIN
4429 
4430 
4431     IF p_program_update_date IS NULL OR
4432         p_program_update_date = FND_API.G_MISS_DATE
4433     THEN
4434 
4435         RETURN TRUE;
4436     END IF;
4437 
4438     --  SELECT  'VALID'
4439     --  INTO     l_dummy
4440     --  FROM     DB_TABLE
4441     --  WHERE    DB_COLUMN = p_program_update_date;
4442 
4443 
4444     RETURN TRUE;
4445 
4446 EXCEPTION
4447 
4448     WHEN NO_DATA_FOUND THEN
4449 
4450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4451         THEN
4452 
4453 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_UPDATE_DATE');
4454 
4455             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4456             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4457 				OE_Order_Util.Get_Attribute_Name('program_update_date'));
4458             OE_MSG_PUB.Add;
4459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4460 
4461         END IF;
4462 
4463 
4464         RETURN FALSE;
4465 
4466     WHEN OTHERS THEN
4467 
4468         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4469         THEN
4470             OE_MSG_PUB.Add_Exc_Msg
4471             (   G_PKG_NAME
4472             ,   'Program_Update_Date'
4473             );
4474         END IF;
4475 
4476 
4477         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4478 
4479 END Program_Update_Date;
4480 
4481 FUNCTION Request ( p_request_id IN NUMBER )
4482 RETURN BOOLEAN
4483 IS
4484 l_dummy                       VARCHAR2(10);
4485 BEGIN
4486 
4487 
4488     IF p_request_id IS NULL OR
4489         p_request_id = FND_API.G_MISS_NUM
4490     THEN
4491 
4492         RETURN TRUE;
4493     END IF;
4494 
4495     --  SELECT  'VALID'
4496     --  INTO     l_dummy
4497     --  FROM     DB_TABLE
4498     --  WHERE    DB_COLUMN = p_request_id;
4499 
4500 
4501     RETURN TRUE;
4502 
4503 EXCEPTION
4504 
4505     WHEN NO_DATA_FOUND THEN
4506 
4507         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4508         THEN
4509 
4510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_ID');
4511 
4512             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4513             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4514 				OE_Order_Util.Get_Attribute_Name('request_id'));
4515             OE_MSG_PUB.Add;
4516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4517 
4518         END IF;
4519 
4520 
4521         RETURN FALSE;
4522 
4523     WHEN OTHERS THEN
4524 
4525         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4526         THEN
4527             OE_MSG_PUB.Add_Exc_Msg
4528             (   G_PKG_NAME
4529             ,   'Request'
4530             );
4531         END IF;
4532 
4533 
4534         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4535 
4536 END Request;
4537 
4538 FUNCTION Global_Attribute1 ( p_global_attribute1 IN VARCHAR2 )
4539 RETURN BOOLEAN
4540 IS
4541 l_dummy                       VARCHAR2(10);
4542 BEGIN
4543 
4544 
4545     IF p_global_attribute1 IS NULL OR
4546         p_global_attribute1 = FND_API.G_MISS_CHAR
4547     THEN
4548 
4549         RETURN TRUE;
4550     END IF;
4551 
4552     --  SELECT  'VALID'
4553     --  INTO     l_dummy
4554     --  FROM     DB_TABLE
4555     --  WHERE    DB_COLUMN = p_global_attribute1;
4556 
4557 
4558     RETURN TRUE;
4559 
4560 EXCEPTION
4561 
4562     WHEN NO_DATA_FOUND THEN
4563 
4564         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4565         THEN
4566 
4567 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE1');
4568 
4569             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4570             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4571 				OE_Order_Util.Get_Attribute_Name('global_attribute1'));
4572             OE_MSG_PUB.Add;
4573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4574 
4575         END IF;
4576 
4577 
4578         RETURN FALSE;
4579 
4580     WHEN OTHERS THEN
4581 
4582         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4583         THEN
4584             OE_MSG_PUB.Add_Exc_Msg
4585             (   G_PKG_NAME
4586             ,   'Global_Attribute1'
4587             );
4588         END IF;
4589 
4590 
4591         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4592 
4593 END Global_Attribute1;
4594 
4595 
4596 FUNCTION Price_Adjustment ( p_price_adjustment_id IN NUMBER )
4597 RETURN BOOLEAN
4598 IS
4599 l_dummy                       VARCHAR2(10);
4600 BEGIN
4601 
4602 
4603     IF p_price_adjustment_id IS NULL OR
4604         p_price_adjustment_id = FND_API.G_MISS_NUM
4605     THEN
4606 
4607         RETURN TRUE;
4608     END IF;
4609 
4610     --  SELECT  'VALID'
4611     --  INTO     l_dummy
4612     --  FROM     DB_TABLE
4613     --  WHERE    DB_COLUMN = p_price_adjustment_id;
4614 
4615 
4616     RETURN TRUE;
4617 
4618 EXCEPTION
4619 
4620     WHEN NO_DATA_FOUND THEN
4621 
4622         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4623         THEN
4624 
4625 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_ADJUSTMENT_ID');
4626 
4627             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4628             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4629 				OE_Order_Util.Get_Attribute_Name('price_adjustment_id'));
4630             OE_MSG_PUB.Add;
4631 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4632 
4633         END IF;
4634 
4635 
4636         RETURN FALSE;
4637 
4638     WHEN OTHERS THEN
4639 
4640         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4641         THEN
4642             OE_MSG_PUB.Add_Exc_Msg
4643             (   G_PKG_NAME
4644             ,   'Price_Adjustment'
4645             );
4646         END IF;
4647 
4648 
4649         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4650 
4651 END Price_Adjustment;
4652 
4653 FUNCTION Discount ( p_discount_id IN NUMBER )
4654 RETURN BOOLEAN
4655 IS
4656 l_dummy                       VARCHAR2(10);
4657 BEGIN
4658 
4659 
4660     IF p_discount_id IS NULL OR
4661         p_discount_id = FND_API.G_MISS_NUM
4662     THEN
4663 
4664         RETURN TRUE;
4665     END IF;
4666 
4667     --  SELECT  'VALID'
4668     --  INTO     l_dummy
4669     --  FROM     DB_TABLE
4670     --  WHERE    DB_COLUMN = p_discount_id;
4671 
4672 
4673     RETURN TRUE;
4674 
4675 EXCEPTION
4676 
4677     WHEN NO_DATA_FOUND THEN
4678 
4679         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4680         THEN
4681 
4682 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DISCOUNT_ID');
4683 
4684             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4685             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4686 				OE_Order_Util.Get_Attribute_Name('discount_id'));
4687             OE_MSG_PUB.Add;
4688 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4689 
4690         END IF;
4691 
4692 
4693         RETURN FALSE;
4694 
4695     WHEN OTHERS THEN
4696 
4697         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4698         THEN
4699             OE_MSG_PUB.Add_Exc_Msg
4700             (   G_PKG_NAME
4701             ,   'Discount'
4702             );
4703         END IF;
4704 
4705 
4706         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4707 
4708 END Discount;
4709 
4710 FUNCTION Discount_Line ( p_discount_line_id IN NUMBER )
4711 RETURN BOOLEAN
4712 IS
4713 l_dummy                       VARCHAR2(10);
4714 BEGIN
4715 
4716 
4717     IF p_discount_line_id <> -1 OR
4718         p_discount_line_id = FND_API.G_MISS_NUM
4719     THEN
4720 
4721         RETURN TRUE;
4722     END IF;
4723 
4724 
4725     --  SELECT  'VALID'
4726     --  INTO     l_dummy
4727     --  FROM     DB_TABLE
4728     --  WHERE    DB_COLUMN = p_discount_line_id;
4729 
4730 
4731     RETURN TRUE;
4732 
4733 EXCEPTION
4734 
4735     WHEN NO_DATA_FOUND THEN
4736 
4737         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4738         THEN
4739 
4740 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DISCOUNT_LINE_ID');
4741 
4742             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4743             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4744 				OE_Order_Util.Get_Attribute_Name('discount_line_id'));
4745             OE_MSG_PUB.Add;
4746 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4747 
4748         END IF;
4749 
4750 
4751         RETURN FALSE;
4752 
4753     WHEN OTHERS THEN
4754 
4755         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4756         THEN
4757             OE_MSG_PUB.Add_Exc_Msg
4758             (   G_PKG_NAME
4759             ,   'Discount_Line'
4760             );
4761         END IF;
4762 
4763 
4764         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4765 
4766 END Discount_Line;
4767 
4768 FUNCTION Automatic ( p_automatic_flag IN VARCHAR2 )
4769 RETURN BOOLEAN
4770 IS
4771 l_dummy                       VARCHAR2(10);
4772 BEGIN
4773 
4774 
4775     IF p_automatic_flag IS NULL OR
4776         p_automatic_flag = FND_API.G_MISS_CHAR
4777     THEN
4778 
4779         RETURN TRUE;
4780     END IF;
4781 
4782     --  SELECT  'VALID'
4783     --  INTO     l_dummy
4784     --  FROM     DB_TABLE
4785     --  WHERE    DB_COLUMN = p_automatic_flag;
4786 
4787 
4788     RETURN TRUE;
4789 
4790 EXCEPTION
4791 
4792     WHEN NO_DATA_FOUND THEN
4793 
4794         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4795         THEN
4796 
4797 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTOMATIC_FLAG');
4798 
4799             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4800             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4801 				OE_Order_Util.Get_Attribute_Name('automatic_flag'));
4802             OE_MSG_PUB.Add;
4803 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4804 
4805         END IF;
4806 
4807 
4808         RETURN FALSE;
4809 
4810     WHEN OTHERS THEN
4811 
4812         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4813         THEN
4814             OE_MSG_PUB.Add_Exc_Msg
4815             (   G_PKG_NAME
4816             ,   'Automatic'
4817             );
4818         END IF;
4819 
4820 
4821         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4822 
4823 END Automatic;
4824 
4825 FUNCTION Percent ( p_percent IN NUMBER )
4826 RETURN BOOLEAN
4827 IS
4828 l_dummy                       VARCHAR2(10);
4829 BEGIN
4830 
4831 
4832    -- All attribute validation being turned on
4833 --   IF p_percent IS NULL OR
4834 --     p_percent = FND_API.g_miss_num
4835 --     THEN
4836 --      RETURN TRUE;
4837 --    ELSIF p_percent = 0
4838 --      THEN
4839 --      RETURN FALSE;
4840 --   END IF;
4841 
4842 
4843    RETURN TRUE;
4844 
4845 /*
4846     IF p_percent IS NULL OR
4847         p_percent = FND_API.G_MISS_NUM
4848     THEN
4849         RETURN TRUE;
4850     END IF;
4851 
4852     --  SELECT  'VALID'
4853     --  INTO     l_dummy
4854     --  FROM     DB_TABLE
4855     --  WHERE    DB_COLUMN = p_percent;
4856 
4857     RETURN TRUE;
4858 */
4859 EXCEPTION
4860 
4861     WHEN NO_DATA_FOUND THEN
4862 
4863         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4864         THEN
4865 
4866 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PERCENT');
4867 
4868             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4869             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4870 				OE_Order_Util.Get_Attribute_Name('percent'));
4871             OE_MSG_PUB.Add;
4872 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4873 
4874         END IF;
4875 
4876 
4877         RETURN FALSE;
4878 
4879     WHEN OTHERS THEN
4880 
4881         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4882         THEN
4883             OE_MSG_PUB.Add_Exc_Msg
4884             (   G_PKG_NAME
4885             ,   'Percent'
4886             );
4887         END IF;
4888 
4889 
4890         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4891 
4892 END Percent;
4893 
4894 FUNCTION Line ( p_line_id IN NUMBER )
4895 RETURN BOOLEAN
4896 IS
4897 l_dummy                       VARCHAR2(10);
4898 BEGIN
4899 
4900 
4901     IF p_line_id IS NULL OR
4902         p_line_id = FND_API.G_MISS_NUM
4903     THEN
4904 
4905         RETURN TRUE;
4906     END IF;
4907 
4908     --  SELECT  'VALID'
4909     --  INTO     l_dummy
4910     --  FROM     DB_TABLE
4911     --  WHERE    DB_COLUMN = p_line_id;
4912 
4913 
4914     RETURN TRUE;
4915 
4916 EXCEPTION
4917 
4918     WHEN NO_DATA_FOUND THEN
4919 
4920         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4921         THEN
4922 
4923 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_ID');
4924 
4925             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4926             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4927 				OE_Order_Util.Get_Attribute_Name('line_id'));
4928             OE_MSG_PUB.Add;
4929 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4930 
4931         END IF;
4932 
4933 
4934         RETURN FALSE;
4935 
4936     WHEN OTHERS THEN
4937 
4938         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4939         THEN
4940             OE_MSG_PUB.Add_Exc_Msg
4941             (   G_PKG_NAME
4942             ,   'Line'
4943             );
4944         END IF;
4945 
4946 
4947         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4948 
4949 END Line;
4950 
4951 
4952 FUNCTION Applied_Flag ( p_Applied_Flag IN VARCHAR2 )
4953 RETURN BOOLEAN
4954 IS
4955 l_dummy                       VARCHAR2(10);
4956 BEGIN
4957 
4958 
4959     IF p_Applied_Flag IS NULL OR
4960         p_Applied_Flag = FND_API.G_MISS_NUM
4961     THEN
4962 
4963         RETURN TRUE;
4964     END IF;
4965 
4966 	   if p_applied_flag not in ('Y','N') then
4967 
4968         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4969         THEN
4970 
4971 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPLIED_FLAG');
4972 
4973             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4974             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4975 				OE_Order_Util.Get_Attribute_Name('Applied_Flag'));
4976             OE_MSG_PUB.Add;
4977 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4978 
4979         END IF;
4980         RETURN FALSE;
4981      End if;
4982 
4983         RETURN TRUE;
4984 
4985 EXCEPTION
4986 
4987     WHEN NO_DATA_FOUND THEN
4988 
4989         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4990         THEN
4991 
4992 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPLIED_FLAG');
4993 
4994             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4995             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4996 				OE_Order_Util.Get_Attribute_Name('Applied_Flag'));
4997             OE_MSG_PUB.Add;
4998 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4999 
5000         END IF;
5001 
5002 
5003         RETURN FALSE;
5004 
5005     WHEN OTHERS THEN
5006 
5007         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5008         THEN
5009             OE_MSG_PUB.Add_Exc_Msg
5010             (   G_PKG_NAME
5011             ,   'Applied_Flag'
5012             );
5013         END IF;
5014 
5015 
5016         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5017 
5018 END Applied_Flag;
5019 
5020 
5021 
5022 FUNCTION Change_Reason_Code(p_Change_Reason_Code IN VARCHAR2)
5023 RETURN BOOLEAN
5024 IS
5025 l_dummy                       VARCHAR2(10);
5026 BEGIN
5027 
5028 
5029     IF p_Change_Reason_Code IS NULL OR
5030         p_Change_Reason_Code = FND_API.G_MISS_NUM
5031     THEN
5032 
5033         RETURN TRUE;
5034     END IF;
5035 
5036 
5037     RETURN TRUE;
5038 
5039 EXCEPTION
5040 
5041     WHEN NO_DATA_FOUND THEN
5042 
5043         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5044         THEN
5045 
5046 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHANGE_REASON_CODE');
5047 
5048             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5049             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5050 				OE_Order_Util.Get_Attribute_Name('Change_Reason_Code'));
5051             OE_MSG_PUB.Add;
5052 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5053 
5054         END IF;
5055 
5056 
5057         RETURN FALSE;
5058 
5059     WHEN OTHERS THEN
5060 
5061         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5062         THEN
5063             OE_MSG_PUB.Add_Exc_Msg
5064             (   G_PKG_NAME
5065             ,   'Change_Reason_Code'
5066             );
5067         END IF;
5068 
5069 
5070         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5071 
5072 END Change_Reason_Code;
5073 
5074 
5075 FUNCTION Change_Reason_Text(p_Change_Reason_Text IN VARCHAR2)
5076 RETURN BOOLEAN
5077 IS
5078 l_dummy                       VARCHAR2(10);
5079 BEGIN
5080 
5081 
5082     IF p_Change_Reason_Text IS NULL OR
5083         p_Change_Reason_Text = FND_API.G_MISS_NUM
5084     THEN
5085 
5086         RETURN TRUE;
5087     END IF;
5088 
5089 
5090     RETURN TRUE;
5091 
5092 EXCEPTION
5093 
5094     WHEN NO_DATA_FOUND THEN
5095 
5096         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5097         THEN
5098 
5099 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHANGE_REASON_TEXT');
5100 
5101             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5102             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5103 				OE_Order_Util.Get_Attribute_Name('Change_Reason_Text'));
5104             OE_MSG_PUB.Add;
5105 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5106 
5107         END IF;
5108 
5109 
5110         RETURN FALSE;
5111 
5112     WHEN OTHERS THEN
5113 
5114         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5115         THEN
5116             OE_MSG_PUB.Add_Exc_Msg
5117             (   G_PKG_NAME
5118             ,   'Change_Reason_Text'
5119             );
5120         END IF;
5121 
5122 
5123         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5124 
5125 END Change_Reason_Text;
5126 
5127 
5128 FUNCTION List_Header_id(p_List_Header_id IN NUMBER)
5129 RETURN BOOLEAN
5130 IS
5131 l_dummy                       VARCHAR2(10);
5132 BEGIN
5133 
5134 
5135     IF p_List_Header_id IS NULL OR
5136         p_List_Header_id = FND_API.G_MISS_NUM
5137     THEN
5138 
5139         RETURN TRUE;
5140     END IF;
5141 
5142     --  SELECT  'VALID'
5143     --  INTO     l_dummy
5144     --  FROM     DB_TABLE
5145     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5146 
5147 
5148     RETURN TRUE;
5149 
5150 EXCEPTION
5151 
5152     WHEN NO_DATA_FOUND THEN
5153 
5154         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5155         THEN
5156 
5157 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_HEADER_ID');
5158 
5159             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5160             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5161 				OE_Order_Util.Get_Attribute_Name('List_Header_id'));
5162             OE_MSG_PUB.Add;
5163 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5164 
5165         END IF;
5166 
5167 
5168         RETURN FALSE;
5169 
5170     WHEN OTHERS THEN
5171 
5172         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5173         THEN
5174             OE_MSG_PUB.Add_Exc_Msg
5175             (   G_PKG_NAME
5176             ,   'List_Header_id'
5177             );
5178         END IF;
5179 
5180 
5181         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5182 
5183 END List_Header_id;
5184 
5185 
5186 FUNCTION List_Line_id(p_List_Line_id IN NUMBER)
5187 RETURN BOOLEAN
5188 IS
5189 l_dummy                       VARCHAR2(10);
5190 BEGIN
5191 
5192 
5193     IF p_List_Line_id IS NULL OR
5194         p_List_Line_id = FND_API.G_MISS_NUM
5195     THEN
5196 
5197         RETURN TRUE;
5198     END IF;
5199 
5200     --  SELECT  'VALID'
5201     --  INTO     l_dummy
5202     --  FROM     DB_TABLE
5203     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5204 
5205 
5206     RETURN TRUE;
5207 
5208 EXCEPTION
5209 
5210     WHEN NO_DATA_FOUND THEN
5211 
5212         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5213         THEN
5214 
5215 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_LINE_ID');
5216 
5217             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5218             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5219 				OE_Order_Util.Get_Attribute_Name('List_Line_id'));
5220             OE_MSG_PUB.Add;
5221 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5222 
5223         END IF;
5224 
5225 
5226         RETURN FALSE;
5227 
5228     WHEN OTHERS THEN
5229 
5230         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5231         THEN
5232             OE_MSG_PUB.Add_Exc_Msg
5233             (   G_PKG_NAME
5234             ,   'List_Line_id'
5235             );
5236         END IF;
5237 
5238         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5239 
5240 END List_Line_id;
5241 
5242 
5243 FUNCTION  List_Line_Type_code(p_List_Line_Type_code IN VARCHAR2)
5244 RETURN BOOLEAN
5245 IS
5246 l_dummy                       VARCHAR2(10);
5247 BEGIN
5248 
5249 
5250     IF p_List_Line_Type_code IS NULL OR
5251         p_List_Line_Type_code = FND_API.G_MISS_NUM
5252     THEN
5253 
5254         RETURN TRUE;
5255     END IF;
5256 
5257     --  SELECT  'VALID'
5258     --  INTO     l_dummy
5259     --  FROM     DB_TABLE
5260     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5261 
5262 
5263     RETURN TRUE;
5264 
5265 EXCEPTION
5266 
5267     WHEN NO_DATA_FOUND THEN
5268 
5269         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5270         THEN
5271 
5272 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_LINE_TYPE_CODE');
5273 
5274             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5275             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5276 				OE_Order_Util.Get_Attribute_Name('List_Line_Type_code'));
5277             OE_MSG_PUB.Add;
5278 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5279 
5280         END IF;
5281 
5282 
5283         RETURN FALSE;
5284 
5285     WHEN OTHERS THEN
5286 
5287         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5288         THEN
5289             OE_MSG_PUB.Add_Exc_Msg
5290             (   G_PKG_NAME
5291             ,   'List_Line_Type_code'
5292             );
5293         END IF;
5294 
5295 
5296         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5297 
5298 END List_Line_Type_code;
5299 
5300 
5301 FUNCTION Modified_From(p_Modified_From IN VARCHAR2)
5302 RETURN BOOLEAN
5303 IS
5304 l_dummy                       VARCHAR2(10);
5305 BEGIN
5306 
5307 
5308     IF p_Modified_From IS NULL OR
5309         p_Modified_From = FND_API.G_MISS_CHAR
5310     THEN
5311 
5312         RETURN TRUE;
5313     END IF;
5314 
5315     --  SELECT  'VALID'
5316     --  INTO     l_dummy
5317     --  FROM     DB_TABLE
5318     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5319 
5320 
5321     RETURN TRUE;
5322 
5323 EXCEPTION
5324 
5325     WHEN NO_DATA_FOUND THEN
5326 
5327         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5328         THEN
5329 
5330 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIED_FROM');
5331 
5332             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5333             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5334 				OE_Order_Util.Get_Attribute_Name('Modified_From'));
5335             OE_MSG_PUB.Add;
5336 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5337 
5338         END IF;
5339 
5340 
5341         RETURN FALSE;
5342 
5343     WHEN OTHERS THEN
5344 
5345         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5346         THEN
5347             OE_MSG_PUB.Add_Exc_Msg
5348             (   G_PKG_NAME
5349             ,   'Modified_From'
5350             );
5351         END IF;
5352 
5353 
5354         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5355 
5356 END Modified_From;
5357 
5358 FUNCTION Modified_To(p_Modified_To IN VARCHAR2)
5359 RETURN BOOLEAN
5360 IS
5361 l_dummy                       VARCHAR2(10);
5362 BEGIN
5363 
5364 
5365     IF p_Modified_To IS NULL OR
5366         p_Modified_To = FND_API.G_MISS_CHAR
5367     THEN
5368 
5369         RETURN TRUE;
5370     END IF;
5371 
5372     --  SELECT  'VALID'
5373     --  INTO     l_dummy
5374     --  FROM     DB_TABLE
5375     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5376 
5377 
5378     RETURN TRUE;
5379 
5380 EXCEPTION
5381 
5382     WHEN NO_DATA_FOUND THEN
5383 
5384         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5385         THEN
5386 
5387 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIED_TO');
5388 
5389             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5390             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5391 				OE_Order_Util.Get_Attribute_Name('Modified_To'));
5392             OE_MSG_PUB.Add;
5393 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5394 
5395         END IF;
5396 
5397 
5398         RETURN FALSE;
5399 
5400     WHEN OTHERS THEN
5401 
5402         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5403         THEN
5404             OE_MSG_PUB.Add_Exc_Msg
5405             (   G_PKG_NAME
5406             ,   'Modified_To'
5407             );
5408         END IF;
5409 
5410 
5411         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5412 
5413 END Modified_To;
5414 
5415 
5416 FUNCTION  Modifier_mechanism_type_code(p_Modifier_mechanism_type_code IN VARCHAR2)
5417 RETURN BOOLEAN
5418 IS
5419 l_dummy                       VARCHAR2(10);
5420 BEGIN
5421 
5422 
5423     IF p_Modifier_mechanism_type_code IS NULL OR
5424         p_Modifier_mechanism_type_code = FND_API.G_MISS_NUM
5425     THEN
5426 
5427         RETURN TRUE;
5428     END IF;
5429 
5430     --  SELECT  'VALID'
5431     --  INTO     l_dummy
5432     --  FROM     DB_TABLE
5433     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5434 
5435 
5436     RETURN TRUE;
5437 
5438 EXCEPTION
5439 
5440     WHEN NO_DATA_FOUND THEN
5441 
5442         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5443         THEN
5444 
5445 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIER_MECHANISM_TYPE_CODE');
5446 
5447             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5448             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5449 				OE_Order_Util.Get_Attribute_Name('Modifier_mechanism_type_code'));
5450             OE_MSG_PUB.Add;
5451 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5452 
5453         END IF;
5454 
5455 
5456         RETURN FALSE;
5457 
5458     WHEN OTHERS THEN
5459 
5460         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5461         THEN
5462             OE_MSG_PUB.Add_Exc_Msg
5463             (   G_PKG_NAME
5464             ,   'Modifier_mechanism_type_code'
5465             );
5466         END IF;
5467 
5468 
5469         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5470 
5471 END Modifier_mechanism_type_code;
5472 
5473 
5474 
5475 FUNCTION Updated_Flag(p_Updated_Flag IN VARCHAR2)
5476 RETURN BOOLEAN
5477 IS
5478 l_dummy                       VARCHAR2(10);
5479 BEGIN
5480 
5481 
5482     IF p_Updated_Flag IS NULL OR
5483         p_Updated_Flag = FND_API.G_MISS_NUM
5484     THEN
5485 
5486         RETURN TRUE;
5487     END IF;
5488 
5489     --  SELECT  'VALID'
5490     --  INTO     l_dummy
5491     --  FROM     DB_TABLE
5492     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5493 
5494 
5495     RETURN TRUE;
5496 
5497 EXCEPTION
5498 
5499     WHEN NO_DATA_FOUND THEN
5500 
5501         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5502         THEN
5503 
5504 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UPDATED_FLAG');
5505 
5506             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5507             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5508 				OE_Order_Util.Get_Attribute_Name('Updated_Flag'));
5509             OE_MSG_PUB.Add;
5510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5511 
5512         END IF;
5513 
5514 
5515         RETURN FALSE;
5516 
5517     WHEN OTHERS THEN
5518 
5519         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5520         THEN
5521             OE_MSG_PUB.Add_Exc_Msg
5522             (   G_PKG_NAME
5523             ,   'Updated_Flag'
5524             );
5525         END IF;
5526 
5527 
5528         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5529 
5530 END Updated_Flag;
5531 
5532 
5533 FUNCTION Update_Allowed(p_Update_Allowed IN VARCHAR2)
5534 RETURN BOOLEAN
5535 IS
5536 l_dummy                       VARCHAR2(10);
5537 BEGIN
5538 
5539 
5540     IF p_Update_Allowed IS NULL OR
5541         p_Update_Allowed = FND_API.G_MISS_NUM
5542     THEN
5543 
5544         RETURN TRUE;
5545     END IF;
5546 
5547     --  SELECT  'VALID'
5548     --  INTO     l_dummy
5549     --  FROM     DB_TABLE
5550     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5551 
5552 
5553     RETURN TRUE;
5554 
5555 EXCEPTION
5556 
5557     WHEN NO_DATA_FOUND THEN
5558 
5559         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5560         THEN
5561 
5562 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UPDATE_ALLOWED');
5563 
5564             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5565             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5566 				OE_Order_Util.Get_Attribute_Name('Update_Allowed'));
5567             OE_MSG_PUB.Add;
5568 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5569 
5570         END IF;
5571 
5572 
5573         RETURN FALSE;
5574 
5575     WHEN OTHERS THEN
5576 
5577         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5578         THEN
5579             OE_MSG_PUB.Add_Exc_Msg
5580             (   G_PKG_NAME
5581             ,   'Update_Allowed'
5582             );
5583         END IF;
5584 
5585 
5586         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5587 
5588 END Update_Allowed;
5589 
5590 FUNCTION Sales_Credit ( p_sales_credit_id IN NUMBER )
5591 RETURN BOOLEAN
5592 IS
5593 l_dummy                       VARCHAR2(10);
5594 BEGIN
5595 
5596 
5597     IF p_sales_credit_id IS NULL OR
5598         p_sales_credit_id = FND_API.G_MISS_NUM
5599     THEN
5600 
5601         RETURN TRUE;
5602     END IF;
5603 
5604     --  SELECT  'VALID'
5605     --  INTO     l_dummy
5606     --  FROM     DB_TABLE
5607     --  WHERE    DB_COLUMN = p_sales_credit_id;
5608 
5609 
5610     RETURN TRUE;
5611 
5612 EXCEPTION
5613 
5614     WHEN NO_DATA_FOUND THEN
5615 
5616         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5617         THEN
5618 
5619 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALES_CREDIT_ID');
5620 
5621             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5622             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5623 				OE_Order_Util.Get_Attribute_Name('sales_credit_id'));
5624             OE_MSG_PUB.Add;
5625 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5626 
5627         END IF;
5628 
5629 
5630         RETURN FALSE;
5631 
5632     WHEN OTHERS THEN
5633 
5634         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5635         THEN
5636             OE_MSG_PUB.Add_Exc_Msg
5637             (   G_PKG_NAME
5638             ,   'Sales_Credit'
5639             );
5640         END IF;
5641 
5642 
5643         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5644 
5645 END Sales_Credit;
5646 
5647 FUNCTION Sales_credit_type ( p_Sales_credit_type_id IN NUMBER )
5648 RETURN BOOLEAN
5649 IS
5650 l_dummy                       VARCHAR2(10);
5651 cursor c_Sales_credit_type( p_Sales_credit_type_id IN number) is
5652        select 'VALID'
5653        from oe_sales_credit_types
5654        where Sales_credit_type_id = p_Sales_credit_type_id;
5655 BEGIN
5656 
5657 
5658     IF p_Sales_credit_type_id IS NULL OR
5659         p_Sales_credit_type_id = FND_API.G_MISS_NUM
5660     THEN
5661 
5662         RETURN TRUE;
5663     END IF;
5664 
5665     OPEN c_Sales_credit_type(p_Sales_credit_type_id);
5666     FETCH c_Sales_credit_type into l_dummy;
5667     CLOSE c_Sales_credit_type;
5668     IF l_dummy = 'VALID' then
5669 
5670        RETURN TRUE;
5671     ELSE
5672         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5673         THEN
5674 
5675 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Sales_credit_type_id');
5676 
5677             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5678             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5679 				OE_Order_Util.Get_Attribute_Name('Sales_credit_type_id'));
5680             OE_MSG_PUB.Add;
5681 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5682 
5683         END IF;
5684 
5685        RETURN FALSE;
5686     END IF;
5687 EXCEPTION
5688 
5689     WHEN OTHERS THEN
5690 
5691         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5692         THEN
5693             OE_MSG_PUB.Add_Exc_Msg
5694             (   G_PKG_NAME
5695             ,   'Sales_credit_type'
5696             );
5697         END IF;
5698 
5699 
5700         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5701 
5702 END Sales_credit_type;
5703 
5704 FUNCTION Salesrep ( p_salesrep_id IN NUMBER )
5705 RETURN BOOLEAN
5706 IS
5707 l_dummy                       VARCHAR2(10);
5708  cursor c_salesrep( p_salesrep_id IN number) is
5709        select 'VALID'
5710        from ra_salesreps_all
5711        where salesrep_id = p_salesrep_id;
5712        --
5713        -- Commented out when importing CLOSED orders
5714        --
5715        -- and sysdate between NVL(start_date_active,sysdate)
5716        -- and NVL(end_date_active,sysdate);
5717 BEGIN
5718 
5719 
5720     IF p_salesrep_id IS NULL OR
5721         p_salesrep_id = FND_API.G_MISS_NUM
5722     THEN
5723 
5724         RETURN TRUE;
5725     END IF;
5726 
5727     OPEN c_salesrep(p_salesrep_id);
5728     FETCH c_salesrep into l_dummy;
5729     CLOSE c_salesrep;
5730 
5731     IF l_dummy = 'VALID' then
5732 
5733        RETURN TRUE;
5734     ELSE
5735         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5736         THEN
5737 
5738 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
5739 
5740             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5741             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5742 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
5743             OE_MSG_PUB.Add;
5744 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5745 
5746         END IF;
5747 
5748        RETURN FALSE;
5749     END IF;
5750 
5751 EXCEPTION
5752 
5753     WHEN OTHERS THEN
5754 
5755         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5756         THEN
5757             OE_MSG_PUB.Add_Exc_Msg
5758             (   G_PKG_NAME
5759             ,   'Salesrep'
5760             );
5761         END IF;
5762 
5763 
5764         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5765 
5766 END Salesrep;
5767 
5768 FUNCTION Dw_Update_Advice ( p_dw_update_advice_flag IN VARCHAR2 )
5769 RETURN BOOLEAN
5770 IS
5771 l_dummy                       VARCHAR2(10);
5772 BEGIN
5773 
5774 
5775     IF p_dw_update_advice_flag IS NULL OR
5776         p_dw_update_advice_flag = FND_API.G_MISS_CHAR
5777     THEN
5778 
5779         RETURN TRUE;
5780     END IF;
5781 
5782     --  SELECT  'VALID'
5783     --  INTO     l_dummy
5784     --  FROM     DB_TABLE
5785     --  WHERE    DB_COLUMN = p_dw_update_advice_flag;
5786 
5787 
5788     RETURN TRUE;
5789 
5790 EXCEPTION
5791 
5792     WHEN NO_DATA_FOUND THEN
5793 
5794         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5795         THEN
5796 
5797 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DW_UPDATE_ADVICE_FLAG');
5798 
5799             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5800             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5801 				OE_Order_Util.Get_Attribute_Name('dw_update_advice_flag'));
5802             OE_MSG_PUB.Add;
5803 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5804 
5805         END IF;
5806 
5807 
5808         RETURN FALSE;
5809 
5810     WHEN OTHERS THEN
5811 
5812         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5813         THEN
5814             OE_MSG_PUB.Add_Exc_Msg
5815             (   G_PKG_NAME
5816             ,   'Dw_Update_Advice'
5817             );
5818         END IF;
5819 
5820 
5821         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5822 
5823 END Dw_Update_Advice;
5824 
5825 FUNCTION Wh_Update_Date ( p_wh_update_date IN DATE )
5826 RETURN BOOLEAN
5827 IS
5828 l_dummy                       VARCHAR2(10);
5829 BEGIN
5830 
5831 
5832     IF p_wh_update_date IS NULL OR
5833         p_wh_update_date = FND_API.G_MISS_DATE
5834     THEN
5835 
5836         RETURN TRUE;
5837     END IF;
5838 
5839     --  SELECT  'VALID'
5840     --  INTO     l_dummy
5841     --  FROM     DB_TABLE
5842     --  WHERE    DB_COLUMN = p_wh_update_date;
5843 
5844 
5845     RETURN TRUE;
5846 
5847 EXCEPTION
5848 
5849     WHEN NO_DATA_FOUND THEN
5850 
5851         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5852         THEN
5853 
5854 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'WH_UPDATE_DATE');
5855 
5856             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5857             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5858 				OE_Order_Util.Get_Attribute_Name('wh_update_date'));
5859             OE_MSG_PUB.Add;
5860 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5861 
5862         END IF;
5863 
5864 
5865         RETURN FALSE;
5866 
5867     WHEN OTHERS THEN
5868 
5869         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5870         THEN
5871             OE_MSG_PUB.Add_Exc_Msg
5872             (   G_PKG_NAME
5873             ,   'Wh_Update_Date'
5874             );
5875         END IF;
5876 
5877 
5878         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5879 
5880 END Wh_Update_Date;
5881 
5882 
5883 FUNCTION Line_Type ( p_line_type_id IN NUMBER )
5884 RETURN BOOLEAN
5885 IS
5886 l_dummy                       VARCHAR2(10);
5887 BEGIN
5888 
5889 
5890     IF p_line_type_id IS NULL OR
5891         p_line_type_id = FND_API.G_MISS_NUM
5892     THEN
5893 
5894         RETURN TRUE;
5895     END IF;
5896 
5897     --  SELECT  'VALID'
5898     --  INTO     l_dummy
5899     --  FROM     DB_TABLE
5900     --  WHERE    DB_COLUMN = p_line_type_id;
5901 
5902 
5903     RETURN TRUE;
5904 
5905 EXCEPTION
5906 
5907     WHEN NO_DATA_FOUND THEN
5908 
5909         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5910         THEN
5911 
5912 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_TYPE_ID');
5913 
5914             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5915             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5916 				OE_Order_Util.Get_Attribute_Name('line_type_id'));
5917             OE_MSG_PUB.Add;
5918 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5919 
5920         END IF;
5921 
5922 
5923         RETURN FALSE;
5924 
5925     WHEN OTHERS THEN
5926 
5927         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5928         THEN
5929             OE_MSG_PUB.Add_Exc_Msg
5930             (   G_PKG_NAME
5931             ,   'Line_Type'
5932             );
5933         END IF;
5934 
5935 
5936         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5937 
5938 END Line_Type;
5939 
5940 FUNCTION Line_Number ( p_line_number IN NUMBER )
5941 RETURN BOOLEAN
5942 IS
5943 l_dummy                       VARCHAR2(10);
5944 BEGIN
5945 
5946 
5947     IF p_line_number IS NULL OR
5948         p_line_number = FND_API.G_MISS_NUM
5949     THEN
5950 
5951         RETURN TRUE;
5952     END IF;
5953 
5954     --  SELECT  'VALID'
5955     --  INTO     l_dummy
5956     --  FROM     DB_TABLE
5957     --  WHERE    DB_COLUMN = p_line_number;
5958 
5959 
5960     RETURN TRUE;
5961 
5962 EXCEPTION
5963 
5964     WHEN NO_DATA_FOUND THEN
5965 
5966         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5967         THEN
5968 
5969 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_NUMBER');
5970 
5971             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5972             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5973 				OE_Order_Util.Get_Attribute_Name('line_number'));
5974             OE_MSG_PUB.Add;
5975 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5976 
5977         END IF;
5978 
5979 
5980         RETURN FALSE;
5981 
5982     WHEN OTHERS THEN
5983 
5984         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5985         THEN
5986             OE_MSG_PUB.Add_Exc_Msg
5987             (   G_PKG_NAME
5988             ,   'Line_Number'
5989             );
5990         END IF;
5991 
5992         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5993 
5994 
5995 END Line_Number;
5996 
5997 FUNCTION Ordered_Item_id ( p_ordered_item_id IN NUMBER )
5998 RETURN BOOLEAN
5999 IS
6000 l_dummy                       VARCHAR2(10);
6001 BEGIN
6002 
6003 
6004     IF p_ordered_item_id IS NULL OR
6005         p_ordered_item_id = FND_API.G_MISS_NUM
6006     THEN
6007 
6008         RETURN TRUE;
6009     END IF;
6010 
6011     --  SELECT  'VALID'
6012     --  INTO     l_dummy
6013     --  FROM     DB_TABLE
6014     --  WHERE    DB_COLUMN = p_ordered_item_id;
6015 
6016 
6017     RETURN TRUE;
6018 
6019 EXCEPTION
6020 
6021     WHEN NO_DATA_FOUND THEN
6022 
6023         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6024         THEN
6025 
6026 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_ITEM_ID');
6027 
6028             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6029             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6030 				OE_Order_Util.Get_Attribute_Name('ordered_item_id'));
6031             OE_MSG_PUB.Add;
6032 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6033 
6034         END IF;
6035 
6036 
6037         RETURN FALSE;
6038 
6039     WHEN OTHERS THEN
6040 
6041         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6042         THEN
6043             OE_MSG_PUB.Add_Exc_Msg
6044             (   G_PKG_NAME
6045             ,   'Ordered_Item_Id'
6046             );
6047         END IF;
6048 
6049 
6050         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6051 
6052 END Ordered_Item_Id;
6053 
6054 FUNCTION Item_Identifier_Type ( p_item_identifier_type IN VARCHAR2 )
6055 RETURN BOOLEAN
6056 IS
6057 l_dummy                       VARCHAR2(10);
6058 BEGIN
6059 
6060 
6061     IF p_item_identifier_type IS NULL OR
6062         p_item_identifier_type = FND_API.G_MISS_CHAR
6063     THEN
6064 
6065         RETURN TRUE;
6066     END IF;
6067 
6068     --  SELECT  'VALID'
6069     --  INTO     l_dummy
6070     --  FROM     DB_TABLE
6071     --  WHERE    DB_COLUMN = p_item_identifier_type;
6072 
6073 
6074     RETURN TRUE;
6075 
6076 EXCEPTION
6077 
6078     WHEN NO_DATA_FOUND THEN
6079 
6080         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6081         THEN
6082 
6083 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_IDENTIFIER_TYPE');
6084 
6085             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6086             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6087 				OE_Order_Util.Get_Attribute_Name('item_identifier_type'));
6088             OE_MSG_PUB.Add;
6089 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6090 
6091         END IF;
6092 
6093 
6094         RETURN FALSE;
6095 
6096     WHEN OTHERS THEN
6097 
6098         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6099         THEN
6100             OE_MSG_PUB.Add_Exc_Msg
6101             (   G_PKG_NAME
6102             ,   'Item_Identifier_Type'
6103             );
6104         END IF;
6105 
6106 
6107         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6108 
6109 END Item_Identifier_Type;
6110 
6111 FUNCTION Ordered_Item ( p_ordered_item IN VARCHAR2 )
6112 RETURN BOOLEAN
6113 IS
6114 l_dummy                       VARCHAR2(10);
6115 BEGIN
6116 
6117 
6118     IF p_ordered_item IS NULL OR
6119         p_ordered_item = FND_API.G_MISS_CHAR
6120     THEN
6121 
6122         RETURN TRUE;
6123     END IF;
6124 
6125     --  SELECT  'VALID'
6126     --  INTO     l_dummy
6127     --  FROM     DB_TABLE
6128     --  WHERE    DB_COLUMN = p_ordered_item;
6129 
6130 
6131     RETURN TRUE;
6132 
6133 EXCEPTION
6134 
6135     WHEN NO_DATA_FOUND THEN
6136 
6137         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6138         THEN
6139 
6140 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_ITEM');
6141 
6142             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6143             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6144 				OE_Order_Util.Get_Attribute_Name('ordered_item'));
6145             OE_MSG_PUB.Add;
6146 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6147 
6148         END IF;
6149 
6150 
6151         RETURN FALSE;
6152 
6153     WHEN OTHERS THEN
6154 
6155         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6156         THEN
6157             OE_MSG_PUB.Add_Exc_Msg
6158             (   G_PKG_NAME
6159             ,   'Ordered_Item'
6160             );
6161         END IF;
6162 
6163 
6164         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6165 
6166 END Ordered_Item;
6167 
6168 FUNCTION Date_And_Time_Requested ( p_date_and_time_requested IN DATE )
6169 RETURN BOOLEAN
6170 IS
6171 l_dummy                       VARCHAR2(10);
6172 BEGIN
6173 
6174 
6175     IF p_date_and_time_requested IS NULL OR
6176         p_date_and_time_requested = FND_API.G_MISS_DATE
6177     THEN
6178 
6179         RETURN TRUE;
6180     END IF;
6181 
6182     --  SELECT  'VALID'
6183     --  INTO     l_dummy
6184     --  FROM     DB_TABLE
6185     --  WHERE    DB_COLUMN = p_date_and_time_requested;
6186 
6187 
6188     RETURN TRUE;
6189 
6190 EXCEPTION
6191 
6192     WHEN NO_DATA_FOUND THEN
6193 
6194         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6195         THEN
6196 
6197 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_REQUESTED');
6198 
6199             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6200             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6201 				OE_Order_Util.Get_Attribute_Name('date_and_time_requested'));
6202             OE_MSG_PUB.Add;
6203 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6204 
6205         END IF;
6206 
6207 
6208         RETURN FALSE;
6209 
6210     WHEN OTHERS THEN
6211 
6212         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6213         THEN
6214             OE_MSG_PUB.Add_Exc_Msg
6215             (   G_PKG_NAME
6216             ,   'Date_And_Time_Requested'
6217             );
6218         END IF;
6219 
6220 
6221         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6222 
6223 END Date_And_Time_Requested;
6224 
6225 FUNCTION Date_And_Time_Promised ( p_date_and_time_promised IN DATE )
6226 RETURN BOOLEAN
6227 IS
6228 l_dummy                       VARCHAR2(10);
6229 BEGIN
6230 
6231 
6232     IF p_date_and_time_promised IS NULL OR
6233         p_date_and_time_promised = FND_API.G_MISS_DATE
6234     THEN
6235 
6236         RETURN TRUE;
6237     END IF;
6238 
6239     --  SELECT  'VALID'
6240     --  INTO     l_dummy
6241     --  FROM     DB_TABLE
6242     --  WHERE    DB_COLUMN = p_date_and_time_promised;
6243 
6244 
6245     RETURN TRUE;
6246 
6247 EXCEPTION
6248 
6249     WHEN NO_DATA_FOUND THEN
6250 
6251         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6252         THEN
6253 
6254 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_PROMISED');
6255 
6256             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6257             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6258 				OE_Order_Util.Get_Attribute_Name('date_and_time_promised'));
6259             OE_MSG_PUB.Add;
6260 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6261 
6262         END IF;
6263 
6264 
6265         RETURN FALSE;
6266 
6267     WHEN OTHERS THEN
6268 
6269         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6270         THEN
6271             OE_MSG_PUB.Add_Exc_Msg
6272             (   G_PKG_NAME
6273             ,   'Date_And_Time_Promised'
6274             );
6275         END IF;
6276 
6277 
6278         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6279 
6280 END Date_And_Time_Promised;
6281 
6282 FUNCTION Date_And_Time_Scheduled ( p_date_and_time_scheduled IN DATE )
6283 RETURN BOOLEAN
6284 IS
6285 l_dummy                       VARCHAR2(10);
6286 BEGIN
6287 
6288 
6289     IF p_date_and_time_scheduled IS NULL OR
6290         p_date_and_time_scheduled = FND_API.G_MISS_DATE
6291     THEN
6292 
6293         RETURN TRUE;
6294     END IF;
6295 
6296     --  SELECT  'VALID'
6297     --  INTO     l_dummy
6298     --  FROM     DB_TABLE
6299     --  WHERE    DB_COLUMN = p_date_and_time_scheduled;
6300 
6301 
6302     RETURN TRUE;
6303 
6304 EXCEPTION
6305 
6306     WHEN NO_DATA_FOUND THEN
6307 
6308         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6309         THEN
6310 
6311 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_SCHEDULED');
6312 
6313             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6314             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6315 				OE_Order_Util.Get_Attribute_Name('date_and_time_scheduled'));
6316             OE_MSG_PUB.Add;
6317 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6318 
6319         END IF;
6320 
6321 
6322         RETURN FALSE;
6323 
6324     WHEN OTHERS THEN
6325 
6326         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6327         THEN
6328             OE_MSG_PUB.Add_Exc_Msg
6329             (   G_PKG_NAME
6330             ,   'Date_And_Time_Scheduled'
6331             );
6332         END IF;
6333 
6334 
6335         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6336 
6337 END Date_And_Time_Scheduled;
6338 
6339 FUNCTION Order_Quantity_Uom ( p_order_quantity_uom IN VARCHAR2 )
6340 RETURN BOOLEAN
6341 IS
6342 l_dummy                       VARCHAR2(10);
6343 BEGIN
6344 
6345 
6346     IF p_order_quantity_uom IS NULL OR
6347         p_order_quantity_uom = FND_API.G_MISS_CHAR
6348     THEN
6349 
6350         RETURN TRUE;
6351     END IF;
6352 
6353     --  SELECT  'VALID'
6354     --  INTO     l_dummy
6355     --  FROM     DB_TABLE
6356     --  WHERE    DB_COLUMN = p_order_quantity_uom;
6357 
6358 
6359     RETURN TRUE;
6360 
6361 EXCEPTION
6362 
6363     WHEN NO_DATA_FOUND THEN
6364 
6365         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6366         THEN
6367 
6368 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_QUANTITY_UOM');
6369 
6370             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6371             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6372 				OE_Order_Util.Get_Attribute_Name('order_quantity_uom'));
6373             OE_MSG_PUB.Add;
6374 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6375 
6376         END IF;
6377 
6378 
6379         RETURN FALSE;
6380 
6381     WHEN OTHERS THEN
6382 
6383         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6384         THEN
6385             OE_MSG_PUB.Add_Exc_Msg
6386             (   G_PKG_NAME
6387             ,   'Order_Quantity_Uom'
6388             );
6389         END IF;
6390 
6391 
6392         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6393 
6394 END Order_Quantity_Uom;
6395 
6396 -- OPM 02/JUN/00 - add functions to support new process attributes
6397 -- ===============================================================
6398 FUNCTION Ordered_Quantity_Uom2 ( p_ordered_quantity_uom2 IN VARCHAR2 )
6399 RETURN BOOLEAN
6400 IS
6401 l_dummy                       VARCHAR2(10);
6402 BEGIN
6403 
6404 
6405     IF p_ordered_quantity_uom2 IS NULL OR
6406         p_ordered_quantity_uom2 = FND_API.G_MISS_CHAR
6407     THEN
6408 
6409         RETURN TRUE;
6410     END IF;
6411 
6412     RETURN TRUE;
6413 
6414 EXCEPTION
6415 
6416     WHEN NO_DATA_FOUND THEN
6417 
6418         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6419         THEN
6420 
6421 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY_UOM2');
6422 
6423             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6424             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6425 				OE_Order_Util.Get_Attribute_Name('ordered_quantity_uom2'));
6426             OE_MSG_PUB.Add;
6427 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6428 
6429         END IF;
6430 
6431 
6432         RETURN FALSE;
6433 
6434     WHEN OTHERS THEN
6435 
6436         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6437         THEN
6438             OE_MSG_PUB.Add_Exc_Msg
6439             (   G_PKG_NAME
6440             ,   'Ordered_Quantity_Uom2'
6441             );
6442         END IF;
6443 
6444 
6445         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6446 
6447 END Ordered_Quantity_Uom2;
6448 
6449 FUNCTION Preferred_Grade ( p_preferred_grade IN VARCHAR2 )
6450 RETURN BOOLEAN
6451 IS
6452 l_dummy                       VARCHAR2(10);
6453 BEGIN
6454 
6455     oe_debug_pub.add('OPM preferred_grade val in OEXSVATB', 1);
6456     IF p_preferred_grade IS NULL OR
6457         p_preferred_grade = FND_API.G_MISS_CHAR
6458     THEN
6459 
6460         RETURN TRUE;
6461     END IF;
6462 
6463     RETURN TRUE;
6464 
6465 EXCEPTION
6466 
6467     WHEN NO_DATA_FOUND THEN
6468 
6469         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6470         THEN
6471 
6472 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PREFERRED_GRADE');
6473 
6474             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6475             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6476 				OE_Order_Util.Get_Attribute_Name('preferred_grade'));
6477             OE_MSG_PUB.Add;
6478 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6479 
6480         END IF;
6481 
6482 
6483         RETURN FALSE;
6484 
6485     WHEN OTHERS THEN
6486 
6487         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6488         THEN
6489             oe_debug_pub.add('OPM preferred_grade exception in VATB', 1);
6490             OE_MSG_PUB.Add_Exc_Msg
6491             (   G_PKG_NAME
6492             ,   'Preferred_Grade'
6493             );
6494         END IF;
6495 
6496 
6497         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6498 
6499 END Preferred_Grade;
6500 
6501 -- OPM 02/JUN/00 END
6502 -- =================
6503 
6504 FUNCTION Pricing_Quantity ( p_pricing_quantity IN NUMBER )
6505 RETURN BOOLEAN
6506 IS
6507 l_dummy                       VARCHAR2(10);
6508 BEGIN
6509 
6510 
6511     IF p_pricing_quantity IS NULL OR
6512         p_pricing_quantity = FND_API.G_MISS_NUM
6513     THEN
6514 
6515         RETURN TRUE;
6516     END IF;
6517 
6518     --  SELECT  'VALID'
6519     --  INTO     l_dummy
6520     --  FROM     DB_TABLE
6521     --  WHERE    DB_COLUMN = p_pricing_quantity;
6522 
6523 
6524     RETURN TRUE;
6525 
6526 EXCEPTION
6527 
6528     WHEN NO_DATA_FOUND THEN
6529 
6530         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6531         THEN
6532 
6533 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_QUANTITY');
6534 
6535             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6536             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6537 				OE_Order_Util.Get_Attribute_Name('pricing_quantity'));
6538             OE_MSG_PUB.Add;
6539 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6540 
6541         END IF;
6542 
6543 
6544         RETURN FALSE;
6545 
6546     WHEN OTHERS THEN
6547 
6548         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6549         THEN
6550             OE_MSG_PUB.Add_Exc_Msg
6551             (   G_PKG_NAME
6552             ,   'Pricing_Quantity'
6553             );
6554         END IF;
6555 
6556 
6557         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6558 
6559 END Pricing_Quantity;
6560 
6561 FUNCTION Pricing_Quantity_Uom ( p_pricing_quantity_uom IN VARCHAR2 )
6562 RETURN BOOLEAN
6563 IS
6564 l_dummy                       VARCHAR2(10);
6565 BEGIN
6566 
6567 
6568     IF p_pricing_quantity_uom IS NULL OR
6569         p_pricing_quantity_uom = FND_API.G_MISS_CHAR
6570     THEN
6571 
6572         RETURN TRUE;
6573     END IF;
6574 
6575     --  SELECT  'VALID'
6576     --  INTO     l_dummy
6577     --  FROM     DB_TABLE
6578     --  WHERE    DB_COLUMN = p_pricing_quantity_uom;
6579 
6580 
6581     RETURN TRUE;
6582 
6583 EXCEPTION
6584 
6585     WHEN NO_DATA_FOUND THEN
6586 
6587         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6588         THEN
6589 
6590 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_QUANTITY_UOM');
6591 
6592             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6593             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6594 				OE_Order_Util.Get_Attribute_Name('pricing_quantity_uom'));
6595             OE_MSG_PUB.Add;
6596 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6597 
6598         END IF;
6599 
6600 
6601         RETURN FALSE;
6602 
6603     WHEN OTHERS THEN
6604 
6605         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6606         THEN
6607             OE_MSG_PUB.Add_Exc_Msg
6608             (   G_PKG_NAME
6609             ,   'Pricing_Quantity_Uom'
6610             );
6611         END IF;
6612 
6613 
6614         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6615 
6616 END Pricing_Quantity_Uom;
6617 
6618 FUNCTION Quantity_Cancelled ( p_quantity_cancelled IN NUMBER )
6619 RETURN BOOLEAN
6620 IS
6621 l_dummy                       VARCHAR2(10);
6622 BEGIN
6623 
6624 
6625     IF p_quantity_cancelled IS NULL OR
6626         p_quantity_cancelled = FND_API.G_MISS_NUM
6627     THEN
6628 
6629         RETURN TRUE;
6630     END IF;
6631 
6632     --  SELECT  'VALID'
6633     --  INTO     l_dummy
6634     --  FROM     DB_TABLE
6635     --  WHERE    DB_COLUMN = p_quantity_cancelled;
6636 
6637 
6638     RETURN TRUE;
6639 
6640 EXCEPTION
6641 
6642     WHEN NO_DATA_FOUND THEN
6643 
6644         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6645         THEN
6646 
6647 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_CANCELLED');
6648 
6649             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6650             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6651 				OE_Order_Util.Get_Attribute_Name('quantity_cancelled'));
6652             OE_MSG_PUB.Add;
6653 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6654 
6655         END IF;
6656 
6657 
6658         RETURN FALSE;
6659 
6660     WHEN OTHERS THEN
6661 
6662         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6663         THEN
6664             OE_MSG_PUB.Add_Exc_Msg
6665             (   G_PKG_NAME
6666             ,   'Quantity_Cancelled'
6667             );
6668         END IF;
6669 
6670 
6671         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6672 
6673 END Quantity_Cancelled;
6674 
6675 FUNCTION Quantity_Shipped ( p_quantity_shipped IN NUMBER )
6676 RETURN BOOLEAN
6677 IS
6678 l_dummy                       VARCHAR2(10);
6679 BEGIN
6680 
6681 
6682     IF p_quantity_shipped IS NULL OR
6683         p_quantity_shipped = FND_API.G_MISS_NUM
6684     THEN
6685 
6686         RETURN TRUE;
6687     END IF;
6688 
6689     --  SELECT  'VALID'
6690     --  INTO     l_dummy
6691     --  FROM     DB_TABLE
6692     --  WHERE    DB_COLUMN = p_quantity_shipped;
6693 
6694 
6695     RETURN TRUE;
6696 
6697 EXCEPTION
6698 
6699     WHEN NO_DATA_FOUND THEN
6700 
6701         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6702         THEN
6703 
6704 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_SHIPPED');
6705 
6706             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6707             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6708 				OE_Order_Util.Get_Attribute_Name('quantity_shipped'));
6709             OE_MSG_PUB.Add;
6710 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6711 
6712         END IF;
6713 
6714 
6715         RETURN FALSE;
6716 
6717     WHEN OTHERS THEN
6718 
6719         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6720         THEN
6721             OE_MSG_PUB.Add_Exc_Msg
6722             (   G_PKG_NAME
6723             ,   'Quantity_Shipped'
6724             );
6725         END IF;
6726 
6727 
6728         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6729 
6730 END Quantity_Shipped;
6731 
6732 FUNCTION Quantity_Ordered ( p_quantity_ordered IN NUMBER )
6733 RETURN BOOLEAN
6734 IS
6735 l_dummy                       VARCHAR2(10);
6736 BEGIN
6737 
6738 
6739     IF p_quantity_ordered IS NULL OR
6740         p_quantity_ordered = FND_API.G_MISS_NUM
6741     THEN
6742 
6743         RETURN TRUE;
6744     END IF;
6745 
6746     --  SELECT  'VALID'
6747     --  INTO     l_dummy
6748     --  FROM     DB_TABLE
6749     --  WHERE    DB_COLUMN = p_quantity_ordered;
6750 
6751 
6752     RETURN TRUE;
6753 
6754 EXCEPTION
6755 
6756     WHEN NO_DATA_FOUND THEN
6757 
6758         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6759         THEN
6760 
6761 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_ORDERED');
6762 
6763             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6764             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6765 				OE_Order_Util.Get_Attribute_Name('quantity_ordered'));
6766             OE_MSG_PUB.Add;
6767 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6768 
6769         END IF;
6770 
6771 
6772         RETURN FALSE;
6773 
6774     WHEN OTHERS THEN
6775 
6776         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6777         THEN
6778             OE_MSG_PUB.Add_Exc_Msg
6779             (   G_PKG_NAME
6780             ,   'Quantity_Ordered'
6781             );
6782         END IF;
6783 
6784 
6785         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6786 
6787 END Quantity_Ordered;
6788 
6789 FUNCTION Quantity_Fulfilled ( p_quantity_fulfilled IN NUMBER )
6790 RETURN BOOLEAN
6791 IS
6792 l_dummy                       VARCHAR2(10);
6793 BEGIN
6794 
6795 
6796     IF p_quantity_fulfilled IS NULL OR
6797         p_quantity_fulfilled = FND_API.G_MISS_NUM
6798     THEN
6799 
6800         RETURN TRUE;
6801     END IF;
6802 
6803     --  SELECT  'VALID'
6804     --  INTO     l_dummy
6805     --  FROM     DB_TABLE
6806     --  WHERE    DB_COLUMN = p_quantity_fulfilled;
6807 
6808 
6809     RETURN TRUE;
6810 
6811 EXCEPTION
6812 
6813     WHEN NO_DATA_FOUND THEN
6814 
6815         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6816         THEN
6817 
6818 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_FULFILLED');
6819 
6820             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6821             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6822 				OE_Order_Util.Get_Attribute_Name('quantity_fulfilled'));
6823             OE_MSG_PUB.Add;
6824 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6825 
6826         END IF;
6827 
6828 
6829         RETURN FALSE;
6830 
6831     WHEN OTHERS THEN
6832 
6833         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6834         THEN
6835             OE_MSG_PUB.Add_Exc_Msg
6836             (   G_PKG_NAME
6837             ,   'Quantity_Fulfilled'
6838             );
6839         END IF;
6840 
6841 
6842         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6843 
6844 END Quantity_Fulfilled;
6845 
6846 FUNCTION fulfilled ( p_fulfilled_flag IN VARCHAR2 )
6847 RETURN BOOLEAN
6848 IS
6849 l_dummy                       VARCHAR2(10);
6850 BEGIN
6851 
6852     IF p_fulfilled_flag IS NULL OR
6853         p_fulfilled_flag = FND_API.G_MISS_CHAR THEN
6854 
6855         RETURN TRUE;
6856     END IF;
6857 
6858     IF p_fulfilled_flag NOT IN ('Y','N') THEN
6859 		RAISE NO_DATA_FOUND;
6860     END IF;
6861 
6862     --  SELECT  'VALID'
6863     --  INTO     l_dummy
6864     --  FROM     DB_TABLE
6865     --  WHERE    DB_COLUMN = p_fulfilled_flag;
6866 
6867 
6868     RETURN TRUE;
6869 
6870 EXCEPTION
6871 
6872     WHEN NO_DATA_FOUND THEN
6873 
6874         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6875         THEN
6876 
6877 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_FLAG');
6878 
6879             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6880             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6881 				OE_Order_Util.Get_Attribute_Name('fulfilled_flag'));
6882             OE_MSG_PUB.Add;
6883 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6884 
6885         END IF;
6886 
6887 
6888         RETURN FALSE;
6889 
6890     WHEN OTHERS THEN
6891 
6892         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6893         THEN
6894             OE_MSG_PUB.Add_Exc_Msg
6895             (   G_PKG_NAME
6896             ,   'Fulfilled'
6897             );
6898         END IF;
6899 
6900 
6901         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6902 
6903 END Fulfilled;
6904 
6905 ----
6906 FUNCTION Calculate_Price_Flag ( p_calculate_price_flag IN VARCHAR2 )
6907 RETURN BOOLEAN
6908 IS
6909 l_dummy                       VARCHAR2(10);
6910 BEGIN
6911 
6912     IF p_calculate_price_flag IS NULL OR
6913         p_calculate_price_flag = FND_API.G_MISS_CHAR
6914     THEN
6915 
6916         RETURN TRUE;
6917     END IF;
6918 
6919     If p_calculate_price_flag not in ('P','Y','N') then
6920 
6921 	Raise no_data_found;
6922 
6923     End If;
6924     --  SELECT  'VALID'
6925     --  INTO     l_dummy
6926     --  FROM     DB_TABLE
6927     --  WHERE    DB_COLUMN = p_fulfillment_method_code;
6928 
6929 
6930     RETURN TRUE;
6931 
6932 EXCEPTION
6933 
6934     WHEN NO_DATA_FOUND THEN
6935 
6936         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6937         THEN
6938 
6939 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CALCULATE_PRICE_FLAG');
6940 
6941             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6942             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6943 				OE_Order_Util.Get_Attribute_Name('calculate_price_flag'));
6944             OE_MSG_PUB.Add;
6945 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6946 
6947         END IF;
6948 
6949 
6950         RETURN FALSE;
6951 
6952     WHEN OTHERS THEN
6953 
6954         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6955         THEN
6956             OE_MSG_PUB.Add_Exc_Msg
6957             (   G_PKG_NAME
6958             ,   'Calculate_Price_Flag'
6959             );
6960         END IF;
6961 
6962 
6963         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6964 
6965 END Calculate_Price_Flag;
6966 
6967 -----
6968 FUNCTION Fulfillment_Method ( p_fulfillment_method_code IN VARCHAR2 )
6969 RETURN BOOLEAN
6970 IS
6971 l_dummy                       VARCHAR2(10);
6972 BEGIN
6973 
6974     IF p_fulfillment_method_code IS NULL OR
6975         p_fulfillment_method_code = FND_API.G_MISS_CHAR
6976     THEN
6977 
6978         RETURN TRUE;
6979     END IF;
6980 
6981     --  SELECT  'VALID'
6982     --  INTO     l_dummy
6983     --  FROM     DB_TABLE
6984     --  WHERE    DB_COLUMN = p_fulfillment_method_code;
6985 
6986 
6987     RETURN TRUE;
6988 
6989 EXCEPTION
6990 
6991     WHEN NO_DATA_FOUND THEN
6992 
6993         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6994         THEN
6995 
6996 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLMENT_METHOD_CODE');
6997 
6998             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6999             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7000 				OE_Order_Util.Get_Attribute_Name('fulfillment_method_code'));
7001             OE_MSG_PUB.Add;
7002 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7003 
7004         END IF;
7005 
7006 
7007         RETURN FALSE;
7008 
7009     WHEN OTHERS THEN
7010 
7011         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7012         THEN
7013             OE_MSG_PUB.Add_Exc_Msg
7014             (   G_PKG_NAME
7015             ,   'Fulfillment_Method'
7016             );
7017         END IF;
7018 
7019 
7020         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7021 
7022 END Fulfillment_Method;
7023 
7024 FUNCTION Fulfillment_Date ( p_fulfillment_date IN DATE )
7025 RETURN BOOLEAN
7026 IS
7027 l_dummy                       VARCHAR2(10);
7028 BEGIN
7029 
7030     IF p_fulfillment_date IS NULL OR
7031         p_fulfillment_date = FND_API.G_MISS_DATE
7032     THEN
7033 
7034         RETURN TRUE;
7035     END IF;
7036 
7037     --  SELECT  'VALID'
7038     --  INTO     l_dummy
7039     --  FROM     DB_TABLE
7040     --  WHERE    DB_COLUMN = p_fulfillment_date;
7041 
7042 
7043     RETURN TRUE;
7044 
7045 EXCEPTION
7046 
7047     WHEN NO_DATA_FOUND THEN
7048 
7049         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7050         THEN
7051 
7052 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLMENT_DATE');
7053 
7054             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7055             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7056 				OE_Order_Util.Get_Attribute_Name('fulfillment_date'));
7057             OE_MSG_PUB.Add;
7058 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7059 
7060         END IF;
7061 
7062 
7063         RETURN FALSE;
7064 
7065     WHEN OTHERS THEN
7066 
7067         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7068         THEN
7069             OE_MSG_PUB.Add_Exc_Msg
7070             (   G_PKG_NAME
7071             ,   'Fulfillment_Date'
7072             );
7073         END IF;
7074 
7075 
7076         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7077 
7078 END Fulfillment_Date;
7079 
7080 FUNCTION Shipping_Quantity ( p_shipping_quantity IN NUMBER )
7081 RETURN BOOLEAN
7082 IS
7083 l_dummy                       VARCHAR2(10);
7084 BEGIN
7085 
7086 
7087     IF p_shipping_quantity IS NULL OR
7088         p_shipping_quantity = FND_API.G_MISS_NUM
7089     THEN
7090 
7091         RETURN TRUE;
7092     END IF;
7093 
7094     --  SELECT  'VALID'
7095     --  INTO     l_dummy
7096     --  FROM     DB_TABLE
7097     --  WHERE    DB_COLUMN = p_shipping_quantity;
7098 
7099 
7100     RETURN TRUE;
7101 
7102 EXCEPTION
7103 
7104     WHEN NO_DATA_FOUND THEN
7105 
7106         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7107         THEN
7108 
7109 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY');
7110 
7111             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7112             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7113 				OE_Order_Util.Get_Attribute_Name('shipping_quantity'));
7114             OE_MSG_PUB.Add;
7115 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7116 
7117         END IF;
7118 
7119 
7120         RETURN FALSE;
7121 
7122     WHEN OTHERS THEN
7123 
7124         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7125         THEN
7126             OE_MSG_PUB.Add_Exc_Msg
7127             (   G_PKG_NAME
7128             ,   'Shipping_Quantity'
7129             );
7130         END IF;
7131 
7132 
7133         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7134 
7135 END Shipping_Quantity;
7136 
7137 FUNCTION Shipping_Quantity_Uom ( p_shipping_quantity_uom IN VARCHAR2 )
7138 RETURN BOOLEAN
7139 IS
7140 l_dummy                       VARCHAR2(10);
7141 BEGIN
7142 
7143 
7144     IF p_shipping_quantity_uom IS NULL OR
7145         p_shipping_quantity_uom = FND_API.G_MISS_CHAR
7146     THEN
7147 
7148         RETURN TRUE;
7149     END IF;
7150 
7151     --  SELECT  'VALID'
7152     --  INTO     l_dummy
7153     --  FROM     DB_TABLE
7154     --  WHERE    DB_COLUMN = p_shipping_quantity_uom;
7155 
7156 
7157     RETURN TRUE;
7158 
7159 EXCEPTION
7160 
7161     WHEN NO_DATA_FOUND THEN
7162 
7163         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7164         THEN
7165 
7166 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY_UOM');
7167 
7168             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7169             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7170 				OE_Order_Util.Get_Attribute_Name('shipping_quantity_uom'));
7171             OE_MSG_PUB.Add;
7172 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7173 
7174         END IF;
7175 
7176 
7177         RETURN FALSE;
7178 
7179     WHEN OTHERS THEN
7180 
7181         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7182         THEN
7183             OE_MSG_PUB.Add_Exc_Msg
7184             (   G_PKG_NAME
7185             ,   'Shipping_Quantity_Uom'
7186             );
7187         END IF;
7188 
7189 
7190         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7191 
7192 END Shipping_Quantity_Uom;
7193 
7194 -- INVCONV
7195 FUNCTION Shipping_Quantity2 ( p_shipping_quantity2 IN NUMBER )
7196 RETURN BOOLEAN
7197 IS
7198 l_dummy                       VARCHAR2(10);
7199 BEGIN
7200 
7201 
7202     IF p_shipping_quantity2 IS NULL OR
7203         p_shipping_quantity2 = FND_API.G_MISS_NUM
7204     THEN
7205 
7206         RETURN TRUE;
7207     END IF;
7208 
7209     --  SELECT  'VALID'
7210     --  INTO     l_dummy
7211     --  FROM     DB_TABLE
7212     --  WHERE    DB_COLUMN = p_shipping_quantity2;
7213 
7214 
7215     RETURN TRUE;
7216 
7217 EXCEPTION
7218 
7219     WHEN NO_DATA_FOUND THEN
7220 
7221         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7222         THEN
7223 
7224 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY2');
7225 
7226             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7227             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7228 				OE_Order_Util.Get_Attribute_Name('shipping_quantity2'));
7229             OE_MSG_PUB.Add;
7230 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7231 
7232         END IF;
7233 
7234 
7235         RETURN FALSE;
7236 
7237     WHEN OTHERS THEN
7238 
7239         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7240         THEN
7241             OE_MSG_PUB.Add_Exc_Msg
7242             (   G_PKG_NAME
7243             ,   'Shipping_Quantity'
7244             );
7245         END IF;
7246 
7247 
7248         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7249 
7250 END Shipping_Quantity2;
7251 
7252 FUNCTION Shipping_Quantity_Uom2 ( p_shipping_quantity_uom2 IN VARCHAR2 )
7253 RETURN BOOLEAN
7254 IS
7255 l_dummy                       VARCHAR2(10);
7256 BEGIN
7257 
7258 
7259     IF p_shipping_quantity_uom2 IS NULL OR
7260         p_shipping_quantity_uom2 = FND_API.G_MISS_CHAR
7261     THEN
7262 
7263         RETURN TRUE;
7264     END IF;
7265 
7266     --  SELECT  'VALID'
7267     --  INTO     l_dummy
7268     --  FROM     DB_TABLE
7269     --  WHERE    DB_COLUMN = p_shipping_quantity_uom2;
7270 
7271 
7272     RETURN TRUE;
7273 
7274 EXCEPTION
7275 
7276     WHEN NO_DATA_FOUND THEN
7277 
7278         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7279         THEN
7280 
7281 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY_UOM2');
7282 
7283             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7284             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7285 				OE_Order_Util.Get_Attribute_Name('shipping_quantity_uom2'));
7286             OE_MSG_PUB.Add;
7287 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7288 
7289         END IF;
7290 
7291 
7292         RETURN FALSE;
7293 
7294     WHEN OTHERS THEN
7295 
7296         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7297         THEN
7298             OE_MSG_PUB.Add_Exc_Msg
7299             (   G_PKG_NAME
7300             ,   'Shipping_Quantity_Uom2'
7301             );
7302         END IF;
7303 
7304 
7305         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7306 
7307 END Shipping_Quantity_Uom2;
7308 
7309 
7310 FUNCTION Delivery_Lead_Time ( p_delivery_lead_time IN NUMBER )
7311 RETURN BOOLEAN
7312 IS
7313 l_dummy                       VARCHAR2(10);
7314 BEGIN
7315 
7316 
7317     IF p_delivery_lead_time IS NULL OR
7318         p_delivery_lead_time = FND_API.G_MISS_NUM
7319     THEN
7320 
7321         RETURN TRUE;
7322     END IF;
7323 
7324     --  SELECT  'VALID'
7325     --  INTO     l_dummy
7326     --  FROM     DB_TABLE
7327     --  WHERE    DB_COLUMN = p_delivery_lead_time;
7328 
7329 
7330     RETURN TRUE;
7331 
7332 EXCEPTION
7333 
7334     WHEN NO_DATA_FOUND THEN
7335 
7336         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7337         THEN
7338 
7339 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVERY_LEAD_TIME');
7340 
7341             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7342             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7343 				OE_Order_Util.Get_Attribute_Name('delivery_lead_time'));
7344             OE_MSG_PUB.Add;
7345 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7346 
7347         END IF;
7348 
7349 
7350         RETURN FALSE;
7351 
7352     WHEN OTHERS THEN
7353 
7354         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7355         THEN
7356             OE_MSG_PUB.Add_Exc_Msg
7357             (   G_PKG_NAME
7358             ,   'Delivery_Lead_Time'
7359             );
7360         END IF;
7361 
7362 
7363         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7364 
7365 END Delivery_Lead_Time;
7366 
7367 FUNCTION Demand_Bucket_Type ( p_demand_bucket_type IN VARCHAR2 )
7368 RETURN BOOLEAN
7369 IS
7370 l_dummy                       VARCHAR2(10);
7371 BEGIN
7372 
7373 
7374     IF p_demand_bucket_type IS NULL OR
7375         p_demand_bucket_type = FND_API.G_MISS_CHAR
7376     THEN
7377 
7378         RETURN TRUE;
7379     END IF;
7380 
7381     --  SELECT  'VALID'
7382     --  INTO     l_dummy
7383     --  FROM     DB_TABLE
7384     --  WHERE    DB_COLUMN = p_demand_bucket_type;
7385 
7386 
7387     RETURN TRUE;
7388 
7389 EXCEPTION
7390 
7391     WHEN NO_DATA_FOUND THEN
7392 
7393         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7394         THEN
7395 
7396 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_BUCKET_TYPE');
7397 
7398             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7399             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7400 				OE_Order_Util.Get_Attribute_Name('demand_bucket_type'));
7401             OE_MSG_PUB.Add;
7402 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7403 
7404         END IF;
7405 
7406 
7407         RETURN FALSE;
7408 
7409     WHEN OTHERS THEN
7410 
7411         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7412         THEN
7413             OE_MSG_PUB.Add_Exc_Msg
7414             (   G_PKG_NAME
7415             ,   'Demand_Bucket_Type'
7416             );
7417         END IF;
7418 
7419 
7420         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7421 
7422 END Demand_Bucket_Type;
7423 
7424 FUNCTION Schedule_Item_Detail ( p_schedule_item_detail_id IN NUMBER )
7425 RETURN BOOLEAN
7426 IS
7427 l_dummy                       VARCHAR2(10);
7428 BEGIN
7429 
7430 
7431     IF p_schedule_item_detail_id IS NULL OR
7432         p_schedule_item_detail_id = FND_API.G_MISS_NUM
7433     THEN
7434 
7435         RETURN TRUE;
7436     END IF;
7437 
7438     --  SELECT  'VALID'
7439     --  INTO     l_dummy
7440     --  FROM     DB_TABLE
7441     --  WHERE    DB_COLUMN = p_schedule_item_detail_id;
7442 
7443 
7444     RETURN TRUE;
7445 
7446 EXCEPTION
7447 
7448     WHEN NO_DATA_FOUND THEN
7449 
7450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7451         THEN
7452 
7453 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ITEM_DETAIL_ID');
7454 
7455             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7456             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7457 				OE_Order_Util.Get_Attribute_Name('schedule_item_detail_id'));
7458             OE_MSG_PUB.Add;
7459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7460 
7461         END IF;
7462 
7463 
7464         RETURN FALSE;
7465 
7466     WHEN OTHERS THEN
7467 
7468         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7469         THEN
7470             OE_MSG_PUB.Add_Exc_Msg
7471             (   G_PKG_NAME
7472             ,   'Schedule_Item_Detail'
7473             );
7474         END IF;
7475 
7476 
7477         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7478 
7479 END Schedule_Item_Detail;
7480 
7481 FUNCTION Demand_Stream ( p_demand_stream_id IN NUMBER )
7482 RETURN BOOLEAN
7483 IS
7484 l_dummy                       VARCHAR2(10);
7485 BEGIN
7486 
7487 
7488     IF p_demand_stream_id IS NULL OR
7489         p_demand_stream_id = FND_API.G_MISS_NUM
7490     THEN
7491 
7492         RETURN TRUE;
7493     END IF;
7494 
7495     --  SELECT  'VALID'
7496     --  INTO     l_dummy
7497     --  FROM     DB_TABLE
7498     --  WHERE    DB_COLUMN = p_demand_stream_id;
7499 
7500 
7501     RETURN TRUE;
7502 
7503 EXCEPTION
7504 
7505     WHEN NO_DATA_FOUND THEN
7506 
7507         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7508         THEN
7509 
7510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_STREAM_ID');
7511 
7512             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7513             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7514 				OE_Order_Util.Get_Attribute_Name('demand_stream_id'));
7515             OE_MSG_PUB.Add;
7516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7517 
7518         END IF;
7519 
7520 
7521         RETURN FALSE;
7522 
7523     WHEN OTHERS THEN
7524 
7525         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7526         THEN
7527             OE_MSG_PUB.Add_Exc_Msg
7528             (   G_PKG_NAME
7529             ,   'Demand_Stream'
7530             );
7531         END IF;
7532 
7533 
7534         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7535 
7536 END Demand_Stream;
7537 
7538 FUNCTION Cust_Dock ( p_cust_dock_code IN VARCHAR2 )
7539 RETURN BOOLEAN
7540 IS
7541 l_dummy                       VARCHAR2(10);
7542 BEGIN
7543 
7544 
7545     IF p_cust_dock_code IS NULL OR
7546         p_cust_dock_code = FND_API.G_MISS_CHAR
7547     THEN
7548 
7549         RETURN TRUE;
7550     END IF;
7551 
7552     --  SELECT  'VALID'
7553     --  INTO     l_dummy
7554     --  FROM     DB_TABLE
7555     --  WHERE    DB_COLUMN = p_cust_dock_code;
7556 
7557 
7558     RETURN TRUE;
7559 
7560 EXCEPTION
7561 
7562     WHEN NO_DATA_FOUND THEN
7563 
7564         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7565         THEN
7566 
7567 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_DOCK_CODE');
7568 
7569             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7570             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7571 				OE_Order_Util.Get_Attribute_Name('cust_dock_code'));
7572             OE_MSG_PUB.Add;
7573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7574 
7575         END IF;
7576 
7577 
7578         RETURN FALSE;
7579 
7580     WHEN OTHERS THEN
7581 
7582         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7583         THEN
7584             OE_MSG_PUB.Add_Exc_Msg
7585             (   G_PKG_NAME
7586             ,   'Cust_Dock'
7587             );
7588         END IF;
7589 
7590 
7591         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7592 
7593 END Cust_Dock;
7594 
7595 FUNCTION Cust_Job ( p_cust_job IN VARCHAR2 )
7596 RETURN BOOLEAN
7597 IS
7598 l_dummy                       VARCHAR2(10);
7599 BEGIN
7600 
7601 
7602     IF p_cust_job IS NULL OR
7603         p_cust_job = FND_API.G_MISS_CHAR
7604     THEN
7605 
7606         RETURN TRUE;
7607     END IF;
7608 
7609     --  SELECT  'VALID'
7610     --  INTO     l_dummy
7611     --  FROM     DB_TABLE
7612     --  WHERE    DB_COLUMN = p_cust_job;
7613 
7614 
7615     RETURN TRUE;
7616 
7617 EXCEPTION
7618 
7619     WHEN NO_DATA_FOUND THEN
7620 
7621         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7622         THEN
7623 
7624 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_JOB');
7625 
7626             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7627             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7628 				OE_Order_Util.Get_Attribute_Name('cust_job'));
7629             OE_MSG_PUB.Add;
7630 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7631 
7632         END IF;
7633 
7634 
7635         RETURN FALSE;
7636 
7637     WHEN OTHERS THEN
7638 
7639         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7640         THEN
7641             OE_MSG_PUB.Add_Exc_Msg
7642             (   G_PKG_NAME
7643             ,   'Cust_Job'
7644             );
7645         END IF;
7646 
7647 
7648         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7649 
7650 END Cust_Job;
7651 
7652 FUNCTION Cust_Production_Line ( p_cust_production_line IN VARCHAR2 )
7653 RETURN BOOLEAN
7654 IS
7655 l_dummy                       VARCHAR2(10);
7656 BEGIN
7657 
7658 
7659     IF p_cust_production_line IS NULL OR
7660         p_cust_production_line = FND_API.G_MISS_CHAR
7661     THEN
7662 
7663         RETURN TRUE;
7664     END IF;
7665 
7666     --  SELECT  'VALID'
7667     --  INTO     l_dummy
7668     --  FROM     DB_TABLE
7669     --  WHERE    DB_COLUMN = p_cust_production_line;
7670 
7671 
7672     RETURN TRUE;
7673 
7674 EXCEPTION
7675 
7676     WHEN NO_DATA_FOUND THEN
7677 
7678         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7679         THEN
7680 
7681 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_LINE');
7682 
7683             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7684             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7685 				OE_Order_Util.Get_Attribute_Name('cust_production_line'));
7686             OE_MSG_PUB.Add;
7687 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7688 
7689         END IF;
7690 
7691 
7692         RETURN FALSE;
7693 
7694     WHEN OTHERS THEN
7695 
7696         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7697         THEN
7698             OE_MSG_PUB.Add_Exc_Msg
7699             (   G_PKG_NAME
7700             ,   'Cust_Production_Line'
7701             );
7702         END IF;
7703 
7704 
7705         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7706 
7707 END Cust_Production_Line;
7708 
7709 FUNCTION Cust_Model_Serial_Number ( p_cust_model_serial_number IN VARCHAR2 )
7710 RETURN BOOLEAN
7711 IS
7712 l_dummy                       VARCHAR2(10);
7713 BEGIN
7714 
7715 
7716     IF p_cust_model_serial_number IS NULL OR
7717         p_cust_model_serial_number = FND_API.G_MISS_CHAR
7718     THEN
7719 
7720         RETURN TRUE;
7721     END IF;
7722 
7723     --  SELECT  'VALID'
7724     --  INTO     l_dummy
7725     --  FROM     DB_TABLE
7726     --  WHERE    DB_COLUMN = p_cust_model_serial_number;
7727 
7728 
7729     RETURN TRUE;
7730 
7731 EXCEPTION
7732 
7733     WHEN NO_DATA_FOUND THEN
7734 
7735         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7736         THEN
7737 
7738 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_MODEL_SERIAL_NUMBER');
7739 
7740             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7741             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7742 				OE_Order_Util.Get_Attribute_Name('cust_model_serial_number'));
7743             OE_MSG_PUB.Add;
7744 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7745 
7746         END IF;
7747 
7748 
7749         RETURN FALSE;
7750 
7751     WHEN OTHERS THEN
7752 
7753         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7754         THEN
7755             OE_MSG_PUB.Add_Exc_Msg
7756             (   G_PKG_NAME
7757             ,   'Cust_Model_Serial_Number'
7758             );
7759         END IF;
7760 
7761 
7762         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7763 
7764 END Cust_Model_Serial_Number;
7765 
7766 FUNCTION Planning_Prod_Seq_No ( p_planning_prod_seq_no IN NUMBER )
7767 RETURN BOOLEAN
7768 IS
7769 l_dummy                       VARCHAR2(10);
7770 BEGIN
7771 
7772 
7773     IF p_planning_prod_seq_no IS NULL OR
7774         p_planning_prod_seq_no = FND_API.G_MISS_NUM
7775     THEN
7776         RETURN TRUE;
7777     END IF;
7778 
7779     --  SELECT  'VALID'
7780     --  INTO     l_dummy
7781     --  FROM     DB_TABLE
7782     --  WHERE    DB_COLUMN = p_planning_prod_seq_no;
7783 
7784 
7785    RETURN TRUE;
7786 
7787 EXCEPTION
7788 
7789     WHEN NO_DATA_FOUND THEN
7790 
7791         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7792         THEN
7793 
7794 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PLANNING_PROD_SEQ_NO');
7795 
7796             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7797             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7798 				OE_Order_Util.Get_Attribute_Name('planning_prod_seq_no'));
7799             OE_MSG_PUB.Add;
7800 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7801 
7802         END IF;
7803 
7804 
7805        RETURN FALSE;
7806 
7807     WHEN OTHERS THEN
7808 
7809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7810         THEN
7811             OE_MSG_PUB.Add_Exc_Msg
7812             (   G_PKG_NAME
7813             ,   'Planning_Prod_Seq_No'
7814             );
7815         END IF;
7816 
7817 
7818       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7819 
7820 END Planning_Prod_Seq_No;
7821 
7822 FUNCTION Project ( p_project_id IN NUMBER )
7823 RETURN BOOLEAN
7824 IS
7825 l_project         VARCHAR2(30) := NULL;
7826 BEGIN
7827 
7828     IF p_project_id IS NULL OR
7829         p_project_id = FND_API.G_MISS_NUM
7830     THEN
7831         RETURN TRUE;
7832     END IF;
7833 /*
7834       SELECT  'VALID'
7835       INTO     l_dummy
7836       FROM     pjm_projects_org_v
7837       WHERE    project_id = p_project_id
7838 	 AND      rownum = 1;
7839 */
7840 
7841     l_project := pjm_project.val_proj_idtonum(p_project_id);
7842 
7843     IF l_project IS NOT NULL THEN
7844 
7845        RETURN TRUE;
7846 
7847     ELSE
7848 
7849 	  RAISE NO_DATA_FOUND;
7850 
7851     END IF;
7852 
7853 EXCEPTION
7854 
7855     WHEN NO_DATA_FOUND THEN
7856 
7857         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7858         THEN
7859 
7860 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROJECT_ID');
7861 
7862             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7863             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7864 				OE_Order_Util.Get_Attribute_Name('project_id'));
7865             OE_MSG_PUB.Add;
7866 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7867 
7868         END IF;
7869 
7870 
7871         RETURN FALSE;
7872 
7873     WHEN OTHERS THEN
7874 
7875         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7876         THEN
7877             OE_MSG_PUB.Add_Exc_Msg
7878             (   G_PKG_NAME
7879             ,   'Project'
7880             );
7881         END IF;
7882 
7883 
7884         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7885 
7886 END Project;
7887 
7888 FUNCTION Task ( p_task_id IN NUMBER )
7889 RETURN BOOLEAN
7890 IS
7891 l_task          VARCHAR2(30);
7892 BEGIN
7893 
7894 -- Validation will be done at Entity level.
7895 
7896     IF p_task_id IS NULL OR
7897         p_task_id = FND_API.G_MISS_NUM
7898     THEN
7899 
7900         RETURN TRUE;
7901     END IF;
7902 
7903 --      SELECT  'VALID'
7904 --      INTO     l_dummy
7905 --      FROM     mtl_task_v
7906 --      WHERE    task_id = p_task_id;
7907 
7908 
7909     RETURN TRUE;
7910 
7911 EXCEPTION
7912 
7913     WHEN NO_DATA_FOUND THEN
7914 
7915         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7916         THEN
7917 
7918 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TASK_ID');
7919 
7920             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7921             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7922 				OE_Order_Util.Get_Attribute_Name('task_id'));
7923             OE_MSG_PUB.Add;
7924 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7925 
7926         END IF;
7927 
7928 
7929         RETURN FALSE;
7930 
7931     WHEN OTHERS THEN
7932 
7933         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7934         THEN
7935             OE_MSG_PUB.Add_Exc_Msg
7936             (   G_PKG_NAME
7937             ,   'Task'
7938             );
7939         END IF;
7940 
7941 
7942         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7943 
7944 END Task;
7945 
7946 FUNCTION Inventory_Item ( p_inventory_item_id IN NUMBER )
7947 RETURN BOOLEAN
7948 IS
7949 l_dummy                       VARCHAR2(10);
7950 BEGIN
7951 
7952 
7953     IF p_inventory_item_id IS NULL OR
7954         p_inventory_item_id = FND_API.G_MISS_NUM
7955     THEN
7956 
7957         RETURN TRUE;
7958     END IF;
7959 
7960     --  SELECT  'VALID'
7961     --  INTO     l_dummy
7962     --  FROM     DB_TABLE
7963     --  WHERE    DB_COLUMN = p_inventory_item_id;
7964 
7965 
7966     RETURN TRUE;
7967 
7968 EXCEPTION
7969 
7970     WHEN NO_DATA_FOUND THEN
7971 
7972         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7973         THEN
7974 
7975 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVENTORY_ITEM_ID');
7976 
7977             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7978             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7979 				OE_Order_Util.Get_Attribute_Name('inventory_item_id'));
7980             OE_MSG_PUB.Add;
7981 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7982 
7983         END IF;
7984 
7985 
7986         RETURN FALSE;
7987 
7988     WHEN OTHERS THEN
7989 
7990         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7991         THEN
7992             OE_MSG_PUB.Add_Exc_Msg
7993             (   G_PKG_NAME
7994             ,   'Inventory_Item'
7995             );
7996         END IF;
7997 
7998 
7999         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8000 
8001 END Inventory_Item;
8002 
8003 
8004 FUNCTION Tax_Date ( p_tax_date IN DATE )
8005 RETURN BOOLEAN
8006 IS
8007 l_dummy                       VARCHAR2(10);
8008 BEGIN
8009 
8010 
8011     IF p_tax_date IS NULL OR
8012         p_tax_date = FND_API.G_MISS_DATE
8013     THEN
8014 
8015         RETURN TRUE;
8016     END IF;
8017 
8018     --  SELECT  'VALID'
8019     --  INTO     l_dummy
8020     --  FROM     DB_TABLE
8021     --  WHERE    DB_COLUMN = p_tax_date;
8022 
8023 
8024     RETURN TRUE;
8025 
8026 EXCEPTION
8027 
8028     WHEN NO_DATA_FOUND THEN
8029 
8030         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8031         THEN
8032 
8033 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_DATE');
8034 
8035             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8036             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8037 				OE_Order_Util.Get_Attribute_Name('tax_date'));
8038             OE_MSG_PUB.Add;
8039 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8040 
8041         END IF;
8042 
8043 
8044         RETURN FALSE;
8045 
8046     WHEN OTHERS THEN
8047 
8048         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8049         THEN
8050             OE_MSG_PUB.Add_Exc_Msg
8051             (   G_PKG_NAME
8052             ,   'Tax_Date'
8053             );
8054         END IF;
8055 
8056 
8057         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8058 
8059 END Tax_Date;
8060 
8061 
8062 FUNCTION Pricing_Date ( p_pricing_date IN DATE )
8063 RETURN BOOLEAN
8064 IS
8065 l_dummy                       VARCHAR2(10);
8066 BEGIN
8067 
8068 
8069     IF p_pricing_date IS NULL OR
8070         p_pricing_date = FND_API.G_MISS_DATE
8071     THEN
8072 
8073         RETURN TRUE;
8074     END IF;
8075 
8076     --  SELECT  'VALID'
8077     --  INTO     l_dummy
8078     --  FROM     DB_TABLE
8079     --  WHERE    DB_COLUMN = p_pricing_date;
8080 
8081 
8082     RETURN TRUE;
8083 
8084 EXCEPTION
8085 
8086     WHEN NO_DATA_FOUND THEN
8087 
8088         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8089         THEN
8090 
8091 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_DATE');
8092 
8093             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8094             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8095 				OE_Order_Util.Get_Attribute_Name('pricing_date'));
8096             OE_MSG_PUB.Add;
8097 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8098 
8099         END IF;
8100 
8101 
8102         RETURN FALSE;
8103 
8104     WHEN OTHERS THEN
8105 
8106         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8107         THEN
8108             OE_MSG_PUB.Add_Exc_Msg
8109             (   G_PKG_NAME
8110             ,   'Pricing_Date'
8111             );
8112         END IF;
8113 
8114 
8115         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8116 
8117 END Pricing_Date;
8118 
8119 FUNCTION Shipment_Number ( p_shipment_number IN NUMBER )
8120 RETURN BOOLEAN
8121 IS
8122 l_dummy                       VARCHAR2(10);
8123 BEGIN
8124 
8125 
8126     IF p_shipment_number IS NULL OR
8127         p_shipment_number = FND_API.G_MISS_NUM
8128     THEN
8129 
8130         RETURN TRUE;
8131     END IF;
8132 
8133     --  SELECT  'VALID'
8134     --  INTO     l_dummy
8135     --  FROM     DB_TABLE
8136     --  WHERE    DB_COLUMN = p_shipment_number;
8137 
8138 
8139     RETURN TRUE;
8140 
8141 EXCEPTION
8142 
8143     WHEN NO_DATA_FOUND THEN
8144 
8145         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8146         THEN
8147 
8148 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPMENT_NUMBER');
8149 
8150             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8151             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8152 				OE_Order_Util.Get_Attribute_Name('shipment_number'));
8153             OE_MSG_PUB.Add;
8154 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8155 
8156         END IF;
8157 
8158 
8159         RETURN FALSE;
8160 
8161     WHEN OTHERS THEN
8162 
8163         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8164         THEN
8165             OE_MSG_PUB.Add_Exc_Msg
8166             (   G_PKG_NAME
8167             ,   'Shipment_Number'
8168             );
8169         END IF;
8170 
8171 
8172         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8173 
8174 END Shipment_Number;
8175 
8176 FUNCTION Orig_Sys_Line_Ref ( p_orig_sys_line_ref IN VARCHAR2 )
8177 RETURN BOOLEAN
8178 IS
8179 l_dummy                       VARCHAR2(10);
8180 BEGIN
8181 
8182 
8183     IF p_orig_sys_line_ref IS NULL OR
8184         p_orig_sys_line_ref = FND_API.G_MISS_CHAR
8185     THEN
8186 
8187         RETURN TRUE;
8188     END IF;
8189 
8190     --  SELECT  'VALID'
8191     --  INTO     l_dummy
8192     --  FROM     DB_TABLE
8193     --  WHERE    DB_COLUMN = p_orig_sys_line_ref;
8194 
8195 
8196     RETURN TRUE;
8197 
8198 EXCEPTION
8199 
8200     WHEN NO_DATA_FOUND THEN
8201 
8202         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8203         THEN
8204 
8205 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORIG_SYS_LINE_REF');
8206 
8207             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8208             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8209 				OE_Order_Util.Get_Attribute_Name('orig_sys_line_ref'));
8210             OE_MSG_PUB.Add;
8211 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8212 
8213         END IF;
8214 
8215 
8216         RETURN FALSE;
8217 
8218     WHEN OTHERS THEN
8219 
8220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8221         THEN
8222             OE_MSG_PUB.Add_Exc_Msg
8223             (   G_PKG_NAME
8224             ,   'Orig_Sys_Line_ref'
8225             );
8226         END IF;
8227 
8228 
8229         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8230 
8231 END Orig_Sys_Line_Ref;
8232 
8233 FUNCTION Source_Document_Line ( p_source_document_line_id IN NUMBER )
8234 RETURN BOOLEAN
8235 IS
8236 l_dummy                       VARCHAR2(10);
8237 BEGIN
8238 
8239 
8240     IF p_source_document_line_id IS NULL OR
8241         p_source_document_line_id = FND_API.G_MISS_NUM
8242     THEN
8243 
8244         RETURN TRUE;
8245     END IF;
8246 
8247     --  SELECT  'VALID'
8248     --  INTO     l_dummy
8249     --  FROM     DB_TABLE
8250     --  WHERE    DB_COLUMN = p_source_document_line_id;
8251 
8252 
8253     RETURN TRUE;
8254 
8255 EXCEPTION
8256 
8257     WHEN NO_DATA_FOUND THEN
8258 
8259         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8260         THEN
8261 
8262 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_LINE_ID');
8263 
8264             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8265             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8266 				OE_Order_Util.Get_Attribute_Name('source_document_line_id'));
8267             OE_MSG_PUB.Add;
8268 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8269 
8270         END IF;
8271 
8272 
8273         RETURN FALSE;
8274 
8275     WHEN OTHERS THEN
8276 
8277         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8278         THEN
8279             OE_MSG_PUB.Add_Exc_Msg
8280             (   G_PKG_NAME
8281             ,   'Source_Document_Line'
8282             );
8283         END IF;
8284 
8285 
8286         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8287 
8288 END Source_Document_Line;
8289 
8290 FUNCTION Reference_Line ( p_reference_line_id IN NUMBER )
8291 RETURN BOOLEAN
8292 IS
8293 l_dummy                       VARCHAR2(10);
8294 BEGIN
8295 
8296 
8297     IF p_reference_line_id IS NULL OR
8298         p_reference_line_id = FND_API.G_MISS_NUM
8299     THEN
8300 
8301         RETURN TRUE;
8302     END IF;
8303 
8304     --  SELECT  'VALID'
8305     --  INTO     l_dummy
8306     --  FROM     DB_TABLE
8307     --  WHERE    DB_COLUMN = p_reference_line_id;
8308 
8309 
8310     RETURN TRUE;
8311 
8312 EXCEPTION
8313 
8314     WHEN NO_DATA_FOUND THEN
8315 
8316         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8317         THEN
8318 
8319 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_LINE_ID');
8320 
8321             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8322             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8323 				OE_Order_Util.Get_Attribute_Name('reference_line_id'));
8324             OE_MSG_PUB.Add;
8325 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8326 
8327         END IF;
8328 
8329 
8330         RETURN FALSE;
8331 
8332     WHEN OTHERS THEN
8333 
8334         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8335         THEN
8336             OE_MSG_PUB.Add_Exc_Msg
8337             (   G_PKG_NAME
8338             ,   'Reference_Line'
8339             );
8340         END IF;
8341 
8342 
8343         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8344 
8345 END Reference_Line;
8346 
8347 FUNCTION Reference_Type ( p_reference_type IN VARCHAR2 )
8348 RETURN BOOLEAN
8349 IS
8350 l_dummy                       VARCHAR2(10);
8351 BEGIN
8352 
8353 
8354 
8355     IF p_reference_type IS NULL OR
8356         p_reference_type = FND_API.G_MISS_CHAR
8357     THEN
8358 
8359         RETURN TRUE;
8360     END IF;
8361 
8362     --  SELECT  'VALID'
8363     --  INTO     l_dummy
8364     --  FROM     DB_TABLE
8365     --  WHERE    DB_COLUMN = p_reference_type;
8366 
8367 
8368     RETURN TRUE;
8369 
8370 EXCEPTION
8371 
8372     WHEN NO_DATA_FOUND THEN
8373 
8374         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8375         THEN
8376 
8377 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_TYPE');
8378 
8379             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8380             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8381 				OE_Order_Util.Get_Attribute_Name('reference_type'));
8382             OE_MSG_PUB.Add;
8383 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8384 
8385         END IF;
8386 
8387 
8388         RETURN FALSE;
8389 
8390     WHEN OTHERS THEN
8391 
8392         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8393         THEN
8394             OE_MSG_PUB.Add_Exc_Msg
8395             (   G_PKG_NAME
8396             ,   'Reference_Type'
8397             );
8398         END IF;
8399 
8400 
8401         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8402 
8403 END Reference_Type;
8404 
8405 FUNCTION Reference_Header ( p_reference_header_id IN NUMBER )
8406 RETURN BOOLEAN
8407 IS
8408 l_dummy                       VARCHAR2(10);
8409 BEGIN
8410 
8411 
8412     IF p_reference_header_id IS NULL OR
8413         p_reference_header_id = FND_API.G_MISS_NUM
8414     THEN
8415 
8416         RETURN TRUE;
8417     END IF;
8418 
8419     --  SELECT  'VALID'
8420     --  INTO     l_dummy
8421     --  FROM     DB_TABLE
8422     --  WHERE    DB_COLUMN = p_reference_header_id;
8423 
8424 
8425     RETURN TRUE;
8426 
8427 EXCEPTION
8428 
8429     WHEN NO_DATA_FOUND THEN
8430 
8431         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8432         THEN
8433 
8434 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_HEADER_ID');
8435 
8436             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8437             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8438 				OE_Order_Util.Get_Attribute_Name('reference_header_id'));
8439             OE_MSG_PUB.Add;
8440 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8441 
8442         END IF;
8443 
8444 
8445         RETURN FALSE;
8446 
8447     WHEN OTHERS THEN
8448 
8449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8450         THEN
8451             OE_MSG_PUB.Add_Exc_Msg
8452             (   G_PKG_NAME
8453             ,   'Reference_Header'
8454             );
8455         END IF;
8456 
8457 
8458         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8459 
8460 END Reference_Header;
8461 
8462 
8463 
8464 FUNCTION Revision ( p_revision IN VARCHAR2 )
8465 RETURN BOOLEAN
8466 IS
8467 l_dummy                       VARCHAR2(10);
8468 BEGIN
8469 
8470 
8471     IF p_revision IS NULL OR
8472         p_revision = FND_API.G_MISS_CHAR
8473     THEN
8474 
8475         RETURN TRUE;
8476     END IF;
8477 
8478     --  SELECT  'VALID'
8479     --  INTO     l_dummy
8480     --  FROM     DB_TABLE
8481     --  WHERE    DB_COLUMN = p_revision;
8482 
8483 
8484     RETURN TRUE;
8485 
8486 EXCEPTION
8487 
8488     WHEN NO_DATA_FOUND THEN
8489 
8490         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8491         THEN
8492 
8493 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REVISION');
8494 
8495             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8496             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8497 				OE_Order_Util.Get_Attribute_Name('revision'));
8498             OE_MSG_PUB.Add;
8499 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8500 
8501         END IF;
8502 
8503 
8504         RETURN FALSE;
8505 
8506     WHEN OTHERS THEN
8507 
8508         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8509         THEN
8510             OE_MSG_PUB.Add_Exc_Msg
8511             (   G_PKG_NAME
8512             ,   'Revision'
8513             );
8514         END IF;
8515 
8516 
8517         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8518 
8519 END Revision;
8520 
8521 FUNCTION Unit_Selling_Price ( p_unit_selling_price IN NUMBER )
8522 RETURN BOOLEAN
8523 IS
8524 l_dummy                       VARCHAR2(10);
8525 BEGIN
8526 
8527 
8528     IF p_unit_selling_price IS NULL OR
8529         p_unit_selling_price = FND_API.G_MISS_NUM
8530     THEN
8531 
8532         RETURN TRUE;
8533     END IF;
8534 
8535     --  SELECT  'VALID'
8536     --  INTO     l_dummy
8537     --  FROM     DB_TABLE
8538     --  WHERE    DB_COLUMN = p_unit_selling_price;
8539 
8540 
8541     RETURN TRUE;
8542 
8543 EXCEPTION
8544 
8545     WHEN NO_DATA_FOUND THEN
8546 
8547         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8548         THEN
8549 
8550 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_SELLING_PRICE');
8551 
8552             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8553             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8554 				OE_Order_Util.Get_Attribute_Name('unit_selling_price'));
8555             OE_MSG_PUB.Add;
8556 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8557 
8558         END IF;
8559 
8560 
8561         RETURN FALSE;
8562 
8563     WHEN OTHERS THEN
8564 
8565         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8566         THEN
8567             OE_MSG_PUB.Add_Exc_Msg
8568             (   G_PKG_NAME
8569             ,   'Unit_Selling_Price'
8570             );
8571         END IF;
8572 
8573 
8574         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8575 
8576 END Unit_Selling_Price;
8577 
8578 
8579 
8580 FUNCTION Unit_List_Price ( p_unit_list_price IN NUMBER )
8581 RETURN BOOLEAN
8582 IS
8583 l_dummy                       VARCHAR2(10);
8584 BEGIN
8585 
8586 
8587     IF p_unit_list_price IS NULL OR
8588         p_unit_list_price = FND_API.G_MISS_NUM
8589     THEN
8590 
8591         RETURN TRUE;
8592     END IF;
8593 
8594     --  SELECT  'VALID'
8595     --  INTO     l_dummy
8596     --  FROM     DB_TABLE
8597     --  WHERE    DB_COLUMN = p_unit_list_price;
8598 
8599 
8600     RETURN TRUE;
8601 
8602 EXCEPTION
8603 
8604     WHEN NO_DATA_FOUND THEN
8605 
8606         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8607         THEN
8608 
8609 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_LIST_PRICE');
8610 
8611             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8612             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8613 				OE_Order_Util.Get_Attribute_Name('unit_list_price'));
8614             OE_MSG_PUB.Add;
8615 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8616 
8617         END IF;
8618 
8619 
8620         RETURN FALSE;
8621 
8622     WHEN OTHERS THEN
8623 
8624         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8625         THEN
8626             OE_MSG_PUB.Add_Exc_Msg
8627             (   G_PKG_NAME
8628             ,   'Unit_List_Price'
8629             );
8630         END IF;
8631 
8632 
8633         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8634 
8635 END Unit_List_Price;
8636 
8637 FUNCTION Tax_Value ( p_tax_value IN NUMBER )
8638 RETURN BOOLEAN
8639 IS
8640 l_dummy                       VARCHAR2(10);
8641 BEGIN
8642 
8643 
8644     IF p_tax_value IS NULL OR
8645         p_tax_value = FND_API.G_MISS_NUM
8646     THEN
8647 
8648         RETURN TRUE;
8649     END IF;
8650 
8651     --  SELECT  'VALID'
8652     --  INTO     l_dummy
8653     --  FROM     DB_TABLE
8654     --  WHERE    DB_COLUMN = p_tax_value;
8655 
8656 
8657     RETURN TRUE;
8658 
8659 EXCEPTION
8660 
8661     WHEN NO_DATA_FOUND THEN
8662 
8663         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8664         THEN
8665 
8666 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_VALUE');
8667 
8668             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8669             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8670 				OE_Order_Util.Get_Attribute_Name('tax_value'));
8671             OE_MSG_PUB.Add;
8672 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8673 
8674         END IF;
8675 
8676 
8677         RETURN FALSE;
8678 
8679     WHEN OTHERS THEN
8680 
8681         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8682         THEN
8683             OE_MSG_PUB.Add_Exc_Msg
8684             (   G_PKG_NAME
8685             ,   'Tax_Value'
8686             );
8687         END IF;
8688 
8689 
8690         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8691 
8692 END Tax_Value;
8693 
8694 
8695 
8696 
8697 FUNCTION Order_Number_Source ( p_order_number_source_id IN NUMBER )
8698 RETURN BOOLEAN
8699 IS
8700 l_dummy                       VARCHAR2(10);
8701 BEGIN
8702 
8703 
8704     IF p_order_number_source_id IS NULL OR
8705         p_order_number_source_id = FND_API.G_MISS_NUM
8706     THEN
8707 
8708         RETURN TRUE;
8709     END IF;
8710 
8711     --  SELECT  'VALID'
8712     --  INTO     l_dummy
8713     --  FROM     DB_TABLE
8714     --  WHERE    DB_COLUMN = p_order_number_source_id;
8715 
8716 
8717     RETURN TRUE;
8718 
8719 EXCEPTION
8720 
8721     WHEN NO_DATA_FOUND THEN
8722 
8723         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8724         THEN
8725 
8726 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_NUMBER_SOURCE_ID');
8727 
8728             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8729             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8730 				OE_Order_Util.Get_Attribute_Name('order_number_source_id'));
8731             OE_MSG_PUB.Add;
8732 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8733 
8734         END IF;
8735 
8736 
8737         RETURN FALSE;
8738 
8739     WHEN OTHERS THEN
8740 
8741         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8742         THEN
8743             OE_MSG_PUB.Add_Exc_Msg
8744             (   G_PKG_NAME
8745             ,   'Order_Number_Source'
8746             );
8747         END IF;
8748 
8749 
8750         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8751 
8752 END Order_Number_Source;
8753 
8754 FUNCTION Name ( p_name IN VARCHAR2 )
8755 RETURN BOOLEAN
8756 IS
8757 l_dummy                       VARCHAR2(10);
8758 BEGIN
8759 
8760 
8761     IF p_name IS NULL OR
8762         p_name = FND_API.G_MISS_CHAR
8763     THEN
8764 
8765         RETURN TRUE;
8766     END IF;
8767 
8768     --  SELECT  'VALID'
8769     --  INTO     l_dummy
8770     --  FROM     DB_TABLE
8771     --  WHERE    DB_COLUMN = p_name;
8772 
8773 
8774     RETURN TRUE;
8775 
8776 EXCEPTION
8777 
8778     WHEN NO_DATA_FOUND THEN
8779 
8780         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8781         THEN
8782 
8783 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'NAME');
8784 
8785             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8786             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8787 				OE_Order_Util.Get_Attribute_Name('name'));
8788             OE_MSG_PUB.Add;
8789 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8790 
8791         END IF;
8792 
8793 
8794         RETURN FALSE;
8795 
8796     WHEN OTHERS THEN
8797 
8798         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8799         THEN
8800             OE_MSG_PUB.Add_Exc_Msg
8801             (   G_PKG_NAME
8802             ,   'Name'
8803             );
8804         END IF;
8805 
8806 
8807         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8808 
8809 END Name;
8810 
8811 FUNCTION Sequence_Starting_Point ( p_sequence_starting_point IN NUMBER )
8812 RETURN BOOLEAN
8813 IS
8814 l_dummy                       VARCHAR2(10);
8815 BEGIN
8816 
8817 
8818     IF p_sequence_starting_point IS NULL OR
8819         p_sequence_starting_point = FND_API.G_MISS_NUM
8820     THEN
8821 
8822         RETURN TRUE;
8823     END IF;
8824 
8825     --  SELECT  'VALID'
8826     --  INTO     l_dummy
8827     --  FROM     DB_TABLE
8828     --  WHERE    DB_COLUMN = p_sequence_starting_point;
8829 
8830 
8831     RETURN TRUE;
8832 
8833 EXCEPTION
8834 
8835     WHEN NO_DATA_FOUND THEN
8836 
8837         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8838         THEN
8839 
8840 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SEQUENCE_STARTING_POINT');
8841 
8842             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8843             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8844 				OE_Order_Util.Get_Attribute_Name('sequence_starting_point'));
8845             OE_MSG_PUB.Add;
8846 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8847 
8848         END IF;
8849 
8850 
8851         RETURN FALSE;
8852 
8853     WHEN OTHERS THEN
8854 
8855         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8856         THEN
8857             OE_MSG_PUB.Add_Exc_Msg
8858             (   G_PKG_NAME
8859             ,   'Sequence_Starting_Point'
8860             );
8861         END IF;
8862 
8863 
8864         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8865 
8866 END Sequence_Starting_Point;
8867 
8868 FUNCTION Description ( p_description IN VARCHAR2 )
8869 RETURN BOOLEAN
8870 IS
8871 l_dummy                       VARCHAR2(10);
8872 BEGIN
8873 
8874 
8875     IF p_description IS NULL OR
8876         p_description = FND_API.G_MISS_CHAR
8877     THEN
8878 
8879         RETURN TRUE;
8880     END IF;
8881 
8882     --  SELECT  'VALID'
8883     --  INTO     l_dummy
8884     --  FROM     DB_TABLE
8885     --  WHERE    DB_COLUMN = p_description;
8886 
8887 
8888 
8889     RETURN TRUE;
8890 
8891 EXCEPTION
8892 
8893     WHEN NO_DATA_FOUND THEN
8894 
8895         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8896         THEN
8897 
8898 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DESCRIPTION');
8899 
8900 
8901             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8902             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8903 				OE_Order_Util.Get_Attribute_Name('description'));
8904             OE_MSG_PUB.Add;
8905 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8906 
8907         END IF;
8908 
8909 
8910         RETURN FALSE;
8911 
8912     WHEN OTHERS THEN
8913 
8914         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8915         THEN
8916             OE_MSG_PUB.Add_Exc_Msg
8917             (   G_PKG_NAME
8918             ,   'Description'
8919             );
8920         END IF;
8921 
8922 
8923         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8924 
8925 END Description;
8926 
8927 /* FUNCTION Start_Date_Active ( p_start_date_active IN DATE )
8928 RETURN BOOLEAN
8929 IS
8930 l_dummy                       VARCHAR2(10);
8931 BEGIN
8932 
8933 
8934     IF p_start_date_active IS NULL OR
8935         p_start_date_active = FND_API.G_MISS_DATE
8936     THEN
8937 
8938         RETURN TRUE;
8939     END IF;
8940 
8941     --  SELECT  'VALID'
8942     --  INTO     l_dummy
8943     --  FROM     DB_TABLE
8944     --  WHERE    DB_COLUMN = p_start_date_active;
8945 
8946 
8947     RETURN TRUE;
8948 
8949 EXCEPTION
8950 
8951     WHEN NO_DATA_FOUND THEN
8952 
8953         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8954         THEN
8955 
8956 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'START_DATE_ACTIVE');
8957 
8958             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8959             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8960 				OE_Order_Util.Get_Attribute_Name('start_date_active'));
8961             OE_MSG_PUB.Add;
8962 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8963 
8964         END IF;
8965 
8966 
8967         RETURN FALSE;
8968 
8969     WHEN OTHERS THEN
8970 
8971         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8972         THEN
8973             OE_MSG_PUB.Add_Exc_Msg
8974             (   G_PKG_NAME
8975             ,   'Start_Date_Active'
8976             );
8977         END IF;
8978 
8979 
8980         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8981 
8982 END Start_Date_Active; */
8983 
8984 FUNCTION End_Date_Active ( p_end_date_active IN DATE )
8985 RETURN BOOLEAN
8986 IS
8987 l_dummy                       VARCHAR2(10);
8988 BEGIN
8989 
8990 
8991     IF p_end_date_active IS NULL OR
8992         p_end_date_active = FND_API.G_MISS_DATE
8993     THEN
8994 
8995         RETURN TRUE;
8996     END IF;
8997 
8998     --  SELECT  'VALID'
8999     --  INTO     l_dummy
9000     --  FROM     DB_TABLE
9001     --  WHERE    DB_COLUMN = p_end_date_active;
9002 
9003 
9004     RETURN TRUE;
9005 
9006 EXCEPTION
9007 
9008     WHEN NO_DATA_FOUND THEN
9009 
9010         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9011         THEN
9012 
9013 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_DATE_ACTIVE');
9014 
9015             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9016             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9017 				OE_Order_Util.Get_Attribute_Name('end_date_active'));
9018             OE_MSG_PUB.Add;
9019 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9020 
9021         END IF;
9022 
9023 
9024         RETURN FALSE;
9025 
9026     WHEN OTHERS THEN
9027 
9028         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9029         THEN
9030             OE_MSG_PUB.Add_Exc_Msg
9031             (   G_PKG_NAME
9032             ,   'End_Date_Active'
9033             );
9034         END IF;
9035 
9036 
9037         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9038 
9039 END End_Date_Active;
9040 
9041 Function SALES_CREDIT_PERCENT( p_percent IN Number) Return Boolean
9042 IS
9043 BEGIN
9044 
9045 
9046   OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PERCENT');
9047 
9048 
9049   IF p_percent = FND_API.G_MISS_NUM THEN
9050 
9051      RETURN TRUE;
9052   END IF;
9053 
9054   IF P_Percent < 0 OR P_Percent > 100 THEN
9055        fnd_message.set_name('ONT','OE_INVALID_CREDIT_PERCENT');
9056        OE_MSG_PUB.Add;
9057 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9058 
9059        RETURN FALSE;
9060   ELSE
9061 
9062      RETURN TRUE;
9063   END IF;
9064 
9065 
9066 END SALES_CREDIT_PERCENT;
9067 
9068 FUNCTION Configuration ( p_configuration_id IN NUMBER )
9069 RETURN BOOLEAN
9070 IS
9071 l_dummy                       VARCHAR2(10);
9072 BEGIN
9073 
9074 
9075     IF p_configuration_id IS NULL OR
9076         p_configuration_id = FND_API.G_MISS_NUM
9077     THEN
9078 
9079         RETURN TRUE;
9080     END IF;
9081 
9082     --  SELECT  'VALID'
9083     --  INTO     l_dummy
9084     --  FROM     DB_TABLE
9085     --  WHERE    DB_COLUMN = p_configuration_id;
9086 
9087 
9088     RETURN TRUE;
9089 
9090 EXCEPTION
9091 
9092     WHEN NO_DATA_FOUND THEN
9093 
9094         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9095         THEN
9096 
9097 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIGURATION_ID');
9098 
9099             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9100             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9101 				OE_Order_Util.Get_Attribute_Name('configuration_id'));
9102             OE_MSG_PUB.Add;
9103 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9104 
9105         END IF;
9106 
9107 
9108         RETURN FALSE;
9109 
9110     WHEN OTHERS THEN
9111 
9112         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9113         THEN
9114             OE_MSG_PUB.Add_Exc_Msg
9115             (   G_PKG_NAME
9116             ,   'Configuration'
9117             );
9118         END IF;
9119 
9120 
9121         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9122 
9123 END Configuration;
9124 
9125 FUNCTION Top_Model_Line ( p_top_model_line_id IN NUMBER )
9126 RETURN BOOLEAN
9127 IS
9128 l_dummy                       VARCHAR2(10);
9129 BEGIN
9130 
9131 
9132     IF p_top_model_line_id IS NULL OR
9133         p_top_model_line_id = FND_API.G_MISS_NUM
9134     THEN
9135 
9136         RETURN TRUE;
9137     END IF;
9138 
9139     --  SELECT  'VALID'
9140     --  INTO     l_dummy
9141     --  FROM     DB_TABLE
9142     --  WHERE    DB_COLUMN = p_top_model_line_id;
9143 
9144 
9145     RETURN TRUE;
9146 
9147 EXCEPTION
9148 
9149     WHEN NO_DATA_FOUND THEN
9150 
9151         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9152         THEN
9153 
9154 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TOP_MODEL_LINE_ID');
9155 
9156             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9157             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9158 				OE_Order_Util.Get_Attribute_Name('top_model_line_id'));
9159             OE_MSG_PUB.Add;
9160 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9161 
9162         END IF;
9163 
9164 
9165         RETURN FALSE;
9166 
9167     WHEN OTHERS THEN
9168 
9169         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9170         THEN
9171             OE_MSG_PUB.Add_Exc_Msg
9172             (   G_PKG_NAME
9173             ,   'Top_Model_Line'
9174             );
9175         END IF;
9176 
9177 
9178         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9179 
9180 END Top_Model_Line;
9181 
9182 FUNCTION Link_To_Line ( p_link_to_line_id IN NUMBER )
9183 RETURN BOOLEAN
9184 IS
9185 l_dummy                       VARCHAR2(10);
9186 BEGIN
9187 
9188 
9189     IF p_link_to_line_id IS NULL OR
9190         p_link_to_line_id = FND_API.G_MISS_NUM
9191     THEN
9192 
9193         RETURN TRUE;
9194     END IF;
9195 
9196     --  SELECT  'VALID'
9197     --  INTO     l_dummy
9198     --  FROM     DB_TABLE
9199     --  WHERE    DB_COLUMN = p_link_to_line_id;
9200 
9201 
9202    RETURN TRUE;
9203 
9204 EXCEPTION
9205 
9206     WHEN NO_DATA_FOUND THEN
9207 
9208         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9209         THEN
9210 
9211 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINK_TO_LINE_ID');
9212 
9213             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9214             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9215 				OE_Order_Util.Get_Attribute_Name('LINK_TO_LINE_ID'));
9216             OE_MSG_PUB.Add;
9217 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9218 
9219         END IF;
9220 
9221 
9222         RETURN FALSE;
9223 
9224     WHEN OTHERS THEN
9225 
9226         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9227         THEN
9228             OE_MSG_PUB.Add_Exc_Msg
9229             (   G_PKG_NAME
9230             ,   'Link_To_Line'
9231             );
9232         END IF;
9233 
9234 
9235         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9236 
9237 END Link_To_Line;
9238 
9239 FUNCTION Component_Sequence ( p_component_sequence_id IN NUMBER )
9240 RETURN BOOLEAN
9241 IS
9242 l_dummy                       VARCHAR2(10);
9243 BEGIN
9244 
9245 
9246     IF p_component_sequence_id IS NULL OR
9247         p_component_sequence_id = FND_API.G_MISS_NUM
9248     THEN
9249 
9250         RETURN TRUE;
9251     END IF;
9252 
9253     --  SELECT  'VALID'
9254     --  INTO     l_dummy
9255     --  FROM     DB_TABLE
9256     --  WHERE    DB_COLUMN = p_component_sequence_id;
9257 
9258 
9259     RETURN TRUE;
9260 
9261 EXCEPTION
9262 
9263     WHEN NO_DATA_FOUND THEN
9264 
9265         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9266         THEN
9267 
9268 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_SEQUENCE_ID');
9269 
9270             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9271             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9272 				OE_Order_Util.Get_Attribute_Name('COMPONENT_SEQUENCE_ID'));
9273             OE_MSG_PUB.Add;
9274 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9275 
9276         END IF;
9277 
9278 
9279         RETURN FALSE;
9280 
9281     WHEN OTHERS THEN
9282 
9283         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9284         THEN
9285             OE_MSG_PUB.Add_Exc_Msg
9286             (   G_PKG_NAME
9287             ,   'Component_Sequence'
9288             );
9289         END IF;
9290 
9291 
9292         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9293 
9294 END Component_Sequence;
9295 
9296 FUNCTION Config_Header ( p_config_header_id IN NUMBER )
9297 RETURN BOOLEAN
9298 IS
9299 l_dummy                       VARCHAR2(10);
9300 BEGIN
9301 
9302 
9303     IF p_config_header_id IS NULL OR
9304         p_config_header_id = FND_API.G_MISS_NUM
9305     THEN
9306 
9307         RETURN TRUE;
9308     END IF;
9309 
9310     --  SELECT  'VALID'
9311     --  INTO     l_dummy
9312     --  FROM     DB_TABLE
9313     --  WHERE    DB_COLUMN = p_config_header_id;
9314 
9315 
9316     RETURN TRUE;
9317 
9318 EXCEPTION
9319 
9320     WHEN NO_DATA_FOUND THEN
9321 
9322         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9323         THEN
9324 
9325 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_HEADER');
9326 
9327            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9328            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9329 				OE_Order_Util.Get_Attribute_Name('CONFIG_HEADER_ID'));
9330            OE_MSG_PUB.Add;
9331 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9332 
9333         END IF;
9334 
9335 
9336         RETURN FALSE;
9337 
9338     WHEN OTHERS THEN
9339 
9340         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9341         THEN
9342             OE_MSG_PUB.Add_Exc_Msg
9343             (   G_PKG_NAME
9344             ,   'Config_Header'
9345             );
9346         END IF;
9347 
9348 
9349         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9350 
9351 END Config_Header;
9352 
9353 FUNCTION Config_Rev_Nbr ( p_config_rev_nbr IN NUMBER )
9354 RETURN BOOLEAN
9355 IS
9356 l_dummy                       VARCHAR2(10);
9357 BEGIN
9358 
9359 
9360     IF p_config_rev_nbr IS NULL OR
9361         p_config_rev_nbr = FND_API.G_MISS_NUM
9362     THEN
9363 
9364         RETURN TRUE;
9365     END IF;
9366 
9367     --  SELECT  'VALID'
9368     --  INTO     l_dummy
9369     --  FROM     DB_TABLE
9370     --  WHERE    DB_COLUMN = p_config_rev_nbr;
9371 
9372 
9373     RETURN TRUE;
9374 
9375 EXCEPTION
9376 
9377     WHEN NO_DATA_FOUND THEN
9378 
9379         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9380         THEN
9381 
9382 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_REV_NBR');
9383 
9384            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9385            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9386 				OE_Order_Util.Get_Attribute_Name('CONFIG_REV_NBR'));
9387            OE_MSG_PUB.Add;
9388 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9389 
9390         END IF;
9391 
9392 
9393         RETURN FALSE;
9394 
9395     WHEN OTHERS THEN
9396 
9397         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9398         THEN
9399             OE_MSG_PUB.Add_Exc_Msg
9400             (   G_PKG_NAME
9401             ,   'Config_Rev_Nbr'
9402             );
9403         END IF;
9404 
9405 
9406         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9407 
9408 END Config_Rev_Nbr;
9409 
9410 FUNCTION Component ( p_component_code IN VARCHAR2 )
9411 RETURN BOOLEAN
9412 IS
9413 l_dummy                       VARCHAR2(10);
9414 BEGIN
9415 
9416 
9417     IF p_component_code IS NULL OR
9418         p_component_code = FND_API.G_MISS_CHAR
9419     THEN
9420 
9421         RETURN TRUE;
9422     END IF;
9423 
9424     --  SELECT  'VALID'
9425     --  INTO     l_dummy
9426     --  FROM     DB_TABLE
9427     --  WHERE    DB_COLUMN = p_component_code;
9428 
9429 
9430     RETURN TRUE;
9431 
9432 EXCEPTION
9433 
9434     WHEN NO_DATA_FOUND THEN
9435 
9436         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9437         THEN
9438 
9439 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_CODE');
9440 
9441             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9442             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9443 				OE_Order_Util.Get_Attribute_Name('Component_Code'));
9444             OE_MSG_PUB.Add;
9445 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9446 
9447         END IF;
9448 
9449 
9450         RETURN FALSE;
9451 
9452     WHEN OTHERS THEN
9453 
9454         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9455         THEN
9456             OE_MSG_PUB.Add_Exc_Msg
9457             (   G_PKG_NAME
9458             ,   'Component'
9459             );
9460         END IF;
9461 
9462 
9463         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9464 
9465 END Component;
9466 
9467 FUNCTION Config_Display_Sequence ( p_config_display_sequence IN NUMBER )
9468 RETURN BOOLEAN
9469 IS
9470 l_dummy                       VARCHAR2(10);
9471 BEGIN
9472 
9473 
9474     IF p_config_display_sequence IS NULL OR
9475         p_config_display_sequence = FND_API.G_MISS_NUM
9476     THEN
9477 
9478         RETURN TRUE;
9479     END IF;
9480 
9481     --  SELECT  'VALID'
9482     --  INTO     l_dummy
9483     --  FROM     DB_TABLE
9484     --  WHERE    DB_COLUMN = p_config_display_sequence;
9485 
9486 
9487     RETURN TRUE;
9488 
9489 EXCEPTION
9490 
9491     WHEN NO_DATA_FOUND THEN
9492 
9493         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9494         THEN
9495 
9496 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_DISPLAY_SEQUENCE');
9497 
9498             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9499             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9500 				OE_Order_Util.Get_Attribute_Name('CONFIG_DISPLAY_SEQUENCE'));
9501             OE_MSG_PUB.Add;
9502 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9503 
9504         END IF;
9505 
9506 
9507         RETURN FALSE;
9508 
9509     WHEN OTHERS THEN
9510 
9511         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9512         THEN
9513             OE_MSG_PUB.Add_Exc_Msg
9514             (   G_PKG_NAME
9515             ,   'Config_Display_Sequence'
9516             );
9517         END IF;
9518 
9519 
9520         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9521 
9522 END Config_Display_Sequence;
9523 
9524 FUNCTION Sort_Order ( p_sort_order IN VARCHAR2 )
9525 RETURN BOOLEAN
9526 IS
9527 l_dummy                       VARCHAR2(10);
9528 BEGIN
9529 
9530 
9531     IF p_sort_order IS NULL OR
9532         p_sort_order = FND_API.G_MISS_CHAR
9533     THEN
9534 
9535         RETURN TRUE;
9536     END IF;
9537 
9538     --  SELECT  'VALID'
9539     --  INTO     l_dummy
9540     --  FROM     DB_TABLE
9541     --  WHERE    DB_COLUMN = p_sort_order;
9542 
9543 
9544     RETURN TRUE;
9545 
9546 EXCEPTION
9547 
9548     WHEN NO_DATA_FOUND THEN
9549 
9550         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9551         THEN
9552 
9553 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SORT_ORDER');
9554 
9555             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9556             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9557 				OE_Order_Util.Get_Attribute_Name('Sort_Order'));
9558             OE_MSG_PUB.Add;
9559 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9560 
9561         END IF;
9562 
9563 
9564         RETURN FALSE;
9565 
9566     WHEN OTHERS THEN
9567 
9568         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9569         THEN
9570             OE_MSG_PUB.Add_Exc_Msg
9571             (   G_PKG_NAME
9572             ,   'Sort_Order'
9573             );
9574         END IF;
9575 
9576 
9577         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9578 
9579 END Sort_Order;
9580 
9581 FUNCTION Oe_Item_Type ( p_oe_item_type IN VARCHAR2 )
9582 RETURN BOOLEAN
9583 IS
9584 l_dummy                       VARCHAR2(10);
9585 BEGIN
9586 
9587 
9588     IF p_oe_item_type IS NULL OR
9589         p_oe_item_type = FND_API.G_MISS_CHAR
9590     THEN
9591 
9592         RETURN TRUE;
9593     END IF;
9594 
9595     --  SELECT  'VALID'
9596     --  INTO     l_dummy
9597     --  FROM     DB_TABLE
9598     --  WHERE    DB_COLUMN = p_oe_item_type;
9599 
9600 
9601     RETURN TRUE;
9602 
9603 EXCEPTION
9604 
9605     WHEN NO_DATA_FOUND THEN
9606 
9607         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9608         THEN
9609 
9610 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OE_ITEM_TYPE');
9611             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9612             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9613 				OE_Order_Util.Get_Attribute_Name('Oe_Item_Type'));
9614             OE_MSG_PUB.Add;
9615 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9616 
9617         END IF;
9618 
9619 
9620         RETURN FALSE;
9621 
9622     WHEN OTHERS THEN
9623 
9624         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9625         THEN
9626             OE_MSG_PUB.Add_Exc_Msg
9627             (   G_PKG_NAME
9628             ,   'Item_Type'
9629             );
9630         END IF;
9631 
9632 
9633         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9634 
9635 END Oe_Item_Type;
9636 
9637 FUNCTION Option_Number ( p_option_number IN NUMBER )
9638 RETURN BOOLEAN
9639 IS
9640 l_dummy                       VARCHAR2(10);
9641 BEGIN
9642 
9643 
9644 
9645     IF p_option_number IS NULL OR
9646         p_option_number = FND_API.G_MISS_NUM
9647     THEN
9648 
9649         RETURN TRUE;
9650     END IF;
9651 
9652     --  SELECT  'VALID'
9653     --  INTO     l_dummy
9654     --  FROM     DB_TABLE
9655     --  WHERE    DB_COLUMN = p_option_number;
9656 
9657 
9658     RETURN TRUE;
9659 
9660 EXCEPTION
9661 
9662     WHEN NO_DATA_FOUND THEN
9663 
9664         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9665         THEN
9666 
9667 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_NUMBER');
9668 
9669             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9670             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9671 				OE_Order_Util.Get_Attribute_Name('Option_Number'));
9672             OE_MSG_PUB.Add;
9673 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9674 
9675         END IF;
9676 
9677 
9678         RETURN FALSE;
9679 
9680     WHEN OTHERS THEN
9681 
9682         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9683         THEN
9684             OE_MSG_PUB.Add_Exc_Msg
9685             (   G_PKG_NAME
9686             ,   'Option_Number'
9687             );
9688         END IF;
9689 
9690 
9691         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9692 
9693 END Option_Number;
9694 
9695 FUNCTION Component_Number ( p_component_number IN NUMBER )
9696 RETURN BOOLEAN
9697 IS
9698 l_dummy                       VARCHAR2(10);
9699 BEGIN
9700 
9701 
9702     IF p_component_number IS NULL OR
9703         p_component_number = FND_API.G_MISS_NUM
9704     THEN
9705 
9706         RETURN TRUE;
9707     END IF;
9708 
9709     --  SELECT  'VALID'
9710     --  INTO     l_dummy
9711     --  FROM     DB_TABLE
9712     --  WHERE    DB_COLUMN = p_component_number;
9713 
9714 
9715     RETURN TRUE;
9716 
9717 EXCEPTION
9718 
9719     WHEN NO_DATA_FOUND THEN
9720 
9721         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9722         THEN
9723 
9724 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_NUMBER');
9725 
9726             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9727             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9728 				OE_Order_Util.Get_Attribute_Name('Component_Number'));
9729             OE_MSG_PUB.Add;
9730 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9731 
9732 
9733         END IF;
9734 
9735 
9736         RETURN FALSE;
9737 
9738     WHEN OTHERS THEN
9739 
9740         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9741         THEN
9742             OE_MSG_PUB.Add_Exc_Msg
9743             (   G_PKG_NAME
9744             ,   'Component_Number'
9745             );
9746         END IF;
9747 
9748 
9749         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9750 
9751 END Component_Number;
9752 
9753 
9754 FUNCTION Explosion_Date ( p_explosion_date IN DATE )
9755 RETURN BOOLEAN
9756 IS
9757 l_dummy                       VARCHAR2(10);
9758 BEGIN
9759 
9760     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPLOSION_DATE');
9761 
9762     IF p_explosion_date IS NULL OR
9763         p_explosion_date = FND_API.G_MISS_DATE
9764     THEN
9765 
9766         RETURN TRUE;
9767     END IF;
9768 
9769     --  SELECT  'VALID'
9770     --  INTO     l_dummy
9771     --  FROM     DB_TABLE
9772     --  WHERE    DB_COLUMN = p_explosion_date;
9773 
9774 
9775     RETURN TRUE;
9776 
9777 EXCEPTION
9778 
9779     WHEN NO_DATA_FOUND THEN
9780 
9781         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9782         THEN
9783 
9784 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPLOSION_DATE');
9785 
9786             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9787             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9788 				OE_Order_Util.Get_Attribute_Name('explosion_date'));
9789             OE_MSG_PUB.Add;
9790 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9791 
9792         END IF;
9793 
9794 
9795         RETURN FALSE;
9796 
9797     WHEN OTHERS THEN
9798 
9799         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9800         THEN
9801             OE_MSG_PUB.Add_Exc_Msg
9802             (   G_PKG_NAME
9803             ,   'Explosion_Date'
9804             );
9805         END IF;
9806 
9807 
9808         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9809 
9810 END Explosion_Date;
9811 
9812 
9813 FUNCTION Line_Category_Code(line_category_code IN VARCHAR2)
9814 RETURN BOOLEAN
9815 IS
9816 BEGIN
9817     RETURN TRUE;
9818 END Line_Category_Code;
9819 
9820 FUNCTION Reference_Cust_Trx_Line_Id(reference_cust_trx_line_id IN NUMBER)
9821 RETURN BOOLEAN
9822 IS
9823 BEGIN
9824     RETURN TRUE;
9825 END Reference_Cust_Trx_Line_Id;
9826 
9827 FUNCTION RMA_CONTEXT(rma_context IN VARCHAR2)
9828 RETURN BOOLEAN
9829 IS
9830 BEGIN
9831     RETURN TRUE;
9832 END RMA_CONTEXT;
9833 
9834 FUNCTION RMA_ATTRIBUTE1(rma_attribute1 IN VARCHAR2)
9835 RETURN BOOLEAN
9836 IS
9837 BEGIN
9838     RETURN TRUE;
9839 END RMA_ATTRIBUTE1;
9840 
9841 FUNCTION RMA_ATTRIBUTE2(rma_attribute2 IN VARCHAR2)
9842 RETURN BOOLEAN
9843 IS
9844 BEGIN
9845     RETURN TRUE;
9846 END RMA_ATTRIBUTE2;
9847 
9848 FUNCTION RMA_ATTRIBUTE3(rma_attribute3 IN VARCHAR2)
9849 RETURN BOOLEAN
9850 IS
9851 BEGIN
9852     RETURN TRUE;
9853 END RMA_ATTRIBUTE3;
9854 
9855 FUNCTION RMA_ATTRIBUTE4(rma_attribute4 IN VARCHAR2)
9856 RETURN BOOLEAN
9857 IS
9858 BEGIN
9859     RETURN TRUE;
9860 END RMA_ATTRIBUTE4;
9861 
9862 FUNCTION RMA_ATTRIBUTE5(rma_attribute5 IN VARCHAR2)
9863 RETURN BOOLEAN
9864 IS
9865 BEGIN
9866     RETURN TRUE;
9867 END RMA_ATTRIBUTE5;
9868 
9869 FUNCTION RMA_ATTRIBUTE6(rma_attribute6 IN VARCHAR2)
9870 RETURN BOOLEAN
9871 IS
9872 BEGIN
9873     RETURN TRUE;
9874 END RMA_ATTRIBUTE6;
9875 
9876 FUNCTION RMA_ATTRIBUTE7(rma_attribute7 IN VARCHAR2)
9877 RETURN BOOLEAN
9878 IS
9879 BEGIN
9880     RETURN TRUE;
9881 END RMA_ATTRIBUTE7;
9882 
9883 FUNCTION RMA_ATTRIBUTE8(rma_attribute8 IN VARCHAR2)
9884 RETURN BOOLEAN
9885 IS
9886 BEGIN
9887     RETURN TRUE;
9888 END RMA_ATTRIBUTE8;
9889 
9890 FUNCTION RMA_ATTRIBUTE9(rma_attribute9 IN VARCHAR2)
9891 RETURN BOOLEAN
9892 IS
9893 BEGIN
9894     RETURN TRUE;
9895 END RMA_ATTRIBUTE9;
9896 
9897 FUNCTION RMA_ATTRIBUTE10(rma_attribute10 IN VARCHAR2)
9898 RETURN BOOLEAN
9899 IS
9900 BEGIN
9901     RETURN TRUE;
9902 END RMA_ATTRIBUTE10;
9903 
9904 
9905 FUNCTION Accounting_Rule ( p_accounting_rule_id IN NUMBER )
9906 RETURN BOOLEAN
9907 IS
9908 l_dummy                       VARCHAR2(10);
9909 BEGIN
9910 
9911 
9912     IF p_accounting_rule_id IS NULL OR
9913         p_accounting_rule_id = FND_API.G_MISS_NUM
9914     THEN
9915 
9916         RETURN TRUE;
9917     END IF;
9918 
9919     SELECT  'VALID'
9920     INTO    l_dummy
9921     FROM    OE_RA_RULES_V
9922     WHERE   RULE_ID = p_accounting_rule_id
9923     AND     ROWNUM=1;
9924 
9925     --  SELECT  'VALID'
9926     --  INTO     l_dummy
9927     --  FROM     DB_TABLE
9928     --  WHERE    DB_COLUMN = p_accounting_rule_id;
9929 
9930 
9931     RETURN TRUE;
9932 
9933 EXCEPTION
9934 
9935     WHEN NO_DATA_FOUND THEN
9936 
9937         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9938         THEN
9939 
9940 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACCOUNTING_RULE_ID');
9941 
9942             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9943             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9944 				OE_Order_Util.Get_Attribute_Name('accounting_rule_id'));
9945             OE_MSG_PUB.Add;
9946 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9947 
9948         END IF;
9949 
9950 
9951         RETURN FALSE;
9952 
9953     WHEN OTHERS THEN
9954 
9955         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9956         THEN
9957             OE_MSG_PUB.Add_Exc_Msg
9958             (   G_PKG_NAME
9959             ,   'Accounting_Rule'
9960             );
9961         END IF;
9962 
9963 
9964         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9965 
9966 END Accounting_Rule;
9967 
9968 
9969 
9970 FUNCTION Created_By ( p_created_by IN NUMBER )
9971 RETURN BOOLEAN
9972 IS
9973 l_dummy                       VARCHAR2(10);
9974 BEGIN
9975 
9976 
9977     IF p_created_by IS NULL OR
9978         p_created_by = FND_API.G_MISS_NUM
9979     THEN
9980 
9981         RETURN TRUE;
9982     END IF;
9983 
9984     --  SELECT  'VALID'
9985     --  INTO     l_dummy
9986     --  FROM     DB_TABLE
9987     --  WHERE    DB_COLUMN = p_created_by;
9988 
9989 
9990     RETURN TRUE;
9991 
9992 EXCEPTION
9993 
9994     WHEN NO_DATA_FOUND THEN
9995 
9996         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9997         THEN
9998 
9999 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATED_BY');
10000 
10001             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10002             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10003 				OE_Order_Util.Get_Attribute_Name('created_by'));
10004             OE_MSG_PUB.Add;
10005 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10006 
10007         END IF;
10008 
10009 
10010         RETURN FALSE;
10011 
10012     WHEN OTHERS THEN
10013 
10014         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10015         THEN
10016             OE_MSG_PUB.Add_Exc_Msg
10017             (   G_PKG_NAME
10018             ,   'Created_By'
10019             );
10020         END IF;
10021 
10022 
10023         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10024 
10025 END Created_By;
10026 
10027 FUNCTION Creation_Date ( p_creation_date IN DATE )
10028 RETURN BOOLEAN
10029 IS
10030 l_dummy                       VARCHAR2(10);
10031 BEGIN
10032 
10033 
10034     IF p_creation_date IS NULL OR
10035         p_creation_date = FND_API.G_MISS_DATE
10036     THEN
10037 
10038         RETURN TRUE;
10039     END IF;
10040 
10041     --  SELECT  'VALID'
10042     --  INTO     l_dummy
10043     --  FROM     DB_TABLE
10044     --  WHERE    DB_COLUMN = p_creation_date;
10045 
10046 
10047     RETURN TRUE;
10048 
10049 EXCEPTION
10050 
10051     WHEN NO_DATA_FOUND THEN
10052 
10053         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10054         THEN
10055 
10056 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATION_DATE');
10057 
10058             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10059             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10060 				OE_Order_Util.Get_Attribute_Name('creation_date'));
10061             OE_MSG_PUB.Add;
10062 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10063 
10064         END IF;
10065 
10066 
10067         RETURN FALSE;
10068 
10069     WHEN OTHERS THEN
10070 
10071         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10072         THEN
10073             OE_MSG_PUB.Add_Exc_Msg
10074             (   G_PKG_NAME
10075             ,   'Creation_Date'
10076             );
10077         END IF;
10078 
10079 
10080         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10081 
10082 END Creation_Date;
10083 
10084 
10085 FUNCTION Ordered_Date ( p_ordered_date IN DATE )
10086 RETURN BOOLEAN
10087 IS
10088 l_dummy                       VARCHAR2(10);
10089 BEGIN
10090 
10091 
10092     IF p_ordered_date IS NULL OR
10093         p_ordered_date = FND_API.G_MISS_DATE
10094     THEN
10095 
10096         RETURN TRUE;
10097     END IF;
10098 
10099     --  SELECT  'VALID'
10100     --  INTO     l_dummy
10101     --  FROM     DB_TABLE
10102     --  WHERE    DB_COLUMN = p_ordered_date;
10103 
10104 
10105     RETURN TRUE;
10106 
10107 EXCEPTION
10108 
10109     WHEN NO_DATA_FOUND THEN
10110 
10111         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10112         THEN
10113 
10114 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_DATE');
10115 
10116             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10117             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10118 				OE_Order_Util.Get_Attribute_Name('ordered_date'));
10119             OE_MSG_PUB.Add;
10120 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10121 
10122         END IF;
10123 
10124 
10125         RETURN FALSE;
10126 
10127     WHEN OTHERS THEN
10128 
10129         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10130         THEN
10131             OE_MSG_PUB.Add_Exc_Msg
10132             (   G_PKG_NAME
10133             ,   'Ordered_Date'
10134             );
10135         END IF;
10136 
10137 
10138         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10139 
10140 END Ordered_Date;
10141 
10142 FUNCTION Order_Date_Type_Code ( p_order_date_type_code IN VARCHAR2 )
10143 RETURN BOOLEAN
10144 IS
10145 l_dummy                       VARCHAR2(10);
10146   l_lookup_type      	      VARCHAR2(80) := 'REQUEST_DATE_TYPE';
10147 BEGIN
10148 
10149 
10150     IF p_order_date_type_code IS NULL OR
10151         p_order_date_type_code = FND_API.G_MISS_CHAR
10152     THEN
10153 
10154         RETURN TRUE;
10155     END IF;
10156 
10157     SELECT  'VALID'
10158     INTO    l_dummy
10159     FROM    OE_LOOKUPS
10160     WHERE   LOOKUP_CODE = p_order_date_type_code
10161     AND     LOOKUP_TYPE = l_lookup_type
10162     AND     ROWNUM = 1;
10163     --
10164     -- Commented out when importing CLOSED orders
10165     --
10166     -- AND     ENABLED_FLAG = 'Y'
10167     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
10168     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
10169 
10170 
10171     RETURN TRUE;
10172 
10173 EXCEPTION
10174 
10175     WHEN NO_DATA_FOUND THEN
10176 
10177         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10178         THEN
10179 
10180 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_DATE_TYPE_CODE');
10181 
10182             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10183             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10184 				OE_Order_Util.Get_Attribute_Name('order_date_type_code'));
10185             OE_MSG_PUB.Add;
10186 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10187 
10188 
10189         END IF;
10190 
10191 
10192         RETURN FALSE;
10193 
10194     WHEN OTHERS THEN
10195 
10196         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10197         THEN
10198             OE_MSG_PUB.Add_Exc_Msg
10199             (   G_PKG_NAME
10200             ,   'Order_Date_Type_Code'
10201             );
10202         END IF;
10203 
10204 
10205         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10206 
10207 END Order_Date_Type_Code;
10208 
10209 
10210 
10211 FUNCTION Request_Date ( p_request_date IN DATE )
10212 RETURN BOOLEAN
10213 IS
10214 l_dummy                       VARCHAR2(10);
10215 BEGIN
10216 
10217 
10218     IF p_request_date IS NULL OR
10219         p_request_date = FND_API.G_MISS_DATE
10220     THEN
10221 
10222         RETURN TRUE;
10223     END IF;
10224 
10225     --  SELECT  'VALID'
10226     --  INTO     l_dummy
10227     --  FROM     DB_TABLE
10228     --  WHERE    DB_COLUMN = p_request_date;
10229 
10230 
10231     RETURN TRUE;
10232 
10233 EXCEPTION
10234 
10235     WHEN NO_DATA_FOUND THEN
10236 
10237         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10238         THEN
10239 
10240 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_DATE');
10241 
10242             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10243             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10244 				OE_Order_Util.Get_Attribute_Name('request_date'));
10245             OE_MSG_PUB.Add;
10246 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10247 
10248         END IF;
10249 
10250 
10251         RETURN FALSE;
10252 
10253     WHEN OTHERS THEN
10254 
10255         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10256         THEN
10257             OE_MSG_PUB.Add_Exc_Msg
10258             (   G_PKG_NAME
10259             ,   'Request_Date'
10260             );
10261         END IF;
10262 
10263 
10264         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10265 
10266 END Request_Date;
10267 
10268 FUNCTION Reserved_Quantity ( p_reserved_quantity IN NUMBER )
10269 RETURN BOOLEAN
10270 IS
10271 l_dummy                       VARCHAR2(10);
10272 BEGIN
10273 
10274 
10275     IF p_reserved_quantity IS NULL OR
10276         p_reserved_quantity = FND_API.G_MISS_NUM
10277     THEN
10278 
10279         RETURN TRUE;
10280     END IF;
10281 
10282     --  SELECT  'VALID'
10283     --  INTO     l_dummy
10284     --  FROM     DB_TABLE
10285     --  WHERE    DB_COLUMN = p_ato_line_id;
10286 
10287 
10288     RETURN TRUE;
10289 
10290 EXCEPTION
10291 
10292     WHEN NO_DATA_FOUND THEN
10293 
10294         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10295         THEN
10296 
10297 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RESERVED_QUANTITY');
10298 
10299             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10300             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10301 				OE_Order_Util.Get_Attribute_Name('reserved_quantity'));
10302             OE_MSG_PUB.Add;
10303 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10304 
10305         END IF;
10306 
10307 
10308         RETURN FALSE;
10309 
10310     WHEN OTHERS THEN
10311 
10312         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10313         THEN
10314             OE_MSG_PUB.Add_Exc_Msg
10315             (   G_PKG_NAME
10316             ,   'Reserved_Quantity'
10317             );
10318         END IF;
10319 
10320 
10321         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10322 
10323 END Reserved_Quantity;
10324 
10325 FUNCTION Actual_Arrival_Date ( p_actual_arrival_date IN DATE )
10326 RETURN BOOLEAN
10327 IS
10328 l_dummy                       VARCHAR2(10);
10329 BEGIN
10330 
10331 
10332     IF p_actual_arrival_date IS NULL OR
10333         p_actual_arrival_date = FND_API.G_MISS_DATE
10334     THEN
10335 
10336         RETURN TRUE;
10337     END IF;
10338 
10339     --  SELECT  'VALID'
10340     --  INTO     l_dummy
10341     --  FROM     DB_TABLE
10342     --  WHERE    DB_COLUMN = p_actual_arrival_date;
10343 
10344 
10345     RETURN TRUE;
10346 
10347 EXCEPTION
10348 
10349     WHEN NO_DATA_FOUND THEN
10350 
10351         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10352         THEN
10353 
10354 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACTUAL_ARRIVAL_DATE');
10355 
10356             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10357             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10358 				OE_Order_Util.Get_Attribute_Name('actual_arrival_date'));
10359             OE_MSG_PUB.Add;
10360 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10361 
10362         END IF;
10363 
10364 
10365         RETURN FALSE;
10366 
10367     WHEN OTHERS THEN
10368 
10369         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10370         THEN
10371             OE_MSG_PUB.Add_Exc_Msg
10372             (   G_PKG_NAME
10373             ,   'Actual_Arrival_Date'
10374             );
10375         END IF;
10376 
10377 
10378         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10379 
10380 END Actual_Arrival_Date;
10381 
10382 
10383 FUNCTION Actual_Shipment_Date ( p_actual_shipment_date IN DATE )
10384 RETURN BOOLEAN
10385 IS
10386 l_dummy                       VARCHAR2(10);
10387 BEGIN
10388 
10389 
10390     IF p_actual_shipment_date IS NULL OR
10391         p_actual_shipment_date = FND_API.G_MISS_DATE
10392     THEN
10393 
10394         RETURN TRUE;
10395     END IF;
10396 
10397     --  SELECT  'VALID'
10398     --  INTO     l_dummy
10399     --  FROM     DB_TABLE
10400     --  WHERE    DB_COLUMN = p_actual_shipment_date;
10401 
10402 
10403     RETURN TRUE;
10404 
10405 EXCEPTION
10406 
10407     WHEN NO_DATA_FOUND THEN
10408 
10409         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10410         THEN
10411 
10412 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACTUAL_SHIPMENT_DATE');
10413 
10414             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10415             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10416 				OE_Order_Util.Get_Attribute_Name('actual_shipment_date'));
10417             OE_MSG_PUB.Add;
10418 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10419 
10420         END IF;
10421 
10422 
10423         RETURN FALSE;
10424 
10425     WHEN OTHERS THEN
10426 
10427         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10428         THEN
10429             OE_MSG_PUB.Add_Exc_Msg
10430             (   G_PKG_NAME
10431             ,   'Actual_Shipment_Date'
10432             );
10433         END IF;
10434 
10435 
10436         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10437 
10438 END Actual_Shipment_Date;
10439 
10440 
10441 FUNCTION Ato_Line ( p_ato_line_id IN NUMBER )
10442 RETURN BOOLEAN
10443 IS
10444 l_dummy                       VARCHAR2(10);
10445 BEGIN
10446 
10447 
10448     IF p_ato_line_id IS NULL OR
10449         p_ato_line_id = FND_API.G_MISS_NUM
10450     THEN
10451 
10452         RETURN TRUE;
10453     END IF;
10454 
10455     --  SELECT  'VALID'
10456     --  INTO     l_dummy
10457     --  FROM     DB_TABLE
10458     --  WHERE    DB_COLUMN = p_ato_line_id;
10459 
10460 
10461     RETURN TRUE;
10462 
10463 EXCEPTION
10464 
10465     WHEN NO_DATA_FOUND THEN
10466 
10467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10468         THEN
10469 
10470 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ATO_LINE_ID');
10471 
10472             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10473             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10474 				OE_Order_Util.Get_Attribute_Name('ato_line_id'));
10475             OE_MSG_PUB.Add;
10476 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10477 
10478         END IF;
10479 
10480 
10481         RETURN FALSE;
10482 
10483     WHEN OTHERS THEN
10484 
10485         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10486         THEN
10487             OE_MSG_PUB.Add_Exc_Msg
10488             (   G_PKG_NAME
10489             ,   'Ato_Line_Id'
10490             );
10491         END IF;
10492 
10493 
10494         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10495 
10496 END Ato_Line;
10497 
10498 
10499 FUNCTION Auto_Selected_Quantity ( p_auto_selected_quantity IN NUMBER )
10500 RETURN BOOLEAN
10501 IS
10502 l_dummy                       VARCHAR2(10);
10503 BEGIN
10504 
10505 
10506     IF p_auto_selected_quantity IS NULL OR
10507         p_auto_selected_quantity = FND_API.G_MISS_NUM
10508     THEN
10509 
10510         RETURN TRUE;
10511     END IF;
10512 
10513     --  SELECT  'VALID'
10514     --  INTO     l_dummy
10515     --  FROM     DB_TABLE
10516     --  WHERE    DB_COLUMN = p_auto_selected_quantity;
10517 
10518 
10519     RETURN TRUE;
10520 
10521 EXCEPTION
10522 
10523     WHEN NO_DATA_FOUND THEN
10524 
10525         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10526         THEN
10527 
10528 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTO_SELECTED_QUANTITY');
10529 
10530             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10531             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10532 				OE_Order_Util.Get_Attribute_Name('auto_selected_quantity'));
10533             OE_MSG_PUB.Add;
10534 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10535 
10536         END IF;
10537 
10538 
10539         RETURN FALSE;
10540 
10541     WHEN OTHERS THEN
10542 
10543         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10544         THEN
10545             OE_MSG_PUB.Add_Exc_Msg
10546             (   G_PKG_NAME
10547             ,   'Auto_Selected_Quantity'
10548             );
10549         END IF;
10550 
10551 
10552         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10553 
10554 END Auto_Selected_Quantity;
10555 
10556 
10557 FUNCTION Booked ( p_booked_flag IN VARCHAR2 )
10558 RETURN BOOLEAN
10559 IS
10560 l_dummy                       VARCHAR2(10);
10561 BEGIN
10562 
10563 
10564     IF p_booked_flag IS NULL OR
10565         p_booked_flag = FND_API.G_MISS_CHAR
10566     THEN
10567 
10568         RETURN TRUE;
10569     END IF;
10570 
10571     IF p_booked_flag NOT IN ('Y','N') THEN
10572 		RAISE NO_DATA_FOUND;
10573     END IF;
10574 
10575 
10576     RETURN TRUE;
10577 
10578 EXCEPTION
10579 
10580     WHEN NO_DATA_FOUND THEN
10581 
10582         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10583         THEN
10584 
10585 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'BOOKED_FLAG');
10586 
10587             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10588             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10589 				OE_Order_Util.Get_Attribute_Name('booked_flag'));
10590             OE_MSG_PUB.Add;
10591 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10592 
10593         END IF;
10594 
10595 
10596         RETURN FALSE;
10597 
10598     WHEN OTHERS THEN
10599 
10600         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10601         THEN
10602             OE_MSG_PUB.Add_Exc_Msg
10603             (   G_PKG_NAME
10604             ,   'Booked'
10605             );
10606         END IF;
10607 
10608 
10609         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10610 
10611 END Booked;
10612 
10613 
10614 FUNCTION Cancelled( p_cancelled_flag IN VARCHAR2 )
10615 RETURN BOOLEAN
10616 IS
10617 l_dummy                       VARCHAR2(10);
10618 BEGIN
10619 
10620 
10621     IF p_cancelled_flag IS NULL OR
10622         p_cancelled_flag = FND_API.G_MISS_CHAR
10623     THEN
10624 
10625         RETURN TRUE;
10626     END IF;
10627 
10628     IF p_cancelled_flag NOT IN ('Y','N') THEN
10629 		RAISE NO_DATA_FOUND;
10630     END IF;
10631 
10632 
10633     RETURN TRUE;
10634 
10635 EXCEPTION
10636 
10637     WHEN NO_DATA_FOUND THEN
10638 
10639         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10640         THEN
10641 
10642 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CANCELLED_FLAG');
10643 
10644             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10645             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10646 				OE_Order_Util.Get_Attribute_Name('cancelled_flag'));
10647             OE_MSG_PUB.Add;
10648 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10649 
10650         END IF;
10651 
10652 
10653         RETURN FALSE;
10654 
10655     WHEN OTHERS THEN
10656 
10657         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10658         THEN
10659             OE_MSG_PUB.Add_Exc_Msg
10660             (   G_PKG_NAME
10661             ,   'Cancelled'
10662             );
10663         END IF;
10664 
10665 
10666         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10667 
10668 END Cancelled;
10669 
10670 
10671 FUNCTION Cancelled_Quantity ( p_cancelled_quantity IN NUMBER )
10672 RETURN BOOLEAN
10673 IS
10674 l_dummy                       VARCHAR2(10);
10675 BEGIN
10676 
10677 
10678     IF p_cancelled_quantity IS NULL OR
10679         p_cancelled_quantity = FND_API.G_MISS_NUM
10680     THEN
10681 
10682         RETURN TRUE;
10683     END IF;
10684 
10685     --  SELECT  'VALID'
10686     --  INTO     l_dummy
10687     --  FROM     DB_TABLE
10688     --  WHERE    DB_COLUMN = p_cancelled_quantity;
10689 
10690 
10691     RETURN TRUE;
10692 
10693 EXCEPTION
10694 
10695     WHEN NO_DATA_FOUND THEN
10696 
10697         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10698         THEN
10699 
10700 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CANCELLED_QUANTITY');
10701 
10702             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10703             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10704 				OE_Order_Util.Get_Attribute_Name('cancelled_quantity'));
10705             OE_MSG_PUB.Add;
10706 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10707 
10708         END IF;
10709 
10710 
10711         RETURN FALSE;
10712 
10713     WHEN OTHERS THEN
10714 
10715         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10716         THEN
10717             OE_MSG_PUB.Add_Exc_Msg
10718             (   G_PKG_NAME
10719             ,   'Cancelled_Quantity'
10720             );
10721         END IF;
10722 
10723 
10724         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10725 
10726 END Cancelled_Quantity;
10727 
10728 
10729 FUNCTION Credit_Invoice_Line ( p_credit_invoice_line_id IN NUMBER )
10730 RETURN BOOLEAN
10731 IS
10732 l_dummy                       VARCHAR2(10);
10733 BEGIN
10734 
10735 
10736     IF p_credit_invoice_line_id IS NULL OR
10737         p_credit_invoice_line_id = FND_API.G_MISS_NUM
10738     THEN
10739 
10740         RETURN TRUE;
10741     END IF;
10742 
10743     --  SELECT  'VALID'
10744     --  INTO     l_dummy
10745     --  FROM     DB_TABLE
10746     --  WHERE    DB_COLUMN = p_credit_invoice_line_id;
10747 
10748 
10749     RETURN TRUE;
10750 
10751 EXCEPTION
10752 
10753     WHEN NO_DATA_FOUND THEN
10754 
10755         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10756         THEN
10757 
10758 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_INVOICE_LINE_ID');
10759 
10760             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10761             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10762 				OE_Order_Util.Get_Attribute_Name('credit_invoice_line'));
10763             OE_MSG_PUB.Add;
10764 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10765 
10766         END IF;
10767 
10768 
10769         RETURN FALSE;
10770 
10771     WHEN OTHERS THEN
10772 
10773         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10774         THEN
10775             OE_MSG_PUB.Add_Exc_Msg
10776             (   G_PKG_NAME
10777             ,   'Credit_Invoice_Line'
10778             );
10779         END IF;
10780 
10781 
10782         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10783 
10784 END Credit_Invoice_Line;
10785 
10786 
10787 FUNCTION Customer_Dock ( p_customer_dock_code IN VARCHAR2 )
10788 RETURN BOOLEAN
10789 IS
10790 l_dummy                       VARCHAR2(10);
10791 BEGIN
10792 
10793 
10794     IF p_customer_dock_code IS NULL OR
10795         p_customer_dock_code = FND_API.G_MISS_CHAR
10796     THEN
10797 
10798         RETURN TRUE;
10799     END IF;
10800 
10801     --  SELECT  'VALID'
10802     --  INTO     l_dummy
10803     --  FROM     DB_TABLE
10804     --  WHERE    DB_COLUMN = p_customer_dock_code;
10805 
10806 
10807     RETURN TRUE;
10808 
10809 EXCEPTION
10810 
10811     WHEN NO_DATA_FOUND THEN
10812 
10813         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10814         THEN
10815 
10816 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_DOCK_CODE');
10817 
10818             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10819             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10820 				OE_Order_Util.Get_Attribute_Name('customer_dock_code'));
10821             OE_MSG_PUB.Add;
10822 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10823 
10824 
10825         END IF;
10826 
10827 
10828         RETURN FALSE;
10829 
10830     WHEN OTHERS THEN
10831 
10832         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10833         THEN
10834             OE_MSG_PUB.Add_Exc_Msg
10835             (   G_PKG_NAME
10836             ,   'Customer_Dock'
10837             );
10838         END IF;
10839 
10840 
10841         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10842 
10843 END Customer_Dock;
10844 
10845 
10846 
10847 FUNCTION Customer_Job ( p_customer_job IN VARCHAR2 )
10848 RETURN BOOLEAN
10849 IS
10850 l_dummy                       VARCHAR2(10);
10851 BEGIN
10852 
10853 
10854     IF p_customer_job IS NULL OR
10855         p_customer_job = FND_API.G_MISS_CHAR
10856     THEN
10857 
10858         RETURN TRUE;
10859     END IF;
10860 
10861     --  SELECT  'VALID'
10862     --  INTO     l_dummy
10863     --  FROM     DB_TABLE
10864     --  WHERE    DB_COLUMN = p_customer_job;
10865 
10866 
10867     RETURN TRUE;
10868 
10869 EXCEPTION
10870 
10871     WHEN NO_DATA_FOUND THEN
10872 
10873         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10874         THEN
10875 
10876 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_JOB');
10877 
10878             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10879             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10880 				OE_Order_Util.Get_Attribute_Name('customer_job'));
10881             OE_MSG_PUB.Add;
10882 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10883 
10884         END IF;
10885 
10886         RETURN FALSE;
10887 
10888 
10889     WHEN OTHERS THEN
10890 
10891         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10892         THEN
10893             OE_MSG_PUB.Add_Exc_Msg
10894             (   G_PKG_NAME
10895             ,   'Customer_Job'
10896             );
10897         END IF;
10898 
10899 
10900         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10901 
10902 END Customer_Job;
10903 
10904 FUNCTION Customer_Production_Line ( p_customer_production_line IN VARCHAR2 )
10905 RETURN BOOLEAN
10906 IS
10907 l_dummy                       VARCHAR2(10);
10908 BEGIN
10909 
10910 
10911     IF p_customer_production_line IS NULL OR
10912         p_customer_production_line = FND_API.G_MISS_CHAR
10913     THEN
10914 
10915         RETURN TRUE;
10916     END IF;
10917 
10918     --  SELECT  'VALID'
10919     --  INTO     l_dummy
10920     --  FROM     DB_TABLE
10921     --  WHERE    DB_COLUMN = p_customer_production_line;
10922 
10923 
10924     RETURN TRUE;
10925 
10926 EXCEPTION
10927 
10928     WHEN NO_DATA_FOUND THEN
10929 
10930         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10931         THEN
10932 
10933 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_PRODUCTION_LINE');
10934 
10935             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10936             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10937 				OE_Order_Util.Get_Attribute_Name('customer_production_line'));
10938             OE_MSG_PUB.Add;
10939 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10940 
10941         END IF;
10942 
10943 
10944         RETURN FALSE;
10945 
10946     WHEN OTHERS THEN
10947 
10948         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10949         THEN
10950             OE_MSG_PUB.Add_Exc_Msg
10951             (   G_PKG_NAME
10952             ,   'Customer_Production_Line'
10953             );
10954         END IF;
10955 
10956 
10957         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10958 
10959 END Customer_Production_Line;
10960 
10961 FUNCTION Customer_Trx_Line ( p_customer_trx_line_id IN NUMBER )
10962 RETURN BOOLEAN
10963 IS
10964 l_dummy                       VARCHAR2(10);
10965 BEGIN
10966 
10967 
10968     IF p_customer_trx_line_id IS NULL OR
10969         p_customer_trx_line_id = FND_API.G_MISS_NUM
10970     THEN
10971 
10972         RETURN TRUE;
10973     END IF;
10974 
10975     --  SELECT  'VALID'
10976     --  INTO     l_dummy
10977     --  FROM     DB_TABLE
10978     --  WHERE    DB_COLUMN = p_customer_trx_line_id;
10979 
10980 
10981     RETURN TRUE;
10982 
10983 EXCEPTION
10984 
10985     WHEN NO_DATA_FOUND THEN
10986 
10987         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10988         THEN
10989 
10990 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_TRX_LINE_ID');
10991 
10992             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10993             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10994 				OE_Order_Util.Get_Attribute_Name('customer_trx_line_id'));
10995             OE_MSG_PUB.Add;
10996 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10997 
10998         END IF;
10999 
11000 
11001         RETURN FALSE;
11002 
11003     WHEN OTHERS THEN
11004 
11005         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11006         THEN
11007             OE_MSG_PUB.Add_Exc_Msg
11008             (   G_PKG_NAME
11009             ,   'Customer_Trx_Line'
11010             );
11011         END IF;
11012 
11013 
11014         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11015 
11016 END Customer_Trx_Line;
11017 
11018 
11019 
11020 FUNCTION Dep_Plan_Required ( p_dep_plan_required_flag IN VARCHAR2 )
11021 RETURN BOOLEAN
11022 IS
11023 l_dummy                       VARCHAR2(10);
11024 BEGIN
11025 
11026 
11027     IF p_dep_plan_required_flag IS NULL OR
11028         p_dep_plan_required_flag = FND_API.G_MISS_CHAR
11029     THEN
11030 
11031         RETURN TRUE;
11032     END IF;
11033 
11034     --  SELECT  'VALID'
11035     --  INTO     l_dummy
11036     --  FROM     DB_TABLE
11037     --  WHERE    DB_COLUMN = p_dep_plan_required_flag;
11038 
11039 
11040     RETURN TRUE;
11041 
11042 EXCEPTION
11043 
11044     WHEN NO_DATA_FOUND THEN
11045 
11046         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11047         THEN
11048 
11049 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEP_PLAN_REQUIRED_FLAG');
11050 
11051             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11052             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11053 				OE_Order_Util.Get_Attribute_Name('dep_plan_required_flag'));
11054             OE_MSG_PUB.Add;
11055 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11056 
11057         END IF;
11058 
11059 
11060         RETURN FALSE;
11061 
11062     WHEN OTHERS THEN
11063 
11064         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11065         THEN
11066             OE_MSG_PUB.Add_Exc_Msg
11067             (   G_PKG_NAME
11068             ,   'Dep_Plan_Required'
11069             );
11070         END IF;
11071 
11072 
11073         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11074 
11075 END Dep_Plan_Required;
11076 
11077 
11078 FUNCTION Fulfilled_Quantity ( p_fulfilled_quantity IN NUMBER )
11079 RETURN BOOLEAN
11080 IS
11081 l_dummy                       VARCHAR2(10);
11082 BEGIN
11083 
11084 
11085     IF p_fulfilled_quantity IS NULL OR
11086         p_fulfilled_quantity = FND_API.G_MISS_NUM
11087     THEN
11088 
11089         RETURN TRUE;
11090     END IF;
11091 
11092     --  SELECT  'VALID'
11093     --  INTO     l_dummy
11094     --  FROM     DB_TABLE
11095     --  WHERE    DB_COLUMN = p_fulfilled_quantity;
11096 
11097 
11098     RETURN TRUE;
11099 
11100 EXCEPTION
11101 
11102     WHEN NO_DATA_FOUND THEN
11103 
11104         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11105         THEN
11106 
11107 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_QUANTITY');
11108 
11109             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11110             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11111 				OE_Order_Util.Get_Attribute_Name('fulfilled_quantity'));
11112             OE_MSG_PUB.Add;
11113 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11114 
11115         END IF;
11116 
11117 
11118         RETURN FALSE;
11119 
11120     WHEN OTHERS THEN
11121 
11122         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11123         THEN
11124             OE_MSG_PUB.Add_Exc_Msg
11125             (   G_PKG_NAME
11126             ,   'Fulfilled_Quantity'
11127             );
11128         END IF;
11129 
11130 
11131         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11132 
11133 END Fulfilled_Quantity;
11134 -- INVCONV
11135 FUNCTION Fulfilled_Quantity2 ( p_fulfilled_quantity2 IN NUMBER )
11136 RETURN BOOLEAN
11137 IS
11138 l_dummy                       VARCHAR2(10);
11139 BEGIN
11140 
11141 
11142     IF p_fulfilled_quantity2 IS NULL OR
11143         p_fulfilled_quantity2 = FND_API.G_MISS_NUM
11144     THEN
11145 
11146         RETURN TRUE;
11147     END IF;
11148 
11149     --  SELECT  'VALID'
11150     --  INTO     l_dummy
11151     --  FROM     DB_TABLE
11152     --  WHERE    DB_COLUMN = p_fulfilled_quantity2;
11153 
11154 
11155     RETURN TRUE;
11156 
11157 EXCEPTION
11158 
11159     WHEN NO_DATA_FOUND THEN
11160 
11161         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11162         THEN
11163 
11164 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_QUANTITY2');
11165 
11166             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11167             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11168 				OE_Order_Util.Get_Attribute_Name('fulfilled_quantity2'));
11169             OE_MSG_PUB.Add;
11170 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11171 
11172         END IF;
11173 
11174 
11175         RETURN FALSE;
11176 
11177     WHEN OTHERS THEN
11178 
11179         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11180         THEN
11181             OE_MSG_PUB.Add_Exc_Msg
11182             (   G_PKG_NAME
11183             ,   'Fulfilled_Quantity'
11184             );
11185         END IF;
11186 
11187 
11188         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11189 
11190 END Fulfilled_Quantity2;
11191 
11192 
11193 
11194 FUNCTION Invoice_Interface_Status ( p_invoice_interface_status IN VARCHAR2 )
11195 RETURN BOOLEAN
11196 IS
11197 l_dummy                       VARCHAR2(10);
11198 BEGIN
11199 
11200 
11201     IF p_invoice_interface_status IS NULL OR
11202         p_invoice_interface_status = FND_API.G_MISS_CHAR
11203     THEN
11204 
11205         RETURN TRUE;
11206     END IF;
11207 
11208     --  SELECT  'VALID'
11209     --  INTO     l_dummy
11210     --  FROM     DB_TABLE
11211     --  WHERE    DB_COLUMN = p_invoice_interface_status;
11212 
11213 
11214     RETURN TRUE;
11215 
11216 EXCEPTION
11217 
11218     WHEN NO_DATA_FOUND THEN
11219 
11220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11221         THEN
11222 
11223 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_INTERFACE_STATUS_CODE');
11224 
11225             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11226             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11227 				OE_Order_Util.Get_Attribute_Name('invoice_interface_status_code'));
11228             OE_MSG_PUB.Add;
11229 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11230 
11231         END IF;
11232 
11233 
11234         RETURN FALSE;
11235 
11236     WHEN OTHERS THEN
11237 
11238         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11239         THEN
11240             OE_MSG_PUB.Add_Exc_Msg
11241             (   G_PKG_NAME
11242             ,   'Invoice_Interface_Status'
11243             );
11244         END IF;
11245 
11246 
11247         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11248 
11249 END Invoice_Interface_Status;
11250 
11251 
11252 
11253 FUNCTION Item_Revision ( p_item_revision IN VARCHAR2 )
11254 RETURN BOOLEAN
11255 IS
11256 l_dummy                       VARCHAR2(10);
11257 BEGIN
11258 
11259 
11260     IF p_item_revision IS NULL OR
11261         p_item_revision = FND_API.G_MISS_CHAR
11262     THEN
11263 
11264         RETURN TRUE;
11265     END IF;
11266 
11267     --  SELECT  'VALID'
11268     --  INTO     l_dummy
11269     --  FROM     DB_TABLE
11270     --  WHERE    DB_COLUMN = p_item_revision;
11271 
11272 
11273     RETURN TRUE;
11274 
11275 EXCEPTION
11276 
11277     WHEN NO_DATA_FOUND THEN
11278 
11279         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11280         THEN
11281 
11282 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_REVISION');
11283 
11284             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11285             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11286 				OE_Order_Util.Get_Attribute_Name('item_revision'));
11287             OE_MSG_PUB.Add;
11288 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11289 
11290         END IF;
11291 
11292 
11293         RETURN FALSE;
11294 
11295     WHEN OTHERS THEN
11296 
11297         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11298         THEN
11299             OE_MSG_PUB.Add_Exc_Msg
11300             (   G_PKG_NAME
11301             ,   'Item_Revision'
11302             );
11303         END IF;
11304 
11305 
11306         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11307 
11308 END Item_Revision;
11309 
11310 FUNCTION Item_Type ( p_item_type_code IN VARCHAR2 )
11311 RETURN BOOLEAN
11312 IS
11313 l_dummy                       VARCHAR2(10);
11314 BEGIN
11315 
11316 
11317     IF p_item_type_code IS NULL OR
11318         p_item_type_code = FND_API.G_MISS_CHAR
11319     THEN
11320 
11321         RETURN TRUE;
11322     END IF;
11323     --
11324     IF p_item_type_code NOT IN ('MODEL',
11325                                 'STANDARD',
11326                                 'INCLUDED',
11327                                 'CLASS',
11328                                 'OPTION',
11329                                 'KIT') THEN
11330        --
11331        RAISE NO_DATA_FOUND;
11332        --
11333     END IF;
11334     --
11335 
11336     --  SELECT  'VALID'
11337     --  INTO     l_dummy
11338     --  FROM     DB_TABLE
11339     --  WHERE    DB_COLUMN = p_item_type_code;
11340 
11341 
11342     RETURN TRUE;
11343 
11344 EXCEPTION
11345 
11346     WHEN NO_DATA_FOUND THEN
11347 
11348         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11349         THEN
11350 
11351 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_TYPE_CODE');
11352 
11353             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11354             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11355 				OE_Order_Util.Get_Attribute_Name('item_type_code'));
11356             OE_MSG_PUB.Add;
11357 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11358 
11359         END IF;
11360 
11361 
11362         RETURN FALSE;
11363 
11364     WHEN OTHERS THEN
11365 
11366         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11367         THEN
11368             OE_MSG_PUB.Add_Exc_Msg
11369             (   G_PKG_NAME
11370             ,   'Item_Type'
11371             );
11372         END IF;
11373 
11374 
11375         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11376 
11377 END Item_Type;
11378 
11379 FUNCTION Line_Category ( p_line_category_code IN VARCHAR2 )
11380 RETURN BOOLEAN
11381 IS
11382 l_dummy                       VARCHAR2(10);
11383 BEGIN
11384 
11385 
11386     IF p_line_category_code IS NULL OR
11387         p_line_category_code = FND_API.G_MISS_CHAR
11388     THEN
11389 
11390         RETURN TRUE;
11391     END IF;
11392 
11393     --  SELECT  'VALID'
11394     --  INTO     l_dummy
11395     --  FROM     DB_TABLE
11396     --  WHERE    DB_COLUMN = p_line_category_code;
11397 
11398 
11399     RETURN TRUE;
11400 
11401 EXCEPTION
11402 
11403     WHEN NO_DATA_FOUND THEN
11404 
11405         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11406         THEN
11407 
11408 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_CATEGORY_CODE');
11409 
11410             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11411             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11412 				OE_Order_Util.Get_Attribute_Name('line_category_code'));
11413             OE_MSG_PUB.Add;
11414 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11415 
11416         END IF;
11417 
11418 
11419         RETURN FALSE;
11420 
11421     WHEN OTHERS THEN
11422 
11423         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11424         THEN
11425             OE_MSG_PUB.Add_Exc_Msg
11426             (   G_PKG_NAME
11427             ,   'Line_Category'
11428             );
11429         END IF;
11430 
11431 
11432         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11433 
11434 END Line_Category;
11435 
11436 
11437 FUNCTION Open(p_open_flag IN VARCHAR2)
11438 RETURN BOOLEAN
11439 IS
11440 l_dummy                       VARCHAR2(10);
11441 BEGIN
11442 
11443 
11444     IF p_open_flag IS NULL OR
11445         p_open_flag = FND_API.G_MISS_CHAR
11446     THEN
11447 
11448         RETURN TRUE;
11449     END IF;
11450 
11451     IF p_open_flag NOT IN ('Y','N') THEN
11452 		RAISE NO_DATA_FOUND;
11453     END IF;
11454 
11455 
11456     RETURN TRUE;
11457 
11458 EXCEPTION
11459 
11460     WHEN NO_DATA_FOUND THEN
11461 
11462         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11463         THEN
11464 
11465 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPEN_FLAG');
11466 
11467             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11468             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11469 				OE_Order_Util.Get_Attribute_Name('open_flag'));
11470             OE_MSG_PUB.Add;
11471 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11472 
11473         END IF;
11474 
11475 
11476         RETURN FALSE;
11477 
11478     WHEN OTHERS THEN
11479 
11480         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11481         THEN
11482             OE_MSG_PUB.Add_Exc_Msg
11483             (   G_PKG_NAME
11484             ,   'Open'
11485             );
11486         END IF;
11487 
11488 
11489         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11490 
11491 END Open;
11492 
11493 
11494 FUNCTION Option_Flag ( p_option_flag IN VARCHAR2 )
11495 RETURN BOOLEAN
11496 IS
11497 l_dummy                       VARCHAR2(10);
11498 BEGIN
11499 
11500 
11501     IF p_option_flag IS NULL OR
11502         p_option_flag = FND_API.G_MISS_CHAR
11503     THEN
11504 
11505         RETURN TRUE;
11506     END IF;
11507 
11508     --  SELECT  'VALID'
11509     --  INTO     l_dummy
11510     --  FROM     DB_TABLE
11511     --  WHERE    DB_COLUMN = p_option_flag;
11512 
11513 
11514     RETURN TRUE;
11515 
11516 EXCEPTION
11517 
11518     WHEN NO_DATA_FOUND THEN
11519 
11520         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11521         THEN
11522 
11523 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_FLAG');
11524 
11525             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11526             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11527 				OE_Order_Util.Get_Attribute_Name('option_flag'));
11528             OE_MSG_PUB.Add;
11529 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11530 
11531         END IF;
11532 
11533 
11534         RETURN FALSE;
11535 
11536     WHEN OTHERS THEN
11537 
11538         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11539         THEN
11540             OE_MSG_PUB.Add_Exc_Msg
11541             (   G_PKG_NAME
11542             ,   'Option_Flag'
11543             );
11544         END IF;
11545 
11546 
11547         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11548 
11549 END Option_Flag;
11550 
11551 
11552 FUNCTION Ordered_Quantity ( p_ordered_quantity IN NUMBER )
11553 RETURN BOOLEAN
11554 IS
11555 l_dummy                       VARCHAR2(10);
11556 BEGIN
11557 
11558 
11559     IF p_ordered_quantity IS NULL OR
11560         p_ordered_quantity = FND_API.G_MISS_NUM
11561     THEN
11562 
11563         RETURN TRUE;
11564     END IF;
11565 
11566     --  SELECT  'VALID'
11567     --  INTO     l_dummy
11568     --  FROM     DB_TABLE
11569     --  WHERE    DB_COLUMN = p_ordered_quantity;
11570     IF p_ordered_quantity < 0 THEN
11571 	RAISE NO_DATA_FOUND;
11572     END IF;
11573 
11574 
11575 
11576     RETURN TRUE;
11577 
11578 EXCEPTION
11579 
11580     WHEN NO_DATA_FOUND THEN
11581 
11582         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11583         THEN
11584 
11585 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY');
11586 
11587             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11588             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11589 				OE_Order_Util.Get_Attribute_Name('ordered_quantity'));
11590             OE_MSG_PUB.Add;
11591 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11592 
11593         END IF;
11594 
11595 
11596         RETURN FALSE;
11597 
11598     WHEN OTHERS THEN
11599 
11600         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11601         THEN
11602             OE_MSG_PUB.Add_Exc_Msg
11603             (   G_PKG_NAME
11604             ,   'Ordered_Quantity'
11605             );
11606         END IF;
11607 
11608 
11609         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11610 
11611 END Ordered_Quantity;
11612 
11613 -- OPM 02/JUN/00 - add function to support new process attribute
11614 -- =============================================================
11615 
11616 FUNCTION Ordered_Quantity2 ( p_ordered_quantity2 IN NUMBER )
11617 RETURN BOOLEAN
11618 IS
11619 l_dummy                       VARCHAR2(10);
11620 BEGIN
11621 
11622 
11623     IF p_ordered_quantity2 IS NULL OR
11624         p_ordered_quantity2 = FND_API.G_MISS_NUM
11625     THEN
11626 
11627         RETURN TRUE;
11628     END IF;
11629 
11630     RETURN TRUE;
11631 
11632 EXCEPTION
11633 
11634     WHEN NO_DATA_FOUND THEN
11635 
11636         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11637         THEN
11638 
11639 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>'ORDERED_QUANTITY2');
11640           fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11641           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11642 				OE_Order_Util.Get_Attribute_Name('ordered_quantity2'));
11643             OE_MSG_PUB.Add;
11644 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11645 
11646         END IF;
11647 
11648 
11649         RETURN FALSE;
11650 
11651     WHEN OTHERS THEN
11652 
11653         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11654         THEN
11655             OE_MSG_PUB.Add_Exc_Msg
11656             (   G_PKG_NAME
11657             ,   'Ordered_Quantity2'
11658             );
11659         END IF;
11660 
11661 
11662         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11663 
11664 END Ordered_Quantity2;
11665 
11666 -- OPM 02/JUN/00 END
11667 -- =================
11668 
11669 
11670 FUNCTION Promise_Date ( p_promise_date IN DATE )
11671 RETURN BOOLEAN
11672 IS
11673 l_dummy                       VARCHAR2(10);
11674 BEGIN
11675 
11676 
11677     IF p_promise_date IS NULL OR
11678         p_promise_date = FND_API.G_MISS_DATE
11679     THEN
11680 
11681         RETURN TRUE;
11682     END IF;
11683 
11684     --  SELECT  'VALID'
11685     --  INTO     l_dummy
11686     --  FROM     DB_TABLE
11687     --  WHERE    DB_COLUMN = p_promise_date;
11688 
11689 
11690     RETURN TRUE;
11691 
11692 EXCEPTION
11693 
11694     WHEN NO_DATA_FOUND THEN
11695 
11696         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11697         THEN
11698 
11699 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROMISE_DATE');
11700 
11701             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11702             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11703 				OE_Order_Util.Get_Attribute_Name('promise_date'));
11704             OE_MSG_PUB.Add;
11705 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11706 
11707         END IF;
11708 
11709 
11710         RETURN FALSE;
11711 
11712     WHEN OTHERS THEN
11713 
11714         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11715         THEN
11716             OE_MSG_PUB.Add_Exc_Msg
11717             (   G_PKG_NAME
11718             ,   'Promise_Date'
11719             );
11720         END IF;
11721 
11722 
11723         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11724 
11725 END Promise_Date;
11726 
11727 
11728 
11729 FUNCTION Re_Source ( p_re_source_flag IN VARCHAR2 )
11730 RETURN BOOLEAN
11731 IS
11732 l_dummy                       VARCHAR2(10);
11733 BEGIN
11734 
11735 
11736     IF p_re_source_flag IS NULL OR
11737         p_re_source_flag = FND_API.G_MISS_CHAR
11738     THEN
11739 
11740         RETURN TRUE;
11741     END IF;
11742 
11743     --  SELECT  'VALID'
11744     --  INTO     l_dummy
11745     --  FROM     DB_TABLE
11746     --  WHERE    DB_COLUMN = p_re_source_flag;
11747 
11748 
11749     RETURN TRUE;
11750 
11751 EXCEPTION
11752 
11753     WHEN NO_DATA_FOUND THEN
11754 
11755         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11756         THEN
11757 
11758 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RE_SOURCE_FLAG');
11759 
11760             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11761             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11762 				OE_Order_Util.Get_Attribute_Name('re_source_flag'));
11763             OE_MSG_PUB.Add;
11764             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11765 
11766         END IF;
11767 
11768 
11769         RETURN FALSE;
11770 
11771     WHEN OTHERS THEN
11772 
11773         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11774         THEN
11775             OE_MSG_PUB.Add_Exc_Msg
11776             (   G_PKG_NAME
11777             ,   'Re_Source_Flag'
11778             );
11779         END IF;
11780 
11781 
11782         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11783 
11784 END Re_Source;
11785 
11786 
11787 FUNCTION Rla_Schedule_Type ( p_rla_schedule_type_code IN VARCHAR2 )
11788 RETURN BOOLEAN
11789 IS
11790 l_dummy                       VARCHAR2(10);
11791 BEGIN
11792 
11793 
11794     IF p_rla_schedule_type_code IS NULL OR
11795         p_rla_schedule_type_code = FND_API.G_MISS_CHAR
11796     THEN
11797 
11798         RETURN TRUE;
11799     END IF;
11800 
11801     --  SELECT  'VALID'
11802     --  INTO     l_dummy
11803     --  FROM     DB_TABLE
11804     --  WHERE    DB_COLUMN = p_rla_schedule_type_code;
11805 
11806 
11807     RETURN TRUE;
11808 
11809 EXCEPTION
11810 
11811     WHEN NO_DATA_FOUND THEN
11812 
11813         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11814         THEN
11815 
11816 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RLA_SCHEDULE_TYPE_CODE');
11817 
11818             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11819             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11820 				OE_Order_Util.Get_Attribute_Name('rla_schedule_type_code'));
11821             OE_MSG_PUB.Add;
11822 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11823 
11824         END IF;
11825 
11826 
11827         RETURN FALSE;
11828 
11829     WHEN OTHERS THEN
11830 
11831         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11832         THEN
11833             OE_MSG_PUB.Add_Exc_Msg
11834             (   G_PKG_NAME
11835             ,   'Rla_Schedule_Type'
11836             );
11837         END IF;
11838 
11839 
11840         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11841 
11842 END Rla_Schedule_Type;
11843 
11844 FUNCTION Schedule_Ship_Date ( p_schedule_ship_date IN DATE )
11845 RETURN BOOLEAN
11846 IS
11847 l_dummy                       VARCHAR2(10);
11848 BEGIN
11849 
11850 
11851     IF p_schedule_ship_date IS NULL OR
11852         p_schedule_ship_date = FND_API.G_MISS_DATE
11853     THEN
11854 
11855         RETURN TRUE;
11856     END IF;
11857 
11858     --  SELECT  'VALID'
11859     --  INTO     l_dummy
11860     --  FROM     DB_TABLE
11861     --  WHERE    DB_COLUMN = p_Schedule_Ship_Date;
11862 
11863 
11864     RETURN TRUE;
11865 
11866 EXCEPTION
11867 
11868     WHEN NO_DATA_FOUND THEN
11869 
11870         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11871         THEN
11872 
11873 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_SHIP_DATE');
11874 
11875             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11876             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11877 				OE_Order_Util.Get_Attribute_Name('schedule_ship_date'));
11878             OE_MSG_PUB.Add;
11879 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11880 
11881         END IF;
11882 
11883 
11884         RETURN FALSE;
11885 
11886     WHEN OTHERS THEN
11887 
11888         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11889         THEN
11890             OE_MSG_PUB.Add_Exc_Msg
11891             (   G_PKG_NAME
11892             ,   'schedule_ship_date'
11893             );
11894         END IF;
11895 
11896 
11897         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11898 
11899 END Schedule_Ship_Date;
11900 
11901 
11902 FUNCTION Schedule_Status ( p_schedule_status_code IN VARCHAR2 )
11903 RETURN BOOLEAN
11904 IS
11905 l_dummy                       VARCHAR2(10);
11906 BEGIN
11907 
11908 
11909     IF p_schedule_status_code IS NULL OR
11910         p_schedule_status_code = FND_API.G_MISS_CHAR
11911     THEN
11912 
11913         RETURN TRUE;
11914     END IF;
11915 
11916     --  SELECT  'VALID'
11917     --  INTO     l_dummy
11918     --  FROM     DB_TABLE
11919     --  WHERE    DB_COLUMN = p_schedule_ship_date;
11920 
11921 
11922     RETURN TRUE;
11923 
11924 EXCEPTION
11925 
11926     WHEN NO_DATA_FOUND THEN
11927 
11928         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11929         THEN
11930 
11931 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_STATUS_CODE');
11932 
11933             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11934             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11935 				OE_Order_Util.Get_Attribute_Name('schedule_status_code'));
11936             OE_MSG_PUB.Add;
11937 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11938 
11939         END IF;
11940 
11941 
11942         RETURN FALSE;
11943 
11944     WHEN OTHERS THEN
11945 
11946         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11947         THEN
11948             OE_MSG_PUB.Add_Exc_Msg
11949             (   G_PKG_NAME
11950             ,   'Schedule_Status'
11951             );
11952         END IF;
11953 
11954 
11955         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11956 
11957 END Schedule_Status;
11958 
11959 
11960 FUNCTION Tax ( p_tax_code IN VARCHAR2 )
11961 RETURN BOOLEAN
11962 IS
11963 l_dummy                       VARCHAR2(10);
11964 BEGIN
11965 
11966 
11967     IF p_tax_code IS NULL OR
11968         p_tax_code = FND_API.G_MISS_CHAR
11969     THEN
11970 
11971         RETURN TRUE;
11972     END IF;
11973    /*
11974    ** Since Tax_Code depands on tax_date, the validation should be done at
11975    ** Entity Level.
11976    */
11977 --    SELECT 'VALID'
11978 --    INTO   l_dummy
11979 --    FROM   AR_VAT_TAX V,
11980 --		 AR_SYSTEM_PARAMETERS P
11981 --    WHERE  V.TAX_CODE = p_tax_code
11982 --    AND V.SET_OF_BOOKS_ID = P.SET_OF_BOOKS_ID
11983 --    AND NVL(V.ENABLED_FLAG,'Y')='Y'
11984 --    AND NVL(V.TAX_CLASS,'O')='O'
11985 --    AND NVL(V.DISPLAYED_FLAG,'Y')='Y'
11986 --    AND TRUNC(SYSDATE) BETWEEN TRUNC(V.START_DATE) AND
11987 --	   TRUNC(NVL(V.END_DATE, SYSDATE))
11988 --    AND ROWNUM = 1;
11989 
11990 
11991     RETURN TRUE;
11992 
11993 EXCEPTION
11994 
11995     WHEN NO_DATA_FOUND THEN
11996 
11997         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11998         THEN
11999 
12000 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_CODE');
12001 
12002             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12003             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12004 				OE_Order_Util.Get_Attribute_Name('tax_code'));
12005             OE_MSG_PUB.Add;
12006 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12007 
12008         END IF;
12009 
12010 
12011         RETURN FALSE;
12012 
12013     WHEN OTHERS THEN
12014 
12015         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12016         THEN
12017             OE_MSG_PUB.Add_Exc_Msg
12018             (   G_PKG_NAME
12019             ,   'Tax'
12020             );
12021         END IF;
12022 
12023 
12024         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12025 
12026 END Tax;
12027 
12028 
12029 FUNCTION Tax_Rate ( p_tax_rate IN NUMBER )
12030 RETURN BOOLEAN
12031 IS
12032 l_dummy                       VARCHAR2(10);
12033 BEGIN
12034 
12035 
12036     IF p_tax_rate IS NULL OR
12037         p_tax_rate = FND_API.G_MISS_NUM
12038     THEN
12039 
12040         RETURN TRUE;
12041     END IF;
12042 
12043     --  SELECT  'VALID'
12044     --  INTO     l_dummy
12045     --  FROM     DB_TABLE
12046     --  WHERE    DB_COLUMN = p_tax_rate;
12047 
12048 
12049     RETURN TRUE;
12050 
12051 EXCEPTION
12052 
12053     WHEN NO_DATA_FOUND THEN
12054 
12055         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12056         THEN
12057 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_RATE');
12058 
12059             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12060             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12061 				OE_Order_Util.Get_Attribute_Name('tax_rate'));
12062             OE_MSG_PUB.Add;
12063 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12064 
12065         END IF;
12066 
12067 
12068         RETURN FALSE;
12069 
12070     WHEN OTHERS THEN
12071 
12072         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12073         THEN
12074             OE_MSG_PUB.Add_Exc_Msg
12075             (   G_PKG_NAME
12076             ,   'Tax_Rate'
12077             );
12078         END IF;
12079 
12080 
12081         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12082 
12083 END Tax_Rate;
12084 
12085 
12086 
12087 
12088 FUNCTION Visible_Demand ( p_visible_demand_flag IN VARCHAR2 )
12089 RETURN BOOLEAN
12090 IS
12091 l_dummy                       VARCHAR2(10);
12092 BEGIN
12093 
12094 
12095     IF p_visible_demand_flag IS NULL OR
12096         p_visible_demand_flag = FND_API.G_MISS_CHAR
12097     THEN
12098 
12099         RETURN TRUE;
12100     END IF;
12101 
12102     --  SELECT  'VALID'
12103     --  INTO     l_dummy
12104     --  FROM     DB_TABLE
12105     --  WHERE    DB_COLUMN = p_visible_demand_flag;
12106 
12107 
12108     RETURN TRUE;
12109 
12110 EXCEPTION
12111 
12112     WHEN NO_DATA_FOUND THEN
12113 
12114         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12115         THEN
12116 
12117 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VISIBLE_DEMAND_FLAG');
12118 
12119             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12120             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12121 				OE_Order_Util.Get_Attribute_Name('visible_demand_flag'));
12122             OE_MSG_PUB.Add;
12123 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12124 
12125         END IF;
12126 
12127 
12128         RETURN FALSE;
12129 
12130     WHEN OTHERS THEN
12131 
12132         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12133         THEN
12134             OE_MSG_PUB.Add_Exc_Msg
12135             (   G_PKG_NAME
12136             ,   'Visible_Demand'
12137             );
12138         END IF;
12139 
12140 
12141         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12142 
12143 END Visible_Demand;
12144 
12145 
12146 
12147 FUNCTION Shipped_Quantity ( p_shipped_quantity IN NUMBER )
12148 RETURN BOOLEAN
12149 IS
12150 l_dummy                       VARCHAR2(10);
12151 BEGIN
12152 
12153 
12154     IF p_shipped_quantity IS NULL OR
12155         p_shipped_quantity = FND_API.G_MISS_NUM
12156     THEN
12157 
12158         RETURN TRUE;
12159     END IF;
12160 
12161     --  SELECT  'VALID'
12162     --  INTO     l_dummy
12163     --  FROM     DB_TABLE
12164     --  WHERE    DB_COLUMN = p_shipped_quantity;
12165 
12166 
12167     RETURN TRUE;
12168 
12169 EXCEPTION
12170 
12171     WHEN NO_DATA_FOUND THEN
12172 
12173         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12174         THEN
12175 
12176 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY');
12177 
12178             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12179             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12180 				OE_Order_Util.Get_Attribute_Name('shipped_quantity'));
12181             OE_MSG_PUB.Add;
12182 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12183 
12184         END IF;
12185 
12186 
12187         RETURN FALSE;
12188 
12189     WHEN OTHERS THEN
12190 
12191         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12192         THEN
12193             OE_MSG_PUB.Add_Exc_Msg
12194             (   G_PKG_NAME
12195             ,   'Shipped_Quantity'
12196             );
12197         END IF;
12198 
12199 
12200         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12201 
12202 END Shipped_Quantity;
12203 
12204 -- INVCONV
12205 FUNCTION Shipped_Quantity2 ( p_shipped_quantity2 IN NUMBER )
12206 RETURN BOOLEAN
12207 IS
12208 l_dummy                       VARCHAR2(10);
12209 BEGIN
12210 
12211 
12212     IF p_shipped_quantity2 IS NULL OR
12213         p_shipped_quantity2 = FND_API.G_MISS_NUM
12214     THEN
12215 
12216         RETURN TRUE;
12217     END IF;
12218 
12219     --  SELECT  'VALID'
12220     --  INTO     l_dummy
12221     --  FROM     DB_TABLE
12222     --  WHERE    DB_COLUMN = p_shipped_quantity2;
12223 
12224 
12225     RETURN TRUE;
12226 
12227 EXCEPTION
12228 
12229     WHEN NO_DATA_FOUND THEN
12230 
12231         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12232         THEN
12233 
12234 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY2');
12235 
12236             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12237             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12238 				OE_Order_Util.Get_Attribute_Name('shipped_quantity2'));
12239             OE_MSG_PUB.Add;
12240 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12241 
12242         END IF;
12243 
12244 
12245         RETURN FALSE;
12246 
12247     WHEN OTHERS THEN
12248 
12249         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12250         THEN
12251             OE_MSG_PUB.Add_Exc_Msg
12252             (   G_PKG_NAME
12253             ,   'Shipped_Quantity2'
12254             );
12255         END IF;
12256 
12257 
12258         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12259 
12260 END Shipped_Quantity2;
12261 
12262 
12263 FUNCTION Earliest_Acceptable_Date ( p_earliest_acceptable_date IN DATE )
12264 RETURN BOOLEAN
12265 IS
12266 l_dummy                       VARCHAR2(10);
12267 BEGIN
12268 
12269 
12270     IF p_earliest_acceptable_date IS NULL OR
12271         p_earliest_acceptable_date = FND_API.G_MISS_DATE
12272     THEN
12273 
12274         RETURN TRUE;
12275     END IF;
12276 
12277     --  SELECT  'VALID'
12278     --  INTO     l_dummy
12279     --  FROM     DB_TABLE
12280     --  WHERE    DB_COLUMN = p_earliest_acceptable_date;
12281 
12282 
12283     RETURN TRUE;
12284 
12285 EXCEPTION
12286 
12287     WHEN NO_DATA_FOUND THEN
12288 
12289         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12290         THEN
12291 
12292 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_ACCEPTABLE_DATE');
12293 
12294             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12295             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12296 				OE_Order_Util.Get_Attribute_Name('earliest_acceptable_date'));
12297             OE_MSG_PUB.Add;
12298 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12299 
12300         END IF;
12301 
12302 
12303         RETURN FALSE;
12304 
12305     WHEN OTHERS THEN
12306 
12307         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12308         THEN
12309             OE_MSG_PUB.Add_Exc_Msg
12310             (   G_PKG_NAME
12311             ,   'Earliest_Acceptable_Date'
12312             );
12313         END IF;
12314 
12315 
12316         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12317 
12318 END Earliest_Acceptable_Date;
12319 
12320 FUNCTION Earliest_Schedule_limit ( p_earliest_schedule_limit IN NUMBER )
12321 RETURN BOOLEAN
12322 IS
12323 l_dummy                       VARCHAR2(10);
12324 BEGIN
12325 
12326 
12327     IF p_earliest_schedule_limit IS NULL OR
12328         p_earliest_schedule_limit = FND_API.G_MISS_NUM
12329     THEN
12330 
12331         RETURN TRUE;
12332     END IF;
12333 
12334     --  SELECT  'VALID'
12335     --  INTO     l_dummy
12336     --  FROM     DB_TABLE
12337     --  WHERE    DB_COLUMN = p_earliest_schedule_limit;
12338 
12339 
12340     RETURN TRUE;
12341 
12342 EXCEPTION
12343 
12344     WHEN NO_DATA_FOUND THEN
12345 
12346         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12347         THEN
12348 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_SCHEDULE_LIMIT');
12349 
12350             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12351             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12352 				OE_Order_Util.Get_Attribute_Name('earliest_schedule_limit'));
12353             OE_MSG_PUB.Add;
12354 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12355 
12356         END IF;
12357 
12358 
12359         RETURN FALSE;
12360 
12361     WHEN OTHERS THEN
12362 
12363         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12364         THEN
12365             OE_MSG_PUB.Add_Exc_Msg
12366             (   G_PKG_NAME
12367             ,   'Earliest_Schedule_Limit'
12368             );
12369         END IF;
12370 
12371 
12372         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12373 
12374 END Earliest_Schedule_Limit;
12375 
12376 
12377 FUNCTION Latest_Acceptable_Date ( p_latest_acceptable_date IN DATE )
12378 RETURN BOOLEAN
12379 IS
12380 l_dummy                       VARCHAR2(10);
12381 BEGIN
12382 
12383 
12384     IF p_latest_acceptable_date IS NULL OR
12385         p_latest_acceptable_date = FND_API.G_MISS_DATE
12386     THEN
12387 
12388         RETURN TRUE;
12389     END IF;
12390 
12391     --  SELECT  'VALID'
12392     --  INTO     l_dummy
12393     --  FROM     DB_TABLE
12394     --  WHERE    DB_COLUMN = p_latest_acceptable_date;
12395 
12396 
12397     RETURN TRUE;
12398 
12399 EXCEPTION
12400 
12401     WHEN NO_DATA_FOUND THEN
12402 
12403         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12404         THEN
12405 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_ACCEPTABLE_DATE');
12406 
12407 
12408             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12409             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12410 				OE_Order_Util.Get_Attribute_Name('latest_acceptable_date'));
12411             OE_MSG_PUB.Add;
12412 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12413 
12414         END IF;
12415 
12416 
12417         RETURN FALSE;
12418 
12419     WHEN OTHERS THEN
12420 
12421         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12422         THEN
12423             OE_MSG_PUB.Add_Exc_Msg
12424             (   G_PKG_NAME
12425             ,   'Latest_Acceptable_Date'
12426             );
12427         END IF;
12428 
12429 
12430         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12431 
12432 END Latest_Acceptable_Date;
12433 
12434 FUNCTION Latest_Schedule_limit (p_latest_schedule_limit IN NUMBER)
12435 RETURN BOOLEAN
12436 IS
12437 l_dummy                       VARCHAR2(10);
12438 BEGIN
12439 
12440 
12441     IF p_latest_schedule_limit IS NULL OR
12442         p_latest_schedule_limit = FND_API.G_MISS_NUM
12443     THEN
12444 
12445         RETURN TRUE;
12446     END IF;
12447 
12448     --  SELECT  'VALID'
12449     --  INTO     l_dummy
12450     --  FROM     DB_TABLE
12451     --  WHERE    DB_COLUMN = p_latest_schedule_limit;
12452 
12453 
12454     RETURN TRUE;
12455 
12456 EXCEPTION
12457 
12458     WHEN NO_DATA_FOUND THEN
12459 
12460         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12461         THEN
12462 
12463 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_SCHEDULE_LIMIT');
12464 
12465             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12466             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12467 				OE_Order_Util.Get_Attribute_Name('latest_schedule_limit'));
12468             OE_MSG_PUB.Add;
12469 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12470 
12471         END IF;
12472 
12473 
12474         RETURN FALSE;
12475 
12476     WHEN OTHERS THEN
12477 
12478         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12479         THEN
12480             OE_MSG_PUB.Add_Exc_Msg
12481             (   G_PKG_NAME
12482             ,   'Latest_Schedule_Limit'
12483             );
12484         END IF;
12485 
12486 
12487         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12488 
12489 END Latest_Schedule_Limit;
12490 
12491 FUNCTION Model_Group_Number ( p_model_group_number IN NUMBER )
12492 RETURN BOOLEAN
12493 IS
12494 l_dummy                       VARCHAR2(10);
12495 BEGIN
12496 
12497 
12498     IF p_model_group_number IS NULL OR
12499         p_model_group_number = FND_API.G_MISS_NUM
12500     THEN
12501 
12502         RETURN TRUE;
12503     END IF;
12504 
12505     --  SELECT  'VALID'
12506     --  INTO     l_dummy
12507     --  FROM     DB_TABLE
12508     --  WHERE    DB_COLUMN = p_model_group_number;
12509 
12510 
12511     RETURN TRUE;
12512 
12513 EXCEPTION
12514 
12515     WHEN NO_DATA_FOUND THEN
12516 
12517         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12518         THEN
12519 
12520 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODEL_GROUP_NUMBER');
12521 
12522             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12523             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12524 				OE_Order_Util.Get_Attribute_Name('model_group_number'));
12525             OE_MSG_PUB.Add;
12526 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12527 
12528         END IF;
12529 
12530 
12531         RETURN FALSE;
12532 
12533     WHEN OTHERS THEN
12534 
12535         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12536         THEN
12537             OE_MSG_PUB.Add_Exc_Msg
12538             (   G_PKG_NAME
12539             ,   'Model_Group_Number'
12540             );
12541         END IF;
12542 
12543 
12544         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12545 
12546 END Model_Group_Number;
12547 
12548 
12549 FUNCTION Mfg_Component_Sequence ( p_mfg_component_sequence_id IN NUMBER )
12550 RETURN BOOLEAN
12551 IS
12552 l_dummy                       VARCHAR2(10);
12553 BEGIN
12554 
12555 
12556     IF p_mfg_component_sequence_id IS NULL OR
12557         p_mfg_component_sequence_id = FND_API.G_MISS_NUM
12558     THEN
12559 
12560         RETURN TRUE;
12561     END IF;
12562 
12563     --  SELECT  'VALID'
12564     --  INTO     l_dummy
12565     --  FROM     DB_TABLE
12566     --  WHERE    DB_COLUMN = p_mfg_component_sequence_id;
12567 
12568 
12569     RETURN TRUE;
12570 
12571 EXCEPTION
12572 
12573     WHEN NO_DATA_FOUND THEN
12574 
12575         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12576         THEN
12577 
12578 	      OE_MSG_PUB.Update_Msg_Context
12579 			    (p_attribute_code => 'MFG_COMPONENT_SEQUENCE_ID');
12580 
12581             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12582             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12583 				OE_Order_Util.Get_Attribute_Name
12584 						('mfg_component_sequence_id'));
12585             OE_MSG_PUB.Add;
12586 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12587 
12588         END IF;
12589 
12590 
12591         RETURN FALSE;
12592 
12593     WHEN OTHERS THEN
12594 
12595         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12596         THEN
12597             OE_MSG_PUB.Add_Exc_Msg
12598             (   G_PKG_NAME
12599             ,   'Mfg_Component_Sequence_Id'
12600             );
12601         END IF;
12602 
12603 
12604         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12605 
12606 END Mfg_Component_Sequence;
12607 
12608 FUNCTION Schedule_Arrival_Date ( p_schedule_arrival_date IN DATE )
12609 RETURN BOOLEAN
12610 IS
12611 l_dummy                       VARCHAR2(10);
12612 BEGIN
12613 
12614 
12615     IF p_schedule_arrival_date IS NULL OR
12616         p_schedule_arrival_date = FND_API.G_MISS_DATE
12617     THEN
12618 
12619         RETURN TRUE;
12620     END IF;
12621 
12622     --  SELECT  'VALID'
12623     --  INTO     l_dummy
12624     --  FROM     DB_TABLE
12625     --  WHERE    DB_COLUMN = p_schedule_arrival_date;
12626 
12627 
12628     RETURN TRUE;
12629 
12630 EXCEPTION
12631 
12632     WHEN NO_DATA_FOUND THEN
12633 
12634         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12635         THEN
12636 
12637 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ARRIVAL_DATE');
12638 
12639             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12640             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12641 				OE_Order_Util.Get_Attribute_Name('schedule_arrival_date'));
12642             OE_MSG_PUB.Add;
12643 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12644 
12645         END IF;
12646 
12647 
12648         RETURN FALSE;
12649 
12650     WHEN OTHERS THEN
12651 
12652         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12653         THEN
12654             OE_MSG_PUB.Add_Exc_Msg
12655             (   G_PKG_NAME
12656             ,   'Schedule_Arrival_Date'
12657             );
12658         END IF;
12659 
12660 
12661         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12662 
12663 END Schedule_Arrival_Date;
12664 
12665 
12666 
12667 FUNCTION Ship_Model_Complete ( p_ship_model_complete_flag IN VARCHAR2 )
12668 RETURN BOOLEAN
12669 IS
12670 l_dummy                       VARCHAR2(10);
12671 BEGIN
12672 
12673 
12674     IF p_ship_model_complete_flag IS NULL OR
12675         p_ship_model_complete_flag = FND_API.G_MISS_CHAR
12676     THEN
12677 
12678         RETURN TRUE;
12679     END IF;
12680 
12681     --  SELECT  'VALID'
12682     --  INTO     l_dummy
12683     --  FROM     DB_TABLE
12684     --  WHERE    DB_COLUMN = p_visible_demand_flag;
12685 
12686 
12687     RETURN TRUE;
12688 
12689 EXCEPTION
12690 
12691     WHEN NO_DATA_FOUND THEN
12692 
12693         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12694         THEN
12695 
12696 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_MODEL_COMPLETE_FLAG');
12697 
12698             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12699             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12700 				OE_Order_Util.Get_Attribute_Name('ship_model_complete_flag'));
12701             OE_MSG_PUB.Add;
12702 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12703 
12704         END IF;
12705 
12706 
12707         RETURN FALSE;
12708 
12709     WHEN OTHERS THEN
12710 
12711         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12712         THEN
12713             OE_MSG_PUB.Add_Exc_Msg
12714             (   G_PKG_NAME
12715             ,   'Ship_Model_Complete_Flag'
12716             );
12717         END IF;
12718 
12719 
12720         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12721 
12722 END Ship_Model_Complete;
12723 
12724 FUNCTION From_Serial_Number ( p_from_serial_number IN VARCHAR2 )
12725 RETURN BOOLEAN
12726 IS
12727 l_dummy                       VARCHAR2(10);
12728 BEGIN
12729 
12730 
12731     IF p_from_serial_number IS NULL OR
12732         p_from_serial_number = FND_API.G_MISS_CHAR
12733     THEN
12734 
12735         RETURN TRUE;
12736     END IF;
12737 
12738     --  SELECT  'VALID'
12739     --  INTO     l_dummy
12740     --  FROM     DB_TABLE
12741     --  WHERE    DB_COLUMN = p_from_serial_number;
12742 
12743 
12744     RETURN TRUE;
12745 
12746 EXCEPTION
12747 
12748     WHEN NO_DATA_FOUND THEN
12749 
12750         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12751         THEN
12752 
12753 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FROM_SERIAL_NUMBER');
12754 
12755             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12756             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12757 				OE_Order_Util.Get_Attribute_Name('from_serial_number'));
12758             OE_MSG_PUB.Add;
12759 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12760 
12761         END IF;
12762 
12763 
12764         RETURN FALSE;
12765 
12766     WHEN OTHERS THEN
12767 
12768         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12769         THEN
12770             OE_MSG_PUB.Add_Exc_Msg
12771             (   G_PKG_NAME
12772             ,   'From_Serial_Number'
12773             );
12774         END IF;
12775 
12776 
12777         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12778 
12779 END From_Serial_Number;
12780 
12781 FUNCTION Lot_Number ( p_lot_number IN VARCHAR2 )
12782 RETURN BOOLEAN
12783 IS
12784 l_dummy                       VARCHAR2(10);
12785 BEGIN
12786 
12787 
12788     IF p_lot_number IS NULL OR
12789         p_lot_number = FND_API.G_MISS_CHAR
12790     THEN
12791 
12792         RETURN TRUE;
12793     END IF;
12794 
12795     --  SELECT  'VALID'
12796     --  INTO     l_dummy
12797     --  FROM     DB_TABLE
12798     --  WHERE    DB_COLUMN = p_lot_number;
12799 
12800 
12801     RETURN TRUE;
12802 
12803 EXCEPTION
12804 
12805     WHEN NO_DATA_FOUND THEN
12806 
12807         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12808         THEN
12809 
12810 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_NUMBER');
12811 
12812             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12813             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12814 				OE_Order_Util.Get_Attribute_Name('lot_number'));
12815             OE_MSG_PUB.Add;
12816 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12817 
12818         END IF;
12819 
12820 
12821         RETURN FALSE;
12822 
12823     WHEN OTHERS THEN
12824 
12825         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12826         THEN
12827             OE_MSG_PUB.Add_Exc_Msg
12828             (   G_PKG_NAME
12829             ,   'Lot_Number'
12830             );
12831         END IF;
12832 
12833 
12834         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12835 
12836 END Lot_Number;
12837 
12838  /*FUNCTION Sublot_Number ( p_sublot_number IN VARCHAR2 ) -- INVCONV
12839 RETURN BOOLEAN
12840 IS
12841 l_dummy                       VARCHAR2(10);
12842 BEGIN
12843 
12844 
12845     IF p_sublot_number IS NULL OR
12846         p_sublot_number = FND_API.G_MISS_CHAR
12847     THEN
12848 
12849         RETURN TRUE;
12850     END IF;
12851 
12852     --  SELECT  'VALID'
12853     --  INTO     l_dummy
12854     --  FROM     DB_TABLE
12855     --  WHERE    DB_COLUMN = p_sublot_number;
12856 
12857 
12858     RETURN TRUE;
12859 
12860 EXCEPTION
12861 
12862     WHEN NO_DATA_FOUND THEN
12863 
12864         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12865         THEN
12866 
12867 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUBLOT_NUMBER');
12868 
12869             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12870             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12871 				OE_Order_Util.Get_Attribute_Name('sublot_number'));
12872             OE_MSG_PUB.Add;
12873 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12874 
12875         END IF;
12876 
12877 
12878         RETURN FALSE;
12879 
12880     WHEN OTHERS THEN
12881 
12882         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12883         THEN
12884             OE_MSG_PUB.Add_Exc_Msg
12885             (   G_PKG_NAME
12886             ,   'Sublot_Number'
12887             );
12888         END IF;
12889 
12890 
12891         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12892 
12893 END Sublot_Number;  */
12894 
12895 
12896 
12897 FUNCTION Lot_Serial ( p_lot_serial_id IN NUMBER )
12898 RETURN BOOLEAN
12899 IS
12900 l_dummy                       VARCHAR2(10);
12901 BEGIN
12902 
12903 
12904     IF p_lot_serial_id IS NULL OR
12905         p_lot_serial_id = FND_API.G_MISS_NUM
12906     THEN
12907 
12908         RETURN TRUE;
12909     END IF;
12910 
12911     --  SELECT  'VALID'
12912     --  INTO     l_dummy
12913     --  FROM     DB_TABLE
12914     --  WHERE    DB_COLUMN = p_lot_serial_id;
12915 
12916 
12917     RETURN TRUE;
12918 
12919 EXCEPTION
12920 
12921     WHEN NO_DATA_FOUND THEN
12922 
12923         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12924         THEN
12925 
12926 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_SERIAL_ID');
12927 
12928             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12929             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12930 				OE_Order_Util.Get_Attribute_Name('lot_serial_id'));
12931             OE_MSG_PUB.Add;
12932 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12933 
12934         END IF;
12935 
12936 
12937         RETURN FALSE;
12938 
12939     WHEN OTHERS THEN
12940 
12941         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12942         THEN
12943             OE_MSG_PUB.Add_Exc_Msg
12944             (   G_PKG_NAME
12945             ,   'Lot_Serial'
12946             );
12947         END IF;
12948 
12949 
12950         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12951 
12952 END Lot_Serial;
12953 
12954 FUNCTION Quantity ( p_quantity IN NUMBER )
12955 RETURN BOOLEAN
12956 IS
12957 l_dummy                       VARCHAR2(10);
12958 BEGIN
12959 
12960 
12961     IF p_quantity IS NULL OR
12962         p_quantity = FND_API.G_MISS_NUM
12963     THEN
12964 
12965         RETURN TRUE;
12966     END IF;
12967 
12968     --  SELECT  'VALID'
12969     --  INTO     l_dummy
12970     --  FROM     DB_TABLE
12971     --  WHERE    DB_COLUMN = p_quantity;
12972 
12973 
12974     RETURN TRUE;
12975 
12976 EXCEPTION
12977 
12978     WHEN NO_DATA_FOUND THEN
12979 
12980         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12981         THEN
12982 
12983 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY');
12984 
12985             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12986             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12987 				OE_Order_Util.Get_Attribute_Name('quantity'));
12988             OE_MSG_PUB.Add;
12989 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12990 
12991         END IF;
12992 
12993 
12994         RETURN FALSE;
12995 
12996     WHEN OTHERS THEN
12997 
12998         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12999         THEN
13000             OE_MSG_PUB.Add_Exc_Msg
13001             (   G_PKG_NAME
13002             ,   'Quantity'
13003             );
13004         END IF;
13005 
13006 
13007         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13008 
13009 END Quantity;
13010 
13011 FUNCTION Quantity2 ( p_quantity2 IN NUMBER )
13012 RETURN BOOLEAN
13013 IS
13014 l_dummy                       VARCHAR2(10);
13015 BEGIN
13016 
13017 
13018     IF p_quantity2 IS NULL OR
13019         p_quantity2 = FND_API.G_MISS_NUM
13020     THEN
13021 
13022         RETURN TRUE;
13023     END IF;
13024 
13025     --  SELECT  'VALID'
13026     --  INTO     l_dummy
13027     --  FROM     DB_TABLE
13028     --  WHERE    DB_COLUMN = p_quantity;
13029 
13030 
13031     RETURN TRUE;
13032 
13033 EXCEPTION
13034 
13035     WHEN NO_DATA_FOUND THEN
13036 
13037         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13038         THEN
13039 
13040 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY2');
13041 
13042             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13043             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13044 				OE_Order_Util.Get_Attribute_Name('quantity2'));
13045             OE_MSG_PUB.Add;
13046 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13047 
13048         END IF;
13049 
13050 
13051         RETURN FALSE;
13052 
13053     WHEN OTHERS THEN
13054 
13055         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13056         THEN
13057             OE_MSG_PUB.Add_Exc_Msg
13058             (   G_PKG_NAME
13059             ,   'Quantity2'
13060             );
13061         END IF;
13062 
13063 
13064         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13065 
13066 END Quantity2;
13067 
13068 
13069 
13070 FUNCTION To_Serial_Number ( p_to_serial_number IN VARCHAR2 )
13071 RETURN BOOLEAN
13072 IS
13073 l_dummy                       VARCHAR2(10);
13074 BEGIN
13075 
13076 
13077     IF p_to_serial_number IS NULL OR
13078         p_to_serial_number = FND_API.G_MISS_CHAR
13079     THEN
13080 
13081         RETURN TRUE;
13082     END IF;
13083 
13084     --  SELECT  'VALID'
13085     --  INTO     l_dummy
13086     --  FROM     DB_TABLE
13087     --  WHERE    DB_COLUMN = p_to_serial_number;
13088 
13089 
13090     RETURN TRUE;
13091 
13092 EXCEPTION
13093 
13094     WHEN NO_DATA_FOUND THEN
13095 
13096         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13097         THEN
13098 
13099 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TO_SERIAL_NUMBER');
13100 
13101             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13102             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13103 				OE_Order_Util.Get_Attribute_Name('to_serial_number'));
13104             OE_MSG_PUB.Add;
13105 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13106 
13107         END IF;
13108 
13109 
13110         RETURN FALSE;
13111 
13112     WHEN OTHERS THEN
13113 
13114         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13115         THEN
13116             OE_MSG_PUB.Add_Exc_Msg
13117             (   G_PKG_NAME
13118             ,   'To_Serial_Number'
13119             );
13120         END IF;
13121 
13122 
13123         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13124 
13125 END To_Serial_Number;
13126 
13127 FUNCTION Line_Set ( p_line_set_id IN NUMBER)
13128 RETURN BOOLEAN
13129 IS
13130 l_dummy                       VARCHAR2(10);
13131 BEGIN
13132 
13133 
13134     IF p_line_set_id IS NULL OR
13135         p_line_set_id = FND_API.G_MISS_NUM
13136     THEN
13137 
13138         RETURN TRUE;
13139     END IF;
13140 
13141     --  SELECT  'VALID'
13142     --  INTO     l_dummy
13143     --  FROM     DB_TABLE
13144     --  WHERE    DB_COLUMN = p_line_set_id;
13145 
13146 
13147     RETURN TRUE;
13148 
13149 EXCEPTION
13150 
13151     WHEN NO_DATA_FOUND THEN
13152 
13153         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13154         THEN
13155 
13156 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Line_Set_ID');
13157 
13158             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13159             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13160 				OE_Order_Util.Get_Attribute_Name('Line_Set_ID'));
13161             OE_MSG_PUB.Add;
13162 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13163 
13164         END IF;
13165 
13166 
13167         RETURN FALSE;
13168 
13169     WHEN OTHERS THEN
13170 
13171         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13172         THEN
13173             OE_MSG_PUB.Add_Exc_Msg
13174             (   G_PKG_NAME
13175             ,   'Line_Set'
13176             );
13177         END IF;
13178 
13179 
13180         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13181 
13182 END Line_Set;
13183 
13184 FUNCTION Amount ( p_amount IN NUMBER )
13185 RETURN BOOLEAN
13186 IS
13187 l_dummy                       VARCHAR2(10);
13188 BEGIN
13189 
13190 
13191     IF p_amount IS NULL OR
13192         p_amount = FND_API.G_MISS_NUM
13193     THEN
13194 
13195         RETURN TRUE;
13196     END IF;
13197 
13198     --  SELECT  'VALID'
13199     --  INTO     l_dummy
13200     --  FROM     DB_TABLE
13201     --  WHERE    DB_COLUMN = p_amount;
13202 
13203 
13204     RETURN TRUE;
13205 
13206 EXCEPTION
13207 
13208     WHEN NO_DATA_FOUND THEN
13209 
13210         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13211         THEN
13212 
13213 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AMOUNT');
13214 
13215             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13216             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13217 				OE_Order_Util.Get_Attribute_Name('amount'));
13218             OE_MSG_PUB.Add;
13219 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13220 
13221         END IF;
13222 
13223 
13224         RETURN FALSE;
13225 
13226     WHEN OTHERS THEN
13227 
13228         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13229         THEN
13230             OE_MSG_PUB.Add_Exc_Msg
13231             (   G_PKG_NAME
13232             ,   'Amount'
13233             );
13234         END IF;
13235 
13236 
13237         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13238 
13239 END Amount;
13240 
13241 FUNCTION Appear_On_Ack ( p_appear_on_ack_flag IN VARCHAR2 )
13242 RETURN BOOLEAN
13243 IS
13244 l_dummy                       VARCHAR2(10);
13245 BEGIN
13246 
13247 
13248     IF p_appear_on_ack_flag IS NULL OR
13249         p_appear_on_ack_flag = FND_API.G_MISS_CHAR
13250     THEN
13251 
13252         RETURN TRUE;
13253     END IF;
13254 
13255     --  SELECT  'VALID'
13256     --  INTO     l_dummy
13257     --  FROM     DB_TABLE
13258     --  WHERE    DB_COLUMN = p_appear_on_ack_flag;
13259 
13260 
13261     RETURN TRUE;
13262 
13263 EXCEPTION
13264 
13265     WHEN NO_DATA_FOUND THEN
13266 
13267         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13268         THEN
13269 
13270 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_ACK_FLAG');
13271 
13272             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13273             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13274 				OE_Order_Util.Get_Attribute_Name('appear_on_ack_flag'));
13275             OE_MSG_PUB.Add;
13276 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13277 
13278         END IF;
13279 
13280 
13281        RETURN FALSE;
13282 
13283     WHEN OTHERS THEN
13284 
13285         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13286         THEN
13287             OE_MSG_PUB.Add_Exc_Msg
13288             (   G_PKG_NAME
13289             ,   'Appear_On_Ack'
13290             );
13291         END IF;
13292 
13293 
13294         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13295 
13296 END Appear_On_Ack;
13297 
13298 FUNCTION Appear_On_Invoice ( p_appear_on_invoice_flag IN VARCHAR2 )
13299 RETURN BOOLEAN
13300 IS
13301 l_dummy                       VARCHAR2(10);
13302 BEGIN
13303 
13304 
13305     IF p_appear_on_invoice_flag IS NULL OR
13306         p_appear_on_invoice_flag = FND_API.G_MISS_CHAR
13307     THEN
13308 
13309         RETURN TRUE;
13310     END IF;
13311 
13312     --  SELECT  'VALID'
13313     --  INTO     l_dummy
13314     --  FROM     DB_TABLE
13315     --  WHERE    DB_COLUMN = p_appear_on_invoice_flag;
13316 
13317 
13318     RETURN TRUE;
13319 
13320 EXCEPTION
13321 
13322     WHEN NO_DATA_FOUND THEN
13323 
13324         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13325         THEN
13326 
13327 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_INVOICE_FLAG');
13328 
13329             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13330             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13331 				OE_Order_Util.Get_Attribute_Name('appear_on_invoice_flag'));
13332             OE_MSG_PUB.Add;
13333 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13334 
13335         END IF;
13336 
13337 
13338         RETURN FALSE;
13339 
13340     WHEN OTHERS THEN
13341 
13342         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13343         THEN
13344             OE_MSG_PUB.Add_Exc_Msg
13345             (   G_PKG_NAME
13346             ,   'Appear_On_Invoice'
13347             );
13348         END IF;
13349 
13350 
13351         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13352 
13353 END Appear_On_Invoice;
13354 
13355 FUNCTION Charge ( p_charge_id IN NUMBER )
13356 RETURN BOOLEAN
13357 IS
13358 l_dummy                       VARCHAR2(10);
13359 BEGIN
13360 
13361 
13362     IF p_charge_id IS NULL OR
13363         p_charge_id = FND_API.G_MISS_NUM
13364     THEN
13365 
13366         RETURN TRUE;
13367     END IF;
13368 
13369     --  SELECT  'VALID'
13370     --  INTO     l_dummy
13371     --  FROM     DB_TABLE
13372     --  WHERE    DB_COLUMN = p_charge_id;
13373 
13374 
13375     RETURN TRUE;
13376 
13377 EXCEPTION
13378 
13379     WHEN NO_DATA_FOUND THEN
13380 
13381         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13382         THEN
13383 
13384 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_ID');
13385 
13386             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13387             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13388 				OE_Order_Util.Get_Attribute_Name('charge_id'));
13389             OE_MSG_PUB.Add;
13390 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13391 
13392 
13393         END IF;
13394 
13395         RETURN FALSE;
13396 
13397     WHEN OTHERS THEN
13398 
13399         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13400         THEN
13401             OE_MSG_PUB.Add_Exc_Msg
13402             (   G_PKG_NAME
13403             ,   'Charge'
13404             );
13405         END IF;
13406 
13407 
13408         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13409 
13410 END Charge;
13411 
13412 FUNCTION Charge_Type ( p_charge_type_id IN NUMBER )
13413 RETURN BOOLEAN
13414 IS
13415 l_dummy                       VARCHAR2(10);
13416 BEGIN
13417 
13418 
13419     IF p_charge_type_id IS NULL OR
13420         p_charge_type_id = FND_API.G_MISS_NUM
13421     THEN
13422 
13423         RETURN TRUE;
13424     END IF;
13425 
13426     --  SELECT  'VALID'
13427     --  INTO     l_dummy
13428     --  FROM     DB_TABLE
13429     --  WHERE    DB_COLUMN = p_charge_type_id;
13430 
13431 
13432    RETURN TRUE;
13433 
13434 EXCEPTION
13435 
13436     WHEN NO_DATA_FOUND THEN
13437 
13438         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13439         THEN
13440 
13441 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_ID');
13442 
13443             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13444             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13445 				OE_Order_Util.Get_Attribute_Name('charge_type_id'));
13446             OE_MSG_PUB.Add;
13447 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13448 
13449         END IF;
13450 
13451 
13452         RETURN FALSE;
13453 
13454     WHEN OTHERS THEN
13455 
13456         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13457         THEN
13458             OE_MSG_PUB.Add_Exc_Msg
13459             (   G_PKG_NAME
13460             ,   'Charge_Type'
13461             );
13462         END IF;
13463 
13464 
13465         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13466 
13467 END Charge_Type;
13468 
13469 FUNCTION Conversion_Date ( p_conversion_date IN DATE )
13470 RETURN BOOLEAN
13471 IS
13472 l_dummy                       VARCHAR2(10);
13473 BEGIN
13474 
13475 
13476     IF p_conversion_date IS NULL OR
13477         p_conversion_date = FND_API.G_MISS_DATE
13478     THEN
13479 
13480         RETURN TRUE;
13481     END IF;
13482 
13483     --  SELECT  'VALID'
13484     --  INTO     l_dummy
13485     --  FROM     DB_TABLE
13486     --  WHERE    DB_COLUMN = p_conversion_date;
13487 
13488 
13489     RETURN TRUE;
13490 
13491 EXCEPTION
13492 
13493     WHEN NO_DATA_FOUND THEN
13494 
13495         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13496         THEN
13497 
13498 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_DATE');
13499 
13500             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13501             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13502 				OE_Order_Util.Get_Attribute_Name('conversion_date'));
13503 
13504 	      OE_MSG_PUB.Add;
13505 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13506 
13507 
13508         END IF;
13509 
13510 
13511         RETURN FALSE;
13512 
13513     WHEN OTHERS THEN
13514 
13515         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13516         THEN
13517             OE_MSG_PUB.Add_Exc_Msg
13518             (   G_PKG_NAME
13519             ,   'Conversion_Date'
13520             );
13521         END IF;
13522 
13523 
13524         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13525 
13526 END Conversion_Date;
13527 
13528 FUNCTION Cost_Or_Charge ( p_cost_or_charge_flag IN VARCHAR2 )
13529 RETURN BOOLEAN
13530 IS
13531 l_dummy                       VARCHAR2(10);
13532 BEGIN
13533 
13534 
13535     IF p_cost_or_charge_flag IS NULL OR
13536         p_cost_or_charge_flag = FND_API.G_MISS_CHAR
13537     THEN
13538 
13539         RETURN TRUE;
13540     END IF;
13541 
13542     --  SELECT  'VALID'
13543     --  INTO     l_dummy
13544     --  FROM     DB_TABLE
13545     --  WHERE    DB_COLUMN = p_cost_or_charge_flag;
13546 
13547 
13548     RETURN TRUE;
13549 
13550 EXCEPTION
13551 
13552     WHEN NO_DATA_FOUND THEN
13553 
13554         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13555         THEN
13556 
13557 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_OR_CHARGE_FLAG');
13558 
13559             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13560             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13561 				OE_Order_Util.Get_Attribute_Name('cost_or_charge_flag'));
13562             OE_MSG_PUB.Add;
13563 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13564 
13565         END IF;
13566 
13567 
13568         RETURN FALSE;
13569 
13570     WHEN OTHERS THEN
13571 
13572         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13573         THEN
13574             OE_MSG_PUB.Add_Exc_Msg
13575             (   G_PKG_NAME
13576             ,   'Cost_Or_Charge'
13577             );
13578         END IF;
13579 
13580 
13581         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13582 
13583 END Cost_Or_Charge;
13584 
13585 FUNCTION Currency ( p_currency_code IN VARCHAR2 )
13586 RETURN BOOLEAN
13587 IS
13588 l_dummy                       VARCHAR2(10);
13589 BEGIN
13590 
13591 
13592     IF p_currency_code IS NULL OR
13593         p_currency_code = FND_API.G_MISS_CHAR
13594     THEN
13595 
13596         RETURN TRUE;
13597     END IF;
13598 
13599     --  SELECT  'VALID'
13600     --  INTO     l_dummy
13601     --  FROM     DB_TABLE
13602     --  WHERE    DB_COLUMN = p_currency_code;
13603 
13604 
13605     RETURN TRUE;
13606 
13607 EXCEPTION
13608 
13609     WHEN NO_DATA_FOUND THEN
13610 
13611         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13612         THEN
13613 
13614 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CURRENCY_CODE');
13615 
13616             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13617             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13618 				OE_Order_Util.Get_Attribute_Name('currency_code'));
13619             OE_MSG_PUB.Add;
13620 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13621 
13622         END IF;
13623 
13624 
13625         RETURN FALSE;
13626 
13627     WHEN OTHERS THEN
13628 
13629         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13630         THEN
13631             OE_MSG_PUB.Add_Exc_Msg
13632             (   G_PKG_NAME
13633             ,   'Currency'
13634             );
13635         END IF;
13636 
13637 
13638         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13639 
13640 END Currency;
13641 
13642 FUNCTION Departure ( p_departure_id IN NUMBER )
13643 RETURN BOOLEAN
13644 IS
13645 l_dummy                       VARCHAR2(10);
13646 BEGIN
13647 
13648 
13649     IF p_departure_id IS NULL OR
13650         p_departure_id = FND_API.G_MISS_NUM
13651     THEN
13652 
13653         RETURN TRUE;
13654     END IF;
13655 
13656     --  SELECT  'VALID'
13657     --  INTO     l_dummy
13658     --  FROM     DB_TABLE
13659     --  WHERE    DB_COLUMN = p_departure_id;
13660 
13661 
13662     RETURN TRUE;
13663 
13664 EXCEPTION
13665 
13666     WHEN NO_DATA_FOUND THEN
13667 
13668         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13669         THEN
13670 
13671 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEPARTURE_ID');
13672 
13673             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13674             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13675 				OE_Order_Util.Get_Attribute_Name('departure_id'));
13676             OE_MSG_PUB.Add;
13677 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13678 
13679         END IF;
13680 
13681 
13682         RETURN FALSE;
13683 
13684     WHEN OTHERS THEN
13685 
13686         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13687         THEN
13688             OE_MSG_PUB.Add_Exc_Msg
13689             (   G_PKG_NAME
13690             ,   'Departure'
13691             );
13692         END IF;
13693 
13694 
13695         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13696 
13697 END Departure;
13698 
13699 FUNCTION Estimated ( p_estimated_flag IN VARCHAR2 )
13700 RETURN BOOLEAN
13701 IS
13702 l_dummy                       VARCHAR2(10);
13703 BEGIN
13704 
13705 
13706     IF p_estimated_flag IS NULL OR
13707         p_estimated_flag = FND_API.G_MISS_CHAR
13708     THEN
13709         RETURN TRUE;
13710     END IF;
13711 
13712     IF p_estimated_flag NOT IN ('Y','N') THEN
13713 		RAISE NO_DATA_FOUND;
13714     END IF;
13715 
13716     --  SELECT  'VALID'
13717     --  INTO     l_dummy
13718     --  FROM     DB_TABLE
13719     --  WHERE    DB_COLUMN = p_estimated_flag;
13720 
13721 
13722     RETURN TRUE;
13723 
13724 EXCEPTION
13725 
13726     WHEN NO_DATA_FOUND THEN
13727 
13728         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13729         THEN
13730 
13731 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ESTIMATED_FLAG');
13732 
13733             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13734             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13735 				OE_Order_Util.Get_Attribute_Name('estimated_flag'));
13736             OE_MSG_PUB.Add;
13737 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13738 
13739         END IF;
13740 
13741 
13742         RETURN FALSE;
13743 
13744     WHEN OTHERS THEN
13745 
13746         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13747         THEN
13748             OE_MSG_PUB.Add_Exc_Msg
13749             (   G_PKG_NAME
13750             ,   'Estimated'
13751             );
13752         END IF;
13753 
13754 
13755         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13756 
13757 END Estimated;
13758 
13759 FUNCTION Inc_In_Sales_Performance ( p_inc_in_sales_performance IN VARCHAR2 )
13760 RETURN BOOLEAN
13761 IS
13762 l_dummy                       VARCHAR2(10);
13763 BEGIN
13764 
13765 
13766     IF p_inc_in_sales_performance IS NULL OR
13767         p_inc_in_sales_performance = FND_API.G_MISS_CHAR
13768     THEN
13769 
13770         RETURN TRUE;
13771     END IF;
13772 
13773     --  SELECT  'VALID'
13774     --  INTO     l_dummy
13775     --  FROM     DB_TABLE
13776     --  WHERE    DB_COLUMN = p_inc_in_sales_performance;
13777 
13778 
13779     RETURN TRUE;
13780 
13781 EXCEPTION
13782 
13783     WHEN NO_DATA_FOUND THEN
13784 
13785         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13786         THEN
13787 
13788 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INC_IN_SALES_PERFORMANCE');
13789 
13790             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13791             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13792 				OE_Order_Util.Get_Attribute_Name('inc_in_sales_performance'));
13793             OE_MSG_PUB.Add;
13794 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13795 
13796 
13797         END IF;
13798 
13799 
13800         RETURN FALSE;
13801 
13802     WHEN OTHERS THEN
13803 
13804         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13805         THEN
13806             OE_MSG_PUB.Add_Exc_Msg
13807             (   G_PKG_NAME
13808             ,   'Inc_In_Sales_Performance'
13809             );
13810         END IF;
13811 
13812 
13813         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13814 
13815 END Inc_In_Sales_Performance;
13816 
13817 FUNCTION Invoiced ( p_invoiced_flag IN VARCHAR2 )
13818 RETURN BOOLEAN
13819 IS
13820 l_dummy                       VARCHAR2(10);
13821 BEGIN
13822 
13823     IF p_invoiced_flag IS NULL OR
13824         p_invoiced_flag = FND_API.G_MISS_CHAR
13825     THEN
13826 
13827         RETURN TRUE;
13828     END IF;
13829 
13830     IF p_invoiced_flag NOT IN ('Y','N') THEN
13831 		RAISE NO_DATA_FOUND;
13832     END IF;
13833 
13834     --  SELECT  'VALID'
13835     --  INTO     l_dummy
13836     --  FROM     DB_TABLE
13837     --  WHERE    DB_COLUMN = p_invoiced_flag;
13838 
13839 
13840     RETURN TRUE;
13841 
13842 EXCEPTION
13843 
13844     WHEN NO_DATA_FOUND THEN
13845 
13846         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13847         THEN
13848 
13849 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_FLAG');
13850 
13851             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13852             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13853 				OE_Order_Util.Get_Attribute_Name('invoiced_flag'));
13854             OE_MSG_PUB.Add;
13855 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13856 
13857         END IF;
13858 
13859 
13860         RETURN FALSE;
13861 
13862     WHEN OTHERS THEN
13863 
13864         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13865         THEN
13866             OE_MSG_PUB.Add_Exc_Msg
13867             (   G_PKG_NAME
13868             ,   'Invoiced'
13869             );
13870         END IF;
13871 
13872 
13873         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13874 
13875 END Invoiced;
13876 
13877 FUNCTION Lpn ( p_lpn IN NUMBER )
13878 RETURN BOOLEAN
13879 IS
13880 l_dummy                       VARCHAR2(10);
13881 BEGIN
13882 
13883 
13884     IF p_lpn IS NULL OR
13885         p_lpn = FND_API.G_MISS_NUM
13886     THEN
13887 
13888         RETURN TRUE;
13889     END IF;
13890 
13891     --  SELECT  'VALID'
13892     --  INTO     l_dummy
13893     --  FROM     DB_TABLE
13894     --  WHERE    DB_COLUMN = p_lpn;
13895 
13896 
13897     RETURN TRUE;
13898 
13899 EXCEPTION
13900 
13901     WHEN NO_DATA_FOUND THEN
13902 
13903         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13904         THEN
13905 
13906 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LPN');
13907 
13908             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13909             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13910 				OE_Order_Util.Get_Attribute_Name('lpn'));
13911             OE_MSG_PUB.Add;
13912 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13913 
13914         END IF;
13915 
13916 
13917         RETURN FALSE;
13918 
13919     WHEN OTHERS THEN
13920 
13921         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13922         THEN
13923             OE_MSG_PUB.Add_Exc_Msg
13924             (   G_PKG_NAME
13925             ,   'Lpn'
13926             );
13927         END IF;
13928 
13929 
13930         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13931 
13932 END Lpn;
13933 
13934 FUNCTION Parent_Charge ( p_parent_charge_id IN NUMBER )
13935 RETURN BOOLEAN
13936 IS
13937 l_dummy                       VARCHAR2(10);
13938 BEGIN
13939 
13940 
13941     IF p_parent_charge_id IS NULL OR
13942         p_parent_charge_id = FND_API.G_MISS_NUM
13943     THEN
13944 
13945         RETURN TRUE;
13946     END IF;
13947 
13948     --  SELECT  'VALID'
13949     --  INTO     l_dummy
13950     --  FROM     DB_TABLE
13951     --  WHERE    DB_COLUMN = p_parent_charge_id;
13952 
13953 
13954     RETURN TRUE;
13955 
13956 EXCEPTION
13957 
13958     WHEN NO_DATA_FOUND THEN
13959 
13960         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13961         THEN
13962 
13963 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PARENT_CHARGE_ID');
13964 
13965             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13966             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13967 				OE_Order_Util.Get_Attribute_Name('parent_charge_id'));
13968             OE_MSG_PUB.Add;
13969 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13970 
13971         END IF;
13972 
13973 
13974         RETURN FALSE;
13975 
13976     WHEN OTHERS THEN
13977 
13978         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13979         THEN
13980             OE_MSG_PUB.Add_Exc_Msg
13981             (   G_PKG_NAME
13982             ,   'Parent_Charge'
13983             );
13984         END IF;
13985 
13986 
13987         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13988 
13989 END Parent_Charge;
13990 
13991 FUNCTION Returnable ( p_returnable_flag IN VARCHAR2 )
13992 RETURN BOOLEAN
13993 IS
13994 l_dummy                       VARCHAR2(10);
13995 BEGIN
13996 
13997 
13998     IF p_returnable_flag IS NULL OR
13999         p_returnable_flag = FND_API.G_MISS_CHAR
14000     THEN
14001 
14002         RETURN TRUE;
14003     END IF;
14004 
14005     --  SELECT  'VALID'
14006     --  INTO     l_dummy
14007     --  FROM     DB_TABLE
14008     --  WHERE    DB_COLUMN = p_returnable_flag;
14009 
14010 
14011     RETURN TRUE;
14012 
14013 EXCEPTION
14014 
14015     WHEN NO_DATA_FOUND THEN
14016 
14017         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14018         THEN
14019 
14020 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURNABLE_FLAG');
14021 
14022             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14023             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14024 				OE_Order_Util.Get_Attribute_Name('returnable_flag'));
14025             OE_MSG_PUB.Add;
14026 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14027 
14028         END IF;
14029 
14030 
14031         RETURN FALSE;
14032 
14033     WHEN OTHERS THEN
14034 
14035         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14036         THEN
14037             OE_MSG_PUB.Add_Exc_Msg
14038             (   G_PKG_NAME
14039             ,   'Returnable'
14040             );
14041         END IF;
14042 
14043 
14044         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14045 
14046 END Returnable;
14047 
14048 FUNCTION Tax_Group ( p_tax_group_code IN VARCHAR2 )
14049 RETURN BOOLEAN
14050 IS
14051 l_dummy                       VARCHAR2(10);
14052 BEGIN
14053 
14054 
14055     IF p_tax_group_code IS NULL OR
14056         p_tax_group_code = FND_API.G_MISS_CHAR
14057     THEN
14058 
14059         RETURN TRUE;
14060     END IF;
14061 
14062     --  SELECT  'VALID'
14063     --  INTO     l_dummy
14064     --  FROM     DB_TABLE
14065     --  WHERE    DB_COLUMN = p_tax_group_code;
14066 
14067 
14068     RETURN TRUE;
14069 
14070 EXCEPTION
14071 
14072     WHEN NO_DATA_FOUND THEN
14073 
14074         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14075         THEN
14076 
14077 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_GROUP_CODE');
14078 
14079             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14080             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14081 				OE_Order_Util.Get_Attribute_Name('tax_group_code'));
14082             OE_MSG_PUB.Add;
14083 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14084 
14085         END IF;
14086 
14087 
14088         RETURN FALSE;
14089 
14090     WHEN OTHERS THEN
14091 
14092         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14093         THEN
14094             OE_MSG_PUB.Add_Exc_Msg
14095             (   G_PKG_NAME
14096             ,   'Tax_Group'
14097             );
14098         END IF;
14099 
14100 
14101         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14102 
14103 END Tax_Group;
14104 
14105 --  END GEN validate
14106 
14107 --- function header_desc_flex
14108 -- if all attrs. are missing, then return valid.
14109 -- if some are missing, set_column_value for these missing attrs., pass null
14110 -- and  for others pass the actual value
14111 -- call validate.desccols
14112 -- return valid/invalid
14113 
14114 FUNCTION Header_Desc_Flex (p_context IN VARCHAR2,
14115  			   p_attribute1 IN VARCHAR2,
14116                            p_attribute2 IN VARCHAR2,
14117                            p_attribute3 IN VARCHAR2,
14118                            p_attribute4 IN VARCHAR2,
14119                            p_attribute5 IN VARCHAR2,
14120                            p_attribute6 IN VARCHAR2,
14121                            p_attribute7 IN VARCHAR2,
14122                            p_attribute8 IN VARCHAR2,
14123                            p_attribute9 IN VARCHAR2,
14124                            p_attribute10 IN VARCHAR2,
14125                            p_attribute11 IN VARCHAR2,
14126                            p_attribute12 IN VARCHAR2,
14127                            p_attribute13 IN VARCHAR2,
14128                            p_attribute14 IN VARCHAR2,
14129                            p_attribute15 IN VARCHAR2,
14130                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
14131                            p_attribute17 IN VARCHAR2,
14132                            p_attribute18 IN VARCHAR2,
14133                            p_attribute19 IN VARCHAR2,
14134                            p_attribute20 IN VARCHAR2)
14135 
14136 RETURN BOOLEAN
14137 IS
14138 l_column_value VARCHAR2(240) := null;
14139 BEGIN
14140 
14141 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
14142 
14143 
14144 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14145                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14146 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14147                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14148                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14149                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14150                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14151                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14152                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14153                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14154                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14155                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14156                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14157                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14158                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14159                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)  -- for bug 2184255
14160                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
14161                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
14162                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
14163                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
14164                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14165 
14166 
14167 		     RETURN TRUE;
14168 
14169                 ELSE
14170 
14171 
14172 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14173 
14174 		     l_column_value := null;
14175 
14176 	          ELSE
14177 
14178 		     l_column_value := p_attribute1;
14179 
14180                   END IF;
14181 
14182                   FND_FLEX_DESCVAL.Set_Column_Value
14183                   (   column_name   => 'ATTRIBUTE1'
14184                    ,  column_value  => l_column_value);
14185 
14186 
14187 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14188 
14189 		     l_column_value := null;
14190 
14191 	          ELSE
14192 
14193 		     l_column_value := p_attribute2;
14194 
14195                   END IF;
14196                   FND_FLEX_DESCVAL.Set_Column_Value
14197                   (   column_name   => 'ATTRIBUTE2'
14198                    ,  column_value  =>  l_column_value);
14199 
14200 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14201 
14202 		     l_column_value := null;
14203 
14204 	          ELSE
14205 
14206 		     l_column_value := p_attribute3;
14207 
14208                   END IF;
14209                   FND_FLEX_DESCVAL.Set_Column_Value
14210                   (   column_name   => 'ATTRIBUTE3'
14211                    ,  column_value  =>  l_column_value);
14212 
14213 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14214 
14215 		     l_column_value := null;
14216 
14217 	          ELSE
14218 
14219 		     l_column_value := p_attribute4;
14220 
14221                   END IF;
14222                   FND_FLEX_DESCVAL.Set_Column_Value
14223                   (   column_name   => 'ATTRIBUTE4'
14224                    ,  column_value  =>  l_column_value);
14225 
14226 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14227 
14228 		     l_column_value := null;
14229 
14230 	          ELSE
14231 
14232 		     l_column_value := p_attribute5;
14233 
14234                   END IF;
14235                   FND_FLEX_DESCVAL.Set_Column_Value
14236                   (   column_name   => 'ATTRIBUTE5'
14237                    ,  column_value  =>  l_column_value);
14238 
14239 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14240 
14241 		     l_column_value := null;
14242 
14243 	          ELSE
14244 
14245 		     l_column_value := p_attribute6;
14246 
14247                   END IF;
14248                   FND_FLEX_DESCVAL.Set_Column_Value
14249                   (   column_name   => 'ATTRIBUTE6'
14250                    ,  column_value  =>  l_column_value);
14251 
14252 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14253 
14254 		     l_column_value := null;
14255 
14256 	          ELSE
14257 
14258 		     l_column_value := p_attribute7;
14259 
14260                   END IF;
14261                   FND_FLEX_DESCVAL.Set_Column_Value
14262                   (   column_name   => 'ATTRIBUTE7'
14263                    ,  column_value  =>  l_column_value);
14264 
14265 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14266 
14267 		     l_column_value := null;
14268 
14269 	          ELSE
14270 
14271 		     l_column_value := p_attribute8;
14272 
14273                   END IF;
14274                   FND_FLEX_DESCVAL.Set_Column_Value
14275                   (   column_name   => 'ATTRIBUTE8'
14276                    ,  column_value  =>  l_column_value);
14277 
14278 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14279 
14280 		     l_column_value := null;
14281 
14282 	          ELSE
14283 
14284 		     l_column_value := p_attribute9;
14285 
14286                   END IF;
14287                   FND_FLEX_DESCVAL.Set_Column_Value
14288                   (   column_name   => 'ATTRIBUTE9'
14289                    ,  column_value  =>  l_column_value);
14290 
14291 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14292 
14293 		     l_column_value := null;
14294 
14295 	          ELSE
14296 
14297 		     l_column_value := p_attribute10;
14298 
14299                   END IF;
14300                   FND_FLEX_DESCVAL.Set_Column_Value
14301                   (   column_name   => 'ATTRIBUTE10'
14302                    ,  column_value  =>  l_column_value);
14303 
14304 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
14305 
14306 		     l_column_value := null;
14307 
14308 	          ELSE
14309 
14310 		     l_column_value := p_attribute11;
14311 
14312                   END IF;
14313                   FND_FLEX_DESCVAL.Set_Column_Value
14314                   (   column_name   => 'ATTRIBUTE11'
14315                    ,  column_value  =>  l_column_value);
14316 
14317 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
14318 
14319 		     l_column_value := null;
14320 
14321 	          ELSE
14322 
14323 		     l_column_value := p_attribute12;
14324 
14325                   END IF;
14326                   FND_FLEX_DESCVAL.Set_Column_Value
14327                   (   column_name   => 'ATTRIBUTE12'
14328                    ,  column_value  =>  l_column_value);
14329 
14330 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
14331 
14332 		     l_column_value := null;
14333 
14334 	          ELSE
14335 
14336 		     l_column_value := p_attribute13;
14337 
14338                   END IF;
14339                   FND_FLEX_DESCVAL.Set_Column_Value
14340                   (   column_name   => 'ATTRIBUTE13'
14341                    ,  column_value  =>  l_column_value);
14342 
14343 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
14344 
14345 		     l_column_value := null;
14346 
14347 	          ELSE
14348 
14349 		     l_column_value := p_attribute14;
14350 
14351                   END IF;
14352                   FND_FLEX_DESCVAL.Set_Column_Value
14353                   (   column_name   => 'ATTRIBUTE14'
14354                    ,  column_value  =>  l_column_value);
14355 
14356 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
14357 
14358 		     l_column_value := null;
14359 
14360 	          ELSE
14361 
14362 		     l_column_value := p_attribute15;
14363 
14364                   END IF;
14365                   FND_FLEX_DESCVAL.Set_Column_Value
14366                   (   column_name   => 'ATTRIBUTE15'
14367                    ,  column_value  =>  l_column_value);
14368 
14369 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN  -- For bug 2184255
14370 
14371 		     l_column_value := null;
14372 
14373 	          ELSE
14374 
14375 		     l_column_value := p_attribute16;
14376 
14377                   END IF;
14378                   FND_FLEX_DESCVAL.Set_Column_Value
14379                   (   column_name   => 'ATTRIBUTE16'
14380                    ,  column_value  =>  l_column_value);
14381 
14382 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
14383 
14384 		     l_column_value := null;
14385 
14386 	          ELSE
14387 
14388 		     l_column_value := p_attribute17;
14389 
14390                   END IF;
14391                   FND_FLEX_DESCVAL.Set_Column_Value
14392                   (   column_name   => 'ATTRIBUTE17'
14393                    ,  column_value  =>  l_column_value);
14394 
14395 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
14396 
14397 		     l_column_value := null;
14398 
14399 	          ELSE
14400 
14401 		     l_column_value := p_attribute18;
14402 
14403                   END IF;
14404                   FND_FLEX_DESCVAL.Set_Column_Value
14405                   (   column_name   => 'ATTRIBUTE18'
14406                    ,  column_value  =>  l_column_value);
14407 
14408 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
14409 
14410 		     l_column_value := null;
14411 
14412 	          ELSE
14413 
14414 		     l_column_value := p_attribute19;
14415 
14416                   END IF;
14417                   FND_FLEX_DESCVAL.Set_Column_Value
14418                   (   column_name   => 'ATTRIBUTE19'
14419                    ,  column_value  =>  l_column_value);
14420 
14421 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
14422 
14423 		     l_column_value := null;
14424 
14425 	          ELSE
14426 
14427 		     l_column_value := p_attribute20;
14428 
14429                   END IF;
14430                   FND_FLEX_DESCVAL.Set_Column_Value
14431                   (   column_name   => 'ATTRIBUTE20'
14432                    ,  column_value  =>  l_column_value);  -- End bug 2184255
14433 
14434 		  IF p_context = FND_API.G_MISS_CHAR THEN
14435 
14436 		     l_column_value := null;
14437 
14438 	          ELSE
14439 
14440 		     l_column_value := p_context;
14441 
14442                   END IF;
14443 		  FND_FLEX_DESCVAL.Set_Context_Value
14444 		   ( context_value   => l_column_value);
14445 
14446                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_HEADER_ATTRIBUTES') THEN
14447 			RETURN FALSE;
14448                    END IF;
14449 
14450 
14451                 END IF;
14452 
14453     RETURN TRUE;
14454 
14455 EXCEPTION
14456 
14457    WHEN OTHERS THEN
14458 
14459 
14460      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14461      THEN
14462 
14463         OE_MSG_PUB.Add_Exc_Msg
14464 	( G_PKG_NAME
14465           , 'Header_Desc_Flex');
14466      END IF;
14467 
14468 
14469      RETURN FALSE;
14470 
14471 END Header_Desc_Flex;
14472 
14473 
14474 FUNCTION G_Header_Desc_Flex (p_context IN VARCHAR2,
14475 			   p_attribute1 IN VARCHAR2,
14476                            p_attribute2 IN VARCHAR2,
14477                            p_attribute3 IN VARCHAR2,
14478                            p_attribute4 IN VARCHAR2,
14479                            p_attribute5 IN VARCHAR2,
14480                            p_attribute6 IN VARCHAR2,
14481                            p_attribute7 IN VARCHAR2,
14482                            p_attribute8 IN VARCHAR2,
14483                            p_attribute9 IN VARCHAR2,
14484                            p_attribute10 IN VARCHAR2,
14485                            p_attribute11 IN VARCHAR2,
14486                            p_attribute12 IN VARCHAR2,
14487                            p_attribute13 IN VARCHAR2,
14488                            p_attribute14 IN VARCHAR2,
14489                            p_attribute15 IN VARCHAR2,
14490                            p_attribute16 IN VARCHAR2,
14491                            p_attribute17 IN VARCHAR2,
14492                            p_attribute18 IN VARCHAR2,
14493                            p_attribute19 IN VARCHAR2,
14494                            p_attribute20 IN VARCHAR2)
14495 RETURN BOOLEAN
14496 IS
14497 l_column_value VARCHAR2(240) := null;
14498 BEGIN
14499 
14500 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
14501 
14502 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14503                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14504 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14505                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14506                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14507                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14508                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14509                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14510                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14511                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14512                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14513                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14514                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14515                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14516                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14517                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
14518                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
14519                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
14520                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
14521                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
14522                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14523 
14524 
14525 		     RETURN TRUE;
14526 
14527                 ELSE
14528 
14529 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14530 
14531 		     l_column_value := null;
14532 
14533 	          ELSE
14534 
14535 		     l_column_value := p_attribute1;
14536 
14537                   END IF;
14538 
14539                   FND_FLEX_DESCVAL.Set_Column_Value
14540                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
14541                    ,  column_value  => l_column_value);
14542 
14543 
14544 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14545 
14546 		     l_column_value := null;
14547 
14548 	          ELSE
14549 
14550 		     l_column_value := p_attribute2;
14551 
14552                   END IF;
14553                   FND_FLEX_DESCVAL.Set_Column_Value
14554                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
14555                    ,  column_value  =>  l_column_value);
14556 
14557 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14558 
14559 		     l_column_value := null;
14560 
14561 	          ELSE
14562 
14563 		     l_column_value := p_attribute3;
14564 
14565                   END IF;
14566                   FND_FLEX_DESCVAL.Set_Column_Value
14567                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
14568                    ,  column_value  =>  l_column_value);
14569 
14570 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14571 
14572 		     l_column_value := null;
14573 
14574 	          ELSE
14575 
14576 		     l_column_value := p_attribute4;
14577 
14578                   END IF;
14579                   FND_FLEX_DESCVAL.Set_Column_Value
14580                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
14581                    ,  column_value  =>  l_column_value);
14582 
14583 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14584 
14585 		     l_column_value := null;
14586 
14587 	          ELSE
14588 
14589 		     l_column_value := p_attribute5;
14590 
14591                   END IF;
14592                   FND_FLEX_DESCVAL.Set_Column_Value
14593                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
14594                    ,  column_value  =>  l_column_value);
14595 
14596 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14597 
14598 		     l_column_value := null;
14599 
14600 	          ELSE
14601 
14602 		     l_column_value := p_attribute6;
14603 
14604                   END IF;
14605                   FND_FLEX_DESCVAL.Set_Column_Value
14606                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
14607                    ,  column_value  =>  l_column_value);
14608 
14609 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14610 
14611 		     l_column_value := null;
14612 
14613 	          ELSE
14614 
14615 		     l_column_value := p_attribute7;
14616 
14617                   END IF;
14618                   FND_FLEX_DESCVAL.Set_Column_Value
14619                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
14620                    ,  column_value  =>  l_column_value);
14621 
14622 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14623 
14624 		     l_column_value := null;
14625 
14626 	          ELSE
14627 
14628 		     l_column_value := p_attribute8;
14629 
14630                   END IF;
14631                   FND_FLEX_DESCVAL.Set_Column_Value
14632                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
14633                    ,  column_value  =>  l_column_value);
14634 
14635 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14636 
14637 		     l_column_value := null;
14638 
14639 	          ELSE
14640 
14641 		     l_column_value := p_attribute9;
14642 
14643                   END IF;
14644                   FND_FLEX_DESCVAL.Set_Column_Value
14645                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
14646                    ,  column_value  =>  l_column_value);
14647 
14648 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14649 
14650 		     l_column_value := null;
14651 
14652 	          ELSE
14653 
14654 		     l_column_value := p_attribute10;
14655 
14656                   END IF;
14657                   FND_FLEX_DESCVAL.Set_Column_Value
14658                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
14659                    ,  column_value  =>  l_column_value);
14660 
14661 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
14662 
14663 		     l_column_value := null;
14664 
14665 	          ELSE
14666 
14667 		     l_column_value := p_attribute11;
14668 
14669                   END IF;
14670                   FND_FLEX_DESCVAL.Set_Column_Value
14671                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
14672                    ,  column_value  =>  l_column_value);
14673 
14674 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
14675 
14676 		     l_column_value := null;
14677 
14678 	          ELSE
14679 
14680 		     l_column_value := p_attribute12;
14681 
14682                   END IF;
14683                   FND_FLEX_DESCVAL.Set_Column_Value
14684                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
14685                    ,  column_value  =>  l_column_value);
14686 
14687 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
14688 
14689 		     l_column_value := null;
14690 
14691 	          ELSE
14692 
14693 		     l_column_value := p_attribute13;
14694 
14695                   END IF;
14696                   FND_FLEX_DESCVAL.Set_Column_Value
14697                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
14698                    ,  column_value  =>  l_column_value);
14699 
14700 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
14701 
14702 		     l_column_value := null;
14703 
14704 	          ELSE
14705 
14706 		     l_column_value := p_attribute14;
14707 
14708                   END IF;
14709                   FND_FLEX_DESCVAL.Set_Column_Value
14710                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
14711                    ,  column_value  =>  l_column_value);
14712 
14713 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
14714 
14715 		     l_column_value := null;
14716 
14717 	          ELSE
14718 
14719 		     l_column_value := p_attribute15;
14720 
14721                   END IF;
14722                   FND_FLEX_DESCVAL.Set_Column_Value
14723                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
14724                    ,  column_value  =>  l_column_value);
14725 
14726 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
14727 
14728 		     l_column_value := null;
14729 
14730 	          ELSE
14731 
14732 		     l_column_value := p_attribute16;
14733 
14734                   END IF;
14735 
14736                   FND_FLEX_DESCVAL.Set_Column_Value
14737                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
14738                    ,  column_value  =>  l_column_value);
14739 
14740 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
14741 
14742 		     l_column_value := null;
14743 
14744 	          ELSE
14745 
14746 		     l_column_value := p_attribute17;
14747 
14748                   END IF;
14749                   FND_FLEX_DESCVAL.Set_Column_Value
14750                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
14751                    ,  column_value  =>  l_column_value);
14752 
14753 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
14754 
14755 		     l_column_value := null;
14756 
14757 	          ELSE
14758 
14759 		     l_column_value := p_attribute18;
14760 
14761                   END IF;
14762                   FND_FLEX_DESCVAL.Set_Column_Value
14763                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
14764                    ,  column_value  =>  l_column_value);
14765 
14766 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
14767 
14768 		     l_column_value := null;
14769 
14770 	          ELSE
14771 
14772 		     l_column_value := p_attribute19;
14773 
14774                   END IF;
14775                   FND_FLEX_DESCVAL.Set_Column_Value
14776                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
14777                    ,  column_value  =>  l_column_value);
14778 
14779 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
14780 
14781 		     l_column_value := null;
14782 
14783 	          ELSE
14784 
14785 		     l_column_value := p_attribute20;
14786 
14787                   END IF;
14788                   FND_FLEX_DESCVAL.Set_Column_Value
14789                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
14790                    ,  column_value  =>  l_column_value);
14791 
14792 		  IF p_context = FND_API.G_MISS_CHAR THEN
14793 
14794 		     l_column_value := null;
14795 
14796 	          ELSE
14797 
14798 		     l_column_value := p_context;
14799 
14800                   END IF;
14801 		  FND_FLEX_DESCVAL.Set_Context_Value
14802 		   ( context_value   => l_column_value);
14803 
14804                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_HEADER_GLOBAL_ATTRIBUTE') THEN
14805 			RETURN FALSE;
14806                    END IF;
14807 
14808                 END IF;
14809 
14810     RETURN TRUE;
14811 
14812 EXCEPTION
14813 
14814    WHEN OTHERS THEN
14815 
14816 
14817      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14818      THEN
14819 
14820         OE_MSG_PUB.Add_Exc_Msg
14821 	( G_PKG_NAME
14822           , 'G_Header_Desc_Flex');
14823      END IF;
14824 
14825      RETURN FALSE;
14826 END G_Header_Desc_Flex;
14827 
14828 FUNCTION TP_Header_Desc_Flex (p_context IN VARCHAR2,
14829 			   p_attribute1 IN VARCHAR2,
14830                            p_attribute2 IN VARCHAR2,
14831                            p_attribute3 IN VARCHAR2,
14832                            p_attribute4 IN VARCHAR2,
14833                            p_attribute5 IN VARCHAR2,
14834                            p_attribute6 IN VARCHAR2,
14835                            p_attribute7 IN VARCHAR2,
14836                            p_attribute8 IN VARCHAR2,
14837                            p_attribute9 IN VARCHAR2,
14838                            p_attribute10 IN VARCHAR2,
14839                            p_attribute11 IN VARCHAR2,
14840                            p_attribute12 IN VARCHAR2,
14841                            p_attribute13 IN VARCHAR2,
14842                            p_attribute14 IN VARCHAR2,
14843                            p_attribute15 IN VARCHAR2)
14844 RETURN BOOLEAN
14845 IS
14846 l_column_value VARCHAR2(240) := null;
14847 BEGIN
14848 
14849 --OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
14850 
14851 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14852                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14853 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14854                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14855                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14856                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14857                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14858                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14859                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14860                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14861                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14862                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14863                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14864                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14865                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14866                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14867 
14868 
14869 		     RETURN TRUE;
14870 
14871                 ELSE
14872 
14873 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14874 
14875 		     l_column_value := null;
14876 
14877 	          ELSE
14878 
14879 		     l_column_value := p_attribute1;
14880 
14881                   END IF;
14882 
14883                   FND_FLEX_DESCVAL.Set_Column_Value
14884                   (   column_name   => 'TP_ATTRIBUTE1'
14885                    ,  column_value  => l_column_value);
14886 
14887 
14888 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14889 
14890 		     l_column_value := null;
14891 
14892 	          ELSE
14893 
14894 		     l_column_value := p_attribute2;
14895 
14896                   END IF;
14897                   FND_FLEX_DESCVAL.Set_Column_Value
14898                   (   column_name   => 'TP_ATTRIBUTE2'
14899                    ,  column_value  =>  l_column_value);
14900 
14901 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14902 
14903 		     l_column_value := null;
14904 
14905 	          ELSE
14906 
14907 		     l_column_value := p_attribute3;
14908 
14909                   END IF;
14910                   FND_FLEX_DESCVAL.Set_Column_Value
14911                   (   column_name   => 'TP_ATTRIBUTE3'
14912                    ,  column_value  =>  l_column_value);
14913 
14914 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14915 
14916 		     l_column_value := null;
14917 
14918 	          ELSE
14919 
14920 		     l_column_value := p_attribute4;
14921 
14922                   END IF;
14923                   FND_FLEX_DESCVAL.Set_Column_Value
14924                   (   column_name   => 'TP_ATTRIBUTE4'
14925                    ,  column_value  =>  l_column_value);
14926 
14927 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14928 
14929 		     l_column_value := null;
14930 
14931 	          ELSE
14932 
14933 		     l_column_value := p_attribute5;
14934 
14935                   END IF;
14936                   FND_FLEX_DESCVAL.Set_Column_Value
14937                   (   column_name   => 'TP_ATTRIBUTE5'
14938                    ,  column_value  =>  l_column_value);
14939 
14940 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14941 
14942 		     l_column_value := null;
14943 
14944 	          ELSE
14945 
14946 		     l_column_value := p_attribute6;
14947 
14948                   END IF;
14949                   FND_FLEX_DESCVAL.Set_Column_Value
14950                   (   column_name   => 'TP_ATTRIBUTE6'
14951                    ,  column_value  =>  l_column_value);
14952 
14953 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14954 
14955 		     l_column_value := null;
14956 
14957 	          ELSE
14958 
14959 		     l_column_value := p_attribute7;
14960 
14961                   END IF;
14962                   FND_FLEX_DESCVAL.Set_Column_Value
14963                   (   column_name   => 'TP_ATTRIBUTE7'
14964                    ,  column_value  =>  l_column_value);
14965 
14966 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14967 
14968 		     l_column_value := null;
14969 
14970 	          ELSE
14971 
14972 		     l_column_value := p_attribute8;
14973 
14974                   END IF;
14975                   FND_FLEX_DESCVAL.Set_Column_Value
14976                   (   column_name   => 'TP_ATTRIBUTE8'
14977                    ,  column_value  =>  l_column_value);
14978 
14979 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14980 
14981 		     l_column_value := null;
14982 
14983 	          ELSE
14984 
14985 		     l_column_value := p_attribute9;
14986 
14987                   END IF;
14988                   FND_FLEX_DESCVAL.Set_Column_Value
14989                   (   column_name   => 'TP_ATTRIBUTE9'
14990                    ,  column_value  =>  l_column_value);
14991 
14992 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14993 
14994 		     l_column_value := null;
14995 
14996 	          ELSE
14997 
14998 		     l_column_value := p_attribute10;
14999 
15000                   END IF;
15001                   FND_FLEX_DESCVAL.Set_Column_Value
15002                   (   column_name   => 'TP_ATTRIBUTE10'
15003                    ,  column_value  =>  l_column_value);
15004 
15005 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15006 
15007 		     l_column_value := null;
15008 
15009 	          ELSE
15010 
15011 		     l_column_value := p_attribute11;
15012 
15013                   END IF;
15014                   FND_FLEX_DESCVAL.Set_Column_Value
15015                   (   column_name   => 'TP_ATTRIBUTE11'
15016                    ,  column_value  =>  l_column_value);
15017 
15018 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15019 
15020 		     l_column_value := null;
15021 
15022 	          ELSE
15023 
15024 		     l_column_value := p_attribute12;
15025 
15026                   END IF;
15027                   FND_FLEX_DESCVAL.Set_Column_Value
15028                   (   column_name   => 'TP_ATTRIBUTE12'
15029                    ,  column_value  =>  l_column_value);
15030 
15031 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15032 
15033 		     l_column_value := null;
15034 
15035 	          ELSE
15036 
15037 		     l_column_value := p_attribute13;
15038 
15039                   END IF;
15040                   FND_FLEX_DESCVAL.Set_Column_Value
15041                   (   column_name   => 'TP_ATTRIBUTE13'
15042                    ,  column_value  =>  l_column_value);
15043 
15044 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15045 
15046 		     l_column_value := null;
15047 
15048 	          ELSE
15049 
15050 		     l_column_value := p_attribute14;
15051 
15052                   END IF;
15053                   FND_FLEX_DESCVAL.Set_Column_Value
15054                   (   column_name   => 'TP_ATTRIBUTE14'
15055                    ,  column_value  =>  l_column_value);
15056 
15057 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15058 
15059 		     l_column_value := null;
15060 
15061 	          ELSE
15062 
15063 		     l_column_value := p_attribute15;
15064 
15065                   END IF;
15066                   FND_FLEX_DESCVAL.Set_Column_Value
15067                   (   column_name   => 'TP_ATTRIBUTE15'
15068                    ,  column_value  =>  l_column_value);
15069 
15070 
15071 		  IF p_context = FND_API.G_MISS_CHAR THEN
15072 
15073 		     l_column_value := null;
15074 
15075 	       ELSE
15076 
15077 		     l_column_value := p_context;
15078 
15079             END IF;
15080 		  FND_FLEX_DESCVAL.Set_Context_Value
15081 		   ( context_value   => l_column_value);
15082 
15083              IF NOT OE_CNCL_Validate.Desc_Flex('OE_HEADER_TP_ATTRIBUTES') THEN
15084 			RETURN FALSE;
15085              END IF;
15086 
15087           END IF;
15088 
15089     RETURN TRUE;
15090 
15091 EXCEPTION
15092 
15093    WHEN OTHERS THEN
15094 
15095 
15096      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15097      THEN
15098 
15099         OE_MSG_PUB.Add_Exc_Msg
15100 	( G_PKG_NAME
15101           , 'TP_Header_Desc_Flex');
15102      END IF;
15103 
15104      RETURN FALSE;
15105 END TP_Header_Desc_Flex;
15106 
15107 
15108 
15109 FUNCTION Line_Desc_Flex (p_context IN VARCHAR2,
15110 			         p_attribute1 IN VARCHAR2,
15111                            p_attribute2 IN VARCHAR2,
15112                            p_attribute3 IN VARCHAR2,
15113                            p_attribute4 IN VARCHAR2,
15114                            p_attribute5 IN VARCHAR2,
15115                            p_attribute6 IN VARCHAR2,
15116                            p_attribute7 IN VARCHAR2,
15117                            p_attribute8 IN VARCHAR2,
15118                            p_attribute9 IN VARCHAR2,
15119                            p_attribute10 IN VARCHAR2,
15120                            p_attribute11 IN VARCHAR2,
15121                            p_attribute12 IN VARCHAR2,
15122                            p_attribute13 IN VARCHAR2,
15123                            p_attribute14 IN VARCHAR2,
15124                            p_attribute15 IN VARCHAR2,
15125                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
15126                            p_attribute17 IN VARCHAR2,
15127                            p_attribute18 IN VARCHAR2,
15128                            p_attribute19 IN VARCHAR2,
15129                            p_attribute20 IN VARCHAR2)
15130 
15131 RETURN BOOLEAN
15132 IS
15133 l_column_value VARCHAR2(240) := null;
15134 BEGIN
15135 
15136 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
15137 
15138 
15139 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15140                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15141 		     AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15142                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15143                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15144                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15145                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15146                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15147                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15148                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15149                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15150                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15151                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15152                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15153                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15154                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)  -- for bug 2184255
15155                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
15156                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
15157                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
15158                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
15159                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15160 
15161 
15162 		     RETURN TRUE;
15163 
15164                 ELSE
15165 
15166 
15167 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15168 
15169 		     l_column_value := null;
15170 
15171 	          ELSE
15172 
15173 		     l_column_value := p_attribute1;
15174 
15175                   END IF;
15176 
15177                   FND_FLEX_DESCVAL.Set_Column_Value
15178                   (   column_name   => 'ATTRIBUTE1'
15179                    ,  column_value  => l_column_value);
15180 
15181 
15182 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15183 
15184 		     l_column_value := null;
15185 
15186 	          ELSE
15187 
15188 		     l_column_value := p_attribute2;
15189 
15190                   END IF;
15191                   FND_FLEX_DESCVAL.Set_Column_Value
15192                   (   column_name   => 'ATTRIBUTE2'
15193                    ,  column_value  =>  l_column_value);
15194 
15195 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15196 
15197 		     l_column_value := null;
15198 
15199 	          ELSE
15200 
15201 		     l_column_value := p_attribute3;
15202 
15203                   END IF;
15204                   FND_FLEX_DESCVAL.Set_Column_Value
15205                   (   column_name   => 'ATTRIBUTE3'
15206                    ,  column_value  =>  l_column_value);
15207 
15208 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15209 
15210 		     l_column_value := null;
15211 
15212 	          ELSE
15213 
15214 		     l_column_value := p_attribute4;
15215 
15216                   END IF;
15217                   FND_FLEX_DESCVAL.Set_Column_Value
15218                   (   column_name   => 'ATTRIBUTE4'
15219                    ,  column_value  =>  l_column_value);
15220 
15221 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15222 
15223 		     l_column_value := null;
15224 
15225 	          ELSE
15226 
15227 		     l_column_value := p_attribute5;
15228 
15229                   END IF;
15230                   FND_FLEX_DESCVAL.Set_Column_Value
15231                   (   column_name   => 'ATTRIBUTE5'
15232                    ,  column_value  =>  l_column_value);
15233 
15234 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15235 
15236 		     l_column_value := null;
15237 
15238 	          ELSE
15239 
15240 		     l_column_value := p_attribute6;
15241 
15242                   END IF;
15243                   FND_FLEX_DESCVAL.Set_Column_Value
15244                   (   column_name   => 'ATTRIBUTE6'
15245                    ,  column_value  =>  l_column_value);
15246 
15247 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15248 
15249 		     l_column_value := null;
15250 
15251 	          ELSE
15252 
15253 		     l_column_value := p_attribute7;
15254 
15255                   END IF;
15256                   FND_FLEX_DESCVAL.Set_Column_Value
15257                   (   column_name   => 'ATTRIBUTE7'
15258                    ,  column_value  =>  l_column_value);
15259 
15260 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15261 
15262 		     l_column_value := null;
15263 
15264 	          ELSE
15265 
15266 		     l_column_value := p_attribute8;
15267 
15268                   END IF;
15269                   FND_FLEX_DESCVAL.Set_Column_Value
15270                   (   column_name   => 'ATTRIBUTE8'
15271                    ,  column_value  =>  l_column_value);
15272 
15273 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15274 
15275 		     l_column_value := null;
15276 
15277 	          ELSE
15278 
15279 		     l_column_value := p_attribute9;
15280 
15281                   END IF;
15282                   FND_FLEX_DESCVAL.Set_Column_Value
15283                   (   column_name   => 'ATTRIBUTE9'
15284                    ,  column_value  =>  l_column_value);
15285 
15286 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15287 
15288 		     l_column_value := null;
15289 
15290 	          ELSE
15291 
15292 		     l_column_value := p_attribute10;
15293 
15294                   END IF;
15295                   FND_FLEX_DESCVAL.Set_Column_Value
15296                   (   column_name   => 'ATTRIBUTE10'
15297                    ,  column_value  =>  l_column_value);
15298 
15299 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15300 
15301 		     l_column_value := null;
15302 
15303 	          ELSE
15304 
15305 		     l_column_value := p_attribute11;
15306 
15307                   END IF;
15308                   FND_FLEX_DESCVAL.Set_Column_Value
15309                   (   column_name   => 'ATTRIBUTE11'
15310                    ,  column_value  =>  l_column_value);
15311 
15312 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15313 
15314 		     l_column_value := null;
15315 
15316 	          ELSE
15317 
15318 		     l_column_value := p_attribute12;
15319 
15320                   END IF;
15321                   FND_FLEX_DESCVAL.Set_Column_Value
15322                   (   column_name   => 'ATTRIBUTE12'
15323                    ,  column_value  =>  l_column_value);
15324 
15325 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15326 
15327 		     l_column_value := null;
15328 
15329 	          ELSE
15330 
15331 		     l_column_value := p_attribute13;
15332 
15333                   END IF;
15334                   FND_FLEX_DESCVAL.Set_Column_Value
15335                   (   column_name   => 'ATTRIBUTE13'
15336                    ,  column_value  =>  l_column_value);
15337 
15338 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15339 
15340 		     l_column_value := null;
15341 
15342 	          ELSE
15343 
15344 		     l_column_value := p_attribute14;
15345 
15346                   END IF;
15347                   FND_FLEX_DESCVAL.Set_Column_Value
15348                   (   column_name   => 'ATTRIBUTE14'
15349                    ,  column_value  =>  l_column_value);
15350 
15351 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15352 
15353 		     l_column_value := null;
15354 
15355 	          ELSE
15356 
15357 		     l_column_value := p_attribute15;
15358 
15359                   END IF;
15360                   FND_FLEX_DESCVAL.Set_Column_Value
15361                   (   column_name   => 'ATTRIBUTE15'
15362                    ,  column_value  =>  l_column_value);
15363 
15364 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN -- For bug 2184255
15365 
15366 		     l_column_value := null;
15367 
15368 	          ELSE
15369 
15370 		     l_column_value := p_attribute16;
15371 
15372                   END IF;
15373                   FND_FLEX_DESCVAL.Set_Column_Value
15374                   (   column_name   => 'ATTRIBUTE16'
15375                    ,  column_value  =>  l_column_value);
15376 
15377 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15378 
15379 		     l_column_value := null;
15380 
15381 	          ELSE
15382 
15383 		     l_column_value := p_attribute17;
15384 
15385                   END IF;
15386                   FND_FLEX_DESCVAL.Set_Column_Value
15387                   (   column_name   => 'ATTRIBUTE17'
15388                    ,  column_value  =>  l_column_value);
15389 
15390 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15391 
15392 		     l_column_value := null;
15393 
15394 	          ELSE
15395 
15396 		     l_column_value := p_attribute18;
15397 
15398                   END IF;
15399                   FND_FLEX_DESCVAL.Set_Column_Value
15400                   (   column_name   => 'ATTRIBUTE18'
15401                    ,  column_value  =>  l_column_value);
15402 
15403 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15404 
15405 		     l_column_value := null;
15406 
15407 	          ELSE
15408 
15409 		     l_column_value := p_attribute19;
15410 
15411                   END IF;
15412                   FND_FLEX_DESCVAL.Set_Column_Value
15413                   (   column_name   => 'ATTRIBUTE19'
15414                    ,  column_value  =>  l_column_value);
15415 
15416 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15417 
15418 		     l_column_value := null;
15419 
15420 	          ELSE
15421 
15422 		     l_column_value := p_attribute20;
15423 
15424                   END IF;
15425                   FND_FLEX_DESCVAL.Set_Column_Value
15426                   (   column_name   => 'ATTRIBUTE20'
15427                    ,  column_value  =>  l_column_value);  --End bug 2184255
15428 
15429 		  IF p_context = FND_API.G_MISS_CHAR THEN
15430 
15431 		     l_column_value := null;
15432 
15433 	          ELSE
15434 
15435 		     l_column_value := p_context;
15436 
15437                   END IF;
15438 		  FND_FLEX_DESCVAL.Set_Context_Value
15439 		   ( context_value   => l_column_value);
15440 
15441                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_ATTRIBUTES') THEN
15442 			RETURN FALSE;
15443                    END IF;
15444 
15445 
15446                 END IF;
15447 
15448     RETURN TRUE;
15449 
15450 EXCEPTION
15451 
15452    WHEN OTHERS THEN
15453 
15454 
15455      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15456      THEN
15457 
15458         OE_MSG_PUB.Add_Exc_Msg
15459 	( G_PKG_NAME
15460           , 'Line_Desc_Flex');
15461      END IF;
15462 
15463 
15464      RETURN FALSE;
15465 
15466 END Line_Desc_Flex;
15467 
15468 FUNCTION G_Line_Desc_Flex (p_context IN VARCHAR2,
15469 			   p_attribute1 IN VARCHAR2,
15470                            p_attribute2 IN VARCHAR2,
15471                            p_attribute3 IN VARCHAR2,
15472                            p_attribute4 IN VARCHAR2,
15473                            p_attribute5 IN VARCHAR2,
15474                            p_attribute6 IN VARCHAR2,
15475                            p_attribute7 IN VARCHAR2,
15476                            p_attribute8 IN VARCHAR2,
15477                            p_attribute9 IN VARCHAR2,
15478                            p_attribute10 IN VARCHAR2,
15479                            p_attribute11 IN VARCHAR2,
15480                            p_attribute12 IN VARCHAR2,
15481                            p_attribute13 IN VARCHAR2,
15482                            p_attribute14 IN VARCHAR2,
15483                            p_attribute15 IN VARCHAR2,
15484                            p_attribute16 IN VARCHAR2,
15485                            p_attribute17 IN VARCHAR2,
15486                            p_attribute18 IN VARCHAR2,
15487                            p_attribute19 IN VARCHAR2,
15488                            p_attribute20 IN VARCHAR2)
15489 RETURN BOOLEAN
15490 IS
15491 l_column_value VARCHAR2(240) := null;
15492 BEGIN
15493 
15494 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
15495 
15496 
15497 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15498                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15499 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15500                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15501                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15502                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15503                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15504                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15505                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15506                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15507                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15508                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15509                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15510                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15511                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15512                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
15513                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
15514                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
15515                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
15516                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
15517                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15518 
15519 
15520 		     RETURN TRUE;
15521 
15522                 ELSE
15523 
15524 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15525 
15526 		     l_column_value := null;
15527 
15528 	          ELSE
15529 
15530 		     l_column_value := p_attribute1;
15531 
15532                   END IF;
15533 
15534                   FND_FLEX_DESCVAL.Set_Column_Value
15535                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
15536                    ,  column_value  => l_column_value);
15537 
15538 
15539 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15540 
15541 		     l_column_value := null;
15542 
15543 	          ELSE
15544 
15545 		     l_column_value := p_attribute2;
15546 
15547                   END IF;
15548                   FND_FLEX_DESCVAL.Set_Column_Value
15549                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
15550                    ,  column_value  =>  l_column_value);
15551 
15552 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15553 
15554 		     l_column_value := null;
15555 
15556 	          ELSE
15557 
15558 		     l_column_value := p_attribute3;
15559 
15560                   END IF;
15561                   FND_FLEX_DESCVAL.Set_Column_Value
15562                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
15563                    ,  column_value  =>  l_column_value);
15564 
15565 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15566 
15567 		     l_column_value := null;
15568 
15569 	          ELSE
15570 
15571 		     l_column_value := p_attribute4;
15572 
15573                   END IF;
15574                   FND_FLEX_DESCVAL.Set_Column_Value
15575                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
15576                    ,  column_value  =>  l_column_value);
15577 
15578 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15579 
15580 		     l_column_value := null;
15581 
15582 	          ELSE
15583 
15584 		     l_column_value := p_attribute5;
15585 
15586                   END IF;
15587                   FND_FLEX_DESCVAL.Set_Column_Value
15588                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
15589                    ,  column_value  =>  l_column_value);
15590 
15591 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15592 
15593 		     l_column_value := null;
15594 
15595 	          ELSE
15596 
15597 		     l_column_value := p_attribute6;
15598 
15599                   END IF;
15600                   FND_FLEX_DESCVAL.Set_Column_Value
15601                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
15602                    ,  column_value  =>  l_column_value);
15603 
15604 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15605 
15606 		     l_column_value := null;
15607 
15608 	          ELSE
15609 
15610 		     l_column_value := p_attribute7;
15611 
15612                   END IF;
15613                   FND_FLEX_DESCVAL.Set_Column_Value
15614                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
15615                    ,  column_value  =>  l_column_value);
15616 
15617 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15618 
15619 		     l_column_value := null;
15620 
15621 	          ELSE
15622 
15623 		     l_column_value := p_attribute8;
15624 
15625                   END IF;
15626                   FND_FLEX_DESCVAL.Set_Column_Value
15627                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
15628                    ,  column_value  =>  l_column_value);
15629 
15630 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15631 
15632 		     l_column_value := null;
15633 
15634 	          ELSE
15635 
15636 		     l_column_value := p_attribute9;
15637 
15638                   END IF;
15639                   FND_FLEX_DESCVAL.Set_Column_Value
15640                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
15641                    ,  column_value  =>  l_column_value);
15642 
15643 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15644 
15645 		     l_column_value := null;
15646 
15647 	          ELSE
15648 
15649 		     l_column_value := p_attribute10;
15650 
15651                   END IF;
15652                   FND_FLEX_DESCVAL.Set_Column_Value
15653                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
15654                    ,  column_value  =>  l_column_value);
15655 
15656 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15657 
15658 		     l_column_value := null;
15659 
15660 	          ELSE
15661 
15662 		     l_column_value := p_attribute11;
15663 
15664                   END IF;
15665                   FND_FLEX_DESCVAL.Set_Column_Value
15666                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
15667                    ,  column_value  =>  l_column_value);
15668 
15669 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15670 
15671 		     l_column_value := null;
15672 
15673 	          ELSE
15674 
15675 		     l_column_value := p_attribute12;
15676 
15677                   END IF;
15678                   FND_FLEX_DESCVAL.Set_Column_Value
15679                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
15680                    ,  column_value  =>  l_column_value);
15681 
15682 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15683 
15684 		     l_column_value := null;
15685 
15686 	          ELSE
15687 
15688 		     l_column_value := p_attribute13;
15689 
15690                   END IF;
15691                   FND_FLEX_DESCVAL.Set_Column_Value
15692                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
15693                    ,  column_value  =>  l_column_value);
15694 
15695 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15696 
15697 		     l_column_value := null;
15698 
15699 	          ELSE
15700 
15701 		     l_column_value := p_attribute14;
15702 
15703                   END IF;
15704                   FND_FLEX_DESCVAL.Set_Column_Value
15705                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
15706                    ,  column_value  =>  l_column_value);
15707 
15708 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15709 
15710 		     l_column_value := null;
15711 
15712 	          ELSE
15713 
15714 		     l_column_value := p_attribute15;
15715 
15716                   END IF;
15717                   FND_FLEX_DESCVAL.Set_Column_Value
15718                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
15719                    ,  column_value  =>  l_column_value);
15720 
15721 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
15722 
15723 		     l_column_value := null;
15724 
15725 	          ELSE
15726 
15727 		     l_column_value := p_attribute16;
15728 
15729                   END IF;
15730 
15731                   FND_FLEX_DESCVAL.Set_Column_Value
15732                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
15733                    ,  column_value  =>  l_column_value);
15734 
15735 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15736 
15737 		     l_column_value := null;
15738 
15739 	          ELSE
15740 
15741 		     l_column_value := p_attribute17;
15742 
15743                   END IF;
15744                   FND_FLEX_DESCVAL.Set_Column_Value
15745                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
15746                    ,  column_value  =>  l_column_value);
15747 
15748 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15749 
15750 		     l_column_value := null;
15751 
15752 	          ELSE
15753 
15754 		     l_column_value := p_attribute18;
15755 
15756                   END IF;
15757                   FND_FLEX_DESCVAL.Set_Column_Value
15758                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
15759                    ,  column_value  =>  l_column_value);
15760 
15761 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15762 
15763 		     l_column_value := null;
15764 
15765 	          ELSE
15766 
15767 		     l_column_value := p_attribute19;
15768 
15769                   END IF;
15770                   FND_FLEX_DESCVAL.Set_Column_Value
15771                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
15772                    ,  column_value  =>  l_column_value);
15773 
15774 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15775 
15776 		     l_column_value := null;
15777 
15778 	          ELSE
15779 
15780 		     l_column_value := p_attribute20;
15781 
15782                   END IF;
15783                   FND_FLEX_DESCVAL.Set_Column_Value
15784                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
15785                    ,  column_value  =>  l_column_value);
15786 
15787 		  IF p_context = FND_API.G_MISS_CHAR THEN
15788 
15789 		     l_column_value := null;
15790 
15791 	          ELSE
15792 
15793 		     l_column_value := p_context;
15794 
15795                   END IF;
15796 		  FND_FLEX_DESCVAL.Set_Context_Value
15797 		   ( context_value   => l_column_value);
15798 /* commenting this code due to bug# 993103
15799                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_GLOBAL_ATTRIBUTE') THEN
15800 
15801 			RETURN FALSE;
15802                    END IF;
15803 */
15804                 END IF;
15805 
15806     RETURN TRUE;
15807 
15808 EXCEPTION
15809 
15810    WHEN OTHERS THEN
15811 
15812 
15813      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15814      THEN
15815 
15816         OE_MSG_PUB.Add_Exc_Msg
15817 	( G_PKG_NAME
15818           , 'G_Line_Desc_Flex');
15819      END IF;
15820 
15821      RETURN FALSE;
15822 END G_Line_Desc_Flex;
15823 
15824 FUNCTION P_Line_Desc_Flex (p_context IN VARCHAR2,
15825 			   p_attribute1 IN VARCHAR2,
15826                            p_attribute2 IN VARCHAR2,
15827                            p_attribute3 IN VARCHAR2,
15828                            p_attribute4 IN VARCHAR2,
15829                            p_attribute5 IN VARCHAR2,
15830                            p_attribute6 IN VARCHAR2,
15831                            p_attribute7 IN VARCHAR2,
15832                            p_attribute8 IN VARCHAR2,
15833                            p_attribute9 IN VARCHAR2,
15834                            p_attribute10 IN VARCHAR2)
15835 
15836 RETURN BOOLEAN
15837 IS
15838 l_column_value VARCHAR2(240) := null;
15839 BEGIN
15840 
15841 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_CONTEXT');
15842 
15843 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15844                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15845 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15846                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15847                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15848                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15849                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15850                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15851                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15852                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15853                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15854 
15855 
15856 		     RETURN TRUE;
15857 
15858                 ELSE
15859 
15860 
15861 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15862 
15863 		     l_column_value := null;
15864 
15865 	          ELSE
15866 
15867 		     l_column_value := p_attribute1;
15868 
15869                   END IF;
15870 
15871                   FND_FLEX_DESCVAL.Set_Column_Value
15872                   (   column_name   => 'PRICING_ATTRIBUTE1'
15873                    ,  column_value  => l_column_value);
15874 
15875 
15876 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15877 
15878 		     l_column_value := null;
15879 
15880 	          ELSE
15881 
15882 		     l_column_value := p_attribute2;
15883 
15884                   END IF;
15885                   FND_FLEX_DESCVAL.Set_Column_Value
15886                   (   column_name   => 'PRICING_ATTRIBUTE2'
15887                    ,  column_value  =>  l_column_value);
15888 
15889 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15890 
15891 		     l_column_value := null;
15892 
15893 	          ELSE
15894 
15895 		     l_column_value := p_attribute3;
15896 
15897                   END IF;
15898                   FND_FLEX_DESCVAL.Set_Column_Value
15899                   (   column_name   => 'PRICING_ATTRIBUTE3'
15900                    ,  column_value  =>  l_column_value);
15901 
15902 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15903 
15904 		     l_column_value := null;
15905 
15906 	          ELSE
15907 
15908 		     l_column_value := p_attribute4;
15909 
15910                   END IF;
15911                   FND_FLEX_DESCVAL.Set_Column_Value
15912                   (   column_name   => 'PRICING_ATTRIBUTE4'
15913                    ,  column_value  =>  l_column_value);
15914 
15915 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15916 
15917 		     l_column_value := null;
15918 
15919 	          ELSE
15920 
15921 		     l_column_value := p_attribute5;
15922 
15923                   END IF;
15924                   FND_FLEX_DESCVAL.Set_Column_Value
15925                   (   column_name   => 'PRICING_ATTRIBUTE5'
15926                    ,  column_value  =>  l_column_value);
15927 
15928 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15929 
15930 		     l_column_value := null;
15931 
15932 	          ELSE
15933 
15934 		     l_column_value := p_attribute6;
15935 
15936                   END IF;
15937                   FND_FLEX_DESCVAL.Set_Column_Value
15938                   (   column_name   => 'PRICING_ATTRIBUTE6'
15939                    ,  column_value  =>  l_column_value);
15940 
15941 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15942 
15943 		     l_column_value := null;
15944 
15945 	          ELSE
15946 
15947 		     l_column_value := p_attribute7;
15948 
15949                   END IF;
15950                   FND_FLEX_DESCVAL.Set_Column_Value
15951                   (   column_name   => 'PRICING_ATTRIBUTE7'
15952                    ,  column_value  =>  l_column_value);
15953 
15954 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15955 
15956 		     l_column_value := null;
15957 
15958 	          ELSE
15959 
15960 		     l_column_value := p_attribute8;
15961 
15962                   END IF;
15963                   FND_FLEX_DESCVAL.Set_Column_Value
15964                   (   column_name   => 'PRICING_ATTRIBUTE8'
15965                    ,  column_value  =>  l_column_value);
15966 
15967 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15968 
15969 		     l_column_value := null;
15970 
15971 	          ELSE
15972 
15973 		     l_column_value := p_attribute9;
15974 
15975                   END IF;
15976                   FND_FLEX_DESCVAL.Set_Column_Value
15977                   (   column_name   => 'PRICING_ATTRIBUTE9'
15978                    ,  column_value  =>  l_column_value);
15979 
15980 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15981 
15982 		     l_column_value := null;
15983 
15984 	          ELSE
15985 
15986 		     l_column_value := p_attribute10;
15987 
15988                   END IF;
15989                   FND_FLEX_DESCVAL.Set_Column_Value
15990                   (   column_name   => 'PRICING_ATTRIBUTE10'
15991                    ,  column_value  =>  l_column_value);
15992 
15993 
15994 		  IF p_context = FND_API.G_MISS_CHAR THEN
15995 
15996 		     l_column_value := null;
15997 
15998 	          ELSE
15999 
16000 		     l_column_value := p_context;
16001 
16002                   END IF;
16003 		  FND_FLEX_DESCVAL.Set_Context_Value
16004 		   ( context_value   => l_column_value);
16005 
16006                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_PRICING_ATTRIBUTE') THEN
16007 			RETURN FALSE;
16008                    END IF;
16009 
16010 
16011                 END IF;
16012 
16013     RETURN TRUE;
16014 
16015 EXCEPTION
16016 
16017    WHEN OTHERS THEN
16018 
16019 
16020      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16021      THEN
16022 
16023         OE_MSG_PUB.Add_Exc_Msg
16024 	( G_PKG_NAME
16025           , 'P_Line_Desc_Flex');
16026      END IF;
16027 
16028 
16029      RETURN FALSE;
16030 
16031 END P_Line_Desc_Flex;
16032 
16033 
16034 FUNCTION I_Line_Desc_Flex (p_context IN VARCHAR2,
16035 			         p_attribute1 IN VARCHAR2,
16036                            p_attribute2 IN VARCHAR2,
16037                            p_attribute3 IN VARCHAR2,
16038                            p_attribute4 IN VARCHAR2,
16039                            p_attribute5 IN VARCHAR2,
16040                            p_attribute6 IN VARCHAR2,
16041                            p_attribute7 IN VARCHAR2,
16042                            p_attribute8 IN VARCHAR2,
16043                            p_attribute9 IN VARCHAR2,
16044                            p_attribute10 IN VARCHAR2,
16045                            p_attribute11 IN VARCHAR2,
16046                            p_attribute12 IN VARCHAR2,
16047                            p_attribute13 IN VARCHAR2,
16048                            p_attribute14 IN VARCHAR2,
16049                            p_attribute15 IN VARCHAR2,
16050 			         p_attribute16 IN VARCHAR2,
16051                            p_attribute17 IN VARCHAR2,
16052                            p_attribute18 IN VARCHAR2,
16053                            p_attribute19 IN VARCHAR2,
16054                            p_attribute20 IN VARCHAR2,
16055                            p_attribute21 IN VARCHAR2,
16056                            p_attribute22 IN VARCHAR2,
16057                            p_attribute23 IN VARCHAR2,
16058                            p_attribute24 IN VARCHAR2,
16059                            p_attribute25 IN VARCHAR2,
16060                            p_attribute26 IN VARCHAR2,
16061                            p_attribute27 IN VARCHAR2,
16062                            p_attribute28 IN VARCHAR2,
16063                            p_attribute29 IN VARCHAR2,
16064                            p_attribute30 IN VARCHAR2)
16065 
16066 
16067 RETURN BOOLEAN
16068 IS
16069 l_column_value VARCHAR2(240) := null;
16070 BEGIN
16071 
16072 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INDUSTRY_CONTEXT');
16073 
16074 		IF  (p_attribute1 = FND_API.G_MISS_CHAR)
16075                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16076 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16077                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16078                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16079                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16080                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16081                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16082                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16083                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16084                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16085                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16086                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16087                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16088                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16089                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
16090 		    AND  (p_attribute17 = FND_API.G_MISS_CHAR)
16091                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
16092                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
16093                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
16094                 AND  (p_attribute21 = FND_API.G_MISS_CHAR)
16095                 AND  (p_attribute22 = FND_API.G_MISS_CHAR)
16096                 AND  (p_attribute23 = FND_API.G_MISS_CHAR)
16097                 AND  (p_attribute24 = FND_API.G_MISS_CHAR)
16098                 AND  (p_attribute25 = FND_API.G_MISS_CHAR)
16099                 AND  (p_attribute26 = FND_API.G_MISS_CHAR)
16100                 AND  (p_attribute27 = FND_API.G_MISS_CHAR)
16101                 AND  (p_attribute28 = FND_API.G_MISS_CHAR)
16102                 AND  (p_attribute29 = FND_API.G_MISS_CHAR)
16103                 AND  (p_attribute30 = FND_API.G_MISS_CHAR)
16104                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16105 
16106 
16107 		     RETURN TRUE;
16108 
16109                 ELSE
16110 
16111 
16112 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16113 
16114 		     l_column_value := null;
16115 
16116 	          ELSE
16117 
16118 		     l_column_value := p_attribute1;
16119 
16120                   END IF;
16121 
16122                   FND_FLEX_DESCVAL.Set_Column_Value
16123                   (   column_name   => 'INDUSTRY_ATTRIBUTE1'
16124                    ,  column_value  => l_column_value);
16125 
16126 
16127 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16128 
16129 		     l_column_value := null;
16130 
16131 	          ELSE
16132 
16133 		     l_column_value := p_attribute2;
16134 
16135                   END IF;
16136                   FND_FLEX_DESCVAL.Set_Column_Value
16137                   (   column_name   => 'INDUSTRY_ATTRIBUTE2'
16138                    ,  column_value  =>  l_column_value);
16139 
16140 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16141 
16142 		     l_column_value := null;
16143 
16144 	          ELSE
16145 
16146 		     l_column_value := p_attribute3;
16147 
16148                   END IF;
16149                   FND_FLEX_DESCVAL.Set_Column_Value
16150                   (   column_name   => 'INDUSTRY_ATTRIBUTE3'
16151                    ,  column_value  =>  l_column_value);
16152 
16153 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16154 
16155 		     l_column_value := null;
16156 
16157 	          ELSE
16158 
16159 		     l_column_value := p_attribute4;
16160 
16161                   END IF;
16162                   FND_FLEX_DESCVAL.Set_Column_Value
16163                   (   column_name   => 'INDUSTRY_ATTRIBUTE4'
16164                    ,  column_value  =>  l_column_value);
16165 
16166 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16167 
16168 		     l_column_value := null;
16169 
16170 	          ELSE
16171 
16172 		     l_column_value := p_attribute5;
16173 
16174                   END IF;
16175                   FND_FLEX_DESCVAL.Set_Column_Value
16176                   (   column_name   => 'INDUSTRY_ATTRIBUTE5'
16177                    ,  column_value  =>  l_column_value);
16178 
16179 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16180 
16181 		     l_column_value := null;
16182 
16183 	          ELSE
16184 
16185 		     l_column_value := p_attribute6;
16186 
16187                   END IF;
16188                   FND_FLEX_DESCVAL.Set_Column_Value
16189                   (   column_name   => 'INDUSTRY_ATTRIBUTE6'
16190                    ,  column_value  =>  l_column_value);
16191 
16192 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16193 
16194 		     l_column_value := null;
16195 
16196 	          ELSE
16197 
16198 		     l_column_value := p_attribute7;
16199 
16200                   END IF;
16201                   FND_FLEX_DESCVAL.Set_Column_Value
16202                   (   column_name   => 'INDUSTRY_ATTRIBUTE7'
16203                    ,  column_value  =>  l_column_value);
16204 
16205 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16206 
16207 		     l_column_value := null;
16208 
16209 	          ELSE
16210 
16211 		     l_column_value := p_attribute8;
16212 
16213                   END IF;
16214                   FND_FLEX_DESCVAL.Set_Column_Value
16215                   (   column_name   => 'INDUSTRY_ATTRIBUTE8'
16216                    ,  column_value  =>  l_column_value);
16217 
16218 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16219 
16220 		     l_column_value := null;
16221 
16222 	          ELSE
16223 
16224 		     l_column_value := p_attribute9;
16225 
16226                   END IF;
16227                   FND_FLEX_DESCVAL.Set_Column_Value
16228                   (   column_name   => 'INDUSTRY_ATTRIBUTE9'
16229                    ,  column_value  =>  l_column_value);
16230 
16231 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16232 
16233 		     l_column_value := null;
16234 
16235 	          ELSE
16236 
16237 		     l_column_value := p_attribute10;
16238 
16239                   END IF;
16240                   FND_FLEX_DESCVAL.Set_Column_Value
16241                   (   column_name   => 'INDUSTRY_ATTRIBUTE10'
16242                    ,  column_value  =>  l_column_value);
16243 
16244 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16245 
16246 		     l_column_value := null;
16247 
16248 	          ELSE
16249 
16250 		     l_column_value := p_attribute11;
16251 
16252                   END IF;
16253                   FND_FLEX_DESCVAL.Set_Column_Value
16254                   (   column_name   => 'INDUSTRY_ATTRIBUTE11'
16255                    ,  column_value  =>  l_column_value);
16256 
16257 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16258 
16259 		     l_column_value := null;
16260 
16261 	          ELSE
16262 
16263 		     l_column_value := p_attribute12;
16264 
16265                   END IF;
16266                   FND_FLEX_DESCVAL.Set_Column_Value
16267                   (   column_name   => 'INDUSTRY_ATTRIBUTE12'
16268                    ,  column_value  =>  l_column_value);
16269 
16270 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16271 
16272 		     l_column_value := null;
16273 
16274 	          ELSE
16275 
16276 		     l_column_value := p_attribute13;
16277 
16278                   END IF;
16279                   FND_FLEX_DESCVAL.Set_Column_Value
16280                   (   column_name   => 'INDUSTRY_ATTRIBUTE13'
16281                    ,  column_value  =>  l_column_value);
16282 
16283 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16284 
16285 		     l_column_value := null;
16286 
16287 	          ELSE
16288 
16289 		     l_column_value := p_attribute14;
16290 
16291                   END IF;
16292                   FND_FLEX_DESCVAL.Set_Column_Value
16293                   (   column_name   => 'INDUSTRY_ATTRIBUTE14'
16294                    ,  column_value  =>  l_column_value);
16295 
16296 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16297 
16298 		     l_column_value := null;
16299 
16300 	          ELSE
16301 
16302 		     l_column_value := p_attribute15;
16303 
16304                   END IF;
16305                   FND_FLEX_DESCVAL.Set_Column_Value
16306                   (   column_name   => 'INDUSTRY_ATTRIBUTE15'
16307                    ,  column_value  =>  l_column_value);
16308 
16309 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
16310 
16311 		     l_column_value := null;
16312 
16313 	          ELSE
16314 
16315 		     l_column_value := p_attribute16;
16316 
16317                   END IF;
16318                   FND_FLEX_DESCVAL.Set_Column_Value
16319                   (   column_name   => 'INDUSTRY_ATTRIBUTE16'
16320                    ,  column_value  =>  l_column_value);
16321 
16322 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
16323 
16324 		     l_column_value := null;
16325 
16326 	          ELSE
16327 
16328 		     l_column_value := p_attribute17;
16329 
16330                   END IF;
16331                   FND_FLEX_DESCVAL.Set_Column_Value
16332                   (   column_name   => 'INDUSTRY_ATTRIBUTE17'
16333                    ,  column_value  =>  l_column_value);
16334 
16335 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
16336 
16337 		     l_column_value := null;
16338 
16339 	          ELSE
16340 
16341 		     l_column_value := p_attribute18;
16342 
16343                   END IF;
16344                   FND_FLEX_DESCVAL.Set_Column_Value
16345                   (   column_name   => 'INDUSTRY_ATTRIBUTE18'
16346                    ,  column_value  =>  l_column_value);
16347 
16348 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
16349 
16350 		     l_column_value := null;
16351 
16352 	          ELSE
16353 
16354 		     l_column_value := p_attribute19;
16355 
16356                   END IF;
16357                   FND_FLEX_DESCVAL.Set_Column_Value
16358                   (   column_name   => 'INDUSTRY_ATTRIBUTE19'
16359                    ,  column_value  =>  l_column_value);
16360 
16361 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
16362 
16363 		     l_column_value := null;
16364 
16365 	          ELSE
16366 
16367 		     l_column_value := p_attribute20;
16368 
16369                   END IF;
16370                   FND_FLEX_DESCVAL.Set_Column_Value
16371                   (   column_name   => 'INDUSTRY_ATTRIBUTE20'
16372                    ,  column_value  =>  l_column_value);
16373 
16374 		  IF p_attribute21 = FND_API.G_MISS_CHAR THEN
16375 
16376 		     l_column_value := null;
16377 
16378 	          ELSE
16379 
16380 		     l_column_value := p_attribute21;
16381 
16382                   END IF;
16383                   FND_FLEX_DESCVAL.Set_Column_Value
16384                   (   column_name   => 'INDUSTRY_ATTRIBUTE21'
16385                    ,  column_value  =>  l_column_value);
16386 
16387 		  IF p_attribute22 = FND_API.G_MISS_CHAR THEN
16388 
16389 		     l_column_value := null;
16390 
16391 	          ELSE
16392 
16393 		     l_column_value := p_attribute22;
16394 
16395                   END IF;
16396                   FND_FLEX_DESCVAL.Set_Column_Value
16397                   (   column_name   => 'INDUSTRY_ATTRIBUTE22'
16398                    ,  column_value  =>  l_column_value);
16399 
16400 		  IF p_attribute23 = FND_API.G_MISS_CHAR THEN
16401 
16402 		     l_column_value := null;
16403 
16404 	          ELSE
16405 
16406 		     l_column_value := p_attribute23;
16407 
16408                   END IF;
16409                   FND_FLEX_DESCVAL.Set_Column_Value
16410                   (   column_name   => 'INDUSTRY_ATTRIBUTE23'
16411                    ,  column_value  =>  l_column_value);
16412 
16413 		  IF p_attribute24 = FND_API.G_MISS_CHAR THEN
16414 
16415 		     l_column_value := null;
16416 
16417 	          ELSE
16418 
16419 		     l_column_value := p_attribute24;
16420 
16421                   END IF;
16422                   FND_FLEX_DESCVAL.Set_Column_Value
16423                   (   column_name   => 'INDUSTRY_ATTRIBUTE24'
16424                    ,  column_value  =>  l_column_value);
16425 
16426 		  IF p_attribute25 = FND_API.G_MISS_CHAR THEN
16427 
16428 		     l_column_value := null;
16429 
16430 	          ELSE
16431 
16432 		     l_column_value := p_attribute25;
16433 
16434                   END IF;
16435                   FND_FLEX_DESCVAL.Set_Column_Value
16436                   (   column_name   => 'INDUSTRY_ATTRIBUTE25'
16437                    ,  column_value  =>  l_column_value);
16438 
16439 		  IF p_attribute26 = FND_API.G_MISS_CHAR THEN
16440 
16441 		     l_column_value := null;
16442 
16443 	          ELSE
16444 
16445 		     l_column_value := p_attribute26;
16446 
16447                   END IF;
16448                   FND_FLEX_DESCVAL.Set_Column_Value
16449                   (   column_name   => 'INDUSTRY_ATTRIBUTE26'
16450                    ,  column_value  =>  l_column_value);
16451 
16452 		  IF p_attribute27 = FND_API.G_MISS_CHAR THEN
16453 
16454 		     l_column_value := null;
16455 
16456 	          ELSE
16457 
16458 		     l_column_value := p_attribute27;
16459 
16460                   END IF;
16461                   FND_FLEX_DESCVAL.Set_Column_Value
16462                   (   column_name   => 'INDUSTRY_ATTRIBUTE27'
16463                    ,  column_value  =>  l_column_value);
16464 
16465 		  IF p_attribute28 = FND_API.G_MISS_CHAR THEN
16466 
16467 		     l_column_value := null;
16468 
16469 	          ELSE
16470 
16471 		     l_column_value := p_attribute28;
16472 
16473                   END IF;
16474                   FND_FLEX_DESCVAL.Set_Column_Value
16475                   (   column_name   => 'INDUSTRY_ATTRIBUTE28'
16476                    ,  column_value  =>  l_column_value);
16477 
16478 		  IF p_attribute29 = FND_API.G_MISS_CHAR THEN
16479 
16480 		     l_column_value := null;
16481 
16482 	          ELSE
16483 
16484 		     l_column_value := p_attribute29;
16485 
16486                   END IF;
16487                   FND_FLEX_DESCVAL.Set_Column_Value
16488                   (   column_name   => 'INDUSTRY_ATTRIBUTE29'
16489                    ,  column_value  =>  l_column_value);
16490 
16491 		  IF p_attribute30 = FND_API.G_MISS_CHAR THEN
16492 
16493 		     l_column_value := null;
16494 
16495 	          ELSE
16496 
16497 		     l_column_value := p_attribute30;
16498 
16499                   END IF;
16500                   FND_FLEX_DESCVAL.Set_Column_Value
16501                   (   column_name   => 'INDUSTRY_ATTRIBUTE30'
16502                    ,  column_value  =>  l_column_value);
16503 
16504 
16505 
16506 		  IF p_context = FND_API.G_MISS_CHAR THEN
16507 
16508 		     l_column_value := null;
16509 
16510 	          ELSE
16511 
16512 		     l_column_value := p_context;
16513 
16514                   END IF;
16515 		  FND_FLEX_DESCVAL.Set_Context_Value
16516 		   ( context_value   => l_column_value);
16517 
16518               IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_INDUSTRY_ATTRIBUTE') THEN
16519 			RETURN FALSE;
16520               END IF;
16521 
16522                 END IF;
16523 
16524     RETURN TRUE;
16525 
16526 EXCEPTION
16527 
16528    WHEN OTHERS THEN
16529 
16530 
16531      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16532      THEN
16533 
16534         OE_MSG_PUB.Add_Exc_Msg
16535 	( G_PKG_NAME
16536           , 'I_Line_Desc_Flex');
16537      END IF;
16538 
16539 
16540      RETURN FALSE;
16541 
16542 END I_Line_Desc_Flex;
16543 
16544 
16545 FUNCTION TP_Line_Desc_Flex (p_context IN VARCHAR2,
16546 			         p_attribute1 IN VARCHAR2,
16547                            p_attribute2 IN VARCHAR2,
16548                            p_attribute3 IN VARCHAR2,
16549                            p_attribute4 IN VARCHAR2,
16550                            p_attribute5 IN VARCHAR2,
16551                            p_attribute6 IN VARCHAR2,
16552                            p_attribute7 IN VARCHAR2,
16553                            p_attribute8 IN VARCHAR2,
16554                            p_attribute9 IN VARCHAR2,
16555                            p_attribute10 IN VARCHAR2,
16556                            p_attribute11 IN VARCHAR2,
16557                            p_attribute12 IN VARCHAR2,
16558                            p_attribute13 IN VARCHAR2,
16559                            p_attribute14 IN VARCHAR2,
16560                            p_attribute15 IN VARCHAR2)
16561 
16562 
16563 RETURN BOOLEAN
16564 IS
16565 l_column_value VARCHAR2(240) := null;
16566 BEGIN
16567 
16568 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TP_CONTEXT');
16569 
16570 		IF  (p_attribute1 = FND_API.G_MISS_CHAR)
16571                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16572 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16573                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16574                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16575                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16576                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16577                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16578                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16579                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16580                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16581                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16582                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16583                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16584                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16585                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16586 
16587 
16588 		     RETURN TRUE;
16589 
16590                 ELSE
16591 
16592 
16593 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16594 
16595 		     l_column_value := null;
16596 
16597 	          ELSE
16598 
16599 		     l_column_value := p_attribute1;
16600 
16601                   END IF;
16602 
16603                   FND_FLEX_DESCVAL.Set_Column_Value
16604                   (   column_name   => 'TP_ATTRIBUTE1'
16605                    ,  column_value  => l_column_value);
16606 
16607 
16608 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16609 
16610 		     l_column_value := null;
16611 
16612 	          ELSE
16613 
16614 		     l_column_value := p_attribute2;
16615 
16616                   END IF;
16617                   FND_FLEX_DESCVAL.Set_Column_Value
16618                   (   column_name   => 'TP_ATTRIBUTE2'
16619                    ,  column_value  =>  l_column_value);
16620 
16621 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16622 
16623 		     l_column_value := null;
16624 
16625 	          ELSE
16626 
16627 		     l_column_value := p_attribute3;
16628 
16629                   END IF;
16630                   FND_FLEX_DESCVAL.Set_Column_Value
16631                   (   column_name   => 'TP_ATTRIBUTE3'
16632                    ,  column_value  =>  l_column_value);
16633 
16634 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16635 
16636 		     l_column_value := null;
16637 
16638 	          ELSE
16639 
16640 		     l_column_value := p_attribute4;
16641 
16642                   END IF;
16643                   FND_FLEX_DESCVAL.Set_Column_Value
16644                   (   column_name   => 'TP_ATTRIBUTE4'
16645                    ,  column_value  =>  l_column_value);
16646 
16647 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16648 
16649 		     l_column_value := null;
16650 
16651 	          ELSE
16652 
16653 		     l_column_value := p_attribute5;
16654 
16655                   END IF;
16656                   FND_FLEX_DESCVAL.Set_Column_Value
16657                   (   column_name   => 'TP_ATTRIBUTE5'
16658                    ,  column_value  =>  l_column_value);
16659 
16660 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16661 
16662 		     l_column_value := null;
16663 
16664 	          ELSE
16665 
16666 		     l_column_value := p_attribute6;
16667 
16668                   END IF;
16669                   FND_FLEX_DESCVAL.Set_Column_Value
16670                   (   column_name   => 'TP_ATTRIBUTE6'
16671                    ,  column_value  =>  l_column_value);
16672 
16673 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16674 
16675 		     l_column_value := null;
16676 
16677 	          ELSE
16678 
16679 		     l_column_value := p_attribute7;
16680 
16681                   END IF;
16682                   FND_FLEX_DESCVAL.Set_Column_Value
16683                   (   column_name   => 'TP_ATTRIBUTE7'
16684                    ,  column_value  =>  l_column_value);
16685 
16686 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16687 
16688 		     l_column_value := null;
16689 
16690 	          ELSE
16691 
16692 		     l_column_value := p_attribute8;
16693 
16694                   END IF;
16695                   FND_FLEX_DESCVAL.Set_Column_Value
16696                   (   column_name   => 'TP_ATTRIBUTE8'
16697                    ,  column_value  =>  l_column_value);
16698 
16699 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16700 
16701 		     l_column_value := null;
16702 
16703 	          ELSE
16704 
16705 		     l_column_value := p_attribute9;
16706 
16707                   END IF;
16708                   FND_FLEX_DESCVAL.Set_Column_Value
16709                   (   column_name   => 'TP_ATTRIBUTE9'
16710                    ,  column_value  =>  l_column_value);
16711 
16712 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16713 
16714 		     l_column_value := null;
16715 
16716 	          ELSE
16717 
16718 		     l_column_value := p_attribute10;
16719 
16720                   END IF;
16721                   FND_FLEX_DESCVAL.Set_Column_Value
16722                   (   column_name   => 'TP_ATTRIBUTE10'
16723                    ,  column_value  =>  l_column_value);
16724 
16725 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16726 
16727 		     l_column_value := null;
16728 
16729 	          ELSE
16730 
16731 		     l_column_value := p_attribute11;
16732 
16733                   END IF;
16734                   FND_FLEX_DESCVAL.Set_Column_Value
16735                   (   column_name   => 'TP_ATTRIBUTE11'
16736                    ,  column_value  =>  l_column_value);
16737 
16738 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16739 
16740 		     l_column_value := null;
16741 
16742 	          ELSE
16743 
16744 		     l_column_value := p_attribute12;
16745 
16746                   END IF;
16747                   FND_FLEX_DESCVAL.Set_Column_Value
16748                   (   column_name   => 'TP_ATTRIBUTE12'
16749                    ,  column_value  =>  l_column_value);
16750 
16751 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16752 
16753 		     l_column_value := null;
16754 
16755 	          ELSE
16756 
16757 		     l_column_value := p_attribute13;
16758 
16759                   END IF;
16760                   FND_FLEX_DESCVAL.Set_Column_Value
16761                   (   column_name   => 'TP_ATTRIBUTE13'
16762                    ,  column_value  =>  l_column_value);
16763 
16764 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16765 
16766 		     l_column_value := null;
16767 
16768 	          ELSE
16769 
16770 		     l_column_value := p_attribute14;
16771 
16772                   END IF;
16773                   FND_FLEX_DESCVAL.Set_Column_Value
16774                   (   column_name   => 'TP_ATTRIBUTE14'
16775                    ,  column_value  =>  l_column_value);
16776 
16777 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16778 
16779 		     l_column_value := null;
16780 
16781 	          ELSE
16782 
16783 		     l_column_value := p_attribute15;
16784 
16785                   END IF;
16786                   FND_FLEX_DESCVAL.Set_Column_Value
16787                   (   column_name   => 'TP_ATTRIBUTE15'
16788                    ,  column_value  =>  l_column_value);
16789 
16790 
16791 
16792 		  IF p_context = FND_API.G_MISS_CHAR THEN
16793 
16794 		     l_column_value := null;
16795 
16796 	          ELSE
16797 
16798 		     l_column_value := p_context;
16799 
16800                   END IF;
16801 		  FND_FLEX_DESCVAL.Set_Context_Value
16802 		   ( context_value   => l_column_value);
16803 
16804                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_TP_ATTRIBUTES') THEN
16805 			RETURN FALSE;
16806                    END IF;
16807 
16808 
16809                 END IF;
16810 
16811     RETURN TRUE;
16812 
16813 EXCEPTION
16814 
16815    WHEN OTHERS THEN
16816 
16817 
16818      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16819      THEN
16820 
16821         OE_MSG_PUB.Add_Exc_Msg
16822 	( G_PKG_NAME
16823           , 'TP_Line_Desc_Flex');
16824      END IF;
16825 
16826 
16827      RETURN FALSE;
16828 
16829 END TP_Line_Desc_Flex;
16830 
16831 
16832 FUNCTION R_Line_Desc_Flex (p_context IN VARCHAR2,
16833 			   p_attribute1 IN VARCHAR2,
16834                            p_attribute2 IN VARCHAR2,
16835                            p_attribute3 IN VARCHAR2,
16836                            p_attribute4 IN VARCHAR2,
16837                            p_attribute5 IN VARCHAR2,
16838                            p_attribute6 IN VARCHAR2,
16839                            p_attribute7 IN VARCHAR2,
16840                            p_attribute8 IN VARCHAR2,
16841                            p_attribute9 IN VARCHAR2,
16842                            p_attribute10 IN VARCHAR2,
16843                            p_attribute11 IN VARCHAR2,
16844                            p_attribute12 IN VARCHAR2,
16845                            p_attribute13 IN VARCHAR2,
16846                            p_attribute14 IN VARCHAR2,
16847                            p_attribute15 IN VARCHAR2)
16848 
16849 RETURN BOOLEAN
16850 IS
16851 l_column_value VARCHAR2(240) := null;
16852 BEGIN
16853 
16854 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_CONTEXT');
16855 
16856 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
16857                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16858 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16859                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16860                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16861                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16862                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16863                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16864                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16865                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16866                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16867                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16868                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16869                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16870                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16871                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16872 
16873 
16874 		     RETURN TRUE;
16875 
16876                 ELSE
16877 
16878 
16879 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16880 
16881 		     l_column_value := null;
16882 
16883 	          ELSE
16884 
16885 		     l_column_value := p_attribute1;
16886 
16887                   END IF;
16888 
16889                   FND_FLEX_DESCVAL.Set_Column_Value
16890                   (   column_name   => 'RETURN_ATTRIBUTE1'
16891                    ,  column_value  => l_column_value);
16892 
16893 
16894 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16895 
16896 		     l_column_value := null;
16897 
16898 	          ELSE
16899 
16900 		     l_column_value := p_attribute2;
16901 
16902                   END IF;
16903                   FND_FLEX_DESCVAL.Set_Column_Value
16904                   (   column_name   => 'RETURN_ATTRIBUTE2'
16905                    ,  column_value  =>  l_column_value);
16906 
16907 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16908 
16909 		     l_column_value := null;
16910 
16911 	          ELSE
16912 
16913 		     l_column_value := p_attribute3;
16914 
16915                   END IF;
16916                   FND_FLEX_DESCVAL.Set_Column_Value
16917                   (   column_name   => 'RETURN_ATTRIBUTE3'
16918                    ,  column_value  =>  l_column_value);
16919 
16920 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16921 
16922 		     l_column_value := null;
16923 
16924 	          ELSE
16925 
16926 		     l_column_value := p_attribute4;
16927 
16928                   END IF;
16929                   FND_FLEX_DESCVAL.Set_Column_Value
16930                   (   column_name   => 'RETURN_ATTRIBUTE4'
16931                    ,  column_value  =>  l_column_value);
16932 
16933 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16934 
16935 		     l_column_value := null;
16936 
16937 	          ELSE
16938 
16939 		     l_column_value := p_attribute5;
16940 
16941                   END IF;
16942                   FND_FLEX_DESCVAL.Set_Column_Value
16943                   (   column_name   => 'RETURN_ATTRIBUTE5'
16944                    ,  column_value  =>  l_column_value);
16945 
16946 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16947 
16948 		     l_column_value := null;
16949 
16950 	          ELSE
16951 
16952 		     l_column_value := p_attribute6;
16953 
16954                   END IF;
16955                   FND_FLEX_DESCVAL.Set_Column_Value
16956                   (   column_name   => 'RETURN_ATTRIBUTE6'
16957                    ,  column_value  =>  l_column_value);
16958 
16959 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16960 
16961 		     l_column_value := null;
16962 
16963 	          ELSE
16964 
16965 		     l_column_value := p_attribute7;
16966 
16967                   END IF;
16968                   FND_FLEX_DESCVAL.Set_Column_Value
16969                   (   column_name   => 'RETURN_ATTRIBUTE7'
16970                    ,  column_value  =>  l_column_value);
16971 
16972 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16973 
16974 		     l_column_value := null;
16975 
16976 	          ELSE
16977 
16978 		     l_column_value := p_attribute8;
16979 
16980                   END IF;
16981                   FND_FLEX_DESCVAL.Set_Column_Value
16982                   (   column_name   => 'RETURN_ATTRIBUTE8'
16983                    ,  column_value  =>  l_column_value);
16984 
16985 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16986 
16987 		     l_column_value := null;
16988 
16989 	          ELSE
16990 
16991 		     l_column_value := p_attribute9;
16992 
16993                   END IF;
16994                   FND_FLEX_DESCVAL.Set_Column_Value
16995                   (   column_name   => 'RETURN_ATTRIBUTE9'
16996                    ,  column_value  =>  l_column_value);
16997 
16998 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16999 
17000 		     l_column_value := null;
17001 
17002 	          ELSE
17003 
17004 		     l_column_value := p_attribute10;
17005 
17006                   END IF;
17007                   FND_FLEX_DESCVAL.Set_Column_Value
17008                   (   column_name   => 'RETURN_ATTRIBUTE10'
17009                    ,  column_value  =>  l_column_value);
17010 
17011 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17012 
17013 		     l_column_value := null;
17014 
17015 	          ELSE
17016 
17017 		     l_column_value := p_attribute11;
17018 
17019                   END IF;
17020                   FND_FLEX_DESCVAL.Set_Column_Value
17021                   (   column_name   => 'RETURN_ATTRIBUTE11'
17022                    ,  column_value  =>  l_column_value);
17023 
17024 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17025 
17026 		     l_column_value := null;
17027 
17028 	          ELSE
17029 
17030 		     l_column_value := p_attribute12;
17031 
17032                   END IF;
17033                   FND_FLEX_DESCVAL.Set_Column_Value
17034                   (   column_name   => 'RETURN_ATTRIBUTE12'
17035                    ,  column_value  =>  l_column_value);
17036 
17037 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17038 
17039 		     l_column_value := null;
17040 
17041 	          ELSE
17042 
17043 		     l_column_value := p_attribute13;
17044 
17045                   END IF;
17046                   FND_FLEX_DESCVAL.Set_Column_Value
17047                   (   column_name   => 'RETURN_ATTRIBUTE13'
17048                    ,  column_value  =>  l_column_value);
17049 
17050 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17051 
17052 		     l_column_value := null;
17053 
17054 	          ELSE
17055 
17056 		     l_column_value := p_attribute14;
17057 
17058                   END IF;
17059                   FND_FLEX_DESCVAL.Set_Column_Value
17060                   (   column_name   => 'RETURN_ATTRIBUTE14'
17061                    ,  column_value  =>  l_column_value);
17062 
17063 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17064 
17065 		     l_column_value := null;
17066 
17067 	          ELSE
17068 
17069 		     l_column_value := p_attribute15;
17070 
17071                   END IF;
17072                   FND_FLEX_DESCVAL.Set_Column_Value
17073                   (   column_name   => 'RETURN_ATTRIBUTE15'
17074                    ,  column_value  =>  l_column_value);
17075 
17076 		  IF p_context = FND_API.G_MISS_CHAR THEN
17077 
17078 		    l_column_value := null;
17079 
17080 	       ELSE
17081 
17082 		    l_column_value := p_context;
17083 
17084             END IF;
17085 
17086 		  FND_FLEX_DESCVAL.Set_Context_Value
17087 		   ( context_value   => l_column_value);
17088 
17089 
17090 	/* Remove after fixing :block.field_name stuff
17091 
17092             IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_RETURN_ATTRIBUTE') THEN
17093 					RETURN FALSE;
17094             END IF;
17095      */
17096 
17097          END IF;
17098 
17099     RETURN TRUE;
17100 
17101 EXCEPTION
17102 
17103    WHEN OTHERS THEN
17104 
17105 
17106      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17107      THEN
17108 
17109         OE_MSG_PUB.Add_Exc_Msg
17110 	( G_PKG_NAME
17111           , 'R_Line_Desc_Flex');
17112      END IF;
17113 
17114 
17115      RETURN FALSE;
17116 
17117 END R_Line_Desc_Flex;
17118 
17119 
17120 FUNCTION Price_Adj_Desc_Flex (p_context IN VARCHAR2,
17121 			   p_attribute1 IN VARCHAR2,
17122                            p_attribute2 IN VARCHAR2,
17123                            p_attribute3 IN VARCHAR2,
17124                            p_attribute4 IN VARCHAR2,
17125                            p_attribute5 IN VARCHAR2,
17126                            p_attribute6 IN VARCHAR2,
17127                            p_attribute7 IN VARCHAR2,
17128                            p_attribute8 IN VARCHAR2,
17129                            p_attribute9 IN VARCHAR2,
17130                            p_attribute10 IN VARCHAR2,
17131                            p_attribute11 IN VARCHAR2,
17132                            p_attribute12 IN VARCHAR2,
17133                            p_attribute13 IN VARCHAR2,
17134                            p_attribute14 IN VARCHAR2,
17135                            p_attribute15 IN VARCHAR2)
17136 
17137 RETURN BOOLEAN
17138 IS
17139 l_column_value VARCHAR2(240) := null;
17140 BEGIN
17141 
17142 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
17143 
17144 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17145                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17146 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17147                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17148                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17149                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17150                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17151                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17152                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17153                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17154                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17155                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17156                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17157                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17158                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17159                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17160 
17161 
17162 		     RETURN TRUE;
17163 
17164                 ELSE
17165 
17166 
17167 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17168 
17169 		     l_column_value := null;
17170 
17171 	          ELSE
17172 
17173 		     l_column_value := p_attribute1;
17174 
17175                   END IF;
17176 
17177                   FND_FLEX_DESCVAL.Set_Column_Value
17178                   (   column_name   => 'ATTRIBUTE1'
17179                    ,  column_value  => l_column_value);
17180 
17181 
17182 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17183 
17184 		     l_column_value := null;
17185 
17186 	          ELSE
17187 
17188 		     l_column_value := p_attribute2;
17189 
17190                   END IF;
17191                   FND_FLEX_DESCVAL.Set_Column_Value
17192                   (   column_name   => 'ATTRIBUTE2'
17193                    ,  column_value  =>  l_column_value);
17194 
17195 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17196 
17197 		     l_column_value := null;
17198 
17199 	          ELSE
17200 
17201 		     l_column_value := p_attribute3;
17202 
17203                   END IF;
17204                   FND_FLEX_DESCVAL.Set_Column_Value
17205                   (   column_name   => 'ATTRIBUTE3'
17206                    ,  column_value  =>  l_column_value);
17207 
17208 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17209 
17210 		     l_column_value := null;
17211 
17212 	          ELSE
17213 
17214 		     l_column_value := p_attribute4;
17215 
17216                   END IF;
17217                   FND_FLEX_DESCVAL.Set_Column_Value
17218                   (   column_name   => 'ATTRIBUTE4'
17219                    ,  column_value  =>  l_column_value);
17220 
17221 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17222 
17223 		     l_column_value := null;
17224 
17225 	          ELSE
17226 
17227 		     l_column_value := p_attribute5;
17228 
17229                   END IF;
17230                   FND_FLEX_DESCVAL.Set_Column_Value
17231                   (   column_name   => 'ATTRIBUTE5'
17232                    ,  column_value  =>  l_column_value);
17233 
17234 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17235 
17236 		     l_column_value := null;
17237 
17238 	          ELSE
17239 
17240 		     l_column_value := p_attribute6;
17241 
17242                   END IF;
17243                   FND_FLEX_DESCVAL.Set_Column_Value
17244                   (   column_name   => 'ATTRIBUTE6'
17245                    ,  column_value  =>  l_column_value);
17246 
17247 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17248 
17249 		     l_column_value := null;
17250 
17251 	          ELSE
17252 
17253 		     l_column_value := p_attribute7;
17254 
17255                   END IF;
17256                   FND_FLEX_DESCVAL.Set_Column_Value
17257                   (   column_name   => 'ATTRIBUTE7'
17258                    ,  column_value  =>  l_column_value);
17259 
17260 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17261 
17262 		     l_column_value := null;
17263 
17264 	          ELSE
17265 
17266 		     l_column_value := p_attribute8;
17267 
17268                   END IF;
17269                   FND_FLEX_DESCVAL.Set_Column_Value
17270                   (   column_name   => 'ATTRIBUTE8'
17271                    ,  column_value  =>  l_column_value);
17272 
17273 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17274 
17275 		     l_column_value := null;
17276 
17277 	          ELSE
17278 
17279 		     l_column_value := p_attribute9;
17280 
17281                   END IF;
17282                   FND_FLEX_DESCVAL.Set_Column_Value
17283                   (   column_name   => 'ATTRIBUTE9'
17284                    ,  column_value  =>  l_column_value);
17285 
17286 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17287 
17288 		     l_column_value := null;
17289 
17290 	          ELSE
17291 
17292 		     l_column_value := p_attribute10;
17293 
17294                   END IF;
17295                   FND_FLEX_DESCVAL.Set_Column_Value
17296                   (   column_name   => 'ATTRIBUTE10'
17297                    ,  column_value  =>  l_column_value);
17298 
17299 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17300 
17301 		     l_column_value := null;
17302 
17303 	          ELSE
17304 
17305 		     l_column_value := p_attribute11;
17306 
17307                   END IF;
17308                   FND_FLEX_DESCVAL.Set_Column_Value
17309                   (   column_name   => 'ATTRIBUTE11'
17310                    ,  column_value  =>  l_column_value);
17311 
17312 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17313 
17314 		     l_column_value := null;
17315 
17316 	          ELSE
17317 
17318 		     l_column_value := p_attribute12;
17319 
17320                   END IF;
17321                   FND_FLEX_DESCVAL.Set_Column_Value
17322                   (   column_name   => 'ATTRIBUTE12'
17323                    ,  column_value  =>  l_column_value);
17324 
17325 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17326 
17327 		     l_column_value := null;
17328 
17329 	          ELSE
17330 
17331 		     l_column_value := p_attribute13;
17332 
17333                   END IF;
17334                   FND_FLEX_DESCVAL.Set_Column_Value
17335                   (   column_name   => 'ATTRIBUTE13'
17336                    ,  column_value  =>  l_column_value);
17337 
17338 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17339 
17340 		     l_column_value := null;
17341 
17342 	          ELSE
17343 
17344 		     l_column_value := p_attribute14;
17345 
17346                   END IF;
17347                   FND_FLEX_DESCVAL.Set_Column_Value
17348                   (   column_name   => 'ATTRIBUTE14'
17349                    ,  column_value  =>  l_column_value);
17350 
17351 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17352 
17353 		     l_column_value := null;
17354 
17355 	          ELSE
17356 
17357 		     l_column_value := p_attribute15;
17358 
17359                   END IF;
17360                   FND_FLEX_DESCVAL.Set_Column_Value
17361                   (   column_name   => 'ATTRIBUTE15'
17362                    ,  column_value  =>  l_column_value);
17363 
17364 		  IF p_context = FND_API.G_MISS_CHAR THEN
17365 
17366 		     l_column_value := null;
17367 
17368 	          ELSE
17369 
17370 		     l_column_value := p_context;
17371 
17372                   END IF;
17373 		  FND_FLEX_DESCVAL.Set_Context_Value
17374 		   ( context_value   => l_column_value);
17375 
17376                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_PRICE_ADJUSTMENT') THEN
17377 			RETURN FALSE;
17378                    END IF;
17379 
17380 
17381                 END IF;
17382 
17383     RETURN TRUE;
17384 
17385 EXCEPTION
17386 
17387    WHEN OTHERS THEN
17388 
17389 
17390      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17391      THEN
17392 
17393         OE_MSG_PUB.Add_Exc_Msg
17394 	( G_PKG_NAME
17395           , 'Price_Adj_Desc_Flex');
17396      END IF;
17397 
17398 
17399      RETURN FALSE;
17400 
17401 
17402 END Price_Adj_Desc_Flex;
17403 
17404 FUNCTION Sales_Credits_Desc_Flex (p_context IN VARCHAR2,
17405 			   p_attribute1 IN VARCHAR2,
17406                            p_attribute2 IN VARCHAR2,
17407                            p_attribute3 IN VARCHAR2,
17408                            p_attribute4 IN VARCHAR2,
17409                            p_attribute5 IN VARCHAR2,
17410                            p_attribute6 IN VARCHAR2,
17411                            p_attribute7 IN VARCHAR2,
17412                            p_attribute8 IN VARCHAR2,
17413                            p_attribute9 IN VARCHAR2,
17414                            p_attribute10 IN VARCHAR2,
17415                            p_attribute11 IN VARCHAR2,
17416                            p_attribute12 IN VARCHAR2,
17417                            p_attribute13 IN VARCHAR2,
17418                            p_attribute14 IN VARCHAR2,
17419                            p_attribute15 IN VARCHAR2)
17420 
17421 RETURN BOOLEAN
17422 IS
17423 l_column_value VARCHAR2(240) := null;
17424 BEGIN
17425 
17426 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
17427 
17428 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17429                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17430 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17431                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17432                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17433                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17434                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17435                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17436                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17437                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17438                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17439                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17440                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17441                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17442                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17443                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17444 
17445 
17446 		     RETURN TRUE;
17447 
17448                 ELSE
17449 
17450 
17451 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17452 
17453 		     l_column_value := null;
17454 
17455 	          ELSE
17456 
17457 		     l_column_value := p_attribute1;
17458 
17459                   END IF;
17460 
17461                   FND_FLEX_DESCVAL.Set_Column_Value
17462                   (   column_name   => 'ATTRIBUTE1'
17463                    ,  column_value  => l_column_value);
17464 
17465 
17466 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17467 
17468 		     l_column_value := null;
17469 
17470 	          ELSE
17471 
17472 		     l_column_value := p_attribute2;
17473 
17474                   END IF;
17475                   FND_FLEX_DESCVAL.Set_Column_Value
17476                   (   column_name   => 'ATTRIBUTE2'
17477                    ,  column_value  =>  l_column_value);
17478 
17479 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17480 
17481 		     l_column_value := null;
17482 
17483 	          ELSE
17484 
17485 		     l_column_value := p_attribute3;
17486 
17487                   END IF;
17488                   FND_FLEX_DESCVAL.Set_Column_Value
17489                   (   column_name   => 'ATTRIBUTE3'
17490                    ,  column_value  =>  l_column_value);
17491 
17492 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17493 
17494 		     l_column_value := null;
17495 
17496 	          ELSE
17497 
17498 		     l_column_value := p_attribute4;
17499 
17500                   END IF;
17501                   FND_FLEX_DESCVAL.Set_Column_Value
17502                   (   column_name   => 'ATTRIBUTE4'
17503                    ,  column_value  =>  l_column_value);
17504 
17505 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17506 
17507 		     l_column_value := null;
17508 
17509 	          ELSE
17510 
17511 		     l_column_value := p_attribute5;
17512 
17513                   END IF;
17514                   FND_FLEX_DESCVAL.Set_Column_Value
17515                   (   column_name   => 'ATTRIBUTE5'
17516                    ,  column_value  =>  l_column_value);
17517 
17518 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17519 
17520 		     l_column_value := null;
17521 
17522 	          ELSE
17523 
17524 		     l_column_value := p_attribute6;
17525 
17526                   END IF;
17527                   FND_FLEX_DESCVAL.Set_Column_Value
17528                   (   column_name   => 'ATTRIBUTE6'
17529                    ,  column_value  =>  l_column_value);
17530 
17531 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17532 
17533 		     l_column_value := null;
17534 
17535 	          ELSE
17536 
17537 		     l_column_value := p_attribute7;
17538 
17539                   END IF;
17540                   FND_FLEX_DESCVAL.Set_Column_Value
17541                   (   column_name   => 'ATTRIBUTE7'
17542                    ,  column_value  =>  l_column_value);
17543 
17544 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17545 
17546 		     l_column_value := null;
17547 
17548 	          ELSE
17549 
17550 		     l_column_value := p_attribute8;
17551 
17552                   END IF;
17553                   FND_FLEX_DESCVAL.Set_Column_Value
17554                   (   column_name   => 'ATTRIBUTE8'
17555                    ,  column_value  =>  l_column_value);
17556 
17557 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17558 
17559 		     l_column_value := null;
17560 
17561 	          ELSE
17562 
17563 		     l_column_value := p_attribute9;
17564 
17565                   END IF;
17566                   FND_FLEX_DESCVAL.Set_Column_Value
17567                   (   column_name   => 'ATTRIBUTE9'
17568                    ,  column_value  =>  l_column_value);
17569 
17570 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17571 
17572 		     l_column_value := null;
17573 
17574 	          ELSE
17575 
17576 		     l_column_value := p_attribute10;
17577 
17578                   END IF;
17579                   FND_FLEX_DESCVAL.Set_Column_Value
17580                   (   column_name   => 'ATTRIBUTE10'
17581                    ,  column_value  =>  l_column_value);
17582 
17583 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17584 
17585 		     l_column_value := null;
17586 
17587 	          ELSE
17588 
17589 		     l_column_value := p_attribute11;
17590 
17591                   END IF;
17592                   FND_FLEX_DESCVAL.Set_Column_Value
17593                   (   column_name   => 'ATTRIBUTE11'
17594                    ,  column_value  =>  l_column_value);
17595 
17596 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17597 
17598 		     l_column_value := null;
17599 
17600 	          ELSE
17601 
17602 		     l_column_value := p_attribute12;
17603 
17604                   END IF;
17605                   FND_FLEX_DESCVAL.Set_Column_Value
17606                   (   column_name   => 'ATTRIBUTE12'
17607                    ,  column_value  =>  l_column_value);
17608 
17609 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17610 
17611 		     l_column_value := null;
17612 
17613 	          ELSE
17614 
17615 		     l_column_value := p_attribute13;
17616 
17617                   END IF;
17618                   FND_FLEX_DESCVAL.Set_Column_Value
17619                   (   column_name   => 'ATTRIBUTE13'
17620                    ,  column_value  =>  l_column_value);
17621 
17622 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17623 
17624 		     l_column_value := null;
17625 
17626 	          ELSE
17627 
17628 		     l_column_value := p_attribute14;
17629 
17630                   END IF;
17631                   FND_FLEX_DESCVAL.Set_Column_Value
17632                   (   column_name   => 'ATTRIBUTE14'
17633                    ,  column_value  =>  l_column_value);
17634 
17635 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17636 
17637 		     l_column_value := null;
17638 
17639 	          ELSE
17640 
17641 		     l_column_value := p_attribute15;
17642 
17643                   END IF;
17644                   FND_FLEX_DESCVAL.Set_Column_Value
17645                   (   column_name   => 'ATTRIBUTE15'
17646                    ,  column_value  =>  l_column_value);
17647 
17648 		  IF p_context = FND_API.G_MISS_CHAR THEN
17649 
17650 		     l_column_value := null;
17651 
17652 	          ELSE
17653 
17654 		     l_column_value := p_context;
17655 
17656                   END IF;
17657 		  FND_FLEX_DESCVAL.Set_Context_Value
17658 		   ( context_value   => l_column_value);
17659 
17660                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_SALES_CREDITS_ATTRIBUTES') THEN
17661 			RETURN FALSE;
17662                    END IF;
17663 
17664 
17665                 END IF;
17666 
17667 
17668     RETURN TRUE;
17669 
17670 EXCEPTION
17671 
17672    WHEN OTHERS THEN
17673 
17674 
17675      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17676      THEN
17677 
17678         OE_MSG_PUB.Add_Exc_Msg
17679 	( G_PKG_NAME
17680           , 'Sales_Credits_Desc_Flex');
17681      END IF;
17682 
17683 
17684     RETURN FALSE;
17685 
17686 END Sales_Credits_Desc_Flex;
17687 
17688 
17689 FUNCTION Return_reason ( p_return_reason_code IN VARCHAR2 )
17690 RETURN BOOLEAN
17691 IS
17692 l_dummy                       VARCHAR2(10);
17693 l_lookup_type      	      VARCHAR2(80) :='CREDIT_MEMO_REASON';
17694 BEGIN
17695 
17696 
17697     IF p_return_reason_code IS NULL OR
17698         p_return_reason_code = FND_API.G_MISS_CHAR
17699     THEN
17700 
17701         RETURN TRUE;
17702     END IF;
17703 
17704     -- Fixed bug 1793991
17705     SELECT  'VALID'
17706     INTO    l_dummy
17707     FROM    OE_AR_LOOKUPS_V
17708     WHERE   LOOKUP_CODE = p_return_reason_code
17709     AND     LOOKUP_TYPE = l_lookup_type;
17710 
17711     RETURN TRUE;
17712 
17713 EXCEPTION
17714 
17715     WHEN NO_DATA_FOUND THEN
17716 
17717         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17718         THEN
17719 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_REASON_CODE');
17720 
17721 
17722             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17723             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17724 				OE_Order_Util.Get_Attribute_Name('return_reason_code'));
17725             OE_MSG_PUB.Add;
17726 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17727 
17728         END IF;
17729 
17730 
17731 
17732 
17733         RETURN FALSE;
17734 
17735     WHEN OTHERS THEN
17736 
17737         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17738         THEN
17739             OE_MSG_PUB.Add_Exc_Msg
17740             (   G_PKG_NAME
17741             ,   'return_reason'
17742             );
17743         END IF;
17744 
17745 
17746 
17747         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17748 
17749 END Return_reason;
17750 
17751 FUNCTION Split_from_line ( p_split_from_line_id IN NUMBER )
17752 RETURN BOOLEAN
17753 IS
17754 l_dummy                       VARCHAR2(10);
17755 BEGIN
17756 
17757 
17758     IF p_split_from_line_id IS NULL OR
17759         p_split_from_line_id = FND_API.G_MISS_NUM
17760     THEN
17761 
17762         RETURN TRUE;
17763     END IF;
17764 
17765     --  SELECT  'VALID'
17766     --  INTO     l_dummy
17767     --  FROM     DB_TABLE
17768     --  WHERE    DB_COLUMN = p_split_from_line_id;
17769 
17770 
17771 
17772     RETURN TRUE;
17773 
17774 EXCEPTION
17775 
17776     WHEN NO_DATA_FOUND THEN
17777 
17778         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17779         THEN
17780 
17781 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_FROM_LINE_ID');
17782 
17783             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17784             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17785 				OE_Order_Util.Get_Attribute_Name('split_from_line_id'));
17786             OE_MSG_PUB.Add;
17787 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17788 
17789         END IF;
17790 
17791 
17792 
17793         RETURN FALSE;
17794 
17795     WHEN OTHERS THEN
17796 
17797         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17798         THEN
17799             OE_MSG_PUB.Add_Exc_Msg
17800             (   G_PKG_NAME
17801             ,   'split_from_line'
17802             );
17803         END IF;
17804 
17805 
17806 
17807         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17808 
17809 END Split_from_line;
17810 
17811 FUNCTION Cust_production_seq_num ( p_cust_production_seq_num IN VARCHAR2 )
17812 RETURN BOOLEAN
17813 IS
17814 l_dummy                       VARCHAR2(10);
17815 BEGIN
17816 
17817 
17818     IF p_cust_production_seq_num IS NULL OR
17819         p_cust_production_seq_num = FND_API.G_MISS_CHAR
17820     THEN
17821 
17822         RETURN TRUE;
17823     END IF;
17824 
17825     --  SELECT  'VALID'
17826     --  INTO     l_dummy
17827     --  FROM     DB_TABLE
17828     --  WHERE    DB_COLUMN = p_cust_production_seq_num;
17829 
17830 
17831 
17832     RETURN TRUE;
17833 
17834 EXCEPTION
17835 
17836     WHEN NO_DATA_FOUND THEN
17837 
17838         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17839         THEN
17840 
17841 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_SEQ_NUM');
17842 
17843             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17844             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17845 				OE_Order_Util.Get_Attribute_Name('cust_production_seq_num'));
17846             OE_MSG_PUB.Add;
17847 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17848 
17849         END IF;
17850 
17851 
17852 
17853         RETURN FALSE;
17854 
17855     WHEN OTHERS THEN
17856 
17857         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17858         THEN
17859             OE_MSG_PUB.Add_Exc_Msg
17860             (   G_PKG_NAME
17861             ,   'cust_production_seq_num'
17862             );
17863         END IF;
17864 
17865 
17866 
17867         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17868 
17869 END Cust_production_seq_num;
17870 
17871 
17872 FUNCTION Authorized_to_ship ( p_authorized_to_ship_flag IN VARCHAR2 )
17873 RETURN BOOLEAN
17874 IS
17875 l_dummy                       VARCHAR2(10);
17876 BEGIN
17877 
17878 
17879     IF p_authorized_to_ship_flag IS NULL OR
17880         p_authorized_to_ship_flag = FND_API.G_MISS_CHAR
17881     THEN
17882 
17883         RETURN TRUE;
17884     END IF;
17885 
17886     --  SELECT  'VALID'
17887     --  INTO     l_dummy
17888     --  FROM     DB_TABLE
17889     --  WHERE    DB_COLUMN = p_authorized_to_ship_flag;
17890 
17891 
17892 
17893     RETURN TRUE;
17894 
17895 EXCEPTION
17896 
17897     WHEN NO_DATA_FOUND THEN
17898 
17899         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17900         THEN
17901 
17902 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTHORIZED_TO_SHIP_FLAG');
17903 
17904             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17905             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17906 				OE_Order_Util.Get_Attribute_Name('authorized_to_ship_flag'));
17907             OE_MSG_PUB.Add;
17908 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17909 
17910         END IF;
17911 
17912 
17913 
17914         RETURN FALSE;
17915 
17916     WHEN OTHERS THEN
17917 
17918         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17919         THEN
17920             OE_MSG_PUB.Add_Exc_Msg
17921             (   G_PKG_NAME
17922             ,   'authorized_to_ship'
17923             );
17924         END IF;
17925 
17926 
17927 
17928         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17929 
17930 END Authorized_to_ship;
17931 
17932 FUNCTION Veh_cus_item_cum_key ( p_veh_cus_item_cum_key_id IN NUMBER )
17933 RETURN BOOLEAN
17934 IS
17935 l_dummy                       VARCHAR2(10);
17936 BEGIN
17937 
17938 
17939     IF p_veh_cus_item_cum_key_id IS NULL OR
17940         p_veh_cus_item_cum_key_id = FND_API.G_MISS_NUM
17941     THEN
17942 
17943         RETURN TRUE;
17944     END IF;
17945 
17946     --  SELECT  'VALID'
17947     --  INTO     l_dummy
17948     --  FROM     DB_TABLE
17949     --  WHERE    DB_COLUMN = p_veh_cus_item_cum_key_id;
17950 
17951 
17952 
17953     RETURN TRUE;
17954 
17955 EXCEPTION
17956 
17957     WHEN NO_DATA_FOUND THEN
17958 
17959         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17960         THEN
17961 
17962 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VEH_CUS_ITEM_CUM_KEY_ID');
17963 
17964             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17965             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17966 				OE_Order_Util.Get_Attribute_Name('veh_cus_item_cum_key_id'));
17967             OE_MSG_PUB.Add;
17968 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17969 
17970         END IF;
17971 
17972 
17973 
17974         RETURN FALSE;
17975 
17976     WHEN OTHERS THEN
17977 
17978         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17979         THEN
17980             OE_MSG_PUB.Add_Exc_Msg
17981             (   G_PKG_NAME
17982             ,   'veh_cus_item_cum_key'
17983             );
17984         END IF;
17985 
17986 
17987 
17988         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17989 
17990 END Veh_cus_item_cum_key;
17991 
17992 FUNCTION Arrival_set ( p_arrival_set_id IN NUMBER )
17993 RETURN BOOLEAN
17994 IS
17995 l_dummy                       VARCHAR2(10);
17996 BEGIN
17997 
17998 
17999     IF p_arrival_set_id IS NULL OR
18000         p_arrival_set_id = FND_API.G_MISS_NUM
18001     THEN
18002 
18003         RETURN TRUE;
18004     END IF;
18005 
18006     --  SELECT  'VALID'
18007     --  INTO     l_dummy
18008     --  FROM     DB_TABLE
18009     --  WHERE    DB_COLUMN = p_arrival_set_id;
18010 
18011 
18012 
18013     RETURN TRUE;
18014 
18015 EXCEPTION
18016 
18017     WHEN NO_DATA_FOUND THEN
18018 
18019         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18020         THEN
18021 
18022 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ARRIVAL_SET_ID');
18023 
18024 
18025             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18026             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18027 				OE_Order_Util.Get_Attribute_Name('arrival_set_id'));
18028             OE_MSG_PUB.Add;
18029 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18030 
18031         END IF;
18032 
18033 
18034 
18035         RETURN FALSE;
18036 
18037     WHEN OTHERS THEN
18038 
18039         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18040         THEN
18041             OE_MSG_PUB.Add_Exc_Msg
18042             (   G_PKG_NAME
18043             ,   'arrival_set'
18044             );
18045         END IF;
18046 
18047 
18048 
18049         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18050 
18051 END Arrival_set;
18052 
18053 FUNCTION Ship_set ( p_ship_set_id IN NUMBER )
18054 RETURN BOOLEAN
18055 IS
18056 l_dummy                       VARCHAR2(10);
18057 BEGIN
18058 
18059 
18060     IF p_ship_set_id IS NULL OR
18061         p_ship_set_id = FND_API.G_MISS_NUM
18062     THEN
18063 
18064         RETURN TRUE;
18065     END IF;
18066 
18067     --  SELECT  'VALID'
18068     --  INTO     l_dummy
18069     --  FROM     DB_TABLE
18070     --  WHERE    DB_COLUMN = p_ship_set_id;
18071 
18072 
18073 
18074     RETURN TRUE;
18075 
18076 EXCEPTION
18077 
18078     WHEN NO_DATA_FOUND THEN
18079 
18080         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18081         THEN
18082 
18083 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_SET_ID');
18084 
18085             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18086             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18087 				OE_Order_Util.Get_Attribute_Name('ship_set_id'));
18088             OE_MSG_PUB.Add;
18089 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18090 
18091         END IF;
18092 
18093 
18094 
18095         RETURN FALSE;
18096 
18097     WHEN OTHERS THEN
18098 
18099         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18100         THEN
18101             OE_MSG_PUB.Add_Exc_Msg
18102             (   G_PKG_NAME
18103             ,   'ship_set'
18104             );
18105         END IF;
18106 
18107 
18108 
18109         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18110 
18111 END Ship_set;
18112 
18113 FUNCTION Over_ship_reason ( p_over_ship_reason_code IN VARCHAR2 )
18114 RETURN BOOLEAN
18115 IS
18116 l_dummy                       VARCHAR2(10);
18117 BEGIN
18118 
18119 
18120     IF p_over_ship_reason_code IS NULL OR
18121         p_over_ship_reason_code = FND_API.G_MISS_CHAR
18122     THEN
18123 
18124         RETURN TRUE;
18125     END IF;
18126 
18127     --  SELECT  'VALID'
18128     --  INTO     l_dummy
18129     --  FROM     DB_TABLE
18130     --  WHERE    DB_COLUMN = p_over_ship_reason_code;
18131 
18132 
18133 
18134     RETURN TRUE;
18135 
18136 EXCEPTION
18137 
18138     WHEN NO_DATA_FOUND THEN
18139 
18140         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18141         THEN
18142 
18143 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_REASON_CODE');
18144 
18145             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18146             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18147 				OE_Order_Util.Get_Attribute_Name('over_ship_reason_code'));
18148             OE_MSG_PUB.Add;
18149 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18150 
18151         END IF;
18152 
18153 
18154 
18155         RETURN FALSE;
18156 
18157     WHEN OTHERS THEN
18158 
18159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18160         THEN
18161             OE_MSG_PUB.Add_Exc_Msg
18162             (   G_PKG_NAME
18163             ,   'over_ship_reason'
18164             );
18165         END IF;
18166 
18167 
18168 
18169         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18170 
18171 END Over_ship_reason;
18172 
18173 FUNCTION Over_ship_resolved ( p_over_ship_resolved_flag IN VARCHAR2 )
18174 RETURN BOOLEAN
18175 IS
18176 l_dummy                       VARCHAR2(10);
18177 BEGIN
18178 
18179 
18180     IF p_over_ship_resolved_flag IS NULL OR
18181         p_over_ship_resolved_flag = FND_API.G_MISS_CHAR
18182     THEN
18183 
18184         RETURN TRUE;
18185     END IF;
18186 
18187 
18188     --  SELECT  'VALID'
18189     --  INTO     l_dummy
18190     --  FROM     DB_TABLE
18191     --  WHERE    DB_COLUMN = p_over_ship_resolved_flag;
18192 
18193 
18194 
18195     RETURN TRUE;
18196 
18197 EXCEPTION
18198 
18199     WHEN NO_DATA_FOUND THEN
18200 
18201         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18202         THEN
18203 
18204 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_RESOLVED_FLAG');
18205 
18206             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18207             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18208 				OE_Order_Util.Get_Attribute_Name('over_ship_resolved_flag'));
18209             OE_MSG_PUB.Add;
18210 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18211 
18212         END IF;
18213 
18214 
18215 
18216         RETURN FALSE;
18217 
18218     WHEN OTHERS THEN
18219 
18220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18221         THEN
18222             OE_MSG_PUB.Add_Exc_Msg
18223             (   G_PKG_NAME
18224             ,   'over_ship_resolved'
18225             );
18226         END IF;
18227 
18228 
18229 
18230         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18231 
18232 END Over_ship_resolved;
18233 
18234 FUNCTION Payment_Type ( p_payment_type_code IN VARCHAR2 )
18235 RETURN BOOLEAN
18236 IS
18237 l_dummy                       VARCHAR2(10);
18238 l_lookup_type      	      VARCHAR2(80) :='PAYMENT TYPE';
18239 BEGIN
18240 
18241 
18242     IF p_payment_type_code IS NULL OR
18243         p_payment_type_code = FND_API.G_MISS_CHAR
18244     THEN
18245 
18246         RETURN TRUE;
18247     END IF;
18248 
18249     SELECT  'VALID'
18250     INTO    l_dummy
18251     FROM    OE_LOOKUPS
18252     WHERE   LOOKUP_CODE = p_payment_type_code
18253     AND     LOOKUP_TYPE = l_lookup_type
18254     AND     ROWNUM = 1;
18255     --
18256     -- Commented out when importing CLOSED orders
18257     --
18258     -- AND     ENABLED_FLAG = 'Y'
18259     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
18260     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
18261 
18262 
18263 
18264     RETURN TRUE;
18265 
18266 EXCEPTION
18267 
18268     WHEN NO_DATA_FOUND THEN
18269 
18270         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18271         THEN
18272 
18273 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TYPE_CODE');
18274 
18275             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18276             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18277 				OE_Order_Util.Get_Attribute_Name('payment_type_code'));
18278             OE_MSG_PUB.Add;
18279 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18280 
18281         END IF;
18282 
18283 
18284         RETURN FALSE;
18285 
18286     WHEN OTHERS THEN
18287 
18288         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18289         THEN
18290             OE_MSG_PUB.Add_Exc_Msg
18291             (   G_PKG_NAME
18292             ,   'Payment_Type'
18293             );
18294         END IF;
18295 
18296 
18297         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18298 
18299 END Payment_Type;
18300 
18301 FUNCTION Payment_Amount ( p_payment_amount IN NUMBER )
18302 RETURN BOOLEAN
18303 IS
18304 l_dummy                       VARCHAR2(10);
18305 BEGIN
18306 
18307 
18308     IF p_payment_amount IS NULL OR
18309         p_payment_amount = FND_API.G_MISS_NUM
18310     THEN
18311 
18312         RETURN TRUE;
18313     END IF;
18314 
18315     --  SELECT  'VALID'
18316     --  INTO     l_dummy
18317     --  FROM     DB_TABLE
18318     --  WHERE    DB_COLUMN = p_payment_amount;
18319 
18320 
18321 
18322     RETURN TRUE;
18323 
18324 EXCEPTION
18325 
18326     WHEN NO_DATA_FOUND THEN
18327 
18328         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18329         THEN
18330 
18331 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_AMOUNT');
18332 
18333             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18334             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18335 				OE_Order_Util.Get_Attribute_Name('payment_amount'));
18336             OE_MSG_PUB.Add;
18337 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18338 
18339         END IF;
18340 
18341 
18342 
18343         RETURN FALSE;
18344 
18345     WHEN OTHERS THEN
18346 
18347         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18348         THEN
18349             OE_MSG_PUB.Add_Exc_Msg
18350             (   G_PKG_NAME
18351             ,   'payment_amount'
18352             );
18353         END IF;
18354 
18355 
18356 
18357         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18358 
18359 END Payment_Amount;
18360 
18361 FUNCTION Check_Number ( p_check_number IN VARCHAR2 )
18362 RETURN BOOLEAN
18363 IS
18364 l_dummy                       VARCHAR2(10);
18365 BEGIN
18366 
18367 
18368     IF p_check_number IS NULL OR
18369         p_check_number = FND_API.G_MISS_CHAR
18370     THEN
18371 
18372         RETURN TRUE;
18373     END IF;
18374 
18375     --  SELECT  'VALID'
18376     --  INTO     l_dummy
18377     --  FROM     DB_TABLE
18378     --  WHERE    DB_COLUMN = p_check_number;
18379 
18380 
18381     RETURN TRUE;
18382 
18383 EXCEPTION
18384 
18385     WHEN NO_DATA_FOUND THEN
18386 
18387         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18388         THEN
18389 
18390 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHECK_NUMBER');
18391 
18392             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18393             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18394 				OE_Order_Util.Get_Attribute_Name('check_number'));
18395             OE_MSG_PUB.Add;
18396 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18397 
18398         END IF;
18399 
18400 
18401         RETURN FALSE;
18402 
18403     WHEN OTHERS THEN
18404 
18405         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18406         THEN
18407             OE_MSG_PUB.Add_Exc_Msg
18408             (   G_PKG_NAME
18409             ,   'Check_Number'
18410             );
18411         END IF;
18412 
18413 
18414         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18415 
18416 END Check_Number;
18417 
18418 FUNCTION Credit_Card ( p_credit_card_code IN VARCHAR2 )
18419 RETURN BOOLEAN
18420 IS
18421 l_dummy                       VARCHAR2(10);
18422 l_lookup_type      	      VARCHAR2(80) :='CREDIT_CARD';
18423 BEGIN
18424 
18425 
18426     IF p_credit_card_code IS NULL OR
18427         p_credit_card_code = FND_API.G_MISS_CHAR
18428     THEN
18429 
18430         RETURN TRUE;
18431     END IF;
18432 
18433     SELECT  'VALID'
18434     INTO    l_dummy
18435     FROM    OE_LOOKUPS
18436     WHERE   LOOKUP_CODE = p_credit_card_code
18437     AND     LOOKUP_TYPE = l_lookup_type
18438     AND     ROWNUM = 1;
18439     --
18440     -- Commented out when importing CLOSED orders
18441     --
18442     -- AND     ENABLED_FLAG = 'Y'
18443     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
18444     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
18445 
18446 
18447 
18448     RETURN TRUE;
18449 
18450 EXCEPTION
18451 
18452     WHEN NO_DATA_FOUND THEN
18453 
18454         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18455         THEN
18456 
18457 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_CODE');
18458 
18459             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18460             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18461 				OE_Order_Util.Get_Attribute_Name('credit_card_code'));
18462             OE_MSG_PUB.Add;
18463 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18464 
18465         END IF;
18466 
18467 
18468         RETURN FALSE;
18469 
18470     WHEN OTHERS THEN
18471 
18472         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18473         THEN
18474             OE_MSG_PUB.Add_Exc_Msg
18475             (   G_PKG_NAME
18476             ,   'Credit_Card'
18477             );
18478         END IF;
18479 
18480 
18481         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18482 
18483 END Credit_Card;
18484 
18485 FUNCTION Credit_Card_Holder_Name ( p_credit_card_holder_name IN VARCHAR2 )
18486 RETURN BOOLEAN
18487 IS
18488 l_dummy                       VARCHAR2(10);
18489 BEGIN
18490 
18491 
18492     IF p_credit_card_holder_name IS NULL OR
18493         p_credit_card_holder_name = FND_API.G_MISS_CHAR
18494     THEN
18495 
18496         RETURN TRUE;
18497     END IF;
18498 
18499     --  SELECT  'VALID'
18500     --  INTO     l_dummy
18501     --  FROM     DB_TABLE
18502     --  WHERE    DB_COLUMN = p_credit_card_holder_name;
18503 
18504 
18505     RETURN TRUE;
18506 
18507 EXCEPTION
18508 
18509     WHEN NO_DATA_FOUND THEN
18510 
18511         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18512         THEN
18513 
18514 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_HOLDER_NAME');
18515 
18516             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18517             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18518 				OE_Order_Util.Get_Attribute_Name('credit_card_holder_name'));
18519             OE_MSG_PUB.Add;
18520 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18521 
18522         END IF;
18523 
18524 
18525         RETURN FALSE;
18526 
18527     WHEN OTHERS THEN
18528 
18529         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18530         THEN
18531             OE_MSG_PUB.Add_Exc_Msg
18532             (   G_PKG_NAME
18533             ,   'Credit_Card_Holder_Name'
18534             );
18535         END IF;
18536 
18537 
18538         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18539 
18540 END Credit_Card_Holder_Name;
18541 
18542 FUNCTION Credit_Card_Number ( p_credit_card_number IN VARCHAR2 )
18543 RETURN BOOLEAN
18544 IS
18545 l_dummy                       VARCHAR2(10);
18546 BEGIN
18547 
18548 
18549     IF p_credit_card_number IS NULL OR
18550         p_credit_card_number = FND_API.G_MISS_CHAR
18551     THEN
18552 
18553         RETURN TRUE;
18554     END IF;
18555 
18556     --  SELECT  'VALID'
18557     --  INTO     l_dummy
18558     --  FROM     DB_TABLE
18559     --  WHERE    DB_COLUMN = p_credit_card_number;
18560 
18561 
18562     RETURN TRUE;
18563 
18564 EXCEPTION
18565 
18566     WHEN NO_DATA_FOUND THEN
18567 
18568         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18569         THEN
18570 
18571 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_NUMBER');
18572 
18573             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18574             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18575 				OE_Order_Util.Get_Attribute_Name('credit_card_number'));
18576             OE_MSG_PUB.Add;
18577 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18578 
18579         END IF;
18580 
18581 
18582         RETURN FALSE;
18583 
18584     WHEN OTHERS THEN
18585 
18586         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18587         THEN
18588             OE_MSG_PUB.Add_Exc_Msg
18589             (   G_PKG_NAME
18590             ,   'Credit_Card_Number'
18591             );
18592         END IF;
18593 
18594 
18595         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18596 
18597 END Credit_Card_Number;
18598 
18599 FUNCTION Credit_Card_Approval_Date ( p_credit_card_approval_date IN DATE )
18600 RETURN BOOLEAN
18601 IS
18602 l_dummy                       VARCHAR2(10);
18603 BEGIN
18604     IF p_credit_card_approval_date IS NULL OR
18605         p_credit_card_approval_date = FND_API.G_MISS_DATE
18606     THEN
18607         RETURN TRUE;
18608     END IF;
18609     --  SELECT  'VALID'
18610     --  INTO     l_dummy
18611     --  FROM     DB_TABLE
18612     --  WHERE    DB_COLUMN = p_credit_card_approval_date;
18613     RETURN TRUE;
18614 EXCEPTION
18615     WHEN NO_DATA_FOUND THEN
18616         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18617         THEN
18618 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_DATE');
18619            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18620            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18621 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_date'));
18622            OE_MSG_PUB.Add;
18623 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18624         END IF;
18625         RETURN FALSE;
18626     WHEN OTHERS THEN
18627         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18628         THEN
18629             OE_MSG_PUB.Add_Exc_Msg
18630             (   G_PKG_NAME
18631             ,   'Credit_Card_Approval_Date'
18632             );
18633         END IF;
18634         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18635 END Credit_Card_Approval_Date;
18636 
18637 FUNCTION Credit_Card_Expiration_Date ( p_credit_card_expiration_date IN DATE )
18638 RETURN BOOLEAN
18639 IS
18640 l_dummy                       VARCHAR2(10);
18641 BEGIN
18642     IF p_credit_card_expiration_date IS NULL OR
18643         p_credit_card_expiration_date = FND_API.G_MISS_DATE
18644     THEN
18645         RETURN TRUE;
18646     END IF;
18647     --  SELECT  'VALID'
18648     --  INTO     l_dummy
18649     --  FROM     DB_TABLE
18650     --  WHERE    DB_COLUMN = p_credit_card_expiration_date;
18651     RETURN TRUE;
18652 EXCEPTION
18653     WHEN NO_DATA_FOUND THEN
18654         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18655         THEN
18656 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_EXPIRATION_DATE');
18657             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18658             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18659 				OE_Order_Util.Get_Attribute_Name('credit_card_expiration_date'));
18660             OE_MSG_PUB.Add;
18661 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18662         END IF;
18663         RETURN FALSE;
18664     WHEN OTHERS THEN
18665         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18666         THEN
18667             OE_MSG_PUB.Add_Exc_Msg
18668             (   G_PKG_NAME
18669             ,   'Credit_Card_Expiration_Date'
18670             );
18671         END IF;
18672         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18673 END Credit_Card_Expiration_Date;
18674 
18675 FUNCTION Credit_Card_Approval ( p_credit_card_approval_code IN VARCHAR2 )
18676 RETURN BOOLEAN
18677 IS
18678 l_dummy                       VARCHAR2(10);
18679 BEGIN
18680 
18681 
18682     IF p_credit_card_approval_code IS NULL OR
18683         p_credit_card_approval_code = FND_API.G_MISS_CHAR
18684     THEN
18685 
18686         RETURN TRUE;
18687     END IF;
18688 
18689     --  SELECT  'VALID'
18690     --  INTO     l_dummy
18691     --  FROM     DB_TABLE
18692     --  WHERE    DB_COLUMN = p_credit_card_approval_code;
18693 
18694 
18695     RETURN TRUE;
18696 
18697 EXCEPTION
18698 
18699     WHEN NO_DATA_FOUND THEN
18700 
18701         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18702         THEN
18703 
18704 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_CODE');
18705 
18706             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18707             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18708 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_code'));
18709             OE_MSG_PUB.Add;
18710 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18711 
18712         END IF;
18713 
18714 
18715         RETURN FALSE;
18716 
18717     WHEN OTHERS THEN
18718 
18719         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18720         THEN
18721             OE_MSG_PUB.Add_Exc_Msg
18722             (   G_PKG_NAME
18723             ,   'Credit_Card_Approval'
18724             );
18725         END IF;
18726 
18727 
18728         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18729 
18730 END Credit_Card_Approval;
18731 
18732 
18733 FUNCTION First_Ack ( p_first_ack_code IN VARCHAR2 )
18734 RETURN BOOLEAN
18735 IS
18736 l_dummy                       VARCHAR2(10);
18737 BEGIN
18738 
18739 
18740     IF p_first_ack_code IS NULL OR
18741         p_first_ack_code = FND_API.G_MISS_CHAR
18742     THEN
18743 
18744         RETURN TRUE;
18745     END IF;
18746 
18747     --  SELECT  'VALID'
18748     --  INTO     l_dummy
18749     --  FROM     DB_TABLE
18750     --  WHERE    DB_COLUMN = p_first_ack_code;
18751 
18752 
18753     RETURN TRUE;
18754 
18755 EXCEPTION
18756 
18757     WHEN NO_DATA_FOUND THEN
18758 
18759         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18760         THEN
18761 
18762 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_CODE');
18763 
18764             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18765             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18766 				OE_Order_Util.Get_Attribute_Name('first_ack_code'));
18767             OE_MSG_PUB.Add;
18768 
18769             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18770 
18771         END IF;
18772 
18773 
18774         RETURN FALSE;
18775 
18776     WHEN OTHERS THEN
18777 
18778         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18779         THEN
18780             OE_MSG_PUB.Add_Exc_Msg
18781             (   G_PKG_NAME
18782             ,   'First_Ack'
18783             );
18784         END IF;
18785 
18786 
18787         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18788 
18789 END First_Ack;
18790 
18791 
18792 FUNCTION First_Ack_DATE ( p_first_ack_date IN DATE )
18793 RETURN BOOLEAN
18794 IS
18795 l_dummy                       VARCHAR2(10);
18796 BEGIN
18797 
18798 
18799     IF p_first_ack_date IS NULL OR
18800         p_first_ack_date = FND_API.G_MISS_DATE
18801     THEN
18802 
18803         RETURN TRUE;
18804     END IF;
18805 
18806     --  SELECT  'VALID'
18807     --  INTO     l_dummy
18808     --  FROM     DB_TABLE
18809     --  WHERE    DB_COLUMN = p_first_ack_date;
18810 
18811 
18812     RETURN TRUE;
18813 
18814 EXCEPTION
18815 
18816     WHEN NO_DATA_FOUND THEN
18817 
18818         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18819         THEN
18820 
18821 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_DATE');
18822 
18823             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18824             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18825 				OE_Order_Util.Get_Attribute_Name('first_ack_date'));
18826             OE_MSG_PUB.Add;
18827 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18828 
18829         END IF;
18830 
18831 
18832         RETURN FALSE;
18833 
18834     WHEN OTHERS THEN
18835 
18836         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18837         THEN
18838             OE_MSG_PUB.Add_Exc_Msg
18839             (   G_PKG_NAME
18840             ,   'First_Ack_Date'
18841             );
18842         END IF;
18843 
18844 
18845         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18846 
18847 END First_Ack_Date;
18848 
18849 FUNCTION Last_Ack ( p_last_ack_code IN VARCHAR2 )
18850 RETURN BOOLEAN
18851 IS
18852 l_dummy                       VARCHAR2(10);
18853 BEGIN
18854 
18855 
18856     IF p_last_ack_code IS NULL OR
18857         p_last_ack_code = FND_API.G_MISS_CHAR
18858     THEN
18859 
18860         RETURN TRUE;
18861     END IF;
18862 
18863     --  SELECT  'VALID'
18864     --  INTO     l_dummy
18865     --  FROM     DB_TABLE
18866     --  WHERE    DB_COLUMN = p_last_ack_code;
18867 
18868 
18869     RETURN TRUE;
18870 
18871 EXCEPTION
18872 
18873     WHEN NO_DATA_FOUND THEN
18874 
18875         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18876         THEN
18877 
18878 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_CODE');
18879 
18880             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18881             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18882 				OE_Order_Util.Get_Attribute_Name('last_ack_code'));
18883             OE_MSG_PUB.Add;
18884 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18885 
18886         END IF;
18887 
18888 
18889         RETURN FALSE;
18890 
18891     WHEN OTHERS THEN
18892 
18893         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18894         THEN
18895             OE_MSG_PUB.Add_Exc_Msg
18896             (   G_PKG_NAME
18897             ,   'Last_Ack'
18898             );
18899         END IF;
18900 
18901 
18902         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18903 
18904 END Last_Ack;
18905 
18906 
18907 FUNCTION Last_Ack_DATE ( p_last_ack_date IN DATE )
18908 RETURN BOOLEAN
18909 IS
18910 l_dummy                       VARCHAR2(10);
18911 BEGIN
18912 
18913 
18914     IF p_last_ack_date IS NULL OR
18915         p_last_ack_date = FND_API.G_MISS_DATE
18916     THEN
18917 
18918         RETURN TRUE;
18919     END IF;
18920 
18921     --  SELECT  'VALID'
18922     --  INTO     l_dummy
18923     --  FROM     DB_TABLE
18924     --  WHERE    DB_COLUMN = p_last_ack_date;
18925 
18926 
18927     RETURN TRUE;
18928 
18929 EXCEPTION
18930 
18931     WHEN NO_DATA_FOUND THEN
18932 
18933         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18934         THEN
18935 
18936 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_DATE');
18937 
18938             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18939             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18940 				OE_Order_Util.Get_Attribute_Name('last_ack_date'));
18941             OE_MSG_PUB.Add;
18942 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18943 
18944         END IF;
18945 
18946 
18947         RETURN FALSE;
18948 
18949     WHEN OTHERS THEN
18950 
18951         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18952         THEN
18953             OE_MSG_PUB.Add_Exc_Msg
18954             (   G_PKG_NAME
18955             ,   'Last_Ack_Date'
18956             );
18957         END IF;
18958 
18959 
18960         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18961 
18962 END Last_Ack_Date;
18963 
18964 FUNCTION End_Item_Unit_Number ( p_end_item_unit_number IN Varchar2 )
18965 RETURN BOOLEAN
18966 IS
18967 l_dummy                       VARCHAR2(10);
18968 BEGIN
18969 
18970 
18971     IF p_end_item_unit_number IS NULL OR
18972         p_end_item_unit_number = FND_API.G_MISS_CHAR
18973     THEN
18974         RETURN TRUE;
18975     END IF;
18976 
18977       SELECT  'VALID'
18978       INTO     l_dummy
18979       FROM     pjm_unit_numbers_lov_v
18980       WHERE    unit_number = p_end_item_unit_number;
18981 
18982     RETURN TRUE;
18983 
18984 EXCEPTION
18985 
18986     WHEN NO_DATA_FOUND THEN
18987 
18988         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18989         THEN
18990 
18991 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_ITEM_UNIT_NUMBER');
18992 
18993 
18994             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18995             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18996 				OE_Order_Util.Get_Attribute_Name('end_item_unit_number'));
18997             OE_MSG_PUB.Add;
18998 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18999 
19000         END IF;
19001 
19002 
19003         RETURN FALSE;
19004 
19005     WHEN OTHERS THEN
19006 
19007         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19008         THEN
19009             OE_MSG_PUB.Add_Exc_Msg
19010             (   G_PKG_NAME
19011             ,   'end_item_unit_number'
19012             );
19013         END IF;
19014 
19015 
19016         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19017 
19018 END End_Item_Unit_Number;
19019 
19020 FUNCTION Invoiced_Quantity ( p_invoiced_quantity IN NUMBER )
19021 RETURN BOOLEAN
19022 IS
19023 l_dummy                       VARCHAR2(10);
19024 BEGIN
19025 
19026 
19027     IF p_invoiced_quantity IS NULL OR
19028         p_invoiced_quantity = FND_API.G_MISS_NUM
19029     THEN
19030 
19031         RETURN TRUE;
19032     END IF;
19033 
19034     --  SELECT  'VALID'
19035     --  INTO     l_dummy
19036     --  FROM     DB_TABLE
19037     --  WHERE    DB_COLUMN = p_invoiced_quantity;
19038 
19039 
19040     RETURN TRUE;
19041 
19042 EXCEPTION
19043 
19044     WHEN NO_DATA_FOUND THEN
19045 
19046         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19047         THEN
19048 
19049 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_QUANTITY');
19050 
19051             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19052             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19053 				OE_Order_Util.Get_Attribute_Name('invoiced_quantity'));
19054             OE_MSG_PUB.Add;
19055 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19056 
19057         END IF;
19058 
19059 
19060         RETURN FALSE;
19061 
19062     WHEN OTHERS THEN
19063 
19064         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19065         THEN
19066             OE_MSG_PUB.Add_Exc_Msg
19067             (   G_PKG_NAME
19068             ,   'Invoiced_Quantity'
19069             );
19070         END IF;
19071 
19072 
19073         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19074 
19075 END Invoiced_Quantity;
19076 
19077 
19078 FUNCTION Service_Txn_Reason ( p_service_txn_reason IN VARCHAR2 )
19079 RETURN BOOLEAN
19080 IS
19081 l_dummy                       VARCHAR2(10);
19082 BEGIN
19083 
19084 
19085     IF p_service_txn_reason IS NULL OR
19086         p_service_txn_reason = FND_API.G_MISS_CHAR
19087     THEN
19088 
19089         RETURN TRUE;
19090     END IF;
19091 
19092     --  SELECT  'VALID'
19093     --  INTO     l_dummy
19094     --  FROM     DB_TABLE
19095     --  WHERE    DB_COLUMN = p_service_txn_reason;
19096 
19097 
19098     RETURN TRUE;
19099 
19100 EXCEPTION
19101 
19102     WHEN NO_DATA_FOUND THEN
19103 
19104         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19105         THEN
19106 
19107 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_REASON');
19108 
19109             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19110             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19111 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Reason'));
19112             OE_MSG_PUB.Add;
19113 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19114 
19115         END IF;
19116 
19117 
19118         RETURN FALSE;
19119 
19120     WHEN OTHERS THEN
19121 
19122         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19123         THEN
19124             OE_MSG_PUB.Add_Exc_Msg
19125             (   G_PKG_NAME
19126             ,   'Service_Txn_Reason'
19127             );
19128         END IF;
19129 
19130 
19131         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19132 
19133 END Service_Txn_Reason;
19134 
19135 
19136 FUNCTION Service_Txn_Comments ( p_service_txn_comments IN VARCHAR2 )
19137 RETURN BOOLEAN
19138 IS
19139 l_dummy                       VARCHAR2(10);
19140 BEGIN
19141 
19142 
19143     IF p_service_txn_comments IS NULL OR
19144         p_service_txn_comments = FND_API.G_MISS_CHAR
19145     THEN
19146 
19147         RETURN TRUE;
19148     END IF;
19149 
19150     --  SELECT  'VALID'
19151     --  INTO     l_dummy
19152     --  FROM     DB_TABLE
19153     --  WHERE    DB_COLUMN = p_service_txn_comments;
19154 
19155 
19156     RETURN TRUE;
19157 
19158 EXCEPTION
19159 
19160     WHEN NO_DATA_FOUND THEN
19161 
19162         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19163         THEN
19164 
19165 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_COMMENTS');
19166 
19167             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19168             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19169 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Comments'));
19170             OE_MSG_PUB.Add;
19171 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19172 
19173         END IF;
19174 
19175 
19176         RETURN FALSE;
19177 
19178     WHEN OTHERS THEN
19179 
19180         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19181         THEN
19182             OE_MSG_PUB.Add_Exc_Msg
19183             (   G_PKG_NAME
19184             ,   'Service_Txn_Comments'
19185             );
19186         END IF;
19187 
19188 
19189         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19190 
19191 END Service_Txn_Comments;
19192 
19193 
19194 FUNCTION Service_Duration ( p_service_duration IN NUMBER )
19195 RETURN BOOLEAN
19196 IS
19197 l_dummy                       VARCHAR2(10);
19198 BEGIN
19199 
19200 
19201     IF p_service_duration IS NULL OR
19202         p_service_duration = FND_API.G_MISS_NUM
19203     THEN
19204 
19205         RETURN TRUE;
19206     END IF;
19207 
19208     --  SELECT  'VALID'
19209     --  INTO     l_dummy
19210     --  FROM     DB_TABLE
19211     --  WHERE    DB_COLUMN = p_service_duration;
19212 
19213 
19214     RETURN TRUE;
19215 
19216 EXCEPTION
19217 
19218     WHEN NO_DATA_FOUND THEN
19219 
19220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19221         THEN
19222 
19223 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Serviced_Duration');
19224 
19225             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19226             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19227 				OE_Order_Util.Get_Attribute_Name('Service_Duration'));
19228             OE_MSG_PUB.Add;
19229 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19230 
19231         END IF;
19232 
19233 
19234         RETURN FALSE;
19235 
19236     WHEN OTHERS THEN
19237 
19238         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19239         THEN
19240             OE_MSG_PUB.Add_Exc_Msg
19241             (   G_PKG_NAME
19242             ,   'Serviced_Duration'
19243             );
19244         END IF;
19245 
19246 
19247         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19248 
19249 END Service_Duration;
19250 
19251 FUNCTION Service_Period ( p_service_period IN VARCHAR2 )
19252 RETURN BOOLEAN
19253 IS
19254 l_dummy                       VARCHAR2(10);
19255 BEGIN
19256 
19257 
19258     IF p_service_period IS NULL OR
19259         p_service_period = FND_API.G_MISS_CHAR
19260     THEN
19261 
19262         RETURN TRUE;
19263     END IF;
19264 
19265     --  SELECT  'VALID'
19266     --  INTO     l_dummy
19267     --  FROM     DB_TABLE
19268     --  WHERE    DB_COLUMN = p_service_period;
19269 
19270 
19271     RETURN TRUE;
19272 
19273 EXCEPTION
19274 
19275     WHEN NO_DATA_FOUND THEN
19276 
19277         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19278         THEN
19279 
19280 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Period');
19281 
19282             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19283             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19284 				OE_Order_Util.Get_Attribute_Name('Service_Period'));
19285             OE_MSG_PUB.Add;
19286 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19287 
19288         END IF;
19289 
19290 
19291         RETURN FALSE;
19292 
19293     WHEN OTHERS THEN
19294 
19295         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19296         THEN
19297             OE_MSG_PUB.Add_Exc_Msg
19298             (   G_PKG_NAME
19299             ,   'Service_Period'
19300             );
19301         END IF;
19302 
19303 
19304         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19305 
19306 END Service_Period;
19307 
19308 
19309 FUNCTION Service_Start_Date ( p_service_start_date IN DATE )
19310 RETURN BOOLEAN
19311 IS
19312 l_dummy                       VARCHAR2(10);
19313 BEGIN
19314 
19315 
19316     IF p_service_start_date IS NULL OR
19317         p_service_start_date = FND_API.G_MISS_DATE
19318     THEN
19319 
19320         RETURN TRUE;
19321     END IF;
19322 
19323     --  SELECT  'VALID'
19324     --  INTO     l_dummy
19325     --  FROM     DB_TABLE
19326     --  WHERE    DB_COLUMN = p_service_start_date;
19327 
19328 
19329     RETURN TRUE;
19330 
19331 EXCEPTION
19332 
19333     WHEN NO_DATA_FOUND THEN
19334 
19335         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19336         THEN
19337 
19338 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Start_Date');
19339 
19340             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19341             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19342 				OE_Order_Util.Get_Attribute_Name('Service_Start_Date'));
19343             OE_MSG_PUB.Add;
19344 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19345 
19346         END IF;
19347 
19348 
19349         RETURN FALSE;
19350 
19351     WHEN OTHERS THEN
19352 
19353         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19354         THEN
19355             OE_MSG_PUB.Add_Exc_Msg
19356             (   G_PKG_NAME
19357             ,   'Serviced_Start_Date'
19358             );
19359         END IF;
19360 
19361 
19362         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19363 
19364 END Service_Start_Date;
19365 
19366 FUNCTION Service_End_Date ( p_service_end_date IN DATE )
19367 RETURN BOOLEAN
19368 IS
19369 l_dummy                       VARCHAR2(10);
19370 BEGIN
19371 
19372 
19373     IF p_service_end_date IS NULL OR
19374         p_service_end_date = FND_API.G_MISS_DATE
19375     THEN
19376 
19377         RETURN TRUE;
19378     END IF;
19379 
19380     --  SELECT  'VALID'
19381     --  INTO     l_dummy
19382     --  FROM     DB_TABLE
19383     --  WHERE    DB_COLUMN = p_service_end_date;
19384 
19385 
19386     RETURN TRUE;
19387 
19388 EXCEPTION
19389 
19390     WHEN NO_DATA_FOUND THEN
19391 
19392         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19393         THEN
19394 
19395 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_End_Date');
19396 
19397             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19398             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19399 				OE_Order_Util.Get_Attribute_Name('Service_End_Date'));
19400             OE_MSG_PUB.Add;
19401 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19402 
19403         END IF;
19404 
19405 
19406         RETURN FALSE;
19407 
19408     WHEN OTHERS THEN
19409 
19410         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19411         THEN
19412             OE_MSG_PUB.Add_Exc_Msg
19413             (   G_PKG_NAME
19414             ,   'Service_End_Date'
19415             );
19416         END IF;
19417 
19418 
19419         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19420 
19421 END Service_End_Date;
19422 
19423 FUNCTION Service_Coterminate ( p_service_coterminate_flag IN VARCHAR2)
19424 RETURN BOOLEAN
19425 IS
19426 l_dummy                       VARCHAR2(10);
19427 BEGIN
19428 
19429 
19430     IF p_service_coterminate_flag IS NULL OR
19431         p_service_coterminate_flag = FND_API.G_MISS_CHAR
19432     THEN
19433 
19434         RETURN TRUE;
19435     END IF;
19436 
19437     --  SELECT  'VALID'
19438     --  INTO     l_dummy
19439     --  FROM     DB_TABLE
19440     --  WHERE    DB_COLUMN = p_service_coterminate_flag;
19441 
19442 
19443     RETURN TRUE;
19444 
19445 EXCEPTION
19446 
19447     WHEN NO_DATA_FOUND THEN
19448 
19449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19450         THEN
19451 
19452 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Coterminate');
19453 
19454             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19455             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19456 				OE_Order_Util.Get_Attribute_Name('Service_Coterminate'));
19457             OE_MSG_PUB.Add;
19458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19459 
19460         END IF;
19461 
19462 
19463         RETURN FALSE;
19464 
19465     WHEN OTHERS THEN
19466 
19467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19468         THEN
19469             OE_MSG_PUB.Add_Exc_Msg
19470             (   G_PKG_NAME
19471             ,   'Service_Coterminate'
19472             );
19473         END IF;
19474 
19475 
19476         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19477 
19478 END Service_Coterminate;
19479 
19480 FUNCTION Unit_List_Percent ( p_unit_list_percent IN NUMBER)
19481 RETURN BOOLEAN
19482 IS
19483 l_dummy                       VARCHAR2(10);
19484 BEGIN
19485 
19486 
19487     IF p_unit_list_percent IS NULL OR
19488         p_unit_list_percent = FND_API.G_MISS_NUM
19489     THEN
19490 
19491         RETURN TRUE;
19492     END IF;
19493 
19494     --  SELECT  'VALID'
19495     --  INTO     l_dummy
19496     --  FROM     DB_TABLE
19497     --  WHERE    DB_COLUMN = p_unit_list_percent;
19498 
19499 
19500     RETURN TRUE;
19501 
19502 EXCEPTION
19503 
19504     WHEN NO_DATA_FOUND THEN
19505 
19506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19507         THEN
19508 
19509 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_List_Percent');
19510 
19511             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19512             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19513 				OE_Order_Util.Get_Attribute_Name('Unit_List_Percent'));
19514             OE_MSG_PUB.Add;
19515 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19516 
19517         END IF;
19518 
19519 
19520         RETURN FALSE;
19521 
19522     WHEN OTHERS THEN
19523 
19524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19525         THEN
19526             OE_MSG_PUB.Add_Exc_Msg
19527             (   G_PKG_NAME
19528             ,   'Unit_List_Percent'
19529             );
19530         END IF;
19531 
19532 
19533         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19534 
19535 END Unit_List_Percent;
19536 
19537 FUNCTION Unit_Selling_Percent ( p_unit_selling_percent IN NUMBER)
19538 RETURN BOOLEAN
19539 IS
19540 l_dummy                       VARCHAR2(10);
19541 BEGIN
19542 
19543 
19544     IF p_unit_selling_percent IS NULL OR
19545         p_unit_selling_percent = FND_API.G_MISS_NUM
19546     THEN
19547 
19548         RETURN TRUE;
19549     END IF;
19550 
19551     --  SELECT  'VALID'
19552     --  INTO     l_dummy
19553     --  FROM     DB_TABLE
19554     --  WHERE    DB_COLUMN = p_unit_selling_percent;
19555 
19556 
19557     RETURN TRUE;
19558 
19559 EXCEPTION
19560 
19561     WHEN NO_DATA_FOUND THEN
19562 
19563         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19564         THEN
19565 
19566 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Selling_Percent');
19567 
19568             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19569             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19570 				OE_Order_Util.Get_Attribute_Name('Unit_Selling_Percent'));
19571             OE_MSG_PUB.Add;
19572 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19573 
19574         END IF;
19575 
19576 
19577         RETURN FALSE;
19578 
19579     WHEN OTHERS THEN
19580 
19581         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19582         THEN
19583             OE_MSG_PUB.Add_Exc_Msg
19584             (   G_PKG_NAME
19585             ,   'Unit_Selling_Percent'
19586             );
19587         END IF;
19588 
19589 
19590         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19591 
19592 END Unit_Selling_Percent;
19593 
19594 FUNCTION Unit_Percent_Base_Price ( p_unit_percent_base_price IN NUMBER)
19595 RETURN BOOLEAN
19596 IS
19597 l_dummy                       VARCHAR2(10);
19598 BEGIN
19599 
19600 
19601     IF p_unit_percent_base_price IS NULL OR
19602         p_unit_percent_base_price = FND_API.G_MISS_NUM
19603     THEN
19604 
19605         RETURN TRUE;
19606     END IF;
19607 
19608     --  SELECT  'VALID'
19609     --  INTO     l_dummy
19610     --  FROM     DB_TABLE
19611     --  WHERE    DB_COLUMN = p_unit_percent_base_price;
19612 
19613 
19614     RETURN TRUE;
19615 
19616 EXCEPTION
19617 
19618     WHEN NO_DATA_FOUND THEN
19619 
19620         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19621         THEN
19622 
19623 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Percent_base_Price');
19624 
19625             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19626             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19627 				OE_Order_Util.Get_Attribute_Name('Unit_Percent_Base_Price'));
19628             OE_MSG_PUB.Add;
19629 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19630 
19631         END IF;
19632 
19633 
19634         RETURN FALSE;
19635 
19636     WHEN OTHERS THEN
19637 
19638         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19639         THEN
19640             OE_MSG_PUB.Add_Exc_Msg
19641             (   G_PKG_NAME
19642             ,   'Unit_Percent_Base_Price'
19643             );
19644         END IF;
19645 
19646 
19647         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19648 
19649 END Unit_Percent_Base_Price;
19650 
19651 FUNCTION Service_Number ( p_service_number IN NUMBER)
19652 RETURN BOOLEAN
19653 IS
19654 l_dummy                       VARCHAR2(10);
19655 BEGIN
19656 
19657 
19658     IF p_service_number IS NULL OR
19659         p_service_number = FND_API.G_MISS_NUM
19660     THEN
19661 
19662         RETURN TRUE;
19663     END IF;
19664 
19665     --  SELECT  'VALID'
19666     --  INTO     l_dummy
19667     --  FROM     DB_TABLE
19668     --  WHERE    DB_COLUMN = p_service_number;
19669 
19670 
19671     RETURN TRUE;
19672 
19673 EXCEPTION
19674 
19675     WHEN NO_DATA_FOUND THEN
19676 
19677         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19678         THEN
19679 
19680 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Number');
19681 
19682             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19683             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19684 				OE_Order_Util.Get_Attribute_Name('Service_Number'));
19685             OE_MSG_PUB.Add;
19686 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19687 
19688         END IF;
19689 
19690 
19691         RETURN FALSE;
19692 
19693     WHEN OTHERS THEN
19694 
19695         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19696         THEN
19697             OE_MSG_PUB.Add_Exc_Msg
19698             (   G_PKG_NAME
19699             ,   'Service_Number'
19700             );
19701         END IF;
19702 
19703 
19704         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19705 
19706 END Service_Number;
19707 
19708 FUNCTION Service_Reference_Type ( p_service_reference_type_code IN VARCHAR2)
19709 RETURN BOOLEAN
19710 IS
19711 l_dummy                       VARCHAR2(10);
19712 BEGIN
19713 
19714 
19715     IF p_service_reference_Type_code IS NULL OR
19716         p_service_reference_Type_code = FND_API.G_MISS_CHAR
19717     THEN
19718 
19719         RETURN TRUE;
19720     END IF;
19721 
19722     --  SELECT  'VALID'
19723     --  INTO     l_dummy
19724     --  FROM     DB_TABLE
19725     --  WHERE    DB_COLUMN = p_service_reference_type_code;
19726 
19727 
19728     RETURN TRUE;
19729 
19730 EXCEPTION
19731 
19732     WHEN NO_DATA_FOUND THEN
19733 
19734         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19735         THEN
19736 
19737 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Type_Code');
19738 
19739             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19740             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19741 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Type_Code'));
19742             OE_MSG_PUB.Add;
19743 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19744 
19745         END IF;
19746 
19747 
19748         RETURN FALSE;
19749 
19750     WHEN OTHERS THEN
19751 
19752         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19753         THEN
19754             OE_MSG_PUB.Add_Exc_Msg
19755             (   G_PKG_NAME
19756             ,   'Service_Reference_Type_Code'
19757             );
19758         END IF;
19759 
19760 
19761         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19762 
19763 END Service_Reference_Type;
19764 
19765 FUNCTION Service_Reference_Line ( p_service_reference_line_id IN NUMBER)
19766 RETURN BOOLEAN
19767 IS
19768 l_dummy                       VARCHAR2(10);
19769 BEGIN
19770 
19771 
19772     IF p_service_reference_line_id IS NULL OR
19773         p_service_reference_line_id = FND_API.G_MISS_NUM
19774     THEN
19775 
19776         RETURN TRUE;
19777     END IF;
19778 
19779     --  SELECT  'VALID'
19780     --  INTO     l_dummy
19781     --  FROM     DB_TABLE
19782     --  WHERE    DB_COLUMN = p_service_reference_line_id;
19783 
19784 
19785     RETURN TRUE;
19786 
19787 EXCEPTION
19788 
19789     WHEN NO_DATA_FOUND THEN
19790 
19791         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19792         THEN
19793 
19794 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Line_id');
19795 
19796             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19797             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19798 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Line_Id'));
19799             OE_MSG_PUB.Add;
19800 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19801 
19802         END IF;
19803 
19804 
19805         RETURN FALSE;
19806 
19807     WHEN OTHERS THEN
19808 
19809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19810         THEN
19811             OE_MSG_PUB.Add_Exc_Msg
19812             (   G_PKG_NAME
19813             ,   'Service_Reference_Line'
19814             );
19815         END IF;
19816 
19817 
19818         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19819 
19820 END Service_Reference_Line;
19821 
19822 FUNCTION Service_Reference_System ( p_service_reference_system_id IN NUMBER)
19823 RETURN BOOLEAN
19824 IS
19825 l_dummy                       VARCHAR2(10);
19826 BEGIN
19827 
19828 
19829     IF p_service_reference_system_id IS NULL OR
19830         p_service_reference_system_id = FND_API.G_MISS_NUM
19831     THEN
19832 
19833         RETURN TRUE;
19834     END IF;
19835 
19836     --  SELECT  'VALID'
19837     --  INTO     l_dummy
19838     --  FROM     DB_TABLE
19839     --  WHERE    DB_COLUMN = p_service_reference_system_id;
19840 
19841 
19842     RETURN TRUE;
19843 
19844 EXCEPTION
19845 
19846     WHEN NO_DATA_FOUND THEN
19847 
19848         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19849         THEN
19850 
19851 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_System_id');
19852 
19853             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19854             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19855 				OE_Order_Util.Get_Attribute_Name('Service_Reference_System_Id'));
19856             OE_MSG_PUB.Add;
19857 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19858 
19859         END IF;
19860 
19861 
19862         RETURN FALSE;
19863 
19864     WHEN OTHERS THEN
19865 
19866         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19867         THEN
19868             OE_MSG_PUB.Add_Exc_Msg
19869             (   G_PKG_NAME
19870             ,   'Service_Reference_System'
19871             );
19872         END IF;
19873 
19874 
19875         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19876 
19877 END Service_Reference_System;
19878 
19879 FUNCTION Line_Flow_Status ( p_flow_status_code IN VARCHAR2 )
19880 RETURN BOOLEAN
19881 IS
19882 l_dummy                       VARCHAR2(10);
19883 l_lookup_type      	      VARCHAR2(80) := 'LINE_FLOW_STATUS';
19884 BEGIN
19885 
19886 
19887     IF p_flow_status_code IS NULL OR
19888         p_flow_status_code = FND_API.G_MISS_CHAR
19889     THEN
19890 
19891         RETURN TRUE;
19892     END IF;
19893 
19894     SELECT  'VALID'
19895     INTO    l_dummy
19896     FROM    OE_LOOKUPS
19897     WHERE   LOOKUP_CODE = p_flow_status_code
19898     AND     LOOKUP_TYPE = l_lookup_type
19899     AND     ROWNUM = 1;
19900     --
19901     -- Commented out when importing CLOSED orders
19902     --
19903     -- AND     ENABLED_FLAG = 'Y'
19904     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19905     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
19906 
19907 
19908 
19909     RETURN TRUE;
19910 
19911 EXCEPTION
19912 
19913     WHEN NO_DATA_FOUND THEN
19914 
19915         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19916         THEN
19917 
19918 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
19919 
19920             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19921             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19922 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
19923             OE_MSG_PUB.Add;
19924 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19925 
19926         END IF;
19927 
19928 
19929         RETURN FALSE;
19930 
19931     WHEN OTHERS THEN
19932 
19933         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19934         THEN
19935             OE_MSG_PUB.Add_Exc_Msg
19936             (   G_PKG_NAME
19937             ,   'Line_Flow_Status'
19938             );
19939         END IF;
19940 
19941 
19942         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19943 
19944 END Line_Flow_Status;
19945 
19946 FUNCTION Flow_Status ( p_flow_status_code IN VARCHAR2 )
19947 RETURN BOOLEAN
19948 IS
19949 l_dummy                       VARCHAR2(10);
19950 l_lookup_type      	      VARCHAR2(80) := 'FLOW_STATUS';
19951 BEGIN
19952 
19953 
19954     IF p_flow_status_code IS NULL OR
19955         p_flow_status_code = FND_API.G_MISS_CHAR
19956     THEN
19957 
19958         RETURN TRUE;
19959     END IF;
19960 
19961     SELECT  'VALID'
19962     INTO    l_dummy
19963     FROM    OE_LOOKUPS
19964     WHERE   LOOKUP_CODE = p_flow_status_code
19965     AND     LOOKUP_TYPE = l_lookup_type
19966     AND     ROWNUM = 1;
19967     -- AND     ENABLED_FLAG = 'Y'
19968     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19969     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
19970 
19971 
19972 
19973     RETURN TRUE;
19974 
19975 EXCEPTION
19976 
19977     WHEN NO_DATA_FOUND THEN
19978 
19979         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19980         THEN
19981 
19982 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
19983 
19984             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19985             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19986 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
19987             OE_MSG_PUB.Add;
19988 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19989 
19990         END IF;
19991 
19992 
19993         RETURN FALSE;
19994 
19995     WHEN OTHERS THEN
19996 
19997         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19998         THEN
19999             OE_MSG_PUB.Add_Exc_Msg
20000             (   G_PKG_NAME
20001             ,   'Flow_Status'
20002             );
20003         END IF;
20004 
20005 
20006         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20007 
20008 END Flow_Status;
20009 
20010 FUNCTION Split_Action ( p_split_action_code IN VARCHAR2 )
20011 RETURN BOOLEAN
20012 IS
20013 l_dummy                       VARCHAR2(10);
20014 BEGIN
20015 
20016     IF p_split_action_code IS NULL OR
20017         p_split_action_code = FND_API.G_MISS_CHAR
20018     THEN
20019             RETURN TRUE;
20020     END IF;
20021 
20022     --  SELECT  'VALID'
20023     --  INTO     l_dummy
20024     --  FROM     DB_TABLE
20025     --  WHERE    DB_COLUMN = p_split_action_code;
20026 
20027 
20028     RETURN TRUE;
20029 
20030 EXCEPTION
20031 
20032     WHEN NO_DATA_FOUND THEN
20033 
20034 
20035         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20036         THEN
20037 
20038 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_ACTION_CODE');
20039 
20040             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20041             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20042 				OE_Order_Util.Get_Attribute_Name('split_action_code'));
20043             OE_MSG_PUB.Add;
20044 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20045 
20046         END IF;
20047 
20048 
20049         RETURN FALSE;
20050 
20051     WHEN OTHERS THEN
20052 
20053         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20054         THEN
20055             OE_MSG_PUB.Add_Exc_Msg
20056             (   G_PKG_NAME
20057             ,   'Split Action'
20058             );
20059         END IF;
20060 
20061         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20062 
20063 END Split_Action;
20064 
20065 /* JPN: Marketing source code related */
20066 
20067 FUNCTION Marketing_Source_Code ( p_marketing_source_code_id IN NUMBER)
20068 RETURN BOOLEAN
20069 IS
20070 l_dummy                       VARCHAR2(10);
20071 BEGIN
20072 
20073 
20074     IF p_marketing_source_code_id IS NULL OR
20075         p_marketing_source_code_id = FND_API.G_MISS_NUM
20076     THEN
20077 
20078         RETURN TRUE;
20079     END IF;
20080 
20081     --  SELECT  'VALID'
20082     --  INTO     l_dummy
20083     --  FROM     DB_TABLE
20084     --  WHERE    DB_COLUMN = p_marketing_source_code_id;
20085 
20086 
20087     RETURN TRUE;
20088 
20089 EXCEPTION
20090 
20091     WHEN NO_DATA_FOUND THEN
20092 
20093         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20094         THEN
20095 
20096 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Marketing_Source_Code_id');
20097 
20098             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20099             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20100 				OE_Order_Util.Get_Attribute_Name('Marketing_Source_Code_Id'));
20101             OE_MSG_PUB.Add;
20102 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20103 
20104         END IF;
20105 
20106 
20107         RETURN FALSE;
20108 
20109     WHEN OTHERS THEN
20110 
20111         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20112         THEN
20113             OE_MSG_PUB.Add_Exc_Msg
20114             (   G_PKG_NAME
20115             ,   'Marketing_Source_Code'
20116             );
20117         END IF;
20118 
20119         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20120 
20121 END Marketing_Source_Code;
20122 
20123 /* End of Marketing source code */
20124 
20125 FUNCTION cost_id ( p_cost_id IN NUMBER )
20126 RETURN BOOLEAN
20127 IS
20128 l_dummy                       VARCHAR2(10);
20129 BEGIN
20130 
20131     IF p_cost_id IS NULL OR
20132         p_cost_id = FND_API.G_MISS_NUM
20133     THEN
20134             RETURN TRUE;
20135     END IF;
20136 
20137     -- JAUTOMO: TO DO: Validation required ?
20138 
20139     --  SELECT  'VALID'
20140     --  INTO     l_dummy
20141     --  FROM     DB_TABLE
20142     --  WHERE    DB_COLUMN = p_cost_id;
20143 
20144 
20145     RETURN TRUE;
20146 
20147 EXCEPTION
20148 
20149     WHEN NO_DATA_FOUND THEN
20150 
20151 
20152         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20153         THEN
20154 
20155 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_ID');
20156 
20157             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20158             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20159 				OE_Order_Util.Get_Attribute_Name('COST_ID'));
20160             OE_MSG_PUB.Add;
20161 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20162 
20163         END IF;
20164 
20165 
20166         RETURN FALSE;
20167 
20168     WHEN OTHERS THEN
20169 
20170         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20171         THEN
20172             OE_MSG_PUB.Add_Exc_Msg
20173             (   G_PKG_NAME
20174             ,   'Cost Id '
20175             );
20176         END IF;
20177 
20178         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20179 
20180 END Cost_Id;
20181 
20182 FUNCTION Charge_Type_Code ( p_Charge_Type_Code IN VARCHAR2 )
20183 RETURN BOOLEAN
20184 IS
20185 l_dummy                       VARCHAR2(10);
20186 BEGIN
20187     oe_debug_pub.add('Entering OE_CNCL_Validate.Charge_Type_Code');
20188     IF p_Charge_Type_Code IS NULL OR
20189         p_Charge_Type_Code = FND_API.G_MISS_CHAR
20190     THEN
20191             RETURN TRUE;
20192     END IF;
20193 
20194     SELECT  'VALID'
20195     INTO     l_dummy
20196     FROM     QP_CHARGE_LOOKUP
20197     WHERE    LOOKUP_CODE = p_charge_type_code
20198     AND      ROWNUM=1;
20199 
20200 
20201     RETURN TRUE;
20202     oe_debug_pub.add('Exiting OE_CNCL_Validate.Charge_Type_Code');
20203 EXCEPTION
20204 
20205     WHEN NO_DATA_FOUND THEN
20206 
20207 
20208         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20209         THEN
20210 
20211 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_CODE');
20212 
20213             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20214             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20215 				OE_Order_Util.Get_Attribute_Name('CHARGE_TYPE_CODE'));
20216             OE_MSG_PUB.Add;
20217 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20218 
20219         END IF;
20220 
20221 
20222         RETURN FALSE;
20223 
20224     WHEN OTHERS THEN
20225 
20226         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20227         THEN
20228             OE_MSG_PUB.Add_Exc_Msg
20229             (   G_PKG_NAME
20230             ,   'Charge Type'
20231             );
20232         END IF;
20233 
20234         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20235 
20236 END Charge_Type_Code;
20237 
20238 FUNCTION Charge_Subtype_Code ( p_Charge_Subtype_Code IN VARCHAR2 )
20239 RETURN BOOLEAN
20240 IS
20241 l_dummy                       VARCHAR2(10);
20242 BEGIN
20243 
20244     IF p_Charge_Subtype_Code IS NULL OR
20245         p_Charge_Subtype_Code = FND_API.G_MISS_CHAR
20246     THEN
20247             RETURN TRUE;
20248     END IF;
20249 
20250     -- JAUTOMO: TO DO: Validation required ?
20251 
20252     -- SELECT  'VALID'
20253     -- INTO     l_dummy
20254     -- FROM     DB_TABLE
20255     -- WHERE    DB_COLUMN = p_charge_Subtype_code;
20256 
20257 
20258     RETURN TRUE;
20259 
20260 EXCEPTION
20261 
20262     WHEN NO_DATA_FOUND THEN
20263 
20264 
20265         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20266         THEN
20267 
20268 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_SUBTYPE_CODE');
20269 
20270             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20271             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20272 				OE_Order_Util.Get_Attribute_Name('CHARGE_SUBTYPE_CODE'));
20273             OE_MSG_PUB.Add;
20274 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20275 
20276         END IF;
20277 
20278 
20279         RETURN FALSE;
20280 
20281     WHEN OTHERS THEN
20282 
20283         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20284         THEN
20285             OE_MSG_PUB.Add_Exc_Msg
20286             (   G_PKG_NAME
20287             ,   'Charge Sub Type'
20288             );
20289         END IF;
20290 
20291         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20292 
20293 END Charge_Subtype_Code;
20294 
20295 FUNCTION Commitment ( p_commitment_id IN NUMBER )
20296 RETURN BOOLEAN
20297 IS
20298 l_dummy                       VARCHAR2(10);
20299 BEGIN
20300 
20301     IF p_commitment_id IS NULL OR
20302         p_commitment_id = FND_API.G_MISS_NUM
20303     THEN
20304         --
20305         SELECT  'VALID'
20306         INTO    l_dummy
20307         FROM    RA_CUSTOMER_TRX
20308         WHERE   customer_trx_id = p_commitment_id
20309         AND     ROWNUM = 1;
20310         --
20311         RETURN TRUE;
20312         --
20313     END IF;
20314 
20315     RETURN TRUE;
20316 
20317 EXCEPTION
20318 
20319     WHEN NO_DATA_FOUND THEN
20320 
20321 
20322         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20323         THEN
20324 
20325                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_ID');
20326 
20327             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20328             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20329                                 OE_Order_Util.Get_Attribute_Name('COMMITMENT_ID'));
20330             OE_MSG_PUB.Add;
20331               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20332 
20333         END IF;
20334 
20335 
20336         RETURN FALSE;
20337 
20338     WHEN OTHERS THEN
20339 
20340         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20341         THEN
20342             OE_MSG_PUB.Add_Exc_Msg
20343             (   G_PKG_NAME
20344             ,   'Commitment'
20345             );
20346         END IF;
20347 
20348         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20349 
20350 END Commitment;
20351 
20352 FUNCTION credit_or_charge_flag( p_credit_or_charge_flag IN VARCHAR2 )
20353 RETURN BOOLEAN
20354 IS
20355 l_dummy                       VARCHAR2(10);
20356 l_lookup_type      	      VARCHAR2(80) := 'CREDIT_OR_CHARGE_FLAG';
20357 BEGIN
20358 
20359     IF p_credit_or_charge_flag IS NULL OR
20360         p_credit_or_charge_flag = FND_API.G_MISS_CHAR
20361     THEN
20362             RETURN TRUE;
20363     END IF;
20364 
20365     SELECT  'VALID'
20366     INTO     l_dummy
20367     FROM     OE_LOOKUPS
20368     WHERE    LOOKUP_CODE = p_credit_or_charge_flag
20369     AND      LOOKUP_TYPE = l_lookup_type
20370     AND      ROWNUM = 1;
20371     --
20372     -- Commented out when importing CLOSED orders
20373     --
20374     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
20375     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
20376 
20377 
20378     RETURN TRUE;
20379 
20380 EXCEPTION
20381 
20382     WHEN NO_DATA_FOUND THEN
20383 
20384 
20385         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20386         THEN
20387 
20388 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_OR_CHARGE_FLAG');
20389 
20390             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20391             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20392 				OE_Order_Util.Get_Attribute_Name('CREDIT_OR_CHARGE_FLAG'));
20393             OE_MSG_PUB.Add;
20394 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20395 
20396         END IF;
20397 
20398 
20399         RETURN FALSE;
20400 
20401     WHEN OTHERS THEN
20402 
20403         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20404         THEN
20405             OE_MSG_PUB.Add_Exc_Msg
20406             (   G_PKG_NAME
20407             ,   'Credit Or Charge Flag '
20408             );
20409         END IF;
20410 
20411         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20412 
20413 END Credit_Or_Charge_Flag;
20414 
20415 FUNCTION Include_On_Returns_Flag( p_Include_On_Returns_Flag IN VARCHAR2 )
20416 RETURN BOOLEAN
20417 IS
20418 l_dummy                       VARCHAR2(10);
20419 l_lookup_type      	      VARCHAR2(80) := 'YES_NO';
20420 BEGIN
20421 
20422     IF p_Include_On_Returns_Flag IS NULL OR
20423         p_Include_On_Returns_Flag = FND_API.G_MISS_CHAR
20424     THEN
20425             RETURN TRUE;
20426     END IF;
20427 
20428     SELECT  'VALID'
20429     INTO     l_dummy
20430     FROM     OE_FND_COMMON_LOOKUPS_V
20431     WHERE    LOOKUP_CODE = p_Include_On_Returns_Flag
20432     AND      LOOKUP_TYPE = l_lookup_type
20433     AND      ROWNUM = 1;
20434     --
20435     -- Commented out when importing CLOSED orders
20436     --
20437     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
20438     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
20439 
20440 
20441     RETURN TRUE;
20442 
20443 EXCEPTION
20444 
20445     WHEN NO_DATA_FOUND THEN
20446 
20447 
20448         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20449         THEN
20450 
20451 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INCLUDE_ON_RETURNS_FLAG');
20452 
20453             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20454             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20455 				OE_Order_Util.Get_Attribute_Name('INCLUDE_ON_RETURNS_FLAG'));
20456             OE_MSG_PUB.Add;
20457 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20458 
20459         END IF;
20460 
20461 
20462         RETURN FALSE;
20463 
20464     WHEN OTHERS THEN
20465 
20466         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20467         THEN
20468             OE_MSG_PUB.Add_Exc_Msg
20469             (   G_PKG_NAME
20470             ,   'Include On Returns Flag'
20471             );
20472         END IF;
20473 
20474         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20475 
20476 END Include_On_Returns_Flag;
20477 
20478 FUNCTION IS_AUDIT_REASON_RQD RETURN BOOLEAN IS
20479 BEGIN
20480 	 RETURN TRUE;
20481 END;
20482 
20483 FUNCTION IS_AUDIT_HISTORY_RQD RETURN BOOLEAN IS
20484 BEGIN
20485 	 RETURN TRUE;
20486 END;
20487 
20488 
20489 FUNCTION Sales_Channel( p_sales_channel_code IN VARCHAR2 )
20490 RETURN BOOLEAN
20491 IS
20492 l_dummy                       VARCHAR2(10);
20493 l_lookup_type      	      VARCHAR2(80) :='SALES_CHANNEL';
20494 BEGIN
20495 
20496     IF p_sales_channel_code IS NULL OR
20497         p_sales_channel_code = FND_API.G_MISS_CHAR
20498     THEN
20499             RETURN TRUE;
20500     END IF;
20501 
20502     SELECT  'VALID'
20503     INTO     l_dummy
20504     FROM     OE_LOOKUPS
20505     WHERE    LOOKUP_CODE = p_sales_channel_code
20506     AND      LOOKUP_TYPE = l_lookup_type
20507     AND      ROWNUM = 1;
20508     --
20509     -- Commented out when importing CLOSED orders
20510     --
20511     -- AND      ENABLED_FLAG = 'Y'
20512     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
20513     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
20514 
20515 
20516     RETURN TRUE;
20517 
20518 EXCEPTION
20519 
20520     WHEN NO_DATA_FOUND THEN
20521 
20522 
20523         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20524         THEN
20525 
20526 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALES_CHANNEL_CODE');
20527 
20528           FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
20529           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20530 				OE_Order_Util.Get_Attribute_Name('SALES_CHANNEL_CODE'));
20531           OE_MSG_PUB.Add;
20532 
20533 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20534 
20535         END IF;
20536 
20537 
20538         RETURN FALSE;
20539 
20540     WHEN OTHERS THEN
20541 
20542         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20543         THEN
20544             OE_MSG_PUB.Add_Exc_Msg
20545             (   G_PKG_NAME
20546             ,   'Sales_Channel'
20547             );
20548         END IF;
20549 
20550         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20551 
20552 END Sales_Channel;
20553 
20554 FUNCTION Customer_Location ( p_sold_to_site_use_id IN NUMBER )
20555 RETURN BOOLEAN
20556 IS
20557 l_dummy                       VARCHAR2(10);
20558 BEGIN
20559 
20560     IF p_sold_to_site_use_id IS NULL OR
20561         p_sold_to_site_use_id = FND_API.G_MISS_NUM
20562     THEN
20563 
20564         RETURN TRUE;
20565     END IF;
20566 
20567     SELECT  'VALID'
20568     INTO    l_dummy
20569     FROM    HZ_CUST_SITE_USES   SITE
20570     WHERE   SITE.SITE_USE_ID =p_sold_to_site_use_id
20571     AND     SITE.SITE_USE_CODE = 'SOLD_TO';
20572 
20573     RETURN TRUE;
20574 
20575 EXCEPTION
20576 
20577     WHEN NO_DATA_FOUND THEN
20578 
20579         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20580         THEN
20581 
20582 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_SITE_USE_ID');
20583 
20584             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20585             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20586 				OE_Order_Util.Get_Attribute_Name('sold_to_site_use_id'));
20587             OE_MSG_PUB.Add;
20588 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20589 
20590         END IF;
20591 
20592 
20593         RETURN FALSE;
20594 
20595     WHEN OTHERS THEN
20596 
20597         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20598         THEN
20599             OE_MSG_PUB.Add_Exc_Msg
20600             (   G_PKG_NAME
20601             ,   'Customer_Location'
20602             );
20603         END IF;
20604 
20605 
20606         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20607 
20608 END Customer_Location;
20609 
20610 END OE_CNCL_Validate;