DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CNCL_VALIDATE

Source


1 PACKAGE BODY OE_CNCL_Validate AS
2 /* $Header: OEXVCATB.pls 120.2.12020000.2 2012/07/03 10:18:10 amallik 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',
11330 								'SERVICE') THEN --13906241, Added SERVICE
11331        --
11332        RAISE NO_DATA_FOUND;
11333        --
11334     END IF;
11335     --
11336 
11337     --  SELECT  'VALID'
11338     --  INTO     l_dummy
11339     --  FROM     DB_TABLE
11340     --  WHERE    DB_COLUMN = p_item_type_code;
11341 
11342 
11343     RETURN TRUE;
11344 
11345 EXCEPTION
11346 
11347     WHEN NO_DATA_FOUND THEN
11348 
11349         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11350         THEN
11351 
11352 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_TYPE_CODE');
11353 
11354             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11355             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11356 				OE_Order_Util.Get_Attribute_Name('item_type_code'));
11357             OE_MSG_PUB.Add;
11358 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11359 
11360         END IF;
11361 
11362 
11363         RETURN FALSE;
11364 
11365     WHEN OTHERS THEN
11366 
11367         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11368         THEN
11369             OE_MSG_PUB.Add_Exc_Msg
11370             (   G_PKG_NAME
11371             ,   'Item_Type'
11372             );
11373         END IF;
11374 
11375 
11376         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11377 
11378 END Item_Type;
11379 
11380 FUNCTION Line_Category ( p_line_category_code IN VARCHAR2 )
11381 RETURN BOOLEAN
11382 IS
11383 l_dummy                       VARCHAR2(10);
11384 BEGIN
11385 
11386 
11387     IF p_line_category_code IS NULL OR
11388         p_line_category_code = FND_API.G_MISS_CHAR
11389     THEN
11390 
11391         RETURN TRUE;
11392     END IF;
11393 
11394     --  SELECT  'VALID'
11395     --  INTO     l_dummy
11396     --  FROM     DB_TABLE
11397     --  WHERE    DB_COLUMN = p_line_category_code;
11398 
11399 
11400     RETURN TRUE;
11401 
11402 EXCEPTION
11403 
11404     WHEN NO_DATA_FOUND THEN
11405 
11406         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11407         THEN
11408 
11409 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_CATEGORY_CODE');
11410 
11411             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11412             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11413 				OE_Order_Util.Get_Attribute_Name('line_category_code'));
11414             OE_MSG_PUB.Add;
11415 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11416 
11417         END IF;
11418 
11419 
11420         RETURN FALSE;
11421 
11422     WHEN OTHERS THEN
11423 
11424         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11425         THEN
11426             OE_MSG_PUB.Add_Exc_Msg
11427             (   G_PKG_NAME
11428             ,   'Line_Category'
11429             );
11430         END IF;
11431 
11432 
11433         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11434 
11435 END Line_Category;
11436 
11437 
11438 FUNCTION Open(p_open_flag IN VARCHAR2)
11439 RETURN BOOLEAN
11440 IS
11441 l_dummy                       VARCHAR2(10);
11442 BEGIN
11443 
11444 
11445     IF p_open_flag IS NULL OR
11446         p_open_flag = FND_API.G_MISS_CHAR
11447     THEN
11448 
11449         RETURN TRUE;
11450     END IF;
11451 
11452     IF p_open_flag NOT IN ('Y','N') THEN
11453 		RAISE NO_DATA_FOUND;
11454     END IF;
11455 
11456 
11457     RETURN TRUE;
11458 
11459 EXCEPTION
11460 
11461     WHEN NO_DATA_FOUND THEN
11462 
11463         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11464         THEN
11465 
11466 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPEN_FLAG');
11467 
11468             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11469             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11470 				OE_Order_Util.Get_Attribute_Name('open_flag'));
11471             OE_MSG_PUB.Add;
11472 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11473 
11474         END IF;
11475 
11476 
11477         RETURN FALSE;
11478 
11479     WHEN OTHERS THEN
11480 
11481         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11482         THEN
11483             OE_MSG_PUB.Add_Exc_Msg
11484             (   G_PKG_NAME
11485             ,   'Open'
11486             );
11487         END IF;
11488 
11489 
11490         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11491 
11492 END Open;
11493 
11494 
11495 FUNCTION Option_Flag ( p_option_flag IN VARCHAR2 )
11496 RETURN BOOLEAN
11497 IS
11498 l_dummy                       VARCHAR2(10);
11499 BEGIN
11500 
11501 
11502     IF p_option_flag IS NULL OR
11503         p_option_flag = FND_API.G_MISS_CHAR
11504     THEN
11505 
11506         RETURN TRUE;
11507     END IF;
11508 
11509     --  SELECT  'VALID'
11510     --  INTO     l_dummy
11511     --  FROM     DB_TABLE
11512     --  WHERE    DB_COLUMN = p_option_flag;
11513 
11514 
11515     RETURN TRUE;
11516 
11517 EXCEPTION
11518 
11519     WHEN NO_DATA_FOUND THEN
11520 
11521         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11522         THEN
11523 
11524 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_FLAG');
11525 
11526             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11527             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11528 				OE_Order_Util.Get_Attribute_Name('option_flag'));
11529             OE_MSG_PUB.Add;
11530 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11531 
11532         END IF;
11533 
11534 
11535         RETURN FALSE;
11536 
11537     WHEN OTHERS THEN
11538 
11539         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11540         THEN
11541             OE_MSG_PUB.Add_Exc_Msg
11542             (   G_PKG_NAME
11543             ,   'Option_Flag'
11544             );
11545         END IF;
11546 
11547 
11548         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11549 
11550 END Option_Flag;
11551 
11552 
11553 FUNCTION Ordered_Quantity ( p_ordered_quantity IN NUMBER )
11554 RETURN BOOLEAN
11555 IS
11556 l_dummy                       VARCHAR2(10);
11557 BEGIN
11558 
11559 
11560     IF p_ordered_quantity IS NULL OR
11561         p_ordered_quantity = FND_API.G_MISS_NUM
11562     THEN
11563 
11564         RETURN TRUE;
11565     END IF;
11566 
11567     --  SELECT  'VALID'
11568     --  INTO     l_dummy
11569     --  FROM     DB_TABLE
11570     --  WHERE    DB_COLUMN = p_ordered_quantity;
11571     IF p_ordered_quantity < 0 THEN
11572 	RAISE NO_DATA_FOUND;
11573     END IF;
11574 
11575 
11576 
11577     RETURN TRUE;
11578 
11579 EXCEPTION
11580 
11581     WHEN NO_DATA_FOUND THEN
11582 
11583         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11584         THEN
11585 
11586 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY');
11587 
11588             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11589             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11590 				OE_Order_Util.Get_Attribute_Name('ordered_quantity'));
11591             OE_MSG_PUB.Add;
11592 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11593 
11594         END IF;
11595 
11596 
11597         RETURN FALSE;
11598 
11599     WHEN OTHERS THEN
11600 
11601         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11602         THEN
11603             OE_MSG_PUB.Add_Exc_Msg
11604             (   G_PKG_NAME
11605             ,   'Ordered_Quantity'
11606             );
11607         END IF;
11608 
11609 
11610         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11611 
11612 END Ordered_Quantity;
11613 
11614 -- OPM 02/JUN/00 - add function to support new process attribute
11615 -- =============================================================
11616 
11617 FUNCTION Ordered_Quantity2 ( p_ordered_quantity2 IN NUMBER )
11618 RETURN BOOLEAN
11619 IS
11620 l_dummy                       VARCHAR2(10);
11621 BEGIN
11622 
11623 
11624     IF p_ordered_quantity2 IS NULL OR
11625         p_ordered_quantity2 = FND_API.G_MISS_NUM
11626     THEN
11627 
11628         RETURN TRUE;
11629     END IF;
11630 
11631     RETURN TRUE;
11632 
11633 EXCEPTION
11634 
11635     WHEN NO_DATA_FOUND THEN
11636 
11637         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11638         THEN
11639 
11640 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>'ORDERED_QUANTITY2');
11641           fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11642           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11643 				OE_Order_Util.Get_Attribute_Name('ordered_quantity2'));
11644             OE_MSG_PUB.Add;
11645 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11646 
11647         END IF;
11648 
11649 
11650         RETURN FALSE;
11651 
11652     WHEN OTHERS THEN
11653 
11654         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11655         THEN
11656             OE_MSG_PUB.Add_Exc_Msg
11657             (   G_PKG_NAME
11658             ,   'Ordered_Quantity2'
11659             );
11660         END IF;
11661 
11662 
11663         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11664 
11665 END Ordered_Quantity2;
11666 
11667 -- OPM 02/JUN/00 END
11668 -- =================
11669 
11670 
11671 FUNCTION Promise_Date ( p_promise_date IN DATE )
11672 RETURN BOOLEAN
11673 IS
11674 l_dummy                       VARCHAR2(10);
11675 BEGIN
11676 
11677 
11678     IF p_promise_date IS NULL OR
11679         p_promise_date = FND_API.G_MISS_DATE
11680     THEN
11681 
11682         RETURN TRUE;
11683     END IF;
11684 
11685     --  SELECT  'VALID'
11686     --  INTO     l_dummy
11687     --  FROM     DB_TABLE
11688     --  WHERE    DB_COLUMN = p_promise_date;
11689 
11690 
11691     RETURN TRUE;
11692 
11693 EXCEPTION
11694 
11695     WHEN NO_DATA_FOUND THEN
11696 
11697         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11698         THEN
11699 
11700 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROMISE_DATE');
11701 
11702             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11703             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11704 				OE_Order_Util.Get_Attribute_Name('promise_date'));
11705             OE_MSG_PUB.Add;
11706 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11707 
11708         END IF;
11709 
11710 
11711         RETURN FALSE;
11712 
11713     WHEN OTHERS THEN
11714 
11715         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11716         THEN
11717             OE_MSG_PUB.Add_Exc_Msg
11718             (   G_PKG_NAME
11719             ,   'Promise_Date'
11720             );
11721         END IF;
11722 
11723 
11724         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11725 
11726 END Promise_Date;
11727 
11728 
11729 
11730 FUNCTION Re_Source ( p_re_source_flag IN VARCHAR2 )
11731 RETURN BOOLEAN
11732 IS
11733 l_dummy                       VARCHAR2(10);
11734 BEGIN
11735 
11736 
11737     IF p_re_source_flag IS NULL OR
11738         p_re_source_flag = FND_API.G_MISS_CHAR
11739     THEN
11740 
11741         RETURN TRUE;
11742     END IF;
11743 
11744     --  SELECT  'VALID'
11745     --  INTO     l_dummy
11746     --  FROM     DB_TABLE
11747     --  WHERE    DB_COLUMN = p_re_source_flag;
11748 
11749 
11750     RETURN TRUE;
11751 
11752 EXCEPTION
11753 
11754     WHEN NO_DATA_FOUND THEN
11755 
11756         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11757         THEN
11758 
11759 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RE_SOURCE_FLAG');
11760 
11761             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11762             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11763 				OE_Order_Util.Get_Attribute_Name('re_source_flag'));
11764             OE_MSG_PUB.Add;
11765             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11766 
11767         END IF;
11768 
11769 
11770         RETURN FALSE;
11771 
11772     WHEN OTHERS THEN
11773 
11774         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11775         THEN
11776             OE_MSG_PUB.Add_Exc_Msg
11777             (   G_PKG_NAME
11778             ,   'Re_Source_Flag'
11779             );
11780         END IF;
11781 
11782 
11783         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11784 
11785 END Re_Source;
11786 
11787 
11788 FUNCTION Rla_Schedule_Type ( p_rla_schedule_type_code IN VARCHAR2 )
11789 RETURN BOOLEAN
11790 IS
11791 l_dummy                       VARCHAR2(10);
11792 BEGIN
11793 
11794 
11795     IF p_rla_schedule_type_code IS NULL OR
11796         p_rla_schedule_type_code = FND_API.G_MISS_CHAR
11797     THEN
11798 
11799         RETURN TRUE;
11800     END IF;
11801 
11802     --  SELECT  'VALID'
11803     --  INTO     l_dummy
11804     --  FROM     DB_TABLE
11805     --  WHERE    DB_COLUMN = p_rla_schedule_type_code;
11806 
11807 
11808     RETURN TRUE;
11809 
11810 EXCEPTION
11811 
11812     WHEN NO_DATA_FOUND THEN
11813 
11814         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11815         THEN
11816 
11817 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RLA_SCHEDULE_TYPE_CODE');
11818 
11819             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11820             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11821 				OE_Order_Util.Get_Attribute_Name('rla_schedule_type_code'));
11822             OE_MSG_PUB.Add;
11823 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11824 
11825         END IF;
11826 
11827 
11828         RETURN FALSE;
11829 
11830     WHEN OTHERS THEN
11831 
11832         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11833         THEN
11834             OE_MSG_PUB.Add_Exc_Msg
11835             (   G_PKG_NAME
11836             ,   'Rla_Schedule_Type'
11837             );
11838         END IF;
11839 
11840 
11841         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11842 
11843 END Rla_Schedule_Type;
11844 
11845 FUNCTION Schedule_Ship_Date ( p_schedule_ship_date IN DATE )
11846 RETURN BOOLEAN
11847 IS
11848 l_dummy                       VARCHAR2(10);
11849 BEGIN
11850 
11851 
11852     IF p_schedule_ship_date IS NULL OR
11853         p_schedule_ship_date = FND_API.G_MISS_DATE
11854     THEN
11855 
11856         RETURN TRUE;
11857     END IF;
11858 
11859     --  SELECT  'VALID'
11860     --  INTO     l_dummy
11861     --  FROM     DB_TABLE
11862     --  WHERE    DB_COLUMN = p_Schedule_Ship_Date;
11863 
11864 
11865     RETURN TRUE;
11866 
11867 EXCEPTION
11868 
11869     WHEN NO_DATA_FOUND THEN
11870 
11871         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11872         THEN
11873 
11874 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_SHIP_DATE');
11875 
11876             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11877             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11878 				OE_Order_Util.Get_Attribute_Name('schedule_ship_date'));
11879             OE_MSG_PUB.Add;
11880 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11881 
11882         END IF;
11883 
11884 
11885         RETURN FALSE;
11886 
11887     WHEN OTHERS THEN
11888 
11889         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11890         THEN
11891             OE_MSG_PUB.Add_Exc_Msg
11892             (   G_PKG_NAME
11893             ,   'schedule_ship_date'
11894             );
11895         END IF;
11896 
11897 
11898         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11899 
11900 END Schedule_Ship_Date;
11901 
11902 
11903 FUNCTION Schedule_Status ( p_schedule_status_code IN VARCHAR2 )
11904 RETURN BOOLEAN
11905 IS
11906 l_dummy                       VARCHAR2(10);
11907 BEGIN
11908 
11909 
11910     IF p_schedule_status_code IS NULL OR
11911         p_schedule_status_code = FND_API.G_MISS_CHAR
11912     THEN
11913 
11914         RETURN TRUE;
11915     END IF;
11916 
11917     --  SELECT  'VALID'
11918     --  INTO     l_dummy
11919     --  FROM     DB_TABLE
11920     --  WHERE    DB_COLUMN = p_schedule_ship_date;
11921 
11922 
11923     RETURN TRUE;
11924 
11925 EXCEPTION
11926 
11927     WHEN NO_DATA_FOUND THEN
11928 
11929         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11930         THEN
11931 
11932 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_STATUS_CODE');
11933 
11934             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11935             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11936 				OE_Order_Util.Get_Attribute_Name('schedule_status_code'));
11937             OE_MSG_PUB.Add;
11938 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11939 
11940         END IF;
11941 
11942 
11943         RETURN FALSE;
11944 
11945     WHEN OTHERS THEN
11946 
11947         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11948         THEN
11949             OE_MSG_PUB.Add_Exc_Msg
11950             (   G_PKG_NAME
11951             ,   'Schedule_Status'
11952             );
11953         END IF;
11954 
11955 
11956         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11957 
11958 END Schedule_Status;
11959 
11960 
11961 FUNCTION Tax ( p_tax_code IN VARCHAR2 )
11962 RETURN BOOLEAN
11963 IS
11964 l_dummy                       VARCHAR2(10);
11965 BEGIN
11966 
11967 
11968     IF p_tax_code IS NULL OR
11969         p_tax_code = FND_API.G_MISS_CHAR
11970     THEN
11971 
11972         RETURN TRUE;
11973     END IF;
11974    /*
11975    ** Since Tax_Code depands on tax_date, the validation should be done at
11976    ** Entity Level.
11977    */
11978 --    SELECT 'VALID'
11979 --    INTO   l_dummy
11980 --    FROM   AR_VAT_TAX V,
11981 --		 AR_SYSTEM_PARAMETERS P
11982 --    WHERE  V.TAX_CODE = p_tax_code
11983 --    AND V.SET_OF_BOOKS_ID = P.SET_OF_BOOKS_ID
11984 --    AND NVL(V.ENABLED_FLAG,'Y')='Y'
11985 --    AND NVL(V.TAX_CLASS,'O')='O'
11986 --    AND NVL(V.DISPLAYED_FLAG,'Y')='Y'
11987 --    AND TRUNC(SYSDATE) BETWEEN TRUNC(V.START_DATE) AND
11988 --	   TRUNC(NVL(V.END_DATE, SYSDATE))
11989 --    AND ROWNUM = 1;
11990 
11991 
11992     RETURN TRUE;
11993 
11994 EXCEPTION
11995 
11996     WHEN NO_DATA_FOUND THEN
11997 
11998         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11999         THEN
12000 
12001 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_CODE');
12002 
12003             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12004             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12005 				OE_Order_Util.Get_Attribute_Name('tax_code'));
12006             OE_MSG_PUB.Add;
12007 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12008 
12009         END IF;
12010 
12011 
12012         RETURN FALSE;
12013 
12014     WHEN OTHERS THEN
12015 
12016         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12017         THEN
12018             OE_MSG_PUB.Add_Exc_Msg
12019             (   G_PKG_NAME
12020             ,   'Tax'
12021             );
12022         END IF;
12023 
12024 
12025         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12026 
12027 END Tax;
12028 
12029 
12030 FUNCTION Tax_Rate ( p_tax_rate IN NUMBER )
12031 RETURN BOOLEAN
12032 IS
12033 l_dummy                       VARCHAR2(10);
12034 BEGIN
12035 
12036 
12037     IF p_tax_rate IS NULL OR
12038         p_tax_rate = FND_API.G_MISS_NUM
12039     THEN
12040 
12041         RETURN TRUE;
12042     END IF;
12043 
12044     --  SELECT  'VALID'
12045     --  INTO     l_dummy
12046     --  FROM     DB_TABLE
12047     --  WHERE    DB_COLUMN = p_tax_rate;
12048 
12049 
12050     RETURN TRUE;
12051 
12052 EXCEPTION
12053 
12054     WHEN NO_DATA_FOUND THEN
12055 
12056         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12057         THEN
12058 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_RATE');
12059 
12060             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12061             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12062 				OE_Order_Util.Get_Attribute_Name('tax_rate'));
12063             OE_MSG_PUB.Add;
12064 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12065 
12066         END IF;
12067 
12068 
12069         RETURN FALSE;
12070 
12071     WHEN OTHERS THEN
12072 
12073         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12074         THEN
12075             OE_MSG_PUB.Add_Exc_Msg
12076             (   G_PKG_NAME
12077             ,   'Tax_Rate'
12078             );
12079         END IF;
12080 
12081 
12082         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12083 
12084 END Tax_Rate;
12085 
12086 
12087 
12088 
12089 FUNCTION Visible_Demand ( p_visible_demand_flag IN VARCHAR2 )
12090 RETURN BOOLEAN
12091 IS
12092 l_dummy                       VARCHAR2(10);
12093 BEGIN
12094 
12095 
12096     IF p_visible_demand_flag IS NULL OR
12097         p_visible_demand_flag = FND_API.G_MISS_CHAR
12098     THEN
12099 
12100         RETURN TRUE;
12101     END IF;
12102 
12103     --  SELECT  'VALID'
12104     --  INTO     l_dummy
12105     --  FROM     DB_TABLE
12106     --  WHERE    DB_COLUMN = p_visible_demand_flag;
12107 
12108 
12109     RETURN TRUE;
12110 
12111 EXCEPTION
12112 
12113     WHEN NO_DATA_FOUND THEN
12114 
12115         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12116         THEN
12117 
12118 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VISIBLE_DEMAND_FLAG');
12119 
12120             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12121             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12122 				OE_Order_Util.Get_Attribute_Name('visible_demand_flag'));
12123             OE_MSG_PUB.Add;
12124 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12125 
12126         END IF;
12127 
12128 
12129         RETURN FALSE;
12130 
12131     WHEN OTHERS THEN
12132 
12133         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12134         THEN
12135             OE_MSG_PUB.Add_Exc_Msg
12136             (   G_PKG_NAME
12137             ,   'Visible_Demand'
12138             );
12139         END IF;
12140 
12141 
12142         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12143 
12144 END Visible_Demand;
12145 
12146 
12147 
12148 FUNCTION Shipped_Quantity ( p_shipped_quantity IN NUMBER )
12149 RETURN BOOLEAN
12150 IS
12151 l_dummy                       VARCHAR2(10);
12152 BEGIN
12153 
12154 
12155     IF p_shipped_quantity IS NULL OR
12156         p_shipped_quantity = FND_API.G_MISS_NUM
12157     THEN
12158 
12159         RETURN TRUE;
12160     END IF;
12161 
12162     --  SELECT  'VALID'
12163     --  INTO     l_dummy
12164     --  FROM     DB_TABLE
12165     --  WHERE    DB_COLUMN = p_shipped_quantity;
12166 
12167 
12168     RETURN TRUE;
12169 
12170 EXCEPTION
12171 
12172     WHEN NO_DATA_FOUND THEN
12173 
12174         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12175         THEN
12176 
12177 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY');
12178 
12179             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12180             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12181 				OE_Order_Util.Get_Attribute_Name('shipped_quantity'));
12182             OE_MSG_PUB.Add;
12183 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12184 
12185         END IF;
12186 
12187 
12188         RETURN FALSE;
12189 
12190     WHEN OTHERS THEN
12191 
12192         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12193         THEN
12194             OE_MSG_PUB.Add_Exc_Msg
12195             (   G_PKG_NAME
12196             ,   'Shipped_Quantity'
12197             );
12198         END IF;
12199 
12200 
12201         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12202 
12203 END Shipped_Quantity;
12204 
12205 -- INVCONV
12206 FUNCTION Shipped_Quantity2 ( p_shipped_quantity2 IN NUMBER )
12207 RETURN BOOLEAN
12208 IS
12209 l_dummy                       VARCHAR2(10);
12210 BEGIN
12211 
12212 
12213     IF p_shipped_quantity2 IS NULL OR
12214         p_shipped_quantity2 = FND_API.G_MISS_NUM
12215     THEN
12216 
12217         RETURN TRUE;
12218     END IF;
12219 
12220     --  SELECT  'VALID'
12221     --  INTO     l_dummy
12222     --  FROM     DB_TABLE
12223     --  WHERE    DB_COLUMN = p_shipped_quantity2;
12224 
12225 
12226     RETURN TRUE;
12227 
12228 EXCEPTION
12229 
12230     WHEN NO_DATA_FOUND THEN
12231 
12232         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12233         THEN
12234 
12235 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY2');
12236 
12237             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12238             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12239 				OE_Order_Util.Get_Attribute_Name('shipped_quantity2'));
12240             OE_MSG_PUB.Add;
12241 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12242 
12243         END IF;
12244 
12245 
12246         RETURN FALSE;
12247 
12248     WHEN OTHERS THEN
12249 
12250         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12251         THEN
12252             OE_MSG_PUB.Add_Exc_Msg
12253             (   G_PKG_NAME
12254             ,   'Shipped_Quantity2'
12255             );
12256         END IF;
12257 
12258 
12259         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12260 
12261 END Shipped_Quantity2;
12262 
12263 
12264 FUNCTION Earliest_Acceptable_Date ( p_earliest_acceptable_date IN DATE )
12265 RETURN BOOLEAN
12266 IS
12267 l_dummy                       VARCHAR2(10);
12268 BEGIN
12269 
12270 
12271     IF p_earliest_acceptable_date IS NULL OR
12272         p_earliest_acceptable_date = FND_API.G_MISS_DATE
12273     THEN
12274 
12275         RETURN TRUE;
12276     END IF;
12277 
12278     --  SELECT  'VALID'
12279     --  INTO     l_dummy
12280     --  FROM     DB_TABLE
12281     --  WHERE    DB_COLUMN = p_earliest_acceptable_date;
12282 
12283 
12284     RETURN TRUE;
12285 
12286 EXCEPTION
12287 
12288     WHEN NO_DATA_FOUND THEN
12289 
12290         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12291         THEN
12292 
12293 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_ACCEPTABLE_DATE');
12294 
12295             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12296             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12297 				OE_Order_Util.Get_Attribute_Name('earliest_acceptable_date'));
12298             OE_MSG_PUB.Add;
12299 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12300 
12301         END IF;
12302 
12303 
12304         RETURN FALSE;
12305 
12306     WHEN OTHERS THEN
12307 
12308         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12309         THEN
12310             OE_MSG_PUB.Add_Exc_Msg
12311             (   G_PKG_NAME
12312             ,   'Earliest_Acceptable_Date'
12313             );
12314         END IF;
12315 
12316 
12317         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12318 
12319 END Earliest_Acceptable_Date;
12320 
12321 FUNCTION Earliest_Schedule_limit ( p_earliest_schedule_limit IN NUMBER )
12322 RETURN BOOLEAN
12323 IS
12324 l_dummy                       VARCHAR2(10);
12325 BEGIN
12326 
12327 
12328     IF p_earliest_schedule_limit IS NULL OR
12329         p_earliest_schedule_limit = FND_API.G_MISS_NUM
12330     THEN
12331 
12332         RETURN TRUE;
12333     END IF;
12334 
12335     --  SELECT  'VALID'
12336     --  INTO     l_dummy
12337     --  FROM     DB_TABLE
12338     --  WHERE    DB_COLUMN = p_earliest_schedule_limit;
12339 
12340 
12341     RETURN TRUE;
12342 
12343 EXCEPTION
12344 
12345     WHEN NO_DATA_FOUND THEN
12346 
12347         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12348         THEN
12349 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_SCHEDULE_LIMIT');
12350 
12351             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12352             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12353 				OE_Order_Util.Get_Attribute_Name('earliest_schedule_limit'));
12354             OE_MSG_PUB.Add;
12355 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12356 
12357         END IF;
12358 
12359 
12360         RETURN FALSE;
12361 
12362     WHEN OTHERS THEN
12363 
12364         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12365         THEN
12366             OE_MSG_PUB.Add_Exc_Msg
12367             (   G_PKG_NAME
12368             ,   'Earliest_Schedule_Limit'
12369             );
12370         END IF;
12371 
12372 
12373         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12374 
12375 END Earliest_Schedule_Limit;
12376 
12377 
12378 FUNCTION Latest_Acceptable_Date ( p_latest_acceptable_date IN DATE )
12379 RETURN BOOLEAN
12380 IS
12381 l_dummy                       VARCHAR2(10);
12382 BEGIN
12383 
12384 
12385     IF p_latest_acceptable_date IS NULL OR
12386         p_latest_acceptable_date = FND_API.G_MISS_DATE
12387     THEN
12388 
12389         RETURN TRUE;
12390     END IF;
12391 
12392     --  SELECT  'VALID'
12393     --  INTO     l_dummy
12394     --  FROM     DB_TABLE
12395     --  WHERE    DB_COLUMN = p_latest_acceptable_date;
12396 
12397 
12398     RETURN TRUE;
12399 
12400 EXCEPTION
12401 
12402     WHEN NO_DATA_FOUND THEN
12403 
12404         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12405         THEN
12406 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_ACCEPTABLE_DATE');
12407 
12408 
12409             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12410             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12411 				OE_Order_Util.Get_Attribute_Name('latest_acceptable_date'));
12412             OE_MSG_PUB.Add;
12413 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12414 
12415         END IF;
12416 
12417 
12418         RETURN FALSE;
12419 
12420     WHEN OTHERS THEN
12421 
12422         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12423         THEN
12424             OE_MSG_PUB.Add_Exc_Msg
12425             (   G_PKG_NAME
12426             ,   'Latest_Acceptable_Date'
12427             );
12428         END IF;
12429 
12430 
12431         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12432 
12433 END Latest_Acceptable_Date;
12434 
12435 FUNCTION Latest_Schedule_limit (p_latest_schedule_limit IN NUMBER)
12436 RETURN BOOLEAN
12437 IS
12438 l_dummy                       VARCHAR2(10);
12439 BEGIN
12440 
12441 
12442     IF p_latest_schedule_limit IS NULL OR
12443         p_latest_schedule_limit = FND_API.G_MISS_NUM
12444     THEN
12445 
12446         RETURN TRUE;
12447     END IF;
12448 
12449     --  SELECT  'VALID'
12450     --  INTO     l_dummy
12451     --  FROM     DB_TABLE
12452     --  WHERE    DB_COLUMN = p_latest_schedule_limit;
12453 
12454 
12455     RETURN TRUE;
12456 
12457 EXCEPTION
12458 
12459     WHEN NO_DATA_FOUND THEN
12460 
12461         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12462         THEN
12463 
12464 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_SCHEDULE_LIMIT');
12465 
12466             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12467             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12468 				OE_Order_Util.Get_Attribute_Name('latest_schedule_limit'));
12469             OE_MSG_PUB.Add;
12470 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12471 
12472         END IF;
12473 
12474 
12475         RETURN FALSE;
12476 
12477     WHEN OTHERS THEN
12478 
12479         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12480         THEN
12481             OE_MSG_PUB.Add_Exc_Msg
12482             (   G_PKG_NAME
12483             ,   'Latest_Schedule_Limit'
12484             );
12485         END IF;
12486 
12487 
12488         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12489 
12490 END Latest_Schedule_Limit;
12491 
12492 FUNCTION Model_Group_Number ( p_model_group_number IN NUMBER )
12493 RETURN BOOLEAN
12494 IS
12495 l_dummy                       VARCHAR2(10);
12496 BEGIN
12497 
12498 
12499     IF p_model_group_number IS NULL OR
12500         p_model_group_number = FND_API.G_MISS_NUM
12501     THEN
12502 
12503         RETURN TRUE;
12504     END IF;
12505 
12506     --  SELECT  'VALID'
12507     --  INTO     l_dummy
12508     --  FROM     DB_TABLE
12509     --  WHERE    DB_COLUMN = p_model_group_number;
12510 
12511 
12512     RETURN TRUE;
12513 
12514 EXCEPTION
12515 
12516     WHEN NO_DATA_FOUND THEN
12517 
12518         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12519         THEN
12520 
12521 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODEL_GROUP_NUMBER');
12522 
12523             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12524             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12525 				OE_Order_Util.Get_Attribute_Name('model_group_number'));
12526             OE_MSG_PUB.Add;
12527 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12528 
12529         END IF;
12530 
12531 
12532         RETURN FALSE;
12533 
12534     WHEN OTHERS THEN
12535 
12536         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12537         THEN
12538             OE_MSG_PUB.Add_Exc_Msg
12539             (   G_PKG_NAME
12540             ,   'Model_Group_Number'
12541             );
12542         END IF;
12543 
12544 
12545         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12546 
12547 END Model_Group_Number;
12548 
12549 
12550 FUNCTION Mfg_Component_Sequence ( p_mfg_component_sequence_id IN NUMBER )
12551 RETURN BOOLEAN
12552 IS
12553 l_dummy                       VARCHAR2(10);
12554 BEGIN
12555 
12556 
12557     IF p_mfg_component_sequence_id IS NULL OR
12558         p_mfg_component_sequence_id = FND_API.G_MISS_NUM
12559     THEN
12560 
12561         RETURN TRUE;
12562     END IF;
12563 
12564     --  SELECT  'VALID'
12565     --  INTO     l_dummy
12566     --  FROM     DB_TABLE
12567     --  WHERE    DB_COLUMN = p_mfg_component_sequence_id;
12568 
12569 
12570     RETURN TRUE;
12571 
12572 EXCEPTION
12573 
12574     WHEN NO_DATA_FOUND THEN
12575 
12576         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12577         THEN
12578 
12579 	      OE_MSG_PUB.Update_Msg_Context
12580 			    (p_attribute_code => 'MFG_COMPONENT_SEQUENCE_ID');
12581 
12582             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12583             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12584 				OE_Order_Util.Get_Attribute_Name
12585 						('mfg_component_sequence_id'));
12586             OE_MSG_PUB.Add;
12587 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12588 
12589         END IF;
12590 
12591 
12592         RETURN FALSE;
12593 
12594     WHEN OTHERS THEN
12595 
12596         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12597         THEN
12598             OE_MSG_PUB.Add_Exc_Msg
12599             (   G_PKG_NAME
12600             ,   'Mfg_Component_Sequence_Id'
12601             );
12602         END IF;
12603 
12604 
12605         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12606 
12607 END Mfg_Component_Sequence;
12608 
12609 FUNCTION Schedule_Arrival_Date ( p_schedule_arrival_date IN DATE )
12610 RETURN BOOLEAN
12611 IS
12612 l_dummy                       VARCHAR2(10);
12613 BEGIN
12614 
12615 
12616     IF p_schedule_arrival_date IS NULL OR
12617         p_schedule_arrival_date = FND_API.G_MISS_DATE
12618     THEN
12619 
12620         RETURN TRUE;
12621     END IF;
12622 
12623     --  SELECT  'VALID'
12624     --  INTO     l_dummy
12625     --  FROM     DB_TABLE
12626     --  WHERE    DB_COLUMN = p_schedule_arrival_date;
12627 
12628 
12629     RETURN TRUE;
12630 
12631 EXCEPTION
12632 
12633     WHEN NO_DATA_FOUND THEN
12634 
12635         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12636         THEN
12637 
12638 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ARRIVAL_DATE');
12639 
12640             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12641             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12642 				OE_Order_Util.Get_Attribute_Name('schedule_arrival_date'));
12643             OE_MSG_PUB.Add;
12644 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12645 
12646         END IF;
12647 
12648 
12649         RETURN FALSE;
12650 
12651     WHEN OTHERS THEN
12652 
12653         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12654         THEN
12655             OE_MSG_PUB.Add_Exc_Msg
12656             (   G_PKG_NAME
12657             ,   'Schedule_Arrival_Date'
12658             );
12659         END IF;
12660 
12661 
12662         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12663 
12664 END Schedule_Arrival_Date;
12665 
12666 
12667 
12668 FUNCTION Ship_Model_Complete ( p_ship_model_complete_flag IN VARCHAR2 )
12669 RETURN BOOLEAN
12670 IS
12671 l_dummy                       VARCHAR2(10);
12672 BEGIN
12673 
12674 
12675     IF p_ship_model_complete_flag IS NULL OR
12676         p_ship_model_complete_flag = FND_API.G_MISS_CHAR
12677     THEN
12678 
12679         RETURN TRUE;
12680     END IF;
12681 
12682     --  SELECT  'VALID'
12683     --  INTO     l_dummy
12684     --  FROM     DB_TABLE
12685     --  WHERE    DB_COLUMN = p_visible_demand_flag;
12686 
12687 
12688     RETURN TRUE;
12689 
12690 EXCEPTION
12691 
12692     WHEN NO_DATA_FOUND THEN
12693 
12694         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12695         THEN
12696 
12697 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_MODEL_COMPLETE_FLAG');
12698 
12699             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12700             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12701 				OE_Order_Util.Get_Attribute_Name('ship_model_complete_flag'));
12702             OE_MSG_PUB.Add;
12703 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12704 
12705         END IF;
12706 
12707 
12708         RETURN FALSE;
12709 
12710     WHEN OTHERS THEN
12711 
12712         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12713         THEN
12714             OE_MSG_PUB.Add_Exc_Msg
12715             (   G_PKG_NAME
12716             ,   'Ship_Model_Complete_Flag'
12717             );
12718         END IF;
12719 
12720 
12721         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12722 
12723 END Ship_Model_Complete;
12724 
12725 FUNCTION From_Serial_Number ( p_from_serial_number IN VARCHAR2 )
12726 RETURN BOOLEAN
12727 IS
12728 l_dummy                       VARCHAR2(10);
12729 BEGIN
12730 
12731 
12732     IF p_from_serial_number IS NULL OR
12733         p_from_serial_number = FND_API.G_MISS_CHAR
12734     THEN
12735 
12736         RETURN TRUE;
12737     END IF;
12738 
12739     --  SELECT  'VALID'
12740     --  INTO     l_dummy
12741     --  FROM     DB_TABLE
12742     --  WHERE    DB_COLUMN = p_from_serial_number;
12743 
12744 
12745     RETURN TRUE;
12746 
12747 EXCEPTION
12748 
12749     WHEN NO_DATA_FOUND THEN
12750 
12751         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12752         THEN
12753 
12754 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FROM_SERIAL_NUMBER');
12755 
12756             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12757             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12758 				OE_Order_Util.Get_Attribute_Name('from_serial_number'));
12759             OE_MSG_PUB.Add;
12760 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12761 
12762         END IF;
12763 
12764 
12765         RETURN FALSE;
12766 
12767     WHEN OTHERS THEN
12768 
12769         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12770         THEN
12771             OE_MSG_PUB.Add_Exc_Msg
12772             (   G_PKG_NAME
12773             ,   'From_Serial_Number'
12774             );
12775         END IF;
12776 
12777 
12778         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12779 
12780 END From_Serial_Number;
12781 
12782 FUNCTION Lot_Number ( p_lot_number IN VARCHAR2 )
12783 RETURN BOOLEAN
12784 IS
12785 l_dummy                       VARCHAR2(10);
12786 BEGIN
12787 
12788 
12789     IF p_lot_number IS NULL OR
12790         p_lot_number = FND_API.G_MISS_CHAR
12791     THEN
12792 
12793         RETURN TRUE;
12794     END IF;
12795 
12796     --  SELECT  'VALID'
12797     --  INTO     l_dummy
12798     --  FROM     DB_TABLE
12799     --  WHERE    DB_COLUMN = p_lot_number;
12800 
12801 
12802     RETURN TRUE;
12803 
12804 EXCEPTION
12805 
12806     WHEN NO_DATA_FOUND THEN
12807 
12808         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12809         THEN
12810 
12811 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_NUMBER');
12812 
12813             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12814             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12815 				OE_Order_Util.Get_Attribute_Name('lot_number'));
12816             OE_MSG_PUB.Add;
12817 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12818 
12819         END IF;
12820 
12821 
12822         RETURN FALSE;
12823 
12824     WHEN OTHERS THEN
12825 
12826         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12827         THEN
12828             OE_MSG_PUB.Add_Exc_Msg
12829             (   G_PKG_NAME
12830             ,   'Lot_Number'
12831             );
12832         END IF;
12833 
12834 
12835         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12836 
12837 END Lot_Number;
12838 
12839  /*FUNCTION Sublot_Number ( p_sublot_number IN VARCHAR2 ) -- INVCONV
12840 RETURN BOOLEAN
12841 IS
12842 l_dummy                       VARCHAR2(10);
12843 BEGIN
12844 
12845 
12846     IF p_sublot_number IS NULL OR
12847         p_sublot_number = FND_API.G_MISS_CHAR
12848     THEN
12849 
12850         RETURN TRUE;
12851     END IF;
12852 
12853     --  SELECT  'VALID'
12854     --  INTO     l_dummy
12855     --  FROM     DB_TABLE
12856     --  WHERE    DB_COLUMN = p_sublot_number;
12857 
12858 
12859     RETURN TRUE;
12860 
12861 EXCEPTION
12862 
12863     WHEN NO_DATA_FOUND THEN
12864 
12865         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12866         THEN
12867 
12868 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUBLOT_NUMBER');
12869 
12870             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12871             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12872 				OE_Order_Util.Get_Attribute_Name('sublot_number'));
12873             OE_MSG_PUB.Add;
12874 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12875 
12876         END IF;
12877 
12878 
12879         RETURN FALSE;
12880 
12881     WHEN OTHERS THEN
12882 
12883         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12884         THEN
12885             OE_MSG_PUB.Add_Exc_Msg
12886             (   G_PKG_NAME
12887             ,   'Sublot_Number'
12888             );
12889         END IF;
12890 
12891 
12892         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12893 
12894 END Sublot_Number;  */
12895 
12896 
12897 
12898 FUNCTION Lot_Serial ( p_lot_serial_id IN NUMBER )
12899 RETURN BOOLEAN
12900 IS
12901 l_dummy                       VARCHAR2(10);
12902 BEGIN
12903 
12904 
12905     IF p_lot_serial_id IS NULL OR
12906         p_lot_serial_id = FND_API.G_MISS_NUM
12907     THEN
12908 
12909         RETURN TRUE;
12910     END IF;
12911 
12912     --  SELECT  'VALID'
12913     --  INTO     l_dummy
12914     --  FROM     DB_TABLE
12915     --  WHERE    DB_COLUMN = p_lot_serial_id;
12916 
12917 
12918     RETURN TRUE;
12919 
12920 EXCEPTION
12921 
12922     WHEN NO_DATA_FOUND THEN
12923 
12924         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12925         THEN
12926 
12927 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_SERIAL_ID');
12928 
12929             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12930             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12931 				OE_Order_Util.Get_Attribute_Name('lot_serial_id'));
12932             OE_MSG_PUB.Add;
12933 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12934 
12935         END IF;
12936 
12937 
12938         RETURN FALSE;
12939 
12940     WHEN OTHERS THEN
12941 
12942         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12943         THEN
12944             OE_MSG_PUB.Add_Exc_Msg
12945             (   G_PKG_NAME
12946             ,   'Lot_Serial'
12947             );
12948         END IF;
12949 
12950 
12951         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12952 
12953 END Lot_Serial;
12954 
12955 FUNCTION Quantity ( p_quantity IN NUMBER )
12956 RETURN BOOLEAN
12957 IS
12958 l_dummy                       VARCHAR2(10);
12959 BEGIN
12960 
12961 
12962     IF p_quantity IS NULL OR
12963         p_quantity = FND_API.G_MISS_NUM
12964     THEN
12965 
12966         RETURN TRUE;
12967     END IF;
12968 
12969     --  SELECT  'VALID'
12970     --  INTO     l_dummy
12971     --  FROM     DB_TABLE
12972     --  WHERE    DB_COLUMN = p_quantity;
12973 
12974 
12975     RETURN TRUE;
12976 
12977 EXCEPTION
12978 
12979     WHEN NO_DATA_FOUND THEN
12980 
12981         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12982         THEN
12983 
12984 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY');
12985 
12986             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12987             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12988 				OE_Order_Util.Get_Attribute_Name('quantity'));
12989             OE_MSG_PUB.Add;
12990 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12991 
12992         END IF;
12993 
12994 
12995         RETURN FALSE;
12996 
12997     WHEN OTHERS THEN
12998 
12999         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13000         THEN
13001             OE_MSG_PUB.Add_Exc_Msg
13002             (   G_PKG_NAME
13003             ,   'Quantity'
13004             );
13005         END IF;
13006 
13007 
13008         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13009 
13010 END Quantity;
13011 
13012 FUNCTION Quantity2 ( p_quantity2 IN NUMBER )
13013 RETURN BOOLEAN
13014 IS
13015 l_dummy                       VARCHAR2(10);
13016 BEGIN
13017 
13018 
13019     IF p_quantity2 IS NULL OR
13020         p_quantity2 = FND_API.G_MISS_NUM
13021     THEN
13022 
13023         RETURN TRUE;
13024     END IF;
13025 
13026     --  SELECT  'VALID'
13027     --  INTO     l_dummy
13028     --  FROM     DB_TABLE
13029     --  WHERE    DB_COLUMN = p_quantity;
13030 
13031 
13032     RETURN TRUE;
13033 
13034 EXCEPTION
13035 
13036     WHEN NO_DATA_FOUND THEN
13037 
13038         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13039         THEN
13040 
13041 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY2');
13042 
13043             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13044             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13045 				OE_Order_Util.Get_Attribute_Name('quantity2'));
13046             OE_MSG_PUB.Add;
13047 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13048 
13049         END IF;
13050 
13051 
13052         RETURN FALSE;
13053 
13054     WHEN OTHERS THEN
13055 
13056         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13057         THEN
13058             OE_MSG_PUB.Add_Exc_Msg
13059             (   G_PKG_NAME
13060             ,   'Quantity2'
13061             );
13062         END IF;
13063 
13064 
13065         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13066 
13067 END Quantity2;
13068 
13069 
13070 
13071 FUNCTION To_Serial_Number ( p_to_serial_number IN VARCHAR2 )
13072 RETURN BOOLEAN
13073 IS
13074 l_dummy                       VARCHAR2(10);
13075 BEGIN
13076 
13077 
13078     IF p_to_serial_number IS NULL OR
13079         p_to_serial_number = FND_API.G_MISS_CHAR
13080     THEN
13081 
13082         RETURN TRUE;
13083     END IF;
13084 
13085     --  SELECT  'VALID'
13086     --  INTO     l_dummy
13087     --  FROM     DB_TABLE
13088     --  WHERE    DB_COLUMN = p_to_serial_number;
13089 
13090 
13091     RETURN TRUE;
13092 
13093 EXCEPTION
13094 
13095     WHEN NO_DATA_FOUND THEN
13096 
13097         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13098         THEN
13099 
13100 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TO_SERIAL_NUMBER');
13101 
13102             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13103             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13104 				OE_Order_Util.Get_Attribute_Name('to_serial_number'));
13105             OE_MSG_PUB.Add;
13106 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13107 
13108         END IF;
13109 
13110 
13111         RETURN FALSE;
13112 
13113     WHEN OTHERS THEN
13114 
13115         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13116         THEN
13117             OE_MSG_PUB.Add_Exc_Msg
13118             (   G_PKG_NAME
13119             ,   'To_Serial_Number'
13120             );
13121         END IF;
13122 
13123 
13124         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13125 
13126 END To_Serial_Number;
13127 
13128 FUNCTION Line_Set ( p_line_set_id IN NUMBER)
13129 RETURN BOOLEAN
13130 IS
13131 l_dummy                       VARCHAR2(10);
13132 BEGIN
13133 
13134 
13135     IF p_line_set_id IS NULL OR
13136         p_line_set_id = FND_API.G_MISS_NUM
13137     THEN
13138 
13139         RETURN TRUE;
13140     END IF;
13141 
13142     --  SELECT  'VALID'
13143     --  INTO     l_dummy
13144     --  FROM     DB_TABLE
13145     --  WHERE    DB_COLUMN = p_line_set_id;
13146 
13147 
13148     RETURN TRUE;
13149 
13150 EXCEPTION
13151 
13152     WHEN NO_DATA_FOUND THEN
13153 
13154         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13155         THEN
13156 
13157 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Line_Set_ID');
13158 
13159             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13160             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13161 				OE_Order_Util.Get_Attribute_Name('Line_Set_ID'));
13162             OE_MSG_PUB.Add;
13163 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13164 
13165         END IF;
13166 
13167 
13168         RETURN FALSE;
13169 
13170     WHEN OTHERS THEN
13171 
13172         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13173         THEN
13174             OE_MSG_PUB.Add_Exc_Msg
13175             (   G_PKG_NAME
13176             ,   'Line_Set'
13177             );
13178         END IF;
13179 
13180 
13181         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13182 
13183 END Line_Set;
13184 
13185 FUNCTION Amount ( p_amount IN NUMBER )
13186 RETURN BOOLEAN
13187 IS
13188 l_dummy                       VARCHAR2(10);
13189 BEGIN
13190 
13191 
13192     IF p_amount IS NULL OR
13193         p_amount = FND_API.G_MISS_NUM
13194     THEN
13195 
13196         RETURN TRUE;
13197     END IF;
13198 
13199     --  SELECT  'VALID'
13200     --  INTO     l_dummy
13201     --  FROM     DB_TABLE
13202     --  WHERE    DB_COLUMN = p_amount;
13203 
13204 
13205     RETURN TRUE;
13206 
13207 EXCEPTION
13208 
13209     WHEN NO_DATA_FOUND THEN
13210 
13211         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13212         THEN
13213 
13214 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AMOUNT');
13215 
13216             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13217             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13218 				OE_Order_Util.Get_Attribute_Name('amount'));
13219             OE_MSG_PUB.Add;
13220 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13221 
13222         END IF;
13223 
13224 
13225         RETURN FALSE;
13226 
13227     WHEN OTHERS THEN
13228 
13229         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13230         THEN
13231             OE_MSG_PUB.Add_Exc_Msg
13232             (   G_PKG_NAME
13233             ,   'Amount'
13234             );
13235         END IF;
13236 
13237 
13238         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13239 
13240 END Amount;
13241 
13242 FUNCTION Appear_On_Ack ( p_appear_on_ack_flag IN VARCHAR2 )
13243 RETURN BOOLEAN
13244 IS
13245 l_dummy                       VARCHAR2(10);
13246 BEGIN
13247 
13248 
13249     IF p_appear_on_ack_flag IS NULL OR
13250         p_appear_on_ack_flag = FND_API.G_MISS_CHAR
13251     THEN
13252 
13253         RETURN TRUE;
13254     END IF;
13255 
13256     --  SELECT  'VALID'
13257     --  INTO     l_dummy
13258     --  FROM     DB_TABLE
13259     --  WHERE    DB_COLUMN = p_appear_on_ack_flag;
13260 
13261 
13262     RETURN TRUE;
13263 
13264 EXCEPTION
13265 
13266     WHEN NO_DATA_FOUND THEN
13267 
13268         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13269         THEN
13270 
13271 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_ACK_FLAG');
13272 
13273             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13274             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13275 				OE_Order_Util.Get_Attribute_Name('appear_on_ack_flag'));
13276             OE_MSG_PUB.Add;
13277 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13278 
13279         END IF;
13280 
13281 
13282        RETURN FALSE;
13283 
13284     WHEN OTHERS THEN
13285 
13286         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13287         THEN
13288             OE_MSG_PUB.Add_Exc_Msg
13289             (   G_PKG_NAME
13290             ,   'Appear_On_Ack'
13291             );
13292         END IF;
13293 
13294 
13295         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13296 
13297 END Appear_On_Ack;
13298 
13299 FUNCTION Appear_On_Invoice ( p_appear_on_invoice_flag IN VARCHAR2 )
13300 RETURN BOOLEAN
13301 IS
13302 l_dummy                       VARCHAR2(10);
13303 BEGIN
13304 
13305 
13306     IF p_appear_on_invoice_flag IS NULL OR
13307         p_appear_on_invoice_flag = FND_API.G_MISS_CHAR
13308     THEN
13309 
13310         RETURN TRUE;
13311     END IF;
13312 
13313     --  SELECT  'VALID'
13314     --  INTO     l_dummy
13315     --  FROM     DB_TABLE
13316     --  WHERE    DB_COLUMN = p_appear_on_invoice_flag;
13317 
13318 
13319     RETURN TRUE;
13320 
13321 EXCEPTION
13322 
13323     WHEN NO_DATA_FOUND THEN
13324 
13325         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13326         THEN
13327 
13328 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_INVOICE_FLAG');
13329 
13330             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13331             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13332 				OE_Order_Util.Get_Attribute_Name('appear_on_invoice_flag'));
13333             OE_MSG_PUB.Add;
13334 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13335 
13336         END IF;
13337 
13338 
13339         RETURN FALSE;
13340 
13341     WHEN OTHERS THEN
13342 
13343         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13344         THEN
13345             OE_MSG_PUB.Add_Exc_Msg
13346             (   G_PKG_NAME
13347             ,   'Appear_On_Invoice'
13348             );
13349         END IF;
13350 
13351 
13352         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13353 
13354 END Appear_On_Invoice;
13355 
13356 FUNCTION Charge ( p_charge_id IN NUMBER )
13357 RETURN BOOLEAN
13358 IS
13359 l_dummy                       VARCHAR2(10);
13360 BEGIN
13361 
13362 
13363     IF p_charge_id IS NULL OR
13364         p_charge_id = FND_API.G_MISS_NUM
13365     THEN
13366 
13367         RETURN TRUE;
13368     END IF;
13369 
13370     --  SELECT  'VALID'
13371     --  INTO     l_dummy
13372     --  FROM     DB_TABLE
13373     --  WHERE    DB_COLUMN = p_charge_id;
13374 
13375 
13376     RETURN TRUE;
13377 
13378 EXCEPTION
13379 
13380     WHEN NO_DATA_FOUND THEN
13381 
13382         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13383         THEN
13384 
13385 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_ID');
13386 
13387             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13388             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13389 				OE_Order_Util.Get_Attribute_Name('charge_id'));
13390             OE_MSG_PUB.Add;
13391 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13392 
13393 
13394         END IF;
13395 
13396         RETURN FALSE;
13397 
13398     WHEN OTHERS THEN
13399 
13400         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13401         THEN
13402             OE_MSG_PUB.Add_Exc_Msg
13403             (   G_PKG_NAME
13404             ,   'Charge'
13405             );
13406         END IF;
13407 
13408 
13409         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13410 
13411 END Charge;
13412 
13413 FUNCTION Charge_Type ( p_charge_type_id IN NUMBER )
13414 RETURN BOOLEAN
13415 IS
13416 l_dummy                       VARCHAR2(10);
13417 BEGIN
13418 
13419 
13420     IF p_charge_type_id IS NULL OR
13421         p_charge_type_id = FND_API.G_MISS_NUM
13422     THEN
13423 
13424         RETURN TRUE;
13425     END IF;
13426 
13427     --  SELECT  'VALID'
13428     --  INTO     l_dummy
13429     --  FROM     DB_TABLE
13430     --  WHERE    DB_COLUMN = p_charge_type_id;
13431 
13432 
13433    RETURN TRUE;
13434 
13435 EXCEPTION
13436 
13437     WHEN NO_DATA_FOUND THEN
13438 
13439         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13440         THEN
13441 
13442 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_ID');
13443 
13444             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13445             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13446 				OE_Order_Util.Get_Attribute_Name('charge_type_id'));
13447             OE_MSG_PUB.Add;
13448 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13449 
13450         END IF;
13451 
13452 
13453         RETURN FALSE;
13454 
13455     WHEN OTHERS THEN
13456 
13457         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13458         THEN
13459             OE_MSG_PUB.Add_Exc_Msg
13460             (   G_PKG_NAME
13461             ,   'Charge_Type'
13462             );
13463         END IF;
13464 
13465 
13466         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13467 
13468 END Charge_Type;
13469 
13470 FUNCTION Conversion_Date ( p_conversion_date IN DATE )
13471 RETURN BOOLEAN
13472 IS
13473 l_dummy                       VARCHAR2(10);
13474 BEGIN
13475 
13476 
13477     IF p_conversion_date IS NULL OR
13478         p_conversion_date = FND_API.G_MISS_DATE
13479     THEN
13480 
13481         RETURN TRUE;
13482     END IF;
13483 
13484     --  SELECT  'VALID'
13485     --  INTO     l_dummy
13486     --  FROM     DB_TABLE
13487     --  WHERE    DB_COLUMN = p_conversion_date;
13488 
13489 
13490     RETURN TRUE;
13491 
13492 EXCEPTION
13493 
13494     WHEN NO_DATA_FOUND THEN
13495 
13496         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13497         THEN
13498 
13499 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_DATE');
13500 
13501             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13502             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13503 				OE_Order_Util.Get_Attribute_Name('conversion_date'));
13504 
13505 	      OE_MSG_PUB.Add;
13506 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13507 
13508 
13509         END IF;
13510 
13511 
13512         RETURN FALSE;
13513 
13514     WHEN OTHERS THEN
13515 
13516         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13517         THEN
13518             OE_MSG_PUB.Add_Exc_Msg
13519             (   G_PKG_NAME
13520             ,   'Conversion_Date'
13521             );
13522         END IF;
13523 
13524 
13525         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13526 
13527 END Conversion_Date;
13528 
13529 FUNCTION Cost_Or_Charge ( p_cost_or_charge_flag IN VARCHAR2 )
13530 RETURN BOOLEAN
13531 IS
13532 l_dummy                       VARCHAR2(10);
13533 BEGIN
13534 
13535 
13536     IF p_cost_or_charge_flag IS NULL OR
13537         p_cost_or_charge_flag = FND_API.G_MISS_CHAR
13538     THEN
13539 
13540         RETURN TRUE;
13541     END IF;
13542 
13543     --  SELECT  'VALID'
13544     --  INTO     l_dummy
13545     --  FROM     DB_TABLE
13546     --  WHERE    DB_COLUMN = p_cost_or_charge_flag;
13547 
13548 
13549     RETURN TRUE;
13550 
13551 EXCEPTION
13552 
13553     WHEN NO_DATA_FOUND THEN
13554 
13555         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13556         THEN
13557 
13558 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_OR_CHARGE_FLAG');
13559 
13560             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13561             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13562 				OE_Order_Util.Get_Attribute_Name('cost_or_charge_flag'));
13563             OE_MSG_PUB.Add;
13564 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13565 
13566         END IF;
13567 
13568 
13569         RETURN FALSE;
13570 
13571     WHEN OTHERS THEN
13572 
13573         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13574         THEN
13575             OE_MSG_PUB.Add_Exc_Msg
13576             (   G_PKG_NAME
13577             ,   'Cost_Or_Charge'
13578             );
13579         END IF;
13580 
13581 
13582         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13583 
13584 END Cost_Or_Charge;
13585 
13586 FUNCTION Currency ( p_currency_code IN VARCHAR2 )
13587 RETURN BOOLEAN
13588 IS
13589 l_dummy                       VARCHAR2(10);
13590 BEGIN
13591 
13592 
13593     IF p_currency_code IS NULL OR
13594         p_currency_code = FND_API.G_MISS_CHAR
13595     THEN
13596 
13597         RETURN TRUE;
13598     END IF;
13599 
13600     --  SELECT  'VALID'
13601     --  INTO     l_dummy
13602     --  FROM     DB_TABLE
13603     --  WHERE    DB_COLUMN = p_currency_code;
13604 
13605 
13606     RETURN TRUE;
13607 
13608 EXCEPTION
13609 
13610     WHEN NO_DATA_FOUND THEN
13611 
13612         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13613         THEN
13614 
13615 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CURRENCY_CODE');
13616 
13617             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13618             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13619 				OE_Order_Util.Get_Attribute_Name('currency_code'));
13620             OE_MSG_PUB.Add;
13621 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13622 
13623         END IF;
13624 
13625 
13626         RETURN FALSE;
13627 
13628     WHEN OTHERS THEN
13629 
13630         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13631         THEN
13632             OE_MSG_PUB.Add_Exc_Msg
13633             (   G_PKG_NAME
13634             ,   'Currency'
13635             );
13636         END IF;
13637 
13638 
13639         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13640 
13641 END Currency;
13642 
13643 FUNCTION Departure ( p_departure_id IN NUMBER )
13644 RETURN BOOLEAN
13645 IS
13646 l_dummy                       VARCHAR2(10);
13647 BEGIN
13648 
13649 
13650     IF p_departure_id IS NULL OR
13651         p_departure_id = FND_API.G_MISS_NUM
13652     THEN
13653 
13654         RETURN TRUE;
13655     END IF;
13656 
13657     --  SELECT  'VALID'
13658     --  INTO     l_dummy
13659     --  FROM     DB_TABLE
13660     --  WHERE    DB_COLUMN = p_departure_id;
13661 
13662 
13663     RETURN TRUE;
13664 
13665 EXCEPTION
13666 
13667     WHEN NO_DATA_FOUND THEN
13668 
13669         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13670         THEN
13671 
13672 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEPARTURE_ID');
13673 
13674             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13675             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13676 				OE_Order_Util.Get_Attribute_Name('departure_id'));
13677             OE_MSG_PUB.Add;
13678 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13679 
13680         END IF;
13681 
13682 
13683         RETURN FALSE;
13684 
13685     WHEN OTHERS THEN
13686 
13687         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13688         THEN
13689             OE_MSG_PUB.Add_Exc_Msg
13690             (   G_PKG_NAME
13691             ,   'Departure'
13692             );
13693         END IF;
13694 
13695 
13696         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13697 
13698 END Departure;
13699 
13700 FUNCTION Estimated ( p_estimated_flag IN VARCHAR2 )
13701 RETURN BOOLEAN
13702 IS
13703 l_dummy                       VARCHAR2(10);
13704 BEGIN
13705 
13706 
13707     IF p_estimated_flag IS NULL OR
13708         p_estimated_flag = FND_API.G_MISS_CHAR
13709     THEN
13710         RETURN TRUE;
13711     END IF;
13712 
13713     IF p_estimated_flag NOT IN ('Y','N') THEN
13714 		RAISE NO_DATA_FOUND;
13715     END IF;
13716 
13717     --  SELECT  'VALID'
13718     --  INTO     l_dummy
13719     --  FROM     DB_TABLE
13720     --  WHERE    DB_COLUMN = p_estimated_flag;
13721 
13722 
13723     RETURN TRUE;
13724 
13725 EXCEPTION
13726 
13727     WHEN NO_DATA_FOUND THEN
13728 
13729         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13730         THEN
13731 
13732 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ESTIMATED_FLAG');
13733 
13734             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13735             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13736 				OE_Order_Util.Get_Attribute_Name('estimated_flag'));
13737             OE_MSG_PUB.Add;
13738 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13739 
13740         END IF;
13741 
13742 
13743         RETURN FALSE;
13744 
13745     WHEN OTHERS THEN
13746 
13747         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13748         THEN
13749             OE_MSG_PUB.Add_Exc_Msg
13750             (   G_PKG_NAME
13751             ,   'Estimated'
13752             );
13753         END IF;
13754 
13755 
13756         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13757 
13758 END Estimated;
13759 
13760 FUNCTION Inc_In_Sales_Performance ( p_inc_in_sales_performance IN VARCHAR2 )
13761 RETURN BOOLEAN
13762 IS
13763 l_dummy                       VARCHAR2(10);
13764 BEGIN
13765 
13766 
13767     IF p_inc_in_sales_performance IS NULL OR
13768         p_inc_in_sales_performance = FND_API.G_MISS_CHAR
13769     THEN
13770 
13771         RETURN TRUE;
13772     END IF;
13773 
13774     --  SELECT  'VALID'
13775     --  INTO     l_dummy
13776     --  FROM     DB_TABLE
13777     --  WHERE    DB_COLUMN = p_inc_in_sales_performance;
13778 
13779 
13780     RETURN TRUE;
13781 
13782 EXCEPTION
13783 
13784     WHEN NO_DATA_FOUND THEN
13785 
13786         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13787         THEN
13788 
13789 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INC_IN_SALES_PERFORMANCE');
13790 
13791             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13792             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13793 				OE_Order_Util.Get_Attribute_Name('inc_in_sales_performance'));
13794             OE_MSG_PUB.Add;
13795 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13796 
13797 
13798         END IF;
13799 
13800 
13801         RETURN FALSE;
13802 
13803     WHEN OTHERS THEN
13804 
13805         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13806         THEN
13807             OE_MSG_PUB.Add_Exc_Msg
13808             (   G_PKG_NAME
13809             ,   'Inc_In_Sales_Performance'
13810             );
13811         END IF;
13812 
13813 
13814         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13815 
13816 END Inc_In_Sales_Performance;
13817 
13818 FUNCTION Invoiced ( p_invoiced_flag IN VARCHAR2 )
13819 RETURN BOOLEAN
13820 IS
13821 l_dummy                       VARCHAR2(10);
13822 BEGIN
13823 
13824     IF p_invoiced_flag IS NULL OR
13825         p_invoiced_flag = FND_API.G_MISS_CHAR
13826     THEN
13827 
13828         RETURN TRUE;
13829     END IF;
13830 
13831     IF p_invoiced_flag NOT IN ('Y','N') THEN
13832 		RAISE NO_DATA_FOUND;
13833     END IF;
13834 
13835     --  SELECT  'VALID'
13836     --  INTO     l_dummy
13837     --  FROM     DB_TABLE
13838     --  WHERE    DB_COLUMN = p_invoiced_flag;
13839 
13840 
13841     RETURN TRUE;
13842 
13843 EXCEPTION
13844 
13845     WHEN NO_DATA_FOUND THEN
13846 
13847         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13848         THEN
13849 
13850 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_FLAG');
13851 
13852             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13853             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13854 				OE_Order_Util.Get_Attribute_Name('invoiced_flag'));
13855             OE_MSG_PUB.Add;
13856 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13857 
13858         END IF;
13859 
13860 
13861         RETURN FALSE;
13862 
13863     WHEN OTHERS THEN
13864 
13865         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13866         THEN
13867             OE_MSG_PUB.Add_Exc_Msg
13868             (   G_PKG_NAME
13869             ,   'Invoiced'
13870             );
13871         END IF;
13872 
13873 
13874         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13875 
13876 END Invoiced;
13877 
13878 FUNCTION Lpn ( p_lpn IN NUMBER )
13879 RETURN BOOLEAN
13880 IS
13881 l_dummy                       VARCHAR2(10);
13882 BEGIN
13883 
13884 
13885     IF p_lpn IS NULL OR
13886         p_lpn = FND_API.G_MISS_NUM
13887     THEN
13888 
13889         RETURN TRUE;
13890     END IF;
13891 
13892     --  SELECT  'VALID'
13893     --  INTO     l_dummy
13894     --  FROM     DB_TABLE
13895     --  WHERE    DB_COLUMN = p_lpn;
13896 
13897 
13898     RETURN TRUE;
13899 
13900 EXCEPTION
13901 
13902     WHEN NO_DATA_FOUND THEN
13903 
13904         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13905         THEN
13906 
13907 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LPN');
13908 
13909             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13910             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13911 				OE_Order_Util.Get_Attribute_Name('lpn'));
13912             OE_MSG_PUB.Add;
13913 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13914 
13915         END IF;
13916 
13917 
13918         RETURN FALSE;
13919 
13920     WHEN OTHERS THEN
13921 
13922         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13923         THEN
13924             OE_MSG_PUB.Add_Exc_Msg
13925             (   G_PKG_NAME
13926             ,   'Lpn'
13927             );
13928         END IF;
13929 
13930 
13931         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13932 
13933 END Lpn;
13934 
13935 FUNCTION Parent_Charge ( p_parent_charge_id IN NUMBER )
13936 RETURN BOOLEAN
13937 IS
13938 l_dummy                       VARCHAR2(10);
13939 BEGIN
13940 
13941 
13942     IF p_parent_charge_id IS NULL OR
13943         p_parent_charge_id = FND_API.G_MISS_NUM
13944     THEN
13945 
13946         RETURN TRUE;
13947     END IF;
13948 
13949     --  SELECT  'VALID'
13950     --  INTO     l_dummy
13951     --  FROM     DB_TABLE
13952     --  WHERE    DB_COLUMN = p_parent_charge_id;
13953 
13954 
13955     RETURN TRUE;
13956 
13957 EXCEPTION
13958 
13959     WHEN NO_DATA_FOUND THEN
13960 
13961         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13962         THEN
13963 
13964 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PARENT_CHARGE_ID');
13965 
13966             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13967             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13968 				OE_Order_Util.Get_Attribute_Name('parent_charge_id'));
13969             OE_MSG_PUB.Add;
13970 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13971 
13972         END IF;
13973 
13974 
13975         RETURN FALSE;
13976 
13977     WHEN OTHERS THEN
13978 
13979         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13980         THEN
13981             OE_MSG_PUB.Add_Exc_Msg
13982             (   G_PKG_NAME
13983             ,   'Parent_Charge'
13984             );
13985         END IF;
13986 
13987 
13988         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13989 
13990 END Parent_Charge;
13991 
13992 FUNCTION Returnable ( p_returnable_flag IN VARCHAR2 )
13993 RETURN BOOLEAN
13994 IS
13995 l_dummy                       VARCHAR2(10);
13996 BEGIN
13997 
13998 
13999     IF p_returnable_flag IS NULL OR
14000         p_returnable_flag = FND_API.G_MISS_CHAR
14001     THEN
14002 
14003         RETURN TRUE;
14004     END IF;
14005 
14006     --  SELECT  'VALID'
14007     --  INTO     l_dummy
14008     --  FROM     DB_TABLE
14009     --  WHERE    DB_COLUMN = p_returnable_flag;
14010 
14011 
14012     RETURN TRUE;
14013 
14014 EXCEPTION
14015 
14016     WHEN NO_DATA_FOUND THEN
14017 
14018         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14019         THEN
14020 
14021 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURNABLE_FLAG');
14022 
14023             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14024             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14025 				OE_Order_Util.Get_Attribute_Name('returnable_flag'));
14026             OE_MSG_PUB.Add;
14027 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14028 
14029         END IF;
14030 
14031 
14032         RETURN FALSE;
14033 
14034     WHEN OTHERS THEN
14035 
14036         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14037         THEN
14038             OE_MSG_PUB.Add_Exc_Msg
14039             (   G_PKG_NAME
14040             ,   'Returnable'
14041             );
14042         END IF;
14043 
14044 
14045         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14046 
14047 END Returnable;
14048 
14049 FUNCTION Tax_Group ( p_tax_group_code IN VARCHAR2 )
14050 RETURN BOOLEAN
14051 IS
14052 l_dummy                       VARCHAR2(10);
14053 BEGIN
14054 
14055 
14056     IF p_tax_group_code IS NULL OR
14057         p_tax_group_code = FND_API.G_MISS_CHAR
14058     THEN
14059 
14060         RETURN TRUE;
14061     END IF;
14062 
14063     --  SELECT  'VALID'
14064     --  INTO     l_dummy
14065     --  FROM     DB_TABLE
14066     --  WHERE    DB_COLUMN = p_tax_group_code;
14067 
14068 
14069     RETURN TRUE;
14070 
14071 EXCEPTION
14072 
14073     WHEN NO_DATA_FOUND THEN
14074 
14075         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14076         THEN
14077 
14078 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_GROUP_CODE');
14079 
14080             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14081             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14082 				OE_Order_Util.Get_Attribute_Name('tax_group_code'));
14083             OE_MSG_PUB.Add;
14084 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14085 
14086         END IF;
14087 
14088 
14089         RETURN FALSE;
14090 
14091     WHEN OTHERS THEN
14092 
14093         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14094         THEN
14095             OE_MSG_PUB.Add_Exc_Msg
14096             (   G_PKG_NAME
14097             ,   'Tax_Group'
14098             );
14099         END IF;
14100 
14101 
14102         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14103 
14104 END Tax_Group;
14105 
14106 --  END GEN validate
14107 
14108 --- function header_desc_flex
14109 -- if all attrs. are missing, then return valid.
14110 -- if some are missing, set_column_value for these missing attrs., pass null
14111 -- and  for others pass the actual value
14112 -- call validate.desccols
14113 -- return valid/invalid
14114 
14115 FUNCTION Header_Desc_Flex (p_context IN VARCHAR2,
14116  			   p_attribute1 IN VARCHAR2,
14117                            p_attribute2 IN VARCHAR2,
14118                            p_attribute3 IN VARCHAR2,
14119                            p_attribute4 IN VARCHAR2,
14120                            p_attribute5 IN VARCHAR2,
14121                            p_attribute6 IN VARCHAR2,
14122                            p_attribute7 IN VARCHAR2,
14123                            p_attribute8 IN VARCHAR2,
14124                            p_attribute9 IN VARCHAR2,
14125                            p_attribute10 IN VARCHAR2,
14126                            p_attribute11 IN VARCHAR2,
14127                            p_attribute12 IN VARCHAR2,
14128                            p_attribute13 IN VARCHAR2,
14129                            p_attribute14 IN VARCHAR2,
14130                            p_attribute15 IN VARCHAR2,
14131                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
14132                            p_attribute17 IN VARCHAR2,
14133                            p_attribute18 IN VARCHAR2,
14134                            p_attribute19 IN VARCHAR2,
14135                            p_attribute20 IN VARCHAR2)
14136 
14137 RETURN BOOLEAN
14138 IS
14139 l_column_value VARCHAR2(240) := null;
14140 BEGIN
14141 
14142 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
14143 
14144 
14145 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14146                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14147 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14148                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14149                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14150                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14151                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14152                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14153                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14154                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14155                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14156                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14157                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14158                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14159                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14160                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)  -- for bug 2184255
14161                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
14162                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
14163                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
14164                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
14165                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14166 
14167 
14168 		     RETURN TRUE;
14169 
14170                 ELSE
14171 
14172 
14173 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14174 
14175 		     l_column_value := null;
14176 
14177 	          ELSE
14178 
14179 		     l_column_value := p_attribute1;
14180 
14181                   END IF;
14182 
14183                   FND_FLEX_DESCVAL.Set_Column_Value
14184                   (   column_name   => 'ATTRIBUTE1'
14185                    ,  column_value  => l_column_value);
14186 
14187 
14188 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14189 
14190 		     l_column_value := null;
14191 
14192 	          ELSE
14193 
14194 		     l_column_value := p_attribute2;
14195 
14196                   END IF;
14197                   FND_FLEX_DESCVAL.Set_Column_Value
14198                   (   column_name   => 'ATTRIBUTE2'
14199                    ,  column_value  =>  l_column_value);
14200 
14201 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14202 
14203 		     l_column_value := null;
14204 
14205 	          ELSE
14206 
14207 		     l_column_value := p_attribute3;
14208 
14209                   END IF;
14210                   FND_FLEX_DESCVAL.Set_Column_Value
14211                   (   column_name   => 'ATTRIBUTE3'
14212                    ,  column_value  =>  l_column_value);
14213 
14214 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14215 
14216 		     l_column_value := null;
14217 
14218 	          ELSE
14219 
14220 		     l_column_value := p_attribute4;
14221 
14222                   END IF;
14223                   FND_FLEX_DESCVAL.Set_Column_Value
14224                   (   column_name   => 'ATTRIBUTE4'
14225                    ,  column_value  =>  l_column_value);
14226 
14227 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14228 
14229 		     l_column_value := null;
14230 
14231 	          ELSE
14232 
14233 		     l_column_value := p_attribute5;
14234 
14235                   END IF;
14236                   FND_FLEX_DESCVAL.Set_Column_Value
14237                   (   column_name   => 'ATTRIBUTE5'
14238                    ,  column_value  =>  l_column_value);
14239 
14240 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14241 
14242 		     l_column_value := null;
14243 
14244 	          ELSE
14245 
14246 		     l_column_value := p_attribute6;
14247 
14248                   END IF;
14249                   FND_FLEX_DESCVAL.Set_Column_Value
14250                   (   column_name   => 'ATTRIBUTE6'
14251                    ,  column_value  =>  l_column_value);
14252 
14253 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14254 
14255 		     l_column_value := null;
14256 
14257 	          ELSE
14258 
14259 		     l_column_value := p_attribute7;
14260 
14261                   END IF;
14262                   FND_FLEX_DESCVAL.Set_Column_Value
14263                   (   column_name   => 'ATTRIBUTE7'
14264                    ,  column_value  =>  l_column_value);
14265 
14266 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14267 
14268 		     l_column_value := null;
14269 
14270 	          ELSE
14271 
14272 		     l_column_value := p_attribute8;
14273 
14274                   END IF;
14275                   FND_FLEX_DESCVAL.Set_Column_Value
14276                   (   column_name   => 'ATTRIBUTE8'
14277                    ,  column_value  =>  l_column_value);
14278 
14279 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14280 
14281 		     l_column_value := null;
14282 
14283 	          ELSE
14284 
14285 		     l_column_value := p_attribute9;
14286 
14287                   END IF;
14288                   FND_FLEX_DESCVAL.Set_Column_Value
14289                   (   column_name   => 'ATTRIBUTE9'
14290                    ,  column_value  =>  l_column_value);
14291 
14292 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14293 
14294 		     l_column_value := null;
14295 
14296 	          ELSE
14297 
14298 		     l_column_value := p_attribute10;
14299 
14300                   END IF;
14301                   FND_FLEX_DESCVAL.Set_Column_Value
14302                   (   column_name   => 'ATTRIBUTE10'
14303                    ,  column_value  =>  l_column_value);
14304 
14305 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
14306 
14307 		     l_column_value := null;
14308 
14309 	          ELSE
14310 
14311 		     l_column_value := p_attribute11;
14312 
14313                   END IF;
14314                   FND_FLEX_DESCVAL.Set_Column_Value
14315                   (   column_name   => 'ATTRIBUTE11'
14316                    ,  column_value  =>  l_column_value);
14317 
14318 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
14319 
14320 		     l_column_value := null;
14321 
14322 	          ELSE
14323 
14324 		     l_column_value := p_attribute12;
14325 
14326                   END IF;
14327                   FND_FLEX_DESCVAL.Set_Column_Value
14328                   (   column_name   => 'ATTRIBUTE12'
14329                    ,  column_value  =>  l_column_value);
14330 
14331 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
14332 
14333 		     l_column_value := null;
14334 
14335 	          ELSE
14336 
14337 		     l_column_value := p_attribute13;
14338 
14339                   END IF;
14340                   FND_FLEX_DESCVAL.Set_Column_Value
14341                   (   column_name   => 'ATTRIBUTE13'
14342                    ,  column_value  =>  l_column_value);
14343 
14344 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
14345 
14346 		     l_column_value := null;
14347 
14348 	          ELSE
14349 
14350 		     l_column_value := p_attribute14;
14351 
14352                   END IF;
14353                   FND_FLEX_DESCVAL.Set_Column_Value
14354                   (   column_name   => 'ATTRIBUTE14'
14355                    ,  column_value  =>  l_column_value);
14356 
14357 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
14358 
14359 		     l_column_value := null;
14360 
14361 	          ELSE
14362 
14363 		     l_column_value := p_attribute15;
14364 
14365                   END IF;
14366                   FND_FLEX_DESCVAL.Set_Column_Value
14367                   (   column_name   => 'ATTRIBUTE15'
14368                    ,  column_value  =>  l_column_value);
14369 
14370 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN  -- For bug 2184255
14371 
14372 		     l_column_value := null;
14373 
14374 	          ELSE
14375 
14376 		     l_column_value := p_attribute16;
14377 
14378                   END IF;
14379                   FND_FLEX_DESCVAL.Set_Column_Value
14380                   (   column_name   => 'ATTRIBUTE16'
14381                    ,  column_value  =>  l_column_value);
14382 
14383 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
14384 
14385 		     l_column_value := null;
14386 
14387 	          ELSE
14388 
14389 		     l_column_value := p_attribute17;
14390 
14391                   END IF;
14392                   FND_FLEX_DESCVAL.Set_Column_Value
14393                   (   column_name   => 'ATTRIBUTE17'
14394                    ,  column_value  =>  l_column_value);
14395 
14396 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
14397 
14398 		     l_column_value := null;
14399 
14400 	          ELSE
14401 
14402 		     l_column_value := p_attribute18;
14403 
14404                   END IF;
14405                   FND_FLEX_DESCVAL.Set_Column_Value
14406                   (   column_name   => 'ATTRIBUTE18'
14407                    ,  column_value  =>  l_column_value);
14408 
14409 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
14410 
14411 		     l_column_value := null;
14412 
14413 	          ELSE
14414 
14415 		     l_column_value := p_attribute19;
14416 
14417                   END IF;
14418                   FND_FLEX_DESCVAL.Set_Column_Value
14419                   (   column_name   => 'ATTRIBUTE19'
14420                    ,  column_value  =>  l_column_value);
14421 
14422 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
14423 
14424 		     l_column_value := null;
14425 
14426 	          ELSE
14427 
14428 		     l_column_value := p_attribute20;
14429 
14430                   END IF;
14431                   FND_FLEX_DESCVAL.Set_Column_Value
14432                   (   column_name   => 'ATTRIBUTE20'
14433                    ,  column_value  =>  l_column_value);  -- End bug 2184255
14434 
14435 		  IF p_context = FND_API.G_MISS_CHAR THEN
14436 
14437 		     l_column_value := null;
14438 
14439 	          ELSE
14440 
14441 		     l_column_value := p_context;
14442 
14443                   END IF;
14444 		  FND_FLEX_DESCVAL.Set_Context_Value
14445 		   ( context_value   => l_column_value);
14446 
14447                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_HEADER_ATTRIBUTES') THEN
14448 			RETURN FALSE;
14449                    END IF;
14450 
14451 
14452                 END IF;
14453 
14454     RETURN TRUE;
14455 
14456 EXCEPTION
14457 
14458    WHEN OTHERS THEN
14459 
14460 
14461      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14462      THEN
14463 
14464         OE_MSG_PUB.Add_Exc_Msg
14465 	( G_PKG_NAME
14466           , 'Header_Desc_Flex');
14467      END IF;
14468 
14469 
14470      RETURN FALSE;
14471 
14472 END Header_Desc_Flex;
14473 
14474 
14475 FUNCTION G_Header_Desc_Flex (p_context IN VARCHAR2,
14476 			   p_attribute1 IN VARCHAR2,
14477                            p_attribute2 IN VARCHAR2,
14478                            p_attribute3 IN VARCHAR2,
14479                            p_attribute4 IN VARCHAR2,
14480                            p_attribute5 IN VARCHAR2,
14481                            p_attribute6 IN VARCHAR2,
14482                            p_attribute7 IN VARCHAR2,
14483                            p_attribute8 IN VARCHAR2,
14484                            p_attribute9 IN VARCHAR2,
14485                            p_attribute10 IN VARCHAR2,
14486                            p_attribute11 IN VARCHAR2,
14487                            p_attribute12 IN VARCHAR2,
14488                            p_attribute13 IN VARCHAR2,
14489                            p_attribute14 IN VARCHAR2,
14490                            p_attribute15 IN VARCHAR2,
14491                            p_attribute16 IN VARCHAR2,
14492                            p_attribute17 IN VARCHAR2,
14493                            p_attribute18 IN VARCHAR2,
14494                            p_attribute19 IN VARCHAR2,
14495                            p_attribute20 IN VARCHAR2)
14496 RETURN BOOLEAN
14497 IS
14498 l_column_value VARCHAR2(240) := null;
14499 BEGIN
14500 
14501 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
14502 
14503 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14504                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14505 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14506                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14507                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14508                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14509                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14510                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14511                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14512                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14513                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14514                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14515                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14516                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14517                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14518                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
14519                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
14520                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
14521                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
14522                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
14523                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14524 
14525 
14526 		     RETURN TRUE;
14527 
14528                 ELSE
14529 
14530 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14531 
14532 		     l_column_value := null;
14533 
14534 	          ELSE
14535 
14536 		     l_column_value := p_attribute1;
14537 
14538                   END IF;
14539 
14540                   FND_FLEX_DESCVAL.Set_Column_Value
14541                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
14542                    ,  column_value  => l_column_value);
14543 
14544 
14545 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14546 
14547 		     l_column_value := null;
14548 
14549 	          ELSE
14550 
14551 		     l_column_value := p_attribute2;
14552 
14553                   END IF;
14554                   FND_FLEX_DESCVAL.Set_Column_Value
14555                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
14556                    ,  column_value  =>  l_column_value);
14557 
14558 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14559 
14560 		     l_column_value := null;
14561 
14562 	          ELSE
14563 
14564 		     l_column_value := p_attribute3;
14565 
14566                   END IF;
14567                   FND_FLEX_DESCVAL.Set_Column_Value
14568                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
14569                    ,  column_value  =>  l_column_value);
14570 
14571 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14572 
14573 		     l_column_value := null;
14574 
14575 	          ELSE
14576 
14577 		     l_column_value := p_attribute4;
14578 
14579                   END IF;
14580                   FND_FLEX_DESCVAL.Set_Column_Value
14581                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
14582                    ,  column_value  =>  l_column_value);
14583 
14584 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14585 
14586 		     l_column_value := null;
14587 
14588 	          ELSE
14589 
14590 		     l_column_value := p_attribute5;
14591 
14592                   END IF;
14593                   FND_FLEX_DESCVAL.Set_Column_Value
14594                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
14595                    ,  column_value  =>  l_column_value);
14596 
14597 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14598 
14599 		     l_column_value := null;
14600 
14601 	          ELSE
14602 
14603 		     l_column_value := p_attribute6;
14604 
14605                   END IF;
14606                   FND_FLEX_DESCVAL.Set_Column_Value
14607                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
14608                    ,  column_value  =>  l_column_value);
14609 
14610 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14611 
14612 		     l_column_value := null;
14613 
14614 	          ELSE
14615 
14616 		     l_column_value := p_attribute7;
14617 
14618                   END IF;
14619                   FND_FLEX_DESCVAL.Set_Column_Value
14620                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
14621                    ,  column_value  =>  l_column_value);
14622 
14623 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14624 
14625 		     l_column_value := null;
14626 
14627 	          ELSE
14628 
14629 		     l_column_value := p_attribute8;
14630 
14631                   END IF;
14632                   FND_FLEX_DESCVAL.Set_Column_Value
14633                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
14634                    ,  column_value  =>  l_column_value);
14635 
14636 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14637 
14638 		     l_column_value := null;
14639 
14640 	          ELSE
14641 
14642 		     l_column_value := p_attribute9;
14643 
14644                   END IF;
14645                   FND_FLEX_DESCVAL.Set_Column_Value
14646                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
14647                    ,  column_value  =>  l_column_value);
14648 
14649 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14650 
14651 		     l_column_value := null;
14652 
14653 	          ELSE
14654 
14655 		     l_column_value := p_attribute10;
14656 
14657                   END IF;
14658                   FND_FLEX_DESCVAL.Set_Column_Value
14659                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
14660                    ,  column_value  =>  l_column_value);
14661 
14662 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
14663 
14664 		     l_column_value := null;
14665 
14666 	          ELSE
14667 
14668 		     l_column_value := p_attribute11;
14669 
14670                   END IF;
14671                   FND_FLEX_DESCVAL.Set_Column_Value
14672                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
14673                    ,  column_value  =>  l_column_value);
14674 
14675 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
14676 
14677 		     l_column_value := null;
14678 
14679 	          ELSE
14680 
14681 		     l_column_value := p_attribute12;
14682 
14683                   END IF;
14684                   FND_FLEX_DESCVAL.Set_Column_Value
14685                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
14686                    ,  column_value  =>  l_column_value);
14687 
14688 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
14689 
14690 		     l_column_value := null;
14691 
14692 	          ELSE
14693 
14694 		     l_column_value := p_attribute13;
14695 
14696                   END IF;
14697                   FND_FLEX_DESCVAL.Set_Column_Value
14698                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
14699                    ,  column_value  =>  l_column_value);
14700 
14701 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
14702 
14703 		     l_column_value := null;
14704 
14705 	          ELSE
14706 
14707 		     l_column_value := p_attribute14;
14708 
14709                   END IF;
14710                   FND_FLEX_DESCVAL.Set_Column_Value
14711                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
14712                    ,  column_value  =>  l_column_value);
14713 
14714 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
14715 
14716 		     l_column_value := null;
14717 
14718 	          ELSE
14719 
14720 		     l_column_value := p_attribute15;
14721 
14722                   END IF;
14723                   FND_FLEX_DESCVAL.Set_Column_Value
14724                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
14725                    ,  column_value  =>  l_column_value);
14726 
14727 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
14728 
14729 		     l_column_value := null;
14730 
14731 	          ELSE
14732 
14733 		     l_column_value := p_attribute16;
14734 
14735                   END IF;
14736 
14737                   FND_FLEX_DESCVAL.Set_Column_Value
14738                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
14739                    ,  column_value  =>  l_column_value);
14740 
14741 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
14742 
14743 		     l_column_value := null;
14744 
14745 	          ELSE
14746 
14747 		     l_column_value := p_attribute17;
14748 
14749                   END IF;
14750                   FND_FLEX_DESCVAL.Set_Column_Value
14751                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
14752                    ,  column_value  =>  l_column_value);
14753 
14754 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
14755 
14756 		     l_column_value := null;
14757 
14758 	          ELSE
14759 
14760 		     l_column_value := p_attribute18;
14761 
14762                   END IF;
14763                   FND_FLEX_DESCVAL.Set_Column_Value
14764                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
14765                    ,  column_value  =>  l_column_value);
14766 
14767 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
14768 
14769 		     l_column_value := null;
14770 
14771 	          ELSE
14772 
14773 		     l_column_value := p_attribute19;
14774 
14775                   END IF;
14776                   FND_FLEX_DESCVAL.Set_Column_Value
14777                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
14778                    ,  column_value  =>  l_column_value);
14779 
14780 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
14781 
14782 		     l_column_value := null;
14783 
14784 	          ELSE
14785 
14786 		     l_column_value := p_attribute20;
14787 
14788                   END IF;
14789                   FND_FLEX_DESCVAL.Set_Column_Value
14790                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
14791                    ,  column_value  =>  l_column_value);
14792 
14793 		  IF p_context = FND_API.G_MISS_CHAR THEN
14794 
14795 		     l_column_value := null;
14796 
14797 	          ELSE
14798 
14799 		     l_column_value := p_context;
14800 
14801                   END IF;
14802 		  FND_FLEX_DESCVAL.Set_Context_Value
14803 		   ( context_value   => l_column_value);
14804 
14805                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_HEADER_GLOBAL_ATTRIBUTE') THEN
14806 			RETURN FALSE;
14807                    END IF;
14808 
14809                 END IF;
14810 
14811     RETURN TRUE;
14812 
14813 EXCEPTION
14814 
14815    WHEN OTHERS THEN
14816 
14817 
14818      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14819      THEN
14820 
14821         OE_MSG_PUB.Add_Exc_Msg
14822 	( G_PKG_NAME
14823           , 'G_Header_Desc_Flex');
14824      END IF;
14825 
14826      RETURN FALSE;
14827 END G_Header_Desc_Flex;
14828 
14829 FUNCTION TP_Header_Desc_Flex (p_context IN VARCHAR2,
14830 			   p_attribute1 IN VARCHAR2,
14831                            p_attribute2 IN VARCHAR2,
14832                            p_attribute3 IN VARCHAR2,
14833                            p_attribute4 IN VARCHAR2,
14834                            p_attribute5 IN VARCHAR2,
14835                            p_attribute6 IN VARCHAR2,
14836                            p_attribute7 IN VARCHAR2,
14837                            p_attribute8 IN VARCHAR2,
14838                            p_attribute9 IN VARCHAR2,
14839                            p_attribute10 IN VARCHAR2,
14840                            p_attribute11 IN VARCHAR2,
14841                            p_attribute12 IN VARCHAR2,
14842                            p_attribute13 IN VARCHAR2,
14843                            p_attribute14 IN VARCHAR2,
14844                            p_attribute15 IN VARCHAR2)
14845 RETURN BOOLEAN
14846 IS
14847 l_column_value VARCHAR2(240) := null;
14848 BEGIN
14849 
14850 --OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
14851 
14852 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14853                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14854 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14855                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14856                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14857                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14858                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14859                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14860                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14861                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14862                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14863                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14864                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14865                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14866                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14867                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14868 
14869 
14870 		     RETURN TRUE;
14871 
14872                 ELSE
14873 
14874 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14875 
14876 		     l_column_value := null;
14877 
14878 	          ELSE
14879 
14880 		     l_column_value := p_attribute1;
14881 
14882                   END IF;
14883 
14884                   FND_FLEX_DESCVAL.Set_Column_Value
14885                   (   column_name   => 'TP_ATTRIBUTE1'
14886                    ,  column_value  => l_column_value);
14887 
14888 
14889 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14890 
14891 		     l_column_value := null;
14892 
14893 	          ELSE
14894 
14895 		     l_column_value := p_attribute2;
14896 
14897                   END IF;
14898                   FND_FLEX_DESCVAL.Set_Column_Value
14899                   (   column_name   => 'TP_ATTRIBUTE2'
14900                    ,  column_value  =>  l_column_value);
14901 
14902 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14903 
14904 		     l_column_value := null;
14905 
14906 	          ELSE
14907 
14908 		     l_column_value := p_attribute3;
14909 
14910                   END IF;
14911                   FND_FLEX_DESCVAL.Set_Column_Value
14912                   (   column_name   => 'TP_ATTRIBUTE3'
14913                    ,  column_value  =>  l_column_value);
14914 
14915 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14916 
14917 		     l_column_value := null;
14918 
14919 	          ELSE
14920 
14921 		     l_column_value := p_attribute4;
14922 
14923                   END IF;
14924                   FND_FLEX_DESCVAL.Set_Column_Value
14925                   (   column_name   => 'TP_ATTRIBUTE4'
14926                    ,  column_value  =>  l_column_value);
14927 
14928 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14929 
14930 		     l_column_value := null;
14931 
14932 	          ELSE
14933 
14934 		     l_column_value := p_attribute5;
14935 
14936                   END IF;
14937                   FND_FLEX_DESCVAL.Set_Column_Value
14938                   (   column_name   => 'TP_ATTRIBUTE5'
14939                    ,  column_value  =>  l_column_value);
14940 
14941 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14942 
14943 		     l_column_value := null;
14944 
14945 	          ELSE
14946 
14947 		     l_column_value := p_attribute6;
14948 
14949                   END IF;
14950                   FND_FLEX_DESCVAL.Set_Column_Value
14951                   (   column_name   => 'TP_ATTRIBUTE6'
14952                    ,  column_value  =>  l_column_value);
14953 
14954 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14955 
14956 		     l_column_value := null;
14957 
14958 	          ELSE
14959 
14960 		     l_column_value := p_attribute7;
14961 
14962                   END IF;
14963                   FND_FLEX_DESCVAL.Set_Column_Value
14964                   (   column_name   => 'TP_ATTRIBUTE7'
14965                    ,  column_value  =>  l_column_value);
14966 
14967 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14968 
14969 		     l_column_value := null;
14970 
14971 	          ELSE
14972 
14973 		     l_column_value := p_attribute8;
14974 
14975                   END IF;
14976                   FND_FLEX_DESCVAL.Set_Column_Value
14977                   (   column_name   => 'TP_ATTRIBUTE8'
14978                    ,  column_value  =>  l_column_value);
14979 
14980 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14981 
14982 		     l_column_value := null;
14983 
14984 	          ELSE
14985 
14986 		     l_column_value := p_attribute9;
14987 
14988                   END IF;
14989                   FND_FLEX_DESCVAL.Set_Column_Value
14990                   (   column_name   => 'TP_ATTRIBUTE9'
14991                    ,  column_value  =>  l_column_value);
14992 
14993 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14994 
14995 		     l_column_value := null;
14996 
14997 	          ELSE
14998 
14999 		     l_column_value := p_attribute10;
15000 
15001                   END IF;
15002                   FND_FLEX_DESCVAL.Set_Column_Value
15003                   (   column_name   => 'TP_ATTRIBUTE10'
15004                    ,  column_value  =>  l_column_value);
15005 
15006 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15007 
15008 		     l_column_value := null;
15009 
15010 	          ELSE
15011 
15012 		     l_column_value := p_attribute11;
15013 
15014                   END IF;
15015                   FND_FLEX_DESCVAL.Set_Column_Value
15016                   (   column_name   => 'TP_ATTRIBUTE11'
15017                    ,  column_value  =>  l_column_value);
15018 
15019 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15020 
15021 		     l_column_value := null;
15022 
15023 	          ELSE
15024 
15025 		     l_column_value := p_attribute12;
15026 
15027                   END IF;
15028                   FND_FLEX_DESCVAL.Set_Column_Value
15029                   (   column_name   => 'TP_ATTRIBUTE12'
15030                    ,  column_value  =>  l_column_value);
15031 
15032 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15033 
15034 		     l_column_value := null;
15035 
15036 	          ELSE
15037 
15038 		     l_column_value := p_attribute13;
15039 
15040                   END IF;
15041                   FND_FLEX_DESCVAL.Set_Column_Value
15042                   (   column_name   => 'TP_ATTRIBUTE13'
15043                    ,  column_value  =>  l_column_value);
15044 
15045 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15046 
15047 		     l_column_value := null;
15048 
15049 	          ELSE
15050 
15051 		     l_column_value := p_attribute14;
15052 
15053                   END IF;
15054                   FND_FLEX_DESCVAL.Set_Column_Value
15055                   (   column_name   => 'TP_ATTRIBUTE14'
15056                    ,  column_value  =>  l_column_value);
15057 
15058 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15059 
15060 		     l_column_value := null;
15061 
15062 	          ELSE
15063 
15064 		     l_column_value := p_attribute15;
15065 
15066                   END IF;
15067                   FND_FLEX_DESCVAL.Set_Column_Value
15068                   (   column_name   => 'TP_ATTRIBUTE15'
15069                    ,  column_value  =>  l_column_value);
15070 
15071 
15072 		  IF p_context = FND_API.G_MISS_CHAR THEN
15073 
15074 		     l_column_value := null;
15075 
15076 	       ELSE
15077 
15078 		     l_column_value := p_context;
15079 
15080             END IF;
15081 		  FND_FLEX_DESCVAL.Set_Context_Value
15082 		   ( context_value   => l_column_value);
15083 
15084              IF NOT OE_CNCL_Validate.Desc_Flex('OE_HEADER_TP_ATTRIBUTES') THEN
15085 			RETURN FALSE;
15086              END IF;
15087 
15088           END IF;
15089 
15090     RETURN TRUE;
15091 
15092 EXCEPTION
15093 
15094    WHEN OTHERS THEN
15095 
15096 
15097      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15098      THEN
15099 
15100         OE_MSG_PUB.Add_Exc_Msg
15101 	( G_PKG_NAME
15102           , 'TP_Header_Desc_Flex');
15103      END IF;
15104 
15105      RETURN FALSE;
15106 END TP_Header_Desc_Flex;
15107 
15108 
15109 
15110 FUNCTION Line_Desc_Flex (p_context IN VARCHAR2,
15111 			         p_attribute1 IN VARCHAR2,
15112                            p_attribute2 IN VARCHAR2,
15113                            p_attribute3 IN VARCHAR2,
15114                            p_attribute4 IN VARCHAR2,
15115                            p_attribute5 IN VARCHAR2,
15116                            p_attribute6 IN VARCHAR2,
15117                            p_attribute7 IN VARCHAR2,
15118                            p_attribute8 IN VARCHAR2,
15119                            p_attribute9 IN VARCHAR2,
15120                            p_attribute10 IN VARCHAR2,
15121                            p_attribute11 IN VARCHAR2,
15122                            p_attribute12 IN VARCHAR2,
15123                            p_attribute13 IN VARCHAR2,
15124                            p_attribute14 IN VARCHAR2,
15125                            p_attribute15 IN VARCHAR2,
15126                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
15127                            p_attribute17 IN VARCHAR2,
15128                            p_attribute18 IN VARCHAR2,
15129                            p_attribute19 IN VARCHAR2,
15130                            p_attribute20 IN VARCHAR2)
15131 
15132 RETURN BOOLEAN
15133 IS
15134 l_column_value VARCHAR2(240) := null;
15135 BEGIN
15136 
15137 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
15138 
15139 
15140 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15141                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15142 		     AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15143                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15144                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15145                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15146                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15147                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15148                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15149                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15150                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15151                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15152                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15153                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15154                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15155                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)  -- for bug 2184255
15156                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
15157                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
15158                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
15159                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
15160                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15161 
15162 
15163 		     RETURN TRUE;
15164 
15165                 ELSE
15166 
15167 
15168 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15169 
15170 		     l_column_value := null;
15171 
15172 	          ELSE
15173 
15174 		     l_column_value := p_attribute1;
15175 
15176                   END IF;
15177 
15178                   FND_FLEX_DESCVAL.Set_Column_Value
15179                   (   column_name   => 'ATTRIBUTE1'
15180                    ,  column_value  => l_column_value);
15181 
15182 
15183 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15184 
15185 		     l_column_value := null;
15186 
15187 	          ELSE
15188 
15189 		     l_column_value := p_attribute2;
15190 
15191                   END IF;
15192                   FND_FLEX_DESCVAL.Set_Column_Value
15193                   (   column_name   => 'ATTRIBUTE2'
15194                    ,  column_value  =>  l_column_value);
15195 
15196 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15197 
15198 		     l_column_value := null;
15199 
15200 	          ELSE
15201 
15202 		     l_column_value := p_attribute3;
15203 
15204                   END IF;
15205                   FND_FLEX_DESCVAL.Set_Column_Value
15206                   (   column_name   => 'ATTRIBUTE3'
15207                    ,  column_value  =>  l_column_value);
15208 
15209 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15210 
15211 		     l_column_value := null;
15212 
15213 	          ELSE
15214 
15215 		     l_column_value := p_attribute4;
15216 
15217                   END IF;
15218                   FND_FLEX_DESCVAL.Set_Column_Value
15219                   (   column_name   => 'ATTRIBUTE4'
15220                    ,  column_value  =>  l_column_value);
15221 
15222 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15223 
15224 		     l_column_value := null;
15225 
15226 	          ELSE
15227 
15228 		     l_column_value := p_attribute5;
15229 
15230                   END IF;
15231                   FND_FLEX_DESCVAL.Set_Column_Value
15232                   (   column_name   => 'ATTRIBUTE5'
15233                    ,  column_value  =>  l_column_value);
15234 
15235 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15236 
15237 		     l_column_value := null;
15238 
15239 	          ELSE
15240 
15241 		     l_column_value := p_attribute6;
15242 
15243                   END IF;
15244                   FND_FLEX_DESCVAL.Set_Column_Value
15245                   (   column_name   => 'ATTRIBUTE6'
15246                    ,  column_value  =>  l_column_value);
15247 
15248 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15249 
15250 		     l_column_value := null;
15251 
15252 	          ELSE
15253 
15254 		     l_column_value := p_attribute7;
15255 
15256                   END IF;
15257                   FND_FLEX_DESCVAL.Set_Column_Value
15258                   (   column_name   => 'ATTRIBUTE7'
15259                    ,  column_value  =>  l_column_value);
15260 
15261 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15262 
15263 		     l_column_value := null;
15264 
15265 	          ELSE
15266 
15267 		     l_column_value := p_attribute8;
15268 
15269                   END IF;
15270                   FND_FLEX_DESCVAL.Set_Column_Value
15271                   (   column_name   => 'ATTRIBUTE8'
15272                    ,  column_value  =>  l_column_value);
15273 
15274 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15275 
15276 		     l_column_value := null;
15277 
15278 	          ELSE
15279 
15280 		     l_column_value := p_attribute9;
15281 
15282                   END IF;
15283                   FND_FLEX_DESCVAL.Set_Column_Value
15284                   (   column_name   => 'ATTRIBUTE9'
15285                    ,  column_value  =>  l_column_value);
15286 
15287 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15288 
15289 		     l_column_value := null;
15290 
15291 	          ELSE
15292 
15293 		     l_column_value := p_attribute10;
15294 
15295                   END IF;
15296                   FND_FLEX_DESCVAL.Set_Column_Value
15297                   (   column_name   => 'ATTRIBUTE10'
15298                    ,  column_value  =>  l_column_value);
15299 
15300 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15301 
15302 		     l_column_value := null;
15303 
15304 	          ELSE
15305 
15306 		     l_column_value := p_attribute11;
15307 
15308                   END IF;
15309                   FND_FLEX_DESCVAL.Set_Column_Value
15310                   (   column_name   => 'ATTRIBUTE11'
15311                    ,  column_value  =>  l_column_value);
15312 
15313 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15314 
15315 		     l_column_value := null;
15316 
15317 	          ELSE
15318 
15319 		     l_column_value := p_attribute12;
15320 
15321                   END IF;
15322                   FND_FLEX_DESCVAL.Set_Column_Value
15323                   (   column_name   => 'ATTRIBUTE12'
15324                    ,  column_value  =>  l_column_value);
15325 
15326 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15327 
15328 		     l_column_value := null;
15329 
15330 	          ELSE
15331 
15332 		     l_column_value := p_attribute13;
15333 
15334                   END IF;
15335                   FND_FLEX_DESCVAL.Set_Column_Value
15336                   (   column_name   => 'ATTRIBUTE13'
15337                    ,  column_value  =>  l_column_value);
15338 
15339 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15340 
15341 		     l_column_value := null;
15342 
15343 	          ELSE
15344 
15345 		     l_column_value := p_attribute14;
15346 
15347                   END IF;
15348                   FND_FLEX_DESCVAL.Set_Column_Value
15349                   (   column_name   => 'ATTRIBUTE14'
15350                    ,  column_value  =>  l_column_value);
15351 
15352 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15353 
15354 		     l_column_value := null;
15355 
15356 	          ELSE
15357 
15358 		     l_column_value := p_attribute15;
15359 
15360                   END IF;
15361                   FND_FLEX_DESCVAL.Set_Column_Value
15362                   (   column_name   => 'ATTRIBUTE15'
15363                    ,  column_value  =>  l_column_value);
15364 
15365 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN -- For bug 2184255
15366 
15367 		     l_column_value := null;
15368 
15369 	          ELSE
15370 
15371 		     l_column_value := p_attribute16;
15372 
15373                   END IF;
15374                   FND_FLEX_DESCVAL.Set_Column_Value
15375                   (   column_name   => 'ATTRIBUTE16'
15376                    ,  column_value  =>  l_column_value);
15377 
15378 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15379 
15380 		     l_column_value := null;
15381 
15382 	          ELSE
15383 
15384 		     l_column_value := p_attribute17;
15385 
15386                   END IF;
15387                   FND_FLEX_DESCVAL.Set_Column_Value
15388                   (   column_name   => 'ATTRIBUTE17'
15389                    ,  column_value  =>  l_column_value);
15390 
15391 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15392 
15393 		     l_column_value := null;
15394 
15395 	          ELSE
15396 
15397 		     l_column_value := p_attribute18;
15398 
15399                   END IF;
15400                   FND_FLEX_DESCVAL.Set_Column_Value
15401                   (   column_name   => 'ATTRIBUTE18'
15402                    ,  column_value  =>  l_column_value);
15403 
15404 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15405 
15406 		     l_column_value := null;
15407 
15408 	          ELSE
15409 
15410 		     l_column_value := p_attribute19;
15411 
15412                   END IF;
15413                   FND_FLEX_DESCVAL.Set_Column_Value
15414                   (   column_name   => 'ATTRIBUTE19'
15415                    ,  column_value  =>  l_column_value);
15416 
15417 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15418 
15419 		     l_column_value := null;
15420 
15421 	          ELSE
15422 
15423 		     l_column_value := p_attribute20;
15424 
15425                   END IF;
15426                   FND_FLEX_DESCVAL.Set_Column_Value
15427                   (   column_name   => 'ATTRIBUTE20'
15428                    ,  column_value  =>  l_column_value);  --End bug 2184255
15429 
15430 		  IF p_context = FND_API.G_MISS_CHAR THEN
15431 
15432 		     l_column_value := null;
15433 
15434 	          ELSE
15435 
15436 		     l_column_value := p_context;
15437 
15438                   END IF;
15439 		  FND_FLEX_DESCVAL.Set_Context_Value
15440 		   ( context_value   => l_column_value);
15441 
15442                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_ATTRIBUTES') THEN
15443 			RETURN FALSE;
15444                    END IF;
15445 
15446 
15447                 END IF;
15448 
15449     RETURN TRUE;
15450 
15451 EXCEPTION
15452 
15453    WHEN OTHERS THEN
15454 
15455 
15456      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15457      THEN
15458 
15459         OE_MSG_PUB.Add_Exc_Msg
15460 	( G_PKG_NAME
15461           , 'Line_Desc_Flex');
15462      END IF;
15463 
15464 
15465      RETURN FALSE;
15466 
15467 END Line_Desc_Flex;
15468 
15469 FUNCTION G_Line_Desc_Flex (p_context IN VARCHAR2,
15470 			   p_attribute1 IN VARCHAR2,
15471                            p_attribute2 IN VARCHAR2,
15472                            p_attribute3 IN VARCHAR2,
15473                            p_attribute4 IN VARCHAR2,
15474                            p_attribute5 IN VARCHAR2,
15475                            p_attribute6 IN VARCHAR2,
15476                            p_attribute7 IN VARCHAR2,
15477                            p_attribute8 IN VARCHAR2,
15478                            p_attribute9 IN VARCHAR2,
15479                            p_attribute10 IN VARCHAR2,
15480                            p_attribute11 IN VARCHAR2,
15481                            p_attribute12 IN VARCHAR2,
15482                            p_attribute13 IN VARCHAR2,
15483                            p_attribute14 IN VARCHAR2,
15484                            p_attribute15 IN VARCHAR2,
15485                            p_attribute16 IN VARCHAR2,
15486                            p_attribute17 IN VARCHAR2,
15487                            p_attribute18 IN VARCHAR2,
15488                            p_attribute19 IN VARCHAR2,
15489                            p_attribute20 IN VARCHAR2)
15490 RETURN BOOLEAN
15491 IS
15492 l_column_value VARCHAR2(240) := null;
15493 BEGIN
15494 
15495 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
15496 
15497 
15498 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15499                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15500 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15501                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15502                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15503                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15504                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15505                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15506                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15507                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15508                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15509                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15510                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15511                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15512                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15513                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
15514                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
15515                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
15516                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
15517                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
15518                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15519 
15520 
15521 		     RETURN TRUE;
15522 
15523                 ELSE
15524 
15525 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15526 
15527 		     l_column_value := null;
15528 
15529 	          ELSE
15530 
15531 		     l_column_value := p_attribute1;
15532 
15533                   END IF;
15534 
15535                   FND_FLEX_DESCVAL.Set_Column_Value
15536                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
15537                    ,  column_value  => l_column_value);
15538 
15539 
15540 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15541 
15542 		     l_column_value := null;
15543 
15544 	          ELSE
15545 
15546 		     l_column_value := p_attribute2;
15547 
15548                   END IF;
15549                   FND_FLEX_DESCVAL.Set_Column_Value
15550                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
15551                    ,  column_value  =>  l_column_value);
15552 
15553 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15554 
15555 		     l_column_value := null;
15556 
15557 	          ELSE
15558 
15559 		     l_column_value := p_attribute3;
15560 
15561                   END IF;
15562                   FND_FLEX_DESCVAL.Set_Column_Value
15563                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
15564                    ,  column_value  =>  l_column_value);
15565 
15566 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15567 
15568 		     l_column_value := null;
15569 
15570 	          ELSE
15571 
15572 		     l_column_value := p_attribute4;
15573 
15574                   END IF;
15575                   FND_FLEX_DESCVAL.Set_Column_Value
15576                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
15577                    ,  column_value  =>  l_column_value);
15578 
15579 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15580 
15581 		     l_column_value := null;
15582 
15583 	          ELSE
15584 
15585 		     l_column_value := p_attribute5;
15586 
15587                   END IF;
15588                   FND_FLEX_DESCVAL.Set_Column_Value
15589                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
15590                    ,  column_value  =>  l_column_value);
15591 
15592 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15593 
15594 		     l_column_value := null;
15595 
15596 	          ELSE
15597 
15598 		     l_column_value := p_attribute6;
15599 
15600                   END IF;
15601                   FND_FLEX_DESCVAL.Set_Column_Value
15602                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
15603                    ,  column_value  =>  l_column_value);
15604 
15605 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15606 
15607 		     l_column_value := null;
15608 
15609 	          ELSE
15610 
15611 		     l_column_value := p_attribute7;
15612 
15613                   END IF;
15614                   FND_FLEX_DESCVAL.Set_Column_Value
15615                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
15616                    ,  column_value  =>  l_column_value);
15617 
15618 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15619 
15620 		     l_column_value := null;
15621 
15622 	          ELSE
15623 
15624 		     l_column_value := p_attribute8;
15625 
15626                   END IF;
15627                   FND_FLEX_DESCVAL.Set_Column_Value
15628                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
15629                    ,  column_value  =>  l_column_value);
15630 
15631 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15632 
15633 		     l_column_value := null;
15634 
15635 	          ELSE
15636 
15637 		     l_column_value := p_attribute9;
15638 
15639                   END IF;
15640                   FND_FLEX_DESCVAL.Set_Column_Value
15641                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
15642                    ,  column_value  =>  l_column_value);
15643 
15644 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15645 
15646 		     l_column_value := null;
15647 
15648 	          ELSE
15649 
15650 		     l_column_value := p_attribute10;
15651 
15652                   END IF;
15653                   FND_FLEX_DESCVAL.Set_Column_Value
15654                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
15655                    ,  column_value  =>  l_column_value);
15656 
15657 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15658 
15659 		     l_column_value := null;
15660 
15661 	          ELSE
15662 
15663 		     l_column_value := p_attribute11;
15664 
15665                   END IF;
15666                   FND_FLEX_DESCVAL.Set_Column_Value
15667                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
15668                    ,  column_value  =>  l_column_value);
15669 
15670 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15671 
15672 		     l_column_value := null;
15673 
15674 	          ELSE
15675 
15676 		     l_column_value := p_attribute12;
15677 
15678                   END IF;
15679                   FND_FLEX_DESCVAL.Set_Column_Value
15680                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
15681                    ,  column_value  =>  l_column_value);
15682 
15683 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15684 
15685 		     l_column_value := null;
15686 
15687 	          ELSE
15688 
15689 		     l_column_value := p_attribute13;
15690 
15691                   END IF;
15692                   FND_FLEX_DESCVAL.Set_Column_Value
15693                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
15694                    ,  column_value  =>  l_column_value);
15695 
15696 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15697 
15698 		     l_column_value := null;
15699 
15700 	          ELSE
15701 
15702 		     l_column_value := p_attribute14;
15703 
15704                   END IF;
15705                   FND_FLEX_DESCVAL.Set_Column_Value
15706                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
15707                    ,  column_value  =>  l_column_value);
15708 
15709 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15710 
15711 		     l_column_value := null;
15712 
15713 	          ELSE
15714 
15715 		     l_column_value := p_attribute15;
15716 
15717                   END IF;
15718                   FND_FLEX_DESCVAL.Set_Column_Value
15719                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
15720                    ,  column_value  =>  l_column_value);
15721 
15722 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
15723 
15724 		     l_column_value := null;
15725 
15726 	          ELSE
15727 
15728 		     l_column_value := p_attribute16;
15729 
15730                   END IF;
15731 
15732                   FND_FLEX_DESCVAL.Set_Column_Value
15733                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
15734                    ,  column_value  =>  l_column_value);
15735 
15736 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15737 
15738 		     l_column_value := null;
15739 
15740 	          ELSE
15741 
15742 		     l_column_value := p_attribute17;
15743 
15744                   END IF;
15745                   FND_FLEX_DESCVAL.Set_Column_Value
15746                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
15747                    ,  column_value  =>  l_column_value);
15748 
15749 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15750 
15751 		     l_column_value := null;
15752 
15753 	          ELSE
15754 
15755 		     l_column_value := p_attribute18;
15756 
15757                   END IF;
15758                   FND_FLEX_DESCVAL.Set_Column_Value
15759                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
15760                    ,  column_value  =>  l_column_value);
15761 
15762 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15763 
15764 		     l_column_value := null;
15765 
15766 	          ELSE
15767 
15768 		     l_column_value := p_attribute19;
15769 
15770                   END IF;
15771                   FND_FLEX_DESCVAL.Set_Column_Value
15772                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
15773                    ,  column_value  =>  l_column_value);
15774 
15775 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15776 
15777 		     l_column_value := null;
15778 
15779 	          ELSE
15780 
15781 		     l_column_value := p_attribute20;
15782 
15783                   END IF;
15784                   FND_FLEX_DESCVAL.Set_Column_Value
15785                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
15786                    ,  column_value  =>  l_column_value);
15787 
15788 		  IF p_context = FND_API.G_MISS_CHAR THEN
15789 
15790 		     l_column_value := null;
15791 
15792 	          ELSE
15793 
15794 		     l_column_value := p_context;
15795 
15796                   END IF;
15797 		  FND_FLEX_DESCVAL.Set_Context_Value
15798 		   ( context_value   => l_column_value);
15799 /* commenting this code due to bug# 993103
15800                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_GLOBAL_ATTRIBUTE') THEN
15801 
15802 			RETURN FALSE;
15803                    END IF;
15804 */
15805                 END IF;
15806 
15807     RETURN TRUE;
15808 
15809 EXCEPTION
15810 
15811    WHEN OTHERS THEN
15812 
15813 
15814      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15815      THEN
15816 
15817         OE_MSG_PUB.Add_Exc_Msg
15818 	( G_PKG_NAME
15819           , 'G_Line_Desc_Flex');
15820      END IF;
15821 
15822      RETURN FALSE;
15823 END G_Line_Desc_Flex;
15824 
15825 FUNCTION P_Line_Desc_Flex (p_context IN VARCHAR2,
15826 			   p_attribute1 IN VARCHAR2,
15827                            p_attribute2 IN VARCHAR2,
15828                            p_attribute3 IN VARCHAR2,
15829                            p_attribute4 IN VARCHAR2,
15830                            p_attribute5 IN VARCHAR2,
15831                            p_attribute6 IN VARCHAR2,
15832                            p_attribute7 IN VARCHAR2,
15833                            p_attribute8 IN VARCHAR2,
15834                            p_attribute9 IN VARCHAR2,
15835                            p_attribute10 IN VARCHAR2)
15836 
15837 RETURN BOOLEAN
15838 IS
15839 l_column_value VARCHAR2(240) := null;
15840 BEGIN
15841 
15842 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_CONTEXT');
15843 
15844 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15845                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15846 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15847                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15848                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15849                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15850                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15851                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15852                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15853                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15854                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15855 
15856 
15857 		     RETURN TRUE;
15858 
15859                 ELSE
15860 
15861 
15862 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15863 
15864 		     l_column_value := null;
15865 
15866 	          ELSE
15867 
15868 		     l_column_value := p_attribute1;
15869 
15870                   END IF;
15871 
15872                   FND_FLEX_DESCVAL.Set_Column_Value
15873                   (   column_name   => 'PRICING_ATTRIBUTE1'
15874                    ,  column_value  => l_column_value);
15875 
15876 
15877 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15878 
15879 		     l_column_value := null;
15880 
15881 	          ELSE
15882 
15883 		     l_column_value := p_attribute2;
15884 
15885                   END IF;
15886                   FND_FLEX_DESCVAL.Set_Column_Value
15887                   (   column_name   => 'PRICING_ATTRIBUTE2'
15888                    ,  column_value  =>  l_column_value);
15889 
15890 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15891 
15892 		     l_column_value := null;
15893 
15894 	          ELSE
15895 
15896 		     l_column_value := p_attribute3;
15897 
15898                   END IF;
15899                   FND_FLEX_DESCVAL.Set_Column_Value
15900                   (   column_name   => 'PRICING_ATTRIBUTE3'
15901                    ,  column_value  =>  l_column_value);
15902 
15903 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15904 
15905 		     l_column_value := null;
15906 
15907 	          ELSE
15908 
15909 		     l_column_value := p_attribute4;
15910 
15911                   END IF;
15912                   FND_FLEX_DESCVAL.Set_Column_Value
15913                   (   column_name   => 'PRICING_ATTRIBUTE4'
15914                    ,  column_value  =>  l_column_value);
15915 
15916 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15917 
15918 		     l_column_value := null;
15919 
15920 	          ELSE
15921 
15922 		     l_column_value := p_attribute5;
15923 
15924                   END IF;
15925                   FND_FLEX_DESCVAL.Set_Column_Value
15926                   (   column_name   => 'PRICING_ATTRIBUTE5'
15927                    ,  column_value  =>  l_column_value);
15928 
15929 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15930 
15931 		     l_column_value := null;
15932 
15933 	          ELSE
15934 
15935 		     l_column_value := p_attribute6;
15936 
15937                   END IF;
15938                   FND_FLEX_DESCVAL.Set_Column_Value
15939                   (   column_name   => 'PRICING_ATTRIBUTE6'
15940                    ,  column_value  =>  l_column_value);
15941 
15942 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15943 
15944 		     l_column_value := null;
15945 
15946 	          ELSE
15947 
15948 		     l_column_value := p_attribute7;
15949 
15950                   END IF;
15951                   FND_FLEX_DESCVAL.Set_Column_Value
15952                   (   column_name   => 'PRICING_ATTRIBUTE7'
15953                    ,  column_value  =>  l_column_value);
15954 
15955 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15956 
15957 		     l_column_value := null;
15958 
15959 	          ELSE
15960 
15961 		     l_column_value := p_attribute8;
15962 
15963                   END IF;
15964                   FND_FLEX_DESCVAL.Set_Column_Value
15965                   (   column_name   => 'PRICING_ATTRIBUTE8'
15966                    ,  column_value  =>  l_column_value);
15967 
15968 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15969 
15970 		     l_column_value := null;
15971 
15972 	          ELSE
15973 
15974 		     l_column_value := p_attribute9;
15975 
15976                   END IF;
15977                   FND_FLEX_DESCVAL.Set_Column_Value
15978                   (   column_name   => 'PRICING_ATTRIBUTE9'
15979                    ,  column_value  =>  l_column_value);
15980 
15981 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15982 
15983 		     l_column_value := null;
15984 
15985 	          ELSE
15986 
15987 		     l_column_value := p_attribute10;
15988 
15989                   END IF;
15990                   FND_FLEX_DESCVAL.Set_Column_Value
15991                   (   column_name   => 'PRICING_ATTRIBUTE10'
15992                    ,  column_value  =>  l_column_value);
15993 
15994 
15995 		  IF p_context = FND_API.G_MISS_CHAR THEN
15996 
15997 		     l_column_value := null;
15998 
15999 	          ELSE
16000 
16001 		     l_column_value := p_context;
16002 
16003                   END IF;
16004 		  FND_FLEX_DESCVAL.Set_Context_Value
16005 		   ( context_value   => l_column_value);
16006 
16007                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_PRICING_ATTRIBUTE') THEN
16008 			RETURN FALSE;
16009                    END IF;
16010 
16011 
16012                 END IF;
16013 
16014     RETURN TRUE;
16015 
16016 EXCEPTION
16017 
16018    WHEN OTHERS THEN
16019 
16020 
16021      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16022      THEN
16023 
16024         OE_MSG_PUB.Add_Exc_Msg
16025 	( G_PKG_NAME
16026           , 'P_Line_Desc_Flex');
16027      END IF;
16028 
16029 
16030      RETURN FALSE;
16031 
16032 END P_Line_Desc_Flex;
16033 
16034 
16035 FUNCTION I_Line_Desc_Flex (p_context IN VARCHAR2,
16036 			         p_attribute1 IN VARCHAR2,
16037                            p_attribute2 IN VARCHAR2,
16038                            p_attribute3 IN VARCHAR2,
16039                            p_attribute4 IN VARCHAR2,
16040                            p_attribute5 IN VARCHAR2,
16041                            p_attribute6 IN VARCHAR2,
16042                            p_attribute7 IN VARCHAR2,
16043                            p_attribute8 IN VARCHAR2,
16044                            p_attribute9 IN VARCHAR2,
16045                            p_attribute10 IN VARCHAR2,
16046                            p_attribute11 IN VARCHAR2,
16047                            p_attribute12 IN VARCHAR2,
16048                            p_attribute13 IN VARCHAR2,
16049                            p_attribute14 IN VARCHAR2,
16050                            p_attribute15 IN VARCHAR2,
16051 			         p_attribute16 IN VARCHAR2,
16052                            p_attribute17 IN VARCHAR2,
16053                            p_attribute18 IN VARCHAR2,
16054                            p_attribute19 IN VARCHAR2,
16055                            p_attribute20 IN VARCHAR2,
16056                            p_attribute21 IN VARCHAR2,
16057                            p_attribute22 IN VARCHAR2,
16058                            p_attribute23 IN VARCHAR2,
16059                            p_attribute24 IN VARCHAR2,
16060                            p_attribute25 IN VARCHAR2,
16061                            p_attribute26 IN VARCHAR2,
16062                            p_attribute27 IN VARCHAR2,
16063                            p_attribute28 IN VARCHAR2,
16064                            p_attribute29 IN VARCHAR2,
16065                            p_attribute30 IN VARCHAR2)
16066 
16067 
16068 RETURN BOOLEAN
16069 IS
16070 l_column_value VARCHAR2(240) := null;
16071 BEGIN
16072 
16073 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INDUSTRY_CONTEXT');
16074 
16075 		IF  (p_attribute1 = FND_API.G_MISS_CHAR)
16076                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16077 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16078                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16079                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16080                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16081                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16082                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16083                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16084                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16085                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16086                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16087                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16088                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16089                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16090                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
16091 		    AND  (p_attribute17 = FND_API.G_MISS_CHAR)
16092                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
16093                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
16094                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
16095                 AND  (p_attribute21 = FND_API.G_MISS_CHAR)
16096                 AND  (p_attribute22 = FND_API.G_MISS_CHAR)
16097                 AND  (p_attribute23 = FND_API.G_MISS_CHAR)
16098                 AND  (p_attribute24 = FND_API.G_MISS_CHAR)
16099                 AND  (p_attribute25 = FND_API.G_MISS_CHAR)
16100                 AND  (p_attribute26 = FND_API.G_MISS_CHAR)
16101                 AND  (p_attribute27 = FND_API.G_MISS_CHAR)
16102                 AND  (p_attribute28 = FND_API.G_MISS_CHAR)
16103                 AND  (p_attribute29 = FND_API.G_MISS_CHAR)
16104                 AND  (p_attribute30 = FND_API.G_MISS_CHAR)
16105                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16106 
16107 
16108 		     RETURN TRUE;
16109 
16110                 ELSE
16111 
16112 
16113 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16114 
16115 		     l_column_value := null;
16116 
16117 	          ELSE
16118 
16119 		     l_column_value := p_attribute1;
16120 
16121                   END IF;
16122 
16123                   FND_FLEX_DESCVAL.Set_Column_Value
16124                   (   column_name   => 'INDUSTRY_ATTRIBUTE1'
16125                    ,  column_value  => l_column_value);
16126 
16127 
16128 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16129 
16130 		     l_column_value := null;
16131 
16132 	          ELSE
16133 
16134 		     l_column_value := p_attribute2;
16135 
16136                   END IF;
16137                   FND_FLEX_DESCVAL.Set_Column_Value
16138                   (   column_name   => 'INDUSTRY_ATTRIBUTE2'
16139                    ,  column_value  =>  l_column_value);
16140 
16141 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16142 
16143 		     l_column_value := null;
16144 
16145 	          ELSE
16146 
16147 		     l_column_value := p_attribute3;
16148 
16149                   END IF;
16150                   FND_FLEX_DESCVAL.Set_Column_Value
16151                   (   column_name   => 'INDUSTRY_ATTRIBUTE3'
16152                    ,  column_value  =>  l_column_value);
16153 
16154 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16155 
16156 		     l_column_value := null;
16157 
16158 	          ELSE
16159 
16160 		     l_column_value := p_attribute4;
16161 
16162                   END IF;
16163                   FND_FLEX_DESCVAL.Set_Column_Value
16164                   (   column_name   => 'INDUSTRY_ATTRIBUTE4'
16165                    ,  column_value  =>  l_column_value);
16166 
16167 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16168 
16169 		     l_column_value := null;
16170 
16171 	          ELSE
16172 
16173 		     l_column_value := p_attribute5;
16174 
16175                   END IF;
16176                   FND_FLEX_DESCVAL.Set_Column_Value
16177                   (   column_name   => 'INDUSTRY_ATTRIBUTE5'
16178                    ,  column_value  =>  l_column_value);
16179 
16180 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16181 
16182 		     l_column_value := null;
16183 
16184 	          ELSE
16185 
16186 		     l_column_value := p_attribute6;
16187 
16188                   END IF;
16189                   FND_FLEX_DESCVAL.Set_Column_Value
16190                   (   column_name   => 'INDUSTRY_ATTRIBUTE6'
16191                    ,  column_value  =>  l_column_value);
16192 
16193 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16194 
16195 		     l_column_value := null;
16196 
16197 	          ELSE
16198 
16199 		     l_column_value := p_attribute7;
16200 
16201                   END IF;
16202                   FND_FLEX_DESCVAL.Set_Column_Value
16203                   (   column_name   => 'INDUSTRY_ATTRIBUTE7'
16204                    ,  column_value  =>  l_column_value);
16205 
16206 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16207 
16208 		     l_column_value := null;
16209 
16210 	          ELSE
16211 
16212 		     l_column_value := p_attribute8;
16213 
16214                   END IF;
16215                   FND_FLEX_DESCVAL.Set_Column_Value
16216                   (   column_name   => 'INDUSTRY_ATTRIBUTE8'
16217                    ,  column_value  =>  l_column_value);
16218 
16219 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16220 
16221 		     l_column_value := null;
16222 
16223 	          ELSE
16224 
16225 		     l_column_value := p_attribute9;
16226 
16227                   END IF;
16228                   FND_FLEX_DESCVAL.Set_Column_Value
16229                   (   column_name   => 'INDUSTRY_ATTRIBUTE9'
16230                    ,  column_value  =>  l_column_value);
16231 
16232 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16233 
16234 		     l_column_value := null;
16235 
16236 	          ELSE
16237 
16238 		     l_column_value := p_attribute10;
16239 
16240                   END IF;
16241                   FND_FLEX_DESCVAL.Set_Column_Value
16242                   (   column_name   => 'INDUSTRY_ATTRIBUTE10'
16243                    ,  column_value  =>  l_column_value);
16244 
16245 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16246 
16247 		     l_column_value := null;
16248 
16249 	          ELSE
16250 
16251 		     l_column_value := p_attribute11;
16252 
16253                   END IF;
16254                   FND_FLEX_DESCVAL.Set_Column_Value
16255                   (   column_name   => 'INDUSTRY_ATTRIBUTE11'
16256                    ,  column_value  =>  l_column_value);
16257 
16258 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16259 
16260 		     l_column_value := null;
16261 
16262 	          ELSE
16263 
16264 		     l_column_value := p_attribute12;
16265 
16266                   END IF;
16267                   FND_FLEX_DESCVAL.Set_Column_Value
16268                   (   column_name   => 'INDUSTRY_ATTRIBUTE12'
16269                    ,  column_value  =>  l_column_value);
16270 
16271 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16272 
16273 		     l_column_value := null;
16274 
16275 	          ELSE
16276 
16277 		     l_column_value := p_attribute13;
16278 
16279                   END IF;
16280                   FND_FLEX_DESCVAL.Set_Column_Value
16281                   (   column_name   => 'INDUSTRY_ATTRIBUTE13'
16282                    ,  column_value  =>  l_column_value);
16283 
16284 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16285 
16286 		     l_column_value := null;
16287 
16288 	          ELSE
16289 
16290 		     l_column_value := p_attribute14;
16291 
16292                   END IF;
16293                   FND_FLEX_DESCVAL.Set_Column_Value
16294                   (   column_name   => 'INDUSTRY_ATTRIBUTE14'
16295                    ,  column_value  =>  l_column_value);
16296 
16297 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16298 
16299 		     l_column_value := null;
16300 
16301 	          ELSE
16302 
16303 		     l_column_value := p_attribute15;
16304 
16305                   END IF;
16306                   FND_FLEX_DESCVAL.Set_Column_Value
16307                   (   column_name   => 'INDUSTRY_ATTRIBUTE15'
16308                    ,  column_value  =>  l_column_value);
16309 
16310 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
16311 
16312 		     l_column_value := null;
16313 
16314 	          ELSE
16315 
16316 		     l_column_value := p_attribute16;
16317 
16318                   END IF;
16319                   FND_FLEX_DESCVAL.Set_Column_Value
16320                   (   column_name   => 'INDUSTRY_ATTRIBUTE16'
16321                    ,  column_value  =>  l_column_value);
16322 
16323 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
16324 
16325 		     l_column_value := null;
16326 
16327 	          ELSE
16328 
16329 		     l_column_value := p_attribute17;
16330 
16331                   END IF;
16332                   FND_FLEX_DESCVAL.Set_Column_Value
16333                   (   column_name   => 'INDUSTRY_ATTRIBUTE17'
16334                    ,  column_value  =>  l_column_value);
16335 
16336 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
16337 
16338 		     l_column_value := null;
16339 
16340 	          ELSE
16341 
16342 		     l_column_value := p_attribute18;
16343 
16344                   END IF;
16345                   FND_FLEX_DESCVAL.Set_Column_Value
16346                   (   column_name   => 'INDUSTRY_ATTRIBUTE18'
16347                    ,  column_value  =>  l_column_value);
16348 
16349 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
16350 
16351 		     l_column_value := null;
16352 
16353 	          ELSE
16354 
16355 		     l_column_value := p_attribute19;
16356 
16357                   END IF;
16358                   FND_FLEX_DESCVAL.Set_Column_Value
16359                   (   column_name   => 'INDUSTRY_ATTRIBUTE19'
16360                    ,  column_value  =>  l_column_value);
16361 
16362 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
16363 
16364 		     l_column_value := null;
16365 
16366 	          ELSE
16367 
16368 		     l_column_value := p_attribute20;
16369 
16370                   END IF;
16371                   FND_FLEX_DESCVAL.Set_Column_Value
16372                   (   column_name   => 'INDUSTRY_ATTRIBUTE20'
16373                    ,  column_value  =>  l_column_value);
16374 
16375 		  IF p_attribute21 = FND_API.G_MISS_CHAR THEN
16376 
16377 		     l_column_value := null;
16378 
16379 	          ELSE
16380 
16381 		     l_column_value := p_attribute21;
16382 
16383                   END IF;
16384                   FND_FLEX_DESCVAL.Set_Column_Value
16385                   (   column_name   => 'INDUSTRY_ATTRIBUTE21'
16386                    ,  column_value  =>  l_column_value);
16387 
16388 		  IF p_attribute22 = FND_API.G_MISS_CHAR THEN
16389 
16390 		     l_column_value := null;
16391 
16392 	          ELSE
16393 
16394 		     l_column_value := p_attribute22;
16395 
16396                   END IF;
16397                   FND_FLEX_DESCVAL.Set_Column_Value
16398                   (   column_name   => 'INDUSTRY_ATTRIBUTE22'
16399                    ,  column_value  =>  l_column_value);
16400 
16401 		  IF p_attribute23 = FND_API.G_MISS_CHAR THEN
16402 
16403 		     l_column_value := null;
16404 
16405 	          ELSE
16406 
16407 		     l_column_value := p_attribute23;
16408 
16409                   END IF;
16410                   FND_FLEX_DESCVAL.Set_Column_Value
16411                   (   column_name   => 'INDUSTRY_ATTRIBUTE23'
16412                    ,  column_value  =>  l_column_value);
16413 
16414 		  IF p_attribute24 = FND_API.G_MISS_CHAR THEN
16415 
16416 		     l_column_value := null;
16417 
16418 	          ELSE
16419 
16420 		     l_column_value := p_attribute24;
16421 
16422                   END IF;
16423                   FND_FLEX_DESCVAL.Set_Column_Value
16424                   (   column_name   => 'INDUSTRY_ATTRIBUTE24'
16425                    ,  column_value  =>  l_column_value);
16426 
16427 		  IF p_attribute25 = FND_API.G_MISS_CHAR THEN
16428 
16429 		     l_column_value := null;
16430 
16431 	          ELSE
16432 
16433 		     l_column_value := p_attribute25;
16434 
16435                   END IF;
16436                   FND_FLEX_DESCVAL.Set_Column_Value
16437                   (   column_name   => 'INDUSTRY_ATTRIBUTE25'
16438                    ,  column_value  =>  l_column_value);
16439 
16440 		  IF p_attribute26 = FND_API.G_MISS_CHAR THEN
16441 
16442 		     l_column_value := null;
16443 
16444 	          ELSE
16445 
16446 		     l_column_value := p_attribute26;
16447 
16448                   END IF;
16449                   FND_FLEX_DESCVAL.Set_Column_Value
16450                   (   column_name   => 'INDUSTRY_ATTRIBUTE26'
16451                    ,  column_value  =>  l_column_value);
16452 
16453 		  IF p_attribute27 = FND_API.G_MISS_CHAR THEN
16454 
16455 		     l_column_value := null;
16456 
16457 	          ELSE
16458 
16459 		     l_column_value := p_attribute27;
16460 
16461                   END IF;
16462                   FND_FLEX_DESCVAL.Set_Column_Value
16463                   (   column_name   => 'INDUSTRY_ATTRIBUTE27'
16464                    ,  column_value  =>  l_column_value);
16465 
16466 		  IF p_attribute28 = FND_API.G_MISS_CHAR THEN
16467 
16468 		     l_column_value := null;
16469 
16470 	          ELSE
16471 
16472 		     l_column_value := p_attribute28;
16473 
16474                   END IF;
16475                   FND_FLEX_DESCVAL.Set_Column_Value
16476                   (   column_name   => 'INDUSTRY_ATTRIBUTE28'
16477                    ,  column_value  =>  l_column_value);
16478 
16479 		  IF p_attribute29 = FND_API.G_MISS_CHAR THEN
16480 
16481 		     l_column_value := null;
16482 
16483 	          ELSE
16484 
16485 		     l_column_value := p_attribute29;
16486 
16487                   END IF;
16488                   FND_FLEX_DESCVAL.Set_Column_Value
16489                   (   column_name   => 'INDUSTRY_ATTRIBUTE29'
16490                    ,  column_value  =>  l_column_value);
16491 
16492 		  IF p_attribute30 = FND_API.G_MISS_CHAR THEN
16493 
16494 		     l_column_value := null;
16495 
16496 	          ELSE
16497 
16498 		     l_column_value := p_attribute30;
16499 
16500                   END IF;
16501                   FND_FLEX_DESCVAL.Set_Column_Value
16502                   (   column_name   => 'INDUSTRY_ATTRIBUTE30'
16503                    ,  column_value  =>  l_column_value);
16504 
16505 
16506 
16507 		  IF p_context = FND_API.G_MISS_CHAR THEN
16508 
16509 		     l_column_value := null;
16510 
16511 	          ELSE
16512 
16513 		     l_column_value := p_context;
16514 
16515                   END IF;
16516 		  FND_FLEX_DESCVAL.Set_Context_Value
16517 		   ( context_value   => l_column_value);
16518 
16519               IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_INDUSTRY_ATTRIBUTE') THEN
16520 			RETURN FALSE;
16521               END IF;
16522 
16523                 END IF;
16524 
16525     RETURN TRUE;
16526 
16527 EXCEPTION
16528 
16529    WHEN OTHERS THEN
16530 
16531 
16532      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16533      THEN
16534 
16535         OE_MSG_PUB.Add_Exc_Msg
16536 	( G_PKG_NAME
16537           , 'I_Line_Desc_Flex');
16538      END IF;
16539 
16540 
16541      RETURN FALSE;
16542 
16543 END I_Line_Desc_Flex;
16544 
16545 
16546 FUNCTION TP_Line_Desc_Flex (p_context IN VARCHAR2,
16547 			         p_attribute1 IN VARCHAR2,
16548                            p_attribute2 IN VARCHAR2,
16549                            p_attribute3 IN VARCHAR2,
16550                            p_attribute4 IN VARCHAR2,
16551                            p_attribute5 IN VARCHAR2,
16552                            p_attribute6 IN VARCHAR2,
16553                            p_attribute7 IN VARCHAR2,
16554                            p_attribute8 IN VARCHAR2,
16555                            p_attribute9 IN VARCHAR2,
16556                            p_attribute10 IN VARCHAR2,
16557                            p_attribute11 IN VARCHAR2,
16558                            p_attribute12 IN VARCHAR2,
16559                            p_attribute13 IN VARCHAR2,
16560                            p_attribute14 IN VARCHAR2,
16561                            p_attribute15 IN VARCHAR2)
16562 
16563 
16564 RETURN BOOLEAN
16565 IS
16566 l_column_value VARCHAR2(240) := null;
16567 BEGIN
16568 
16569 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TP_CONTEXT');
16570 
16571 		IF  (p_attribute1 = FND_API.G_MISS_CHAR)
16572                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16573 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16574                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16575                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16576                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16577                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16578                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16579                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16580                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16581                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16582                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16583                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16584                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16585                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16586                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16587 
16588 
16589 		     RETURN TRUE;
16590 
16591                 ELSE
16592 
16593 
16594 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16595 
16596 		     l_column_value := null;
16597 
16598 	          ELSE
16599 
16600 		     l_column_value := p_attribute1;
16601 
16602                   END IF;
16603 
16604                   FND_FLEX_DESCVAL.Set_Column_Value
16605                   (   column_name   => 'TP_ATTRIBUTE1'
16606                    ,  column_value  => l_column_value);
16607 
16608 
16609 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16610 
16611 		     l_column_value := null;
16612 
16613 	          ELSE
16614 
16615 		     l_column_value := p_attribute2;
16616 
16617                   END IF;
16618                   FND_FLEX_DESCVAL.Set_Column_Value
16619                   (   column_name   => 'TP_ATTRIBUTE2'
16620                    ,  column_value  =>  l_column_value);
16621 
16622 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16623 
16624 		     l_column_value := null;
16625 
16626 	          ELSE
16627 
16628 		     l_column_value := p_attribute3;
16629 
16630                   END IF;
16631                   FND_FLEX_DESCVAL.Set_Column_Value
16632                   (   column_name   => 'TP_ATTRIBUTE3'
16633                    ,  column_value  =>  l_column_value);
16634 
16635 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16636 
16637 		     l_column_value := null;
16638 
16639 	          ELSE
16640 
16641 		     l_column_value := p_attribute4;
16642 
16643                   END IF;
16644                   FND_FLEX_DESCVAL.Set_Column_Value
16645                   (   column_name   => 'TP_ATTRIBUTE4'
16646                    ,  column_value  =>  l_column_value);
16647 
16648 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16649 
16650 		     l_column_value := null;
16651 
16652 	          ELSE
16653 
16654 		     l_column_value := p_attribute5;
16655 
16656                   END IF;
16657                   FND_FLEX_DESCVAL.Set_Column_Value
16658                   (   column_name   => 'TP_ATTRIBUTE5'
16659                    ,  column_value  =>  l_column_value);
16660 
16661 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16662 
16663 		     l_column_value := null;
16664 
16665 	          ELSE
16666 
16667 		     l_column_value := p_attribute6;
16668 
16669                   END IF;
16670                   FND_FLEX_DESCVAL.Set_Column_Value
16671                   (   column_name   => 'TP_ATTRIBUTE6'
16672                    ,  column_value  =>  l_column_value);
16673 
16674 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16675 
16676 		     l_column_value := null;
16677 
16678 	          ELSE
16679 
16680 		     l_column_value := p_attribute7;
16681 
16682                   END IF;
16683                   FND_FLEX_DESCVAL.Set_Column_Value
16684                   (   column_name   => 'TP_ATTRIBUTE7'
16685                    ,  column_value  =>  l_column_value);
16686 
16687 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16688 
16689 		     l_column_value := null;
16690 
16691 	          ELSE
16692 
16693 		     l_column_value := p_attribute8;
16694 
16695                   END IF;
16696                   FND_FLEX_DESCVAL.Set_Column_Value
16697                   (   column_name   => 'TP_ATTRIBUTE8'
16698                    ,  column_value  =>  l_column_value);
16699 
16700 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16701 
16702 		     l_column_value := null;
16703 
16704 	          ELSE
16705 
16706 		     l_column_value := p_attribute9;
16707 
16708                   END IF;
16709                   FND_FLEX_DESCVAL.Set_Column_Value
16710                   (   column_name   => 'TP_ATTRIBUTE9'
16711                    ,  column_value  =>  l_column_value);
16712 
16713 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16714 
16715 		     l_column_value := null;
16716 
16717 	          ELSE
16718 
16719 		     l_column_value := p_attribute10;
16720 
16721                   END IF;
16722                   FND_FLEX_DESCVAL.Set_Column_Value
16723                   (   column_name   => 'TP_ATTRIBUTE10'
16724                    ,  column_value  =>  l_column_value);
16725 
16726 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16727 
16728 		     l_column_value := null;
16729 
16730 	          ELSE
16731 
16732 		     l_column_value := p_attribute11;
16733 
16734                   END IF;
16735                   FND_FLEX_DESCVAL.Set_Column_Value
16736                   (   column_name   => 'TP_ATTRIBUTE11'
16737                    ,  column_value  =>  l_column_value);
16738 
16739 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16740 
16741 		     l_column_value := null;
16742 
16743 	          ELSE
16744 
16745 		     l_column_value := p_attribute12;
16746 
16747                   END IF;
16748                   FND_FLEX_DESCVAL.Set_Column_Value
16749                   (   column_name   => 'TP_ATTRIBUTE12'
16750                    ,  column_value  =>  l_column_value);
16751 
16752 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16753 
16754 		     l_column_value := null;
16755 
16756 	          ELSE
16757 
16758 		     l_column_value := p_attribute13;
16759 
16760                   END IF;
16761                   FND_FLEX_DESCVAL.Set_Column_Value
16762                   (   column_name   => 'TP_ATTRIBUTE13'
16763                    ,  column_value  =>  l_column_value);
16764 
16765 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16766 
16767 		     l_column_value := null;
16768 
16769 	          ELSE
16770 
16771 		     l_column_value := p_attribute14;
16772 
16773                   END IF;
16774                   FND_FLEX_DESCVAL.Set_Column_Value
16775                   (   column_name   => 'TP_ATTRIBUTE14'
16776                    ,  column_value  =>  l_column_value);
16777 
16778 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16779 
16780 		     l_column_value := null;
16781 
16782 	          ELSE
16783 
16784 		     l_column_value := p_attribute15;
16785 
16786                   END IF;
16787                   FND_FLEX_DESCVAL.Set_Column_Value
16788                   (   column_name   => 'TP_ATTRIBUTE15'
16789                    ,  column_value  =>  l_column_value);
16790 
16791 
16792 
16793 		  IF p_context = FND_API.G_MISS_CHAR THEN
16794 
16795 		     l_column_value := null;
16796 
16797 	          ELSE
16798 
16799 		     l_column_value := p_context;
16800 
16801                   END IF;
16802 		  FND_FLEX_DESCVAL.Set_Context_Value
16803 		   ( context_value   => l_column_value);
16804 
16805                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_TP_ATTRIBUTES') THEN
16806 			RETURN FALSE;
16807                    END IF;
16808 
16809 
16810                 END IF;
16811 
16812     RETURN TRUE;
16813 
16814 EXCEPTION
16815 
16816    WHEN OTHERS THEN
16817 
16818 
16819      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16820      THEN
16821 
16822         OE_MSG_PUB.Add_Exc_Msg
16823 	( G_PKG_NAME
16824           , 'TP_Line_Desc_Flex');
16825      END IF;
16826 
16827 
16828      RETURN FALSE;
16829 
16830 END TP_Line_Desc_Flex;
16831 
16832 
16833 FUNCTION R_Line_Desc_Flex (p_context IN VARCHAR2,
16834 			   p_attribute1 IN VARCHAR2,
16835                            p_attribute2 IN VARCHAR2,
16836                            p_attribute3 IN VARCHAR2,
16837                            p_attribute4 IN VARCHAR2,
16838                            p_attribute5 IN VARCHAR2,
16839                            p_attribute6 IN VARCHAR2,
16840                            p_attribute7 IN VARCHAR2,
16841                            p_attribute8 IN VARCHAR2,
16842                            p_attribute9 IN VARCHAR2,
16843                            p_attribute10 IN VARCHAR2,
16844                            p_attribute11 IN VARCHAR2,
16845                            p_attribute12 IN VARCHAR2,
16846                            p_attribute13 IN VARCHAR2,
16847                            p_attribute14 IN VARCHAR2,
16848                            p_attribute15 IN VARCHAR2)
16849 
16850 RETURN BOOLEAN
16851 IS
16852 l_column_value VARCHAR2(240) := null;
16853 BEGIN
16854 
16855 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_CONTEXT');
16856 
16857 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
16858                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16859 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16860                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16861                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16862                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16863                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16864                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16865                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16866                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16867                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16868                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16869                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16870                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16871                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16872                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16873 
16874 
16875 		     RETURN TRUE;
16876 
16877                 ELSE
16878 
16879 
16880 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16881 
16882 		     l_column_value := null;
16883 
16884 	          ELSE
16885 
16886 		     l_column_value := p_attribute1;
16887 
16888                   END IF;
16889 
16890                   FND_FLEX_DESCVAL.Set_Column_Value
16891                   (   column_name   => 'RETURN_ATTRIBUTE1'
16892                    ,  column_value  => l_column_value);
16893 
16894 
16895 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16896 
16897 		     l_column_value := null;
16898 
16899 	          ELSE
16900 
16901 		     l_column_value := p_attribute2;
16902 
16903                   END IF;
16904                   FND_FLEX_DESCVAL.Set_Column_Value
16905                   (   column_name   => 'RETURN_ATTRIBUTE2'
16906                    ,  column_value  =>  l_column_value);
16907 
16908 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16909 
16910 		     l_column_value := null;
16911 
16912 	          ELSE
16913 
16914 		     l_column_value := p_attribute3;
16915 
16916                   END IF;
16917                   FND_FLEX_DESCVAL.Set_Column_Value
16918                   (   column_name   => 'RETURN_ATTRIBUTE3'
16919                    ,  column_value  =>  l_column_value);
16920 
16921 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16922 
16923 		     l_column_value := null;
16924 
16925 	          ELSE
16926 
16927 		     l_column_value := p_attribute4;
16928 
16929                   END IF;
16930                   FND_FLEX_DESCVAL.Set_Column_Value
16931                   (   column_name   => 'RETURN_ATTRIBUTE4'
16932                    ,  column_value  =>  l_column_value);
16933 
16934 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16935 
16936 		     l_column_value := null;
16937 
16938 	          ELSE
16939 
16940 		     l_column_value := p_attribute5;
16941 
16942                   END IF;
16943                   FND_FLEX_DESCVAL.Set_Column_Value
16944                   (   column_name   => 'RETURN_ATTRIBUTE5'
16945                    ,  column_value  =>  l_column_value);
16946 
16947 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16948 
16949 		     l_column_value := null;
16950 
16951 	          ELSE
16952 
16953 		     l_column_value := p_attribute6;
16954 
16955                   END IF;
16956                   FND_FLEX_DESCVAL.Set_Column_Value
16957                   (   column_name   => 'RETURN_ATTRIBUTE6'
16958                    ,  column_value  =>  l_column_value);
16959 
16960 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16961 
16962 		     l_column_value := null;
16963 
16964 	          ELSE
16965 
16966 		     l_column_value := p_attribute7;
16967 
16968                   END IF;
16969                   FND_FLEX_DESCVAL.Set_Column_Value
16970                   (   column_name   => 'RETURN_ATTRIBUTE7'
16971                    ,  column_value  =>  l_column_value);
16972 
16973 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16974 
16975 		     l_column_value := null;
16976 
16977 	          ELSE
16978 
16979 		     l_column_value := p_attribute8;
16980 
16981                   END IF;
16982                   FND_FLEX_DESCVAL.Set_Column_Value
16983                   (   column_name   => 'RETURN_ATTRIBUTE8'
16984                    ,  column_value  =>  l_column_value);
16985 
16986 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16987 
16988 		     l_column_value := null;
16989 
16990 	          ELSE
16991 
16992 		     l_column_value := p_attribute9;
16993 
16994                   END IF;
16995                   FND_FLEX_DESCVAL.Set_Column_Value
16996                   (   column_name   => 'RETURN_ATTRIBUTE9'
16997                    ,  column_value  =>  l_column_value);
16998 
16999 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17000 
17001 		     l_column_value := null;
17002 
17003 	          ELSE
17004 
17005 		     l_column_value := p_attribute10;
17006 
17007                   END IF;
17008                   FND_FLEX_DESCVAL.Set_Column_Value
17009                   (   column_name   => 'RETURN_ATTRIBUTE10'
17010                    ,  column_value  =>  l_column_value);
17011 
17012 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17013 
17014 		     l_column_value := null;
17015 
17016 	          ELSE
17017 
17018 		     l_column_value := p_attribute11;
17019 
17020                   END IF;
17021                   FND_FLEX_DESCVAL.Set_Column_Value
17022                   (   column_name   => 'RETURN_ATTRIBUTE11'
17023                    ,  column_value  =>  l_column_value);
17024 
17025 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17026 
17027 		     l_column_value := null;
17028 
17029 	          ELSE
17030 
17031 		     l_column_value := p_attribute12;
17032 
17033                   END IF;
17034                   FND_FLEX_DESCVAL.Set_Column_Value
17035                   (   column_name   => 'RETURN_ATTRIBUTE12'
17036                    ,  column_value  =>  l_column_value);
17037 
17038 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17039 
17040 		     l_column_value := null;
17041 
17042 	          ELSE
17043 
17044 		     l_column_value := p_attribute13;
17045 
17046                   END IF;
17047                   FND_FLEX_DESCVAL.Set_Column_Value
17048                   (   column_name   => 'RETURN_ATTRIBUTE13'
17049                    ,  column_value  =>  l_column_value);
17050 
17051 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17052 
17053 		     l_column_value := null;
17054 
17055 	          ELSE
17056 
17057 		     l_column_value := p_attribute14;
17058 
17059                   END IF;
17060                   FND_FLEX_DESCVAL.Set_Column_Value
17061                   (   column_name   => 'RETURN_ATTRIBUTE14'
17062                    ,  column_value  =>  l_column_value);
17063 
17064 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17065 
17066 		     l_column_value := null;
17067 
17068 	          ELSE
17069 
17070 		     l_column_value := p_attribute15;
17071 
17072                   END IF;
17073                   FND_FLEX_DESCVAL.Set_Column_Value
17074                   (   column_name   => 'RETURN_ATTRIBUTE15'
17075                    ,  column_value  =>  l_column_value);
17076 
17077 		  IF p_context = FND_API.G_MISS_CHAR THEN
17078 
17079 		    l_column_value := null;
17080 
17081 	       ELSE
17082 
17083 		    l_column_value := p_context;
17084 
17085             END IF;
17086 
17087 		  FND_FLEX_DESCVAL.Set_Context_Value
17088 		   ( context_value   => l_column_value);
17089 
17090 
17091 	/* Remove after fixing :block.field_name stuff
17092 
17093             IF NOT OE_CNCL_Validate.Desc_Flex('OE_LINE_RETURN_ATTRIBUTE') THEN
17094 					RETURN FALSE;
17095             END IF;
17096      */
17097 
17098          END IF;
17099 
17100     RETURN TRUE;
17101 
17102 EXCEPTION
17103 
17104    WHEN OTHERS THEN
17105 
17106 
17107      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17108      THEN
17109 
17110         OE_MSG_PUB.Add_Exc_Msg
17111 	( G_PKG_NAME
17112           , 'R_Line_Desc_Flex');
17113      END IF;
17114 
17115 
17116      RETURN FALSE;
17117 
17118 END R_Line_Desc_Flex;
17119 
17120 
17121 FUNCTION Price_Adj_Desc_Flex (p_context IN VARCHAR2,
17122 			   p_attribute1 IN VARCHAR2,
17123                            p_attribute2 IN VARCHAR2,
17124                            p_attribute3 IN VARCHAR2,
17125                            p_attribute4 IN VARCHAR2,
17126                            p_attribute5 IN VARCHAR2,
17127                            p_attribute6 IN VARCHAR2,
17128                            p_attribute7 IN VARCHAR2,
17129                            p_attribute8 IN VARCHAR2,
17130                            p_attribute9 IN VARCHAR2,
17131                            p_attribute10 IN VARCHAR2,
17132                            p_attribute11 IN VARCHAR2,
17133                            p_attribute12 IN VARCHAR2,
17134                            p_attribute13 IN VARCHAR2,
17135                            p_attribute14 IN VARCHAR2,
17136                            p_attribute15 IN VARCHAR2)
17137 
17138 RETURN BOOLEAN
17139 IS
17140 l_column_value VARCHAR2(240) := null;
17141 BEGIN
17142 
17143 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
17144 
17145 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17146                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17147 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17148                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17149                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17150                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17151                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17152                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17153                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17154                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17155                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17156                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17157                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17158                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17159                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17160                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17161 
17162 
17163 		     RETURN TRUE;
17164 
17165                 ELSE
17166 
17167 
17168 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17169 
17170 		     l_column_value := null;
17171 
17172 	          ELSE
17173 
17174 		     l_column_value := p_attribute1;
17175 
17176                   END IF;
17177 
17178                   FND_FLEX_DESCVAL.Set_Column_Value
17179                   (   column_name   => 'ATTRIBUTE1'
17180                    ,  column_value  => l_column_value);
17181 
17182 
17183 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17184 
17185 		     l_column_value := null;
17186 
17187 	          ELSE
17188 
17189 		     l_column_value := p_attribute2;
17190 
17191                   END IF;
17192                   FND_FLEX_DESCVAL.Set_Column_Value
17193                   (   column_name   => 'ATTRIBUTE2'
17194                    ,  column_value  =>  l_column_value);
17195 
17196 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17197 
17198 		     l_column_value := null;
17199 
17200 	          ELSE
17201 
17202 		     l_column_value := p_attribute3;
17203 
17204                   END IF;
17205                   FND_FLEX_DESCVAL.Set_Column_Value
17206                   (   column_name   => 'ATTRIBUTE3'
17207                    ,  column_value  =>  l_column_value);
17208 
17209 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17210 
17211 		     l_column_value := null;
17212 
17213 	          ELSE
17214 
17215 		     l_column_value := p_attribute4;
17216 
17217                   END IF;
17218                   FND_FLEX_DESCVAL.Set_Column_Value
17219                   (   column_name   => 'ATTRIBUTE4'
17220                    ,  column_value  =>  l_column_value);
17221 
17222 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17223 
17224 		     l_column_value := null;
17225 
17226 	          ELSE
17227 
17228 		     l_column_value := p_attribute5;
17229 
17230                   END IF;
17231                   FND_FLEX_DESCVAL.Set_Column_Value
17232                   (   column_name   => 'ATTRIBUTE5'
17233                    ,  column_value  =>  l_column_value);
17234 
17235 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17236 
17237 		     l_column_value := null;
17238 
17239 	          ELSE
17240 
17241 		     l_column_value := p_attribute6;
17242 
17243                   END IF;
17244                   FND_FLEX_DESCVAL.Set_Column_Value
17245                   (   column_name   => 'ATTRIBUTE6'
17246                    ,  column_value  =>  l_column_value);
17247 
17248 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17249 
17250 		     l_column_value := null;
17251 
17252 	          ELSE
17253 
17254 		     l_column_value := p_attribute7;
17255 
17256                   END IF;
17257                   FND_FLEX_DESCVAL.Set_Column_Value
17258                   (   column_name   => 'ATTRIBUTE7'
17259                    ,  column_value  =>  l_column_value);
17260 
17261 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17262 
17263 		     l_column_value := null;
17264 
17265 	          ELSE
17266 
17267 		     l_column_value := p_attribute8;
17268 
17269                   END IF;
17270                   FND_FLEX_DESCVAL.Set_Column_Value
17271                   (   column_name   => 'ATTRIBUTE8'
17272                    ,  column_value  =>  l_column_value);
17273 
17274 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17275 
17276 		     l_column_value := null;
17277 
17278 	          ELSE
17279 
17280 		     l_column_value := p_attribute9;
17281 
17282                   END IF;
17283                   FND_FLEX_DESCVAL.Set_Column_Value
17284                   (   column_name   => 'ATTRIBUTE9'
17285                    ,  column_value  =>  l_column_value);
17286 
17287 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17288 
17289 		     l_column_value := null;
17290 
17291 	          ELSE
17292 
17293 		     l_column_value := p_attribute10;
17294 
17295                   END IF;
17296                   FND_FLEX_DESCVAL.Set_Column_Value
17297                   (   column_name   => 'ATTRIBUTE10'
17298                    ,  column_value  =>  l_column_value);
17299 
17300 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17301 
17302 		     l_column_value := null;
17303 
17304 	          ELSE
17305 
17306 		     l_column_value := p_attribute11;
17307 
17308                   END IF;
17309                   FND_FLEX_DESCVAL.Set_Column_Value
17310                   (   column_name   => 'ATTRIBUTE11'
17311                    ,  column_value  =>  l_column_value);
17312 
17313 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17314 
17315 		     l_column_value := null;
17316 
17317 	          ELSE
17318 
17319 		     l_column_value := p_attribute12;
17320 
17321                   END IF;
17322                   FND_FLEX_DESCVAL.Set_Column_Value
17323                   (   column_name   => 'ATTRIBUTE12'
17324                    ,  column_value  =>  l_column_value);
17325 
17326 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17327 
17328 		     l_column_value := null;
17329 
17330 	          ELSE
17331 
17332 		     l_column_value := p_attribute13;
17333 
17334                   END IF;
17335                   FND_FLEX_DESCVAL.Set_Column_Value
17336                   (   column_name   => 'ATTRIBUTE13'
17337                    ,  column_value  =>  l_column_value);
17338 
17339 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17340 
17341 		     l_column_value := null;
17342 
17343 	          ELSE
17344 
17345 		     l_column_value := p_attribute14;
17346 
17347                   END IF;
17348                   FND_FLEX_DESCVAL.Set_Column_Value
17349                   (   column_name   => 'ATTRIBUTE14'
17350                    ,  column_value  =>  l_column_value);
17351 
17352 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17353 
17354 		     l_column_value := null;
17355 
17356 	          ELSE
17357 
17358 		     l_column_value := p_attribute15;
17359 
17360                   END IF;
17361                   FND_FLEX_DESCVAL.Set_Column_Value
17362                   (   column_name   => 'ATTRIBUTE15'
17363                    ,  column_value  =>  l_column_value);
17364 
17365 		  IF p_context = FND_API.G_MISS_CHAR THEN
17366 
17367 		     l_column_value := null;
17368 
17369 	          ELSE
17370 
17371 		     l_column_value := p_context;
17372 
17373                   END IF;
17374 		  FND_FLEX_DESCVAL.Set_Context_Value
17375 		   ( context_value   => l_column_value);
17376 
17377                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_PRICE_ADJUSTMENT') THEN
17378 			RETURN FALSE;
17379                    END IF;
17380 
17381 
17382                 END IF;
17383 
17384     RETURN TRUE;
17385 
17386 EXCEPTION
17387 
17388    WHEN OTHERS THEN
17389 
17390 
17391      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17392      THEN
17393 
17394         OE_MSG_PUB.Add_Exc_Msg
17395 	( G_PKG_NAME
17396           , 'Price_Adj_Desc_Flex');
17397      END IF;
17398 
17399 
17400      RETURN FALSE;
17401 
17402 
17403 END Price_Adj_Desc_Flex;
17404 
17405 FUNCTION Sales_Credits_Desc_Flex (p_context IN VARCHAR2,
17406 			   p_attribute1 IN VARCHAR2,
17407                            p_attribute2 IN VARCHAR2,
17408                            p_attribute3 IN VARCHAR2,
17409                            p_attribute4 IN VARCHAR2,
17410                            p_attribute5 IN VARCHAR2,
17411                            p_attribute6 IN VARCHAR2,
17412                            p_attribute7 IN VARCHAR2,
17413                            p_attribute8 IN VARCHAR2,
17414                            p_attribute9 IN VARCHAR2,
17415                            p_attribute10 IN VARCHAR2,
17416                            p_attribute11 IN VARCHAR2,
17417                            p_attribute12 IN VARCHAR2,
17418                            p_attribute13 IN VARCHAR2,
17419                            p_attribute14 IN VARCHAR2,
17420                            p_attribute15 IN VARCHAR2)
17421 
17422 RETURN BOOLEAN
17423 IS
17424 l_column_value VARCHAR2(240) := null;
17425 BEGIN
17426 
17427 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
17428 
17429 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17430                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17431 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17432                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17433                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17434                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17435                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17436                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17437                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17438                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17439                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17440                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17441                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17442                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17443                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17444                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17445 
17446 
17447 		     RETURN TRUE;
17448 
17449                 ELSE
17450 
17451 
17452 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17453 
17454 		     l_column_value := null;
17455 
17456 	          ELSE
17457 
17458 		     l_column_value := p_attribute1;
17459 
17460                   END IF;
17461 
17462                   FND_FLEX_DESCVAL.Set_Column_Value
17463                   (   column_name   => 'ATTRIBUTE1'
17464                    ,  column_value  => l_column_value);
17465 
17466 
17467 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17468 
17469 		     l_column_value := null;
17470 
17471 	          ELSE
17472 
17473 		     l_column_value := p_attribute2;
17474 
17475                   END IF;
17476                   FND_FLEX_DESCVAL.Set_Column_Value
17477                   (   column_name   => 'ATTRIBUTE2'
17478                    ,  column_value  =>  l_column_value);
17479 
17480 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17481 
17482 		     l_column_value := null;
17483 
17484 	          ELSE
17485 
17486 		     l_column_value := p_attribute3;
17487 
17488                   END IF;
17489                   FND_FLEX_DESCVAL.Set_Column_Value
17490                   (   column_name   => 'ATTRIBUTE3'
17491                    ,  column_value  =>  l_column_value);
17492 
17493 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17494 
17495 		     l_column_value := null;
17496 
17497 	          ELSE
17498 
17499 		     l_column_value := p_attribute4;
17500 
17501                   END IF;
17502                   FND_FLEX_DESCVAL.Set_Column_Value
17503                   (   column_name   => 'ATTRIBUTE4'
17504                    ,  column_value  =>  l_column_value);
17505 
17506 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17507 
17508 		     l_column_value := null;
17509 
17510 	          ELSE
17511 
17512 		     l_column_value := p_attribute5;
17513 
17514                   END IF;
17515                   FND_FLEX_DESCVAL.Set_Column_Value
17516                   (   column_name   => 'ATTRIBUTE5'
17517                    ,  column_value  =>  l_column_value);
17518 
17519 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17520 
17521 		     l_column_value := null;
17522 
17523 	          ELSE
17524 
17525 		     l_column_value := p_attribute6;
17526 
17527                   END IF;
17528                   FND_FLEX_DESCVAL.Set_Column_Value
17529                   (   column_name   => 'ATTRIBUTE6'
17530                    ,  column_value  =>  l_column_value);
17531 
17532 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17533 
17534 		     l_column_value := null;
17535 
17536 	          ELSE
17537 
17538 		     l_column_value := p_attribute7;
17539 
17540                   END IF;
17541                   FND_FLEX_DESCVAL.Set_Column_Value
17542                   (   column_name   => 'ATTRIBUTE7'
17543                    ,  column_value  =>  l_column_value);
17544 
17545 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17546 
17547 		     l_column_value := null;
17548 
17549 	          ELSE
17550 
17551 		     l_column_value := p_attribute8;
17552 
17553                   END IF;
17554                   FND_FLEX_DESCVAL.Set_Column_Value
17555                   (   column_name   => 'ATTRIBUTE8'
17556                    ,  column_value  =>  l_column_value);
17557 
17558 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17559 
17560 		     l_column_value := null;
17561 
17562 	          ELSE
17563 
17564 		     l_column_value := p_attribute9;
17565 
17566                   END IF;
17567                   FND_FLEX_DESCVAL.Set_Column_Value
17568                   (   column_name   => 'ATTRIBUTE9'
17569                    ,  column_value  =>  l_column_value);
17570 
17571 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17572 
17573 		     l_column_value := null;
17574 
17575 	          ELSE
17576 
17577 		     l_column_value := p_attribute10;
17578 
17579                   END IF;
17580                   FND_FLEX_DESCVAL.Set_Column_Value
17581                   (   column_name   => 'ATTRIBUTE10'
17582                    ,  column_value  =>  l_column_value);
17583 
17584 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17585 
17586 		     l_column_value := null;
17587 
17588 	          ELSE
17589 
17590 		     l_column_value := p_attribute11;
17591 
17592                   END IF;
17593                   FND_FLEX_DESCVAL.Set_Column_Value
17594                   (   column_name   => 'ATTRIBUTE11'
17595                    ,  column_value  =>  l_column_value);
17596 
17597 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17598 
17599 		     l_column_value := null;
17600 
17601 	          ELSE
17602 
17603 		     l_column_value := p_attribute12;
17604 
17605                   END IF;
17606                   FND_FLEX_DESCVAL.Set_Column_Value
17607                   (   column_name   => 'ATTRIBUTE12'
17608                    ,  column_value  =>  l_column_value);
17609 
17610 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17611 
17612 		     l_column_value := null;
17613 
17614 	          ELSE
17615 
17616 		     l_column_value := p_attribute13;
17617 
17618                   END IF;
17619                   FND_FLEX_DESCVAL.Set_Column_Value
17620                   (   column_name   => 'ATTRIBUTE13'
17621                    ,  column_value  =>  l_column_value);
17622 
17623 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17624 
17625 		     l_column_value := null;
17626 
17627 	          ELSE
17628 
17629 		     l_column_value := p_attribute14;
17630 
17631                   END IF;
17632                   FND_FLEX_DESCVAL.Set_Column_Value
17633                   (   column_name   => 'ATTRIBUTE14'
17634                    ,  column_value  =>  l_column_value);
17635 
17636 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17637 
17638 		     l_column_value := null;
17639 
17640 	          ELSE
17641 
17642 		     l_column_value := p_attribute15;
17643 
17644                   END IF;
17645                   FND_FLEX_DESCVAL.Set_Column_Value
17646                   (   column_name   => 'ATTRIBUTE15'
17647                    ,  column_value  =>  l_column_value);
17648 
17649 		  IF p_context = FND_API.G_MISS_CHAR THEN
17650 
17651 		     l_column_value := null;
17652 
17653 	          ELSE
17654 
17655 		     l_column_value := p_context;
17656 
17657                   END IF;
17658 		  FND_FLEX_DESCVAL.Set_Context_Value
17659 		   ( context_value   => l_column_value);
17660 
17661                    IF NOT OE_CNCL_Validate.Desc_Flex('OE_SALES_CREDITS_ATTRIBUTES') THEN
17662 			RETURN FALSE;
17663                    END IF;
17664 
17665 
17666                 END IF;
17667 
17668 
17669     RETURN TRUE;
17670 
17671 EXCEPTION
17672 
17673    WHEN OTHERS THEN
17674 
17675 
17676      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17677      THEN
17678 
17679         OE_MSG_PUB.Add_Exc_Msg
17680 	( G_PKG_NAME
17681           , 'Sales_Credits_Desc_Flex');
17682      END IF;
17683 
17684 
17685     RETURN FALSE;
17686 
17687 END Sales_Credits_Desc_Flex;
17688 
17689 
17690 FUNCTION Return_reason ( p_return_reason_code IN VARCHAR2 )
17691 RETURN BOOLEAN
17692 IS
17693 l_dummy                       VARCHAR2(10);
17694 l_lookup_type      	      VARCHAR2(80) :='CREDIT_MEMO_REASON';
17695 BEGIN
17696 
17697 
17698     IF p_return_reason_code IS NULL OR
17699         p_return_reason_code = FND_API.G_MISS_CHAR
17700     THEN
17701 
17702         RETURN TRUE;
17703     END IF;
17704 
17705     -- Fixed bug 1793991
17706     SELECT  'VALID'
17707     INTO    l_dummy
17708     FROM    OE_AR_LOOKUPS_V
17709     WHERE   LOOKUP_CODE = p_return_reason_code
17710     AND     LOOKUP_TYPE = l_lookup_type;
17711 
17712     RETURN TRUE;
17713 
17714 EXCEPTION
17715 
17716     WHEN NO_DATA_FOUND THEN
17717 
17718         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17719         THEN
17720 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_REASON_CODE');
17721 
17722 
17723             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17724             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17725 				OE_Order_Util.Get_Attribute_Name('return_reason_code'));
17726             OE_MSG_PUB.Add;
17727 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17728 
17729         END IF;
17730 
17731 
17732 
17733 
17734         RETURN FALSE;
17735 
17736     WHEN OTHERS THEN
17737 
17738         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17739         THEN
17740             OE_MSG_PUB.Add_Exc_Msg
17741             (   G_PKG_NAME
17742             ,   'return_reason'
17743             );
17744         END IF;
17745 
17746 
17747 
17748         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17749 
17750 END Return_reason;
17751 
17752 FUNCTION Split_from_line ( p_split_from_line_id IN NUMBER )
17753 RETURN BOOLEAN
17754 IS
17755 l_dummy                       VARCHAR2(10);
17756 BEGIN
17757 
17758 
17759     IF p_split_from_line_id IS NULL OR
17760         p_split_from_line_id = FND_API.G_MISS_NUM
17761     THEN
17762 
17763         RETURN TRUE;
17764     END IF;
17765 
17766     --  SELECT  'VALID'
17767     --  INTO     l_dummy
17768     --  FROM     DB_TABLE
17769     --  WHERE    DB_COLUMN = p_split_from_line_id;
17770 
17771 
17772 
17773     RETURN TRUE;
17774 
17775 EXCEPTION
17776 
17777     WHEN NO_DATA_FOUND THEN
17778 
17779         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17780         THEN
17781 
17782 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_FROM_LINE_ID');
17783 
17784             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17785             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17786 				OE_Order_Util.Get_Attribute_Name('split_from_line_id'));
17787             OE_MSG_PUB.Add;
17788 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17789 
17790         END IF;
17791 
17792 
17793 
17794         RETURN FALSE;
17795 
17796     WHEN OTHERS THEN
17797 
17798         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17799         THEN
17800             OE_MSG_PUB.Add_Exc_Msg
17801             (   G_PKG_NAME
17802             ,   'split_from_line'
17803             );
17804         END IF;
17805 
17806 
17807 
17808         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17809 
17810 END Split_from_line;
17811 
17812 FUNCTION Cust_production_seq_num ( p_cust_production_seq_num IN VARCHAR2 )
17813 RETURN BOOLEAN
17814 IS
17815 l_dummy                       VARCHAR2(10);
17816 BEGIN
17817 
17818 
17819     IF p_cust_production_seq_num IS NULL OR
17820         p_cust_production_seq_num = FND_API.G_MISS_CHAR
17821     THEN
17822 
17823         RETURN TRUE;
17824     END IF;
17825 
17826     --  SELECT  'VALID'
17827     --  INTO     l_dummy
17828     --  FROM     DB_TABLE
17829     --  WHERE    DB_COLUMN = p_cust_production_seq_num;
17830 
17831 
17832 
17833     RETURN TRUE;
17834 
17835 EXCEPTION
17836 
17837     WHEN NO_DATA_FOUND THEN
17838 
17839         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17840         THEN
17841 
17842 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_SEQ_NUM');
17843 
17844             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17845             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17846 				OE_Order_Util.Get_Attribute_Name('cust_production_seq_num'));
17847             OE_MSG_PUB.Add;
17848 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17849 
17850         END IF;
17851 
17852 
17853 
17854         RETURN FALSE;
17855 
17856     WHEN OTHERS THEN
17857 
17858         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17859         THEN
17860             OE_MSG_PUB.Add_Exc_Msg
17861             (   G_PKG_NAME
17862             ,   'cust_production_seq_num'
17863             );
17864         END IF;
17865 
17866 
17867 
17868         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17869 
17870 END Cust_production_seq_num;
17871 
17872 
17873 FUNCTION Authorized_to_ship ( p_authorized_to_ship_flag IN VARCHAR2 )
17874 RETURN BOOLEAN
17875 IS
17876 l_dummy                       VARCHAR2(10);
17877 BEGIN
17878 
17879 
17880     IF p_authorized_to_ship_flag IS NULL OR
17881         p_authorized_to_ship_flag = FND_API.G_MISS_CHAR
17882     THEN
17883 
17884         RETURN TRUE;
17885     END IF;
17886 
17887     --  SELECT  'VALID'
17888     --  INTO     l_dummy
17889     --  FROM     DB_TABLE
17890     --  WHERE    DB_COLUMN = p_authorized_to_ship_flag;
17891 
17892 
17893 
17894     RETURN TRUE;
17895 
17896 EXCEPTION
17897 
17898     WHEN NO_DATA_FOUND THEN
17899 
17900         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17901         THEN
17902 
17903 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTHORIZED_TO_SHIP_FLAG');
17904 
17905             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17906             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17907 				OE_Order_Util.Get_Attribute_Name('authorized_to_ship_flag'));
17908             OE_MSG_PUB.Add;
17909 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17910 
17911         END IF;
17912 
17913 
17914 
17915         RETURN FALSE;
17916 
17917     WHEN OTHERS THEN
17918 
17919         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17920         THEN
17921             OE_MSG_PUB.Add_Exc_Msg
17922             (   G_PKG_NAME
17923             ,   'authorized_to_ship'
17924             );
17925         END IF;
17926 
17927 
17928 
17929         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17930 
17931 END Authorized_to_ship;
17932 
17933 FUNCTION Veh_cus_item_cum_key ( p_veh_cus_item_cum_key_id IN NUMBER )
17934 RETURN BOOLEAN
17935 IS
17936 l_dummy                       VARCHAR2(10);
17937 BEGIN
17938 
17939 
17940     IF p_veh_cus_item_cum_key_id IS NULL OR
17941         p_veh_cus_item_cum_key_id = FND_API.G_MISS_NUM
17942     THEN
17943 
17944         RETURN TRUE;
17945     END IF;
17946 
17947     --  SELECT  'VALID'
17948     --  INTO     l_dummy
17949     --  FROM     DB_TABLE
17950     --  WHERE    DB_COLUMN = p_veh_cus_item_cum_key_id;
17951 
17952 
17953 
17954     RETURN TRUE;
17955 
17956 EXCEPTION
17957 
17958     WHEN NO_DATA_FOUND THEN
17959 
17960         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
17961         THEN
17962 
17963 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VEH_CUS_ITEM_CUM_KEY_ID');
17964 
17965             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
17966             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
17967 				OE_Order_Util.Get_Attribute_Name('veh_cus_item_cum_key_id'));
17968             OE_MSG_PUB.Add;
17969 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
17970 
17971         END IF;
17972 
17973 
17974 
17975         RETURN FALSE;
17976 
17977     WHEN OTHERS THEN
17978 
17979         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17980         THEN
17981             OE_MSG_PUB.Add_Exc_Msg
17982             (   G_PKG_NAME
17983             ,   'veh_cus_item_cum_key'
17984             );
17985         END IF;
17986 
17987 
17988 
17989         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
17990 
17991 END Veh_cus_item_cum_key;
17992 
17993 FUNCTION Arrival_set ( p_arrival_set_id IN NUMBER )
17994 RETURN BOOLEAN
17995 IS
17996 l_dummy                       VARCHAR2(10);
17997 BEGIN
17998 
17999 
18000     IF p_arrival_set_id IS NULL OR
18001         p_arrival_set_id = FND_API.G_MISS_NUM
18002     THEN
18003 
18004         RETURN TRUE;
18005     END IF;
18006 
18007     --  SELECT  'VALID'
18008     --  INTO     l_dummy
18009     --  FROM     DB_TABLE
18010     --  WHERE    DB_COLUMN = p_arrival_set_id;
18011 
18012 
18013 
18014     RETURN TRUE;
18015 
18016 EXCEPTION
18017 
18018     WHEN NO_DATA_FOUND THEN
18019 
18020         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18021         THEN
18022 
18023 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ARRIVAL_SET_ID');
18024 
18025 
18026             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18027             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18028 				OE_Order_Util.Get_Attribute_Name('arrival_set_id'));
18029             OE_MSG_PUB.Add;
18030 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18031 
18032         END IF;
18033 
18034 
18035 
18036         RETURN FALSE;
18037 
18038     WHEN OTHERS THEN
18039 
18040         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18041         THEN
18042             OE_MSG_PUB.Add_Exc_Msg
18043             (   G_PKG_NAME
18044             ,   'arrival_set'
18045             );
18046         END IF;
18047 
18048 
18049 
18050         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18051 
18052 END Arrival_set;
18053 
18054 FUNCTION Ship_set ( p_ship_set_id IN NUMBER )
18055 RETURN BOOLEAN
18056 IS
18057 l_dummy                       VARCHAR2(10);
18058 BEGIN
18059 
18060 
18061     IF p_ship_set_id IS NULL OR
18062         p_ship_set_id = FND_API.G_MISS_NUM
18063     THEN
18064 
18065         RETURN TRUE;
18066     END IF;
18067 
18068     --  SELECT  'VALID'
18069     --  INTO     l_dummy
18070     --  FROM     DB_TABLE
18071     --  WHERE    DB_COLUMN = p_ship_set_id;
18072 
18073 
18074 
18075     RETURN TRUE;
18076 
18077 EXCEPTION
18078 
18079     WHEN NO_DATA_FOUND THEN
18080 
18081         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18082         THEN
18083 
18084 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_SET_ID');
18085 
18086             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18087             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18088 				OE_Order_Util.Get_Attribute_Name('ship_set_id'));
18089             OE_MSG_PUB.Add;
18090 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18091 
18092         END IF;
18093 
18094 
18095 
18096         RETURN FALSE;
18097 
18098     WHEN OTHERS THEN
18099 
18100         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18101         THEN
18102             OE_MSG_PUB.Add_Exc_Msg
18103             (   G_PKG_NAME
18104             ,   'ship_set'
18105             );
18106         END IF;
18107 
18108 
18109 
18110         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18111 
18112 END Ship_set;
18113 
18114 FUNCTION Over_ship_reason ( p_over_ship_reason_code IN VARCHAR2 )
18115 RETURN BOOLEAN
18116 IS
18117 l_dummy                       VARCHAR2(10);
18118 BEGIN
18119 
18120 
18121     IF p_over_ship_reason_code IS NULL OR
18122         p_over_ship_reason_code = FND_API.G_MISS_CHAR
18123     THEN
18124 
18125         RETURN TRUE;
18126     END IF;
18127 
18128     --  SELECT  'VALID'
18129     --  INTO     l_dummy
18130     --  FROM     DB_TABLE
18131     --  WHERE    DB_COLUMN = p_over_ship_reason_code;
18132 
18133 
18134 
18135     RETURN TRUE;
18136 
18137 EXCEPTION
18138 
18139     WHEN NO_DATA_FOUND THEN
18140 
18141         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18142         THEN
18143 
18144 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_REASON_CODE');
18145 
18146             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18147             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18148 				OE_Order_Util.Get_Attribute_Name('over_ship_reason_code'));
18149             OE_MSG_PUB.Add;
18150 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18151 
18152         END IF;
18153 
18154 
18155 
18156         RETURN FALSE;
18157 
18158     WHEN OTHERS THEN
18159 
18160         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18161         THEN
18162             OE_MSG_PUB.Add_Exc_Msg
18163             (   G_PKG_NAME
18164             ,   'over_ship_reason'
18165             );
18166         END IF;
18167 
18168 
18169 
18170         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18171 
18172 END Over_ship_reason;
18173 
18174 FUNCTION Over_ship_resolved ( p_over_ship_resolved_flag IN VARCHAR2 )
18175 RETURN BOOLEAN
18176 IS
18177 l_dummy                       VARCHAR2(10);
18178 BEGIN
18179 
18180 
18181     IF p_over_ship_resolved_flag IS NULL OR
18182         p_over_ship_resolved_flag = FND_API.G_MISS_CHAR
18183     THEN
18184 
18185         RETURN TRUE;
18186     END IF;
18187 
18188 
18189     --  SELECT  'VALID'
18190     --  INTO     l_dummy
18191     --  FROM     DB_TABLE
18192     --  WHERE    DB_COLUMN = p_over_ship_resolved_flag;
18193 
18194 
18195 
18196     RETURN TRUE;
18197 
18198 EXCEPTION
18199 
18200     WHEN NO_DATA_FOUND THEN
18201 
18202         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18203         THEN
18204 
18205 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_RESOLVED_FLAG');
18206 
18207             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18208             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18209 				OE_Order_Util.Get_Attribute_Name('over_ship_resolved_flag'));
18210             OE_MSG_PUB.Add;
18211 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18212 
18213         END IF;
18214 
18215 
18216 
18217         RETURN FALSE;
18218 
18219     WHEN OTHERS THEN
18220 
18221         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18222         THEN
18223             OE_MSG_PUB.Add_Exc_Msg
18224             (   G_PKG_NAME
18225             ,   'over_ship_resolved'
18226             );
18227         END IF;
18228 
18229 
18230 
18231         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18232 
18233 END Over_ship_resolved;
18234 
18235 FUNCTION Payment_Type ( p_payment_type_code IN VARCHAR2 )
18236 RETURN BOOLEAN
18237 IS
18238 l_dummy                       VARCHAR2(10);
18239 l_lookup_type      	      VARCHAR2(80) :='PAYMENT TYPE';
18240 BEGIN
18241 
18242 
18243     IF p_payment_type_code IS NULL OR
18244         p_payment_type_code = FND_API.G_MISS_CHAR
18245     THEN
18246 
18247         RETURN TRUE;
18248     END IF;
18249 
18250     SELECT  'VALID'
18251     INTO    l_dummy
18252     FROM    OE_LOOKUPS
18253     WHERE   LOOKUP_CODE = p_payment_type_code
18254     AND     LOOKUP_TYPE = l_lookup_type
18255     AND     ROWNUM = 1;
18256     --
18257     -- Commented out when importing CLOSED orders
18258     --
18259     -- AND     ENABLED_FLAG = 'Y'
18260     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
18261     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
18262 
18263 
18264 
18265     RETURN TRUE;
18266 
18267 EXCEPTION
18268 
18269     WHEN NO_DATA_FOUND THEN
18270 
18271         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18272         THEN
18273 
18274 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TYPE_CODE');
18275 
18276             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18277             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18278 				OE_Order_Util.Get_Attribute_Name('payment_type_code'));
18279             OE_MSG_PUB.Add;
18280 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18281 
18282         END IF;
18283 
18284 
18285         RETURN FALSE;
18286 
18287     WHEN OTHERS THEN
18288 
18289         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18290         THEN
18291             OE_MSG_PUB.Add_Exc_Msg
18292             (   G_PKG_NAME
18293             ,   'Payment_Type'
18294             );
18295         END IF;
18296 
18297 
18298         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18299 
18300 END Payment_Type;
18301 
18302 FUNCTION Payment_Amount ( p_payment_amount IN NUMBER )
18303 RETURN BOOLEAN
18304 IS
18305 l_dummy                       VARCHAR2(10);
18306 BEGIN
18307 
18308 
18309     IF p_payment_amount IS NULL OR
18310         p_payment_amount = FND_API.G_MISS_NUM
18311     THEN
18312 
18313         RETURN TRUE;
18314     END IF;
18315 
18316     --  SELECT  'VALID'
18317     --  INTO     l_dummy
18318     --  FROM     DB_TABLE
18319     --  WHERE    DB_COLUMN = p_payment_amount;
18320 
18321 
18322 
18323     RETURN TRUE;
18324 
18325 EXCEPTION
18326 
18327     WHEN NO_DATA_FOUND THEN
18328 
18329         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18330         THEN
18331 
18332 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_AMOUNT');
18333 
18334             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18335             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18336 				OE_Order_Util.Get_Attribute_Name('payment_amount'));
18337             OE_MSG_PUB.Add;
18338 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18339 
18340         END IF;
18341 
18342 
18343 
18344         RETURN FALSE;
18345 
18346     WHEN OTHERS THEN
18347 
18348         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18349         THEN
18350             OE_MSG_PUB.Add_Exc_Msg
18351             (   G_PKG_NAME
18352             ,   'payment_amount'
18353             );
18354         END IF;
18355 
18356 
18357 
18358         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18359 
18360 END Payment_Amount;
18361 
18362 FUNCTION Check_Number ( p_check_number IN VARCHAR2 )
18363 RETURN BOOLEAN
18364 IS
18365 l_dummy                       VARCHAR2(10);
18366 BEGIN
18367 
18368 
18369     IF p_check_number IS NULL OR
18370         p_check_number = FND_API.G_MISS_CHAR
18371     THEN
18372 
18373         RETURN TRUE;
18374     END IF;
18375 
18376     --  SELECT  'VALID'
18377     --  INTO     l_dummy
18378     --  FROM     DB_TABLE
18379     --  WHERE    DB_COLUMN = p_check_number;
18380 
18381 
18382     RETURN TRUE;
18383 
18384 EXCEPTION
18385 
18386     WHEN NO_DATA_FOUND THEN
18387 
18388         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18389         THEN
18390 
18391 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHECK_NUMBER');
18392 
18393             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18394             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18395 				OE_Order_Util.Get_Attribute_Name('check_number'));
18396             OE_MSG_PUB.Add;
18397 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18398 
18399         END IF;
18400 
18401 
18402         RETURN FALSE;
18403 
18404     WHEN OTHERS THEN
18405 
18406         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18407         THEN
18408             OE_MSG_PUB.Add_Exc_Msg
18409             (   G_PKG_NAME
18410             ,   'Check_Number'
18411             );
18412         END IF;
18413 
18414 
18415         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18416 
18417 END Check_Number;
18418 
18419 FUNCTION Credit_Card ( p_credit_card_code IN VARCHAR2 )
18420 RETURN BOOLEAN
18421 IS
18422 l_dummy                       VARCHAR2(10);
18423 l_lookup_type      	      VARCHAR2(80) :='CREDIT_CARD';
18424 BEGIN
18425 
18426 
18427     IF p_credit_card_code IS NULL OR
18428         p_credit_card_code = FND_API.G_MISS_CHAR
18429     THEN
18430 
18431         RETURN TRUE;
18432     END IF;
18433 
18434     SELECT  'VALID'
18435     INTO    l_dummy
18436     FROM    OE_LOOKUPS
18437     WHERE   LOOKUP_CODE = p_credit_card_code
18438     AND     LOOKUP_TYPE = l_lookup_type
18439     AND     ROWNUM = 1;
18440     --
18441     -- Commented out when importing CLOSED orders
18442     --
18443     -- AND     ENABLED_FLAG = 'Y'
18444     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
18445     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
18446 
18447 
18448 
18449     RETURN TRUE;
18450 
18451 EXCEPTION
18452 
18453     WHEN NO_DATA_FOUND THEN
18454 
18455         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18456         THEN
18457 
18458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_CODE');
18459 
18460             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18461             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18462 				OE_Order_Util.Get_Attribute_Name('credit_card_code'));
18463             OE_MSG_PUB.Add;
18464 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18465 
18466         END IF;
18467 
18468 
18469         RETURN FALSE;
18470 
18471     WHEN OTHERS THEN
18472 
18473         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18474         THEN
18475             OE_MSG_PUB.Add_Exc_Msg
18476             (   G_PKG_NAME
18477             ,   'Credit_Card'
18478             );
18479         END IF;
18480 
18481 
18482         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18483 
18484 END Credit_Card;
18485 
18486 FUNCTION Credit_Card_Holder_Name ( p_credit_card_holder_name IN VARCHAR2 )
18487 RETURN BOOLEAN
18488 IS
18489 l_dummy                       VARCHAR2(10);
18490 BEGIN
18491 
18492 
18493     IF p_credit_card_holder_name IS NULL OR
18494         p_credit_card_holder_name = FND_API.G_MISS_CHAR
18495     THEN
18496 
18497         RETURN TRUE;
18498     END IF;
18499 
18500     --  SELECT  'VALID'
18501     --  INTO     l_dummy
18502     --  FROM     DB_TABLE
18503     --  WHERE    DB_COLUMN = p_credit_card_holder_name;
18504 
18505 
18506     RETURN TRUE;
18507 
18508 EXCEPTION
18509 
18510     WHEN NO_DATA_FOUND THEN
18511 
18512         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18513         THEN
18514 
18515 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_HOLDER_NAME');
18516 
18517             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18518             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18519 				OE_Order_Util.Get_Attribute_Name('credit_card_holder_name'));
18520             OE_MSG_PUB.Add;
18521 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18522 
18523         END IF;
18524 
18525 
18526         RETURN FALSE;
18527 
18528     WHEN OTHERS THEN
18529 
18530         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18531         THEN
18532             OE_MSG_PUB.Add_Exc_Msg
18533             (   G_PKG_NAME
18534             ,   'Credit_Card_Holder_Name'
18535             );
18536         END IF;
18537 
18538 
18539         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18540 
18541 END Credit_Card_Holder_Name;
18542 
18543 FUNCTION Credit_Card_Number ( p_credit_card_number IN VARCHAR2 )
18544 RETURN BOOLEAN
18545 IS
18546 l_dummy                       VARCHAR2(10);
18547 BEGIN
18548 
18549 
18550     IF p_credit_card_number IS NULL OR
18551         p_credit_card_number = FND_API.G_MISS_CHAR
18552     THEN
18553 
18554         RETURN TRUE;
18555     END IF;
18556 
18557     --  SELECT  'VALID'
18558     --  INTO     l_dummy
18559     --  FROM     DB_TABLE
18560     --  WHERE    DB_COLUMN = p_credit_card_number;
18561 
18562 
18563     RETURN TRUE;
18564 
18565 EXCEPTION
18566 
18567     WHEN NO_DATA_FOUND THEN
18568 
18569         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18570         THEN
18571 
18572 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_NUMBER');
18573 
18574             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18575             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18576 				OE_Order_Util.Get_Attribute_Name('credit_card_number'));
18577             OE_MSG_PUB.Add;
18578 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18579 
18580         END IF;
18581 
18582 
18583         RETURN FALSE;
18584 
18585     WHEN OTHERS THEN
18586 
18587         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18588         THEN
18589             OE_MSG_PUB.Add_Exc_Msg
18590             (   G_PKG_NAME
18591             ,   'Credit_Card_Number'
18592             );
18593         END IF;
18594 
18595 
18596         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18597 
18598 END Credit_Card_Number;
18599 
18600 FUNCTION Credit_Card_Approval_Date ( p_credit_card_approval_date IN DATE )
18601 RETURN BOOLEAN
18602 IS
18603 l_dummy                       VARCHAR2(10);
18604 BEGIN
18605     IF p_credit_card_approval_date IS NULL OR
18606         p_credit_card_approval_date = FND_API.G_MISS_DATE
18607     THEN
18608         RETURN TRUE;
18609     END IF;
18610     --  SELECT  'VALID'
18611     --  INTO     l_dummy
18612     --  FROM     DB_TABLE
18613     --  WHERE    DB_COLUMN = p_credit_card_approval_date;
18614     RETURN TRUE;
18615 EXCEPTION
18616     WHEN NO_DATA_FOUND THEN
18617         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18618         THEN
18619 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_DATE');
18620            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18621            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18622 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_date'));
18623            OE_MSG_PUB.Add;
18624 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18625         END IF;
18626         RETURN FALSE;
18627     WHEN OTHERS THEN
18628         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18629         THEN
18630             OE_MSG_PUB.Add_Exc_Msg
18631             (   G_PKG_NAME
18632             ,   'Credit_Card_Approval_Date'
18633             );
18634         END IF;
18635         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18636 END Credit_Card_Approval_Date;
18637 
18638 FUNCTION Credit_Card_Expiration_Date ( p_credit_card_expiration_date IN DATE )
18639 RETURN BOOLEAN
18640 IS
18641 l_dummy                       VARCHAR2(10);
18642 BEGIN
18643     IF p_credit_card_expiration_date IS NULL OR
18644         p_credit_card_expiration_date = FND_API.G_MISS_DATE
18645     THEN
18646         RETURN TRUE;
18647     END IF;
18648     --  SELECT  'VALID'
18649     --  INTO     l_dummy
18650     --  FROM     DB_TABLE
18651     --  WHERE    DB_COLUMN = p_credit_card_expiration_date;
18652     RETURN TRUE;
18653 EXCEPTION
18654     WHEN NO_DATA_FOUND THEN
18655         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18656         THEN
18657 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_EXPIRATION_DATE');
18658             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18659             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18660 				OE_Order_Util.Get_Attribute_Name('credit_card_expiration_date'));
18661             OE_MSG_PUB.Add;
18662 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18663         END IF;
18664         RETURN FALSE;
18665     WHEN OTHERS THEN
18666         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18667         THEN
18668             OE_MSG_PUB.Add_Exc_Msg
18669             (   G_PKG_NAME
18670             ,   'Credit_Card_Expiration_Date'
18671             );
18672         END IF;
18673         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18674 END Credit_Card_Expiration_Date;
18675 
18676 FUNCTION Credit_Card_Approval ( p_credit_card_approval_code IN VARCHAR2 )
18677 RETURN BOOLEAN
18678 IS
18679 l_dummy                       VARCHAR2(10);
18680 BEGIN
18681 
18682 
18683     IF p_credit_card_approval_code IS NULL OR
18684         p_credit_card_approval_code = FND_API.G_MISS_CHAR
18685     THEN
18686 
18687         RETURN TRUE;
18688     END IF;
18689 
18690     --  SELECT  'VALID'
18691     --  INTO     l_dummy
18692     --  FROM     DB_TABLE
18693     --  WHERE    DB_COLUMN = p_credit_card_approval_code;
18694 
18695 
18696     RETURN TRUE;
18697 
18698 EXCEPTION
18699 
18700     WHEN NO_DATA_FOUND THEN
18701 
18702         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18703         THEN
18704 
18705 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_CODE');
18706 
18707             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18708             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18709 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_code'));
18710             OE_MSG_PUB.Add;
18711 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18712 
18713         END IF;
18714 
18715 
18716         RETURN FALSE;
18717 
18718     WHEN OTHERS THEN
18719 
18720         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18721         THEN
18722             OE_MSG_PUB.Add_Exc_Msg
18723             (   G_PKG_NAME
18724             ,   'Credit_Card_Approval'
18725             );
18726         END IF;
18727 
18728 
18729         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18730 
18731 END Credit_Card_Approval;
18732 
18733 
18734 FUNCTION First_Ack ( p_first_ack_code IN VARCHAR2 )
18735 RETURN BOOLEAN
18736 IS
18737 l_dummy                       VARCHAR2(10);
18738 BEGIN
18739 
18740 
18741     IF p_first_ack_code IS NULL OR
18742         p_first_ack_code = FND_API.G_MISS_CHAR
18743     THEN
18744 
18745         RETURN TRUE;
18746     END IF;
18747 
18748     --  SELECT  'VALID'
18749     --  INTO     l_dummy
18750     --  FROM     DB_TABLE
18751     --  WHERE    DB_COLUMN = p_first_ack_code;
18752 
18753 
18754     RETURN TRUE;
18755 
18756 EXCEPTION
18757 
18758     WHEN NO_DATA_FOUND THEN
18759 
18760         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18761         THEN
18762 
18763 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_CODE');
18764 
18765             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18766             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18767 				OE_Order_Util.Get_Attribute_Name('first_ack_code'));
18768             OE_MSG_PUB.Add;
18769 
18770             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18771 
18772         END IF;
18773 
18774 
18775         RETURN FALSE;
18776 
18777     WHEN OTHERS THEN
18778 
18779         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18780         THEN
18781             OE_MSG_PUB.Add_Exc_Msg
18782             (   G_PKG_NAME
18783             ,   'First_Ack'
18784             );
18785         END IF;
18786 
18787 
18788         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18789 
18790 END First_Ack;
18791 
18792 
18793 FUNCTION First_Ack_DATE ( p_first_ack_date IN DATE )
18794 RETURN BOOLEAN
18795 IS
18796 l_dummy                       VARCHAR2(10);
18797 BEGIN
18798 
18799 
18800     IF p_first_ack_date IS NULL OR
18801         p_first_ack_date = FND_API.G_MISS_DATE
18802     THEN
18803 
18804         RETURN TRUE;
18805     END IF;
18806 
18807     --  SELECT  'VALID'
18808     --  INTO     l_dummy
18809     --  FROM     DB_TABLE
18810     --  WHERE    DB_COLUMN = p_first_ack_date;
18811 
18812 
18813     RETURN TRUE;
18814 
18815 EXCEPTION
18816 
18817     WHEN NO_DATA_FOUND THEN
18818 
18819         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18820         THEN
18821 
18822 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_DATE');
18823 
18824             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18825             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18826 				OE_Order_Util.Get_Attribute_Name('first_ack_date'));
18827             OE_MSG_PUB.Add;
18828 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18829 
18830         END IF;
18831 
18832 
18833         RETURN FALSE;
18834 
18835     WHEN OTHERS THEN
18836 
18837         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18838         THEN
18839             OE_MSG_PUB.Add_Exc_Msg
18840             (   G_PKG_NAME
18841             ,   'First_Ack_Date'
18842             );
18843         END IF;
18844 
18845 
18846         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18847 
18848 END First_Ack_Date;
18849 
18850 FUNCTION Last_Ack ( p_last_ack_code IN VARCHAR2 )
18851 RETURN BOOLEAN
18852 IS
18853 l_dummy                       VARCHAR2(10);
18854 BEGIN
18855 
18856 
18857     IF p_last_ack_code IS NULL OR
18858         p_last_ack_code = FND_API.G_MISS_CHAR
18859     THEN
18860 
18861         RETURN TRUE;
18862     END IF;
18863 
18864     --  SELECT  'VALID'
18865     --  INTO     l_dummy
18866     --  FROM     DB_TABLE
18867     --  WHERE    DB_COLUMN = p_last_ack_code;
18868 
18869 
18870     RETURN TRUE;
18871 
18872 EXCEPTION
18873 
18874     WHEN NO_DATA_FOUND THEN
18875 
18876         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18877         THEN
18878 
18879 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_CODE');
18880 
18881             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18882             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18883 				OE_Order_Util.Get_Attribute_Name('last_ack_code'));
18884             OE_MSG_PUB.Add;
18885 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18886 
18887         END IF;
18888 
18889 
18890         RETURN FALSE;
18891 
18892     WHEN OTHERS THEN
18893 
18894         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18895         THEN
18896             OE_MSG_PUB.Add_Exc_Msg
18897             (   G_PKG_NAME
18898             ,   'Last_Ack'
18899             );
18900         END IF;
18901 
18902 
18903         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18904 
18905 END Last_Ack;
18906 
18907 
18908 FUNCTION Last_Ack_DATE ( p_last_ack_date IN DATE )
18909 RETURN BOOLEAN
18910 IS
18911 l_dummy                       VARCHAR2(10);
18912 BEGIN
18913 
18914 
18915     IF p_last_ack_date IS NULL OR
18916         p_last_ack_date = FND_API.G_MISS_DATE
18917     THEN
18918 
18919         RETURN TRUE;
18920     END IF;
18921 
18922     --  SELECT  'VALID'
18923     --  INTO     l_dummy
18924     --  FROM     DB_TABLE
18925     --  WHERE    DB_COLUMN = p_last_ack_date;
18926 
18927 
18928     RETURN TRUE;
18929 
18930 EXCEPTION
18931 
18932     WHEN NO_DATA_FOUND THEN
18933 
18934         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18935         THEN
18936 
18937 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_DATE');
18938 
18939             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18940             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18941 				OE_Order_Util.Get_Attribute_Name('last_ack_date'));
18942             OE_MSG_PUB.Add;
18943 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18944 
18945         END IF;
18946 
18947 
18948         RETURN FALSE;
18949 
18950     WHEN OTHERS THEN
18951 
18952         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18953         THEN
18954             OE_MSG_PUB.Add_Exc_Msg
18955             (   G_PKG_NAME
18956             ,   'Last_Ack_Date'
18957             );
18958         END IF;
18959 
18960 
18961         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18962 
18963 END Last_Ack_Date;
18964 
18965 FUNCTION End_Item_Unit_Number ( p_end_item_unit_number IN Varchar2 )
18966 RETURN BOOLEAN
18967 IS
18968 l_dummy                       VARCHAR2(10);
18969 BEGIN
18970 
18971 
18972     IF p_end_item_unit_number IS NULL OR
18973         p_end_item_unit_number = FND_API.G_MISS_CHAR
18974     THEN
18975         RETURN TRUE;
18976     END IF;
18977 
18978       SELECT  'VALID'
18979       INTO     l_dummy
18980       FROM     pjm_unit_numbers_lov_v
18981       WHERE    unit_number = p_end_item_unit_number;
18982 
18983     RETURN TRUE;
18984 
18985 EXCEPTION
18986 
18987     WHEN NO_DATA_FOUND THEN
18988 
18989         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18990         THEN
18991 
18992 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_ITEM_UNIT_NUMBER');
18993 
18994 
18995             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18996             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18997 				OE_Order_Util.Get_Attribute_Name('end_item_unit_number'));
18998             OE_MSG_PUB.Add;
18999 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19000 
19001         END IF;
19002 
19003 
19004         RETURN FALSE;
19005 
19006     WHEN OTHERS THEN
19007 
19008         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19009         THEN
19010             OE_MSG_PUB.Add_Exc_Msg
19011             (   G_PKG_NAME
19012             ,   'end_item_unit_number'
19013             );
19014         END IF;
19015 
19016 
19017         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19018 
19019 END End_Item_Unit_Number;
19020 
19021 FUNCTION Invoiced_Quantity ( p_invoiced_quantity IN NUMBER )
19022 RETURN BOOLEAN
19023 IS
19024 l_dummy                       VARCHAR2(10);
19025 BEGIN
19026 
19027 
19028     IF p_invoiced_quantity IS NULL OR
19029         p_invoiced_quantity = FND_API.G_MISS_NUM
19030     THEN
19031 
19032         RETURN TRUE;
19033     END IF;
19034 
19035     --  SELECT  'VALID'
19036     --  INTO     l_dummy
19037     --  FROM     DB_TABLE
19038     --  WHERE    DB_COLUMN = p_invoiced_quantity;
19039 
19040 
19041     RETURN TRUE;
19042 
19043 EXCEPTION
19044 
19045     WHEN NO_DATA_FOUND THEN
19046 
19047         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19048         THEN
19049 
19050 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_QUANTITY');
19051 
19052             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19053             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19054 				OE_Order_Util.Get_Attribute_Name('invoiced_quantity'));
19055             OE_MSG_PUB.Add;
19056 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19057 
19058         END IF;
19059 
19060 
19061         RETURN FALSE;
19062 
19063     WHEN OTHERS THEN
19064 
19065         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19066         THEN
19067             OE_MSG_PUB.Add_Exc_Msg
19068             (   G_PKG_NAME
19069             ,   'Invoiced_Quantity'
19070             );
19071         END IF;
19072 
19073 
19074         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19075 
19076 END Invoiced_Quantity;
19077 
19078 
19079 FUNCTION Service_Txn_Reason ( p_service_txn_reason IN VARCHAR2 )
19080 RETURN BOOLEAN
19081 IS
19082 l_dummy                       VARCHAR2(10);
19083 BEGIN
19084 
19085 
19086     IF p_service_txn_reason IS NULL OR
19087         p_service_txn_reason = FND_API.G_MISS_CHAR
19088     THEN
19089 
19090         RETURN TRUE;
19091     END IF;
19092 
19093     --  SELECT  'VALID'
19094     --  INTO     l_dummy
19095     --  FROM     DB_TABLE
19096     --  WHERE    DB_COLUMN = p_service_txn_reason;
19097 
19098 
19099     RETURN TRUE;
19100 
19101 EXCEPTION
19102 
19103     WHEN NO_DATA_FOUND THEN
19104 
19105         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19106         THEN
19107 
19108 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_REASON');
19109 
19110             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19111             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19112 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Reason'));
19113             OE_MSG_PUB.Add;
19114 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19115 
19116         END IF;
19117 
19118 
19119         RETURN FALSE;
19120 
19121     WHEN OTHERS THEN
19122 
19123         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19124         THEN
19125             OE_MSG_PUB.Add_Exc_Msg
19126             (   G_PKG_NAME
19127             ,   'Service_Txn_Reason'
19128             );
19129         END IF;
19130 
19131 
19132         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19133 
19134 END Service_Txn_Reason;
19135 
19136 
19137 FUNCTION Service_Txn_Comments ( p_service_txn_comments IN VARCHAR2 )
19138 RETURN BOOLEAN
19139 IS
19140 l_dummy                       VARCHAR2(10);
19141 BEGIN
19142 
19143 
19144     IF p_service_txn_comments IS NULL OR
19145         p_service_txn_comments = FND_API.G_MISS_CHAR
19146     THEN
19147 
19148         RETURN TRUE;
19149     END IF;
19150 
19151     --  SELECT  'VALID'
19152     --  INTO     l_dummy
19153     --  FROM     DB_TABLE
19154     --  WHERE    DB_COLUMN = p_service_txn_comments;
19155 
19156 
19157     RETURN TRUE;
19158 
19159 EXCEPTION
19160 
19161     WHEN NO_DATA_FOUND THEN
19162 
19163         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19164         THEN
19165 
19166 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_COMMENTS');
19167 
19168             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19169             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19170 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Comments'));
19171             OE_MSG_PUB.Add;
19172 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19173 
19174         END IF;
19175 
19176 
19177         RETURN FALSE;
19178 
19179     WHEN OTHERS THEN
19180 
19181         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19182         THEN
19183             OE_MSG_PUB.Add_Exc_Msg
19184             (   G_PKG_NAME
19185             ,   'Service_Txn_Comments'
19186             );
19187         END IF;
19188 
19189 
19190         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19191 
19192 END Service_Txn_Comments;
19193 
19194 
19195 FUNCTION Service_Duration ( p_service_duration IN NUMBER )
19196 RETURN BOOLEAN
19197 IS
19198 l_dummy                       VARCHAR2(10);
19199 BEGIN
19200 
19201 
19202     IF p_service_duration IS NULL OR
19203         p_service_duration = FND_API.G_MISS_NUM
19204     THEN
19205 
19206         RETURN TRUE;
19207     END IF;
19208 
19209     --  SELECT  'VALID'
19210     --  INTO     l_dummy
19211     --  FROM     DB_TABLE
19212     --  WHERE    DB_COLUMN = p_service_duration;
19213 
19214 
19215     RETURN TRUE;
19216 
19217 EXCEPTION
19218 
19219     WHEN NO_DATA_FOUND THEN
19220 
19221         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19222         THEN
19223 
19224 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Serviced_Duration');
19225 
19226             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19227             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19228 				OE_Order_Util.Get_Attribute_Name('Service_Duration'));
19229             OE_MSG_PUB.Add;
19230 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19231 
19232         END IF;
19233 
19234 
19235         RETURN FALSE;
19236 
19237     WHEN OTHERS THEN
19238 
19239         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19240         THEN
19241             OE_MSG_PUB.Add_Exc_Msg
19242             (   G_PKG_NAME
19243             ,   'Serviced_Duration'
19244             );
19245         END IF;
19246 
19247 
19248         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19249 
19250 END Service_Duration;
19251 
19252 FUNCTION Service_Period ( p_service_period IN VARCHAR2 )
19253 RETURN BOOLEAN
19254 IS
19255 l_dummy                       VARCHAR2(10);
19256 BEGIN
19257 
19258 
19259     IF p_service_period IS NULL OR
19260         p_service_period = FND_API.G_MISS_CHAR
19261     THEN
19262 
19263         RETURN TRUE;
19264     END IF;
19265 
19266     --  SELECT  'VALID'
19267     --  INTO     l_dummy
19268     --  FROM     DB_TABLE
19269     --  WHERE    DB_COLUMN = p_service_period;
19270 
19271 
19272     RETURN TRUE;
19273 
19274 EXCEPTION
19275 
19276     WHEN NO_DATA_FOUND THEN
19277 
19278         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19279         THEN
19280 
19281 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Period');
19282 
19283             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19284             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19285 				OE_Order_Util.Get_Attribute_Name('Service_Period'));
19286             OE_MSG_PUB.Add;
19287 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19288 
19289         END IF;
19290 
19291 
19292         RETURN FALSE;
19293 
19294     WHEN OTHERS THEN
19295 
19296         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19297         THEN
19298             OE_MSG_PUB.Add_Exc_Msg
19299             (   G_PKG_NAME
19300             ,   'Service_Period'
19301             );
19302         END IF;
19303 
19304 
19305         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19306 
19307 END Service_Period;
19308 
19309 
19310 FUNCTION Service_Start_Date ( p_service_start_date IN DATE )
19311 RETURN BOOLEAN
19312 IS
19313 l_dummy                       VARCHAR2(10);
19314 BEGIN
19315 
19316 
19317     IF p_service_start_date IS NULL OR
19318         p_service_start_date = FND_API.G_MISS_DATE
19319     THEN
19320 
19321         RETURN TRUE;
19322     END IF;
19323 
19324     --  SELECT  'VALID'
19325     --  INTO     l_dummy
19326     --  FROM     DB_TABLE
19327     --  WHERE    DB_COLUMN = p_service_start_date;
19328 
19329 
19330     RETURN TRUE;
19331 
19332 EXCEPTION
19333 
19334     WHEN NO_DATA_FOUND THEN
19335 
19336         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19337         THEN
19338 
19339 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Start_Date');
19340 
19341             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19342             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19343 				OE_Order_Util.Get_Attribute_Name('Service_Start_Date'));
19344             OE_MSG_PUB.Add;
19345 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19346 
19347         END IF;
19348 
19349 
19350         RETURN FALSE;
19351 
19352     WHEN OTHERS THEN
19353 
19354         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19355         THEN
19356             OE_MSG_PUB.Add_Exc_Msg
19357             (   G_PKG_NAME
19358             ,   'Serviced_Start_Date'
19359             );
19360         END IF;
19361 
19362 
19363         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19364 
19365 END Service_Start_Date;
19366 
19367 FUNCTION Service_End_Date ( p_service_end_date IN DATE )
19368 RETURN BOOLEAN
19369 IS
19370 l_dummy                       VARCHAR2(10);
19371 BEGIN
19372 
19373 
19374     IF p_service_end_date IS NULL OR
19375         p_service_end_date = FND_API.G_MISS_DATE
19376     THEN
19377 
19378         RETURN TRUE;
19379     END IF;
19380 
19381     --  SELECT  'VALID'
19382     --  INTO     l_dummy
19383     --  FROM     DB_TABLE
19384     --  WHERE    DB_COLUMN = p_service_end_date;
19385 
19386 
19387     RETURN TRUE;
19388 
19389 EXCEPTION
19390 
19391     WHEN NO_DATA_FOUND THEN
19392 
19393         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19394         THEN
19395 
19396 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_End_Date');
19397 
19398             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19399             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19400 				OE_Order_Util.Get_Attribute_Name('Service_End_Date'));
19401             OE_MSG_PUB.Add;
19402 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19403 
19404         END IF;
19405 
19406 
19407         RETURN FALSE;
19408 
19409     WHEN OTHERS THEN
19410 
19411         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19412         THEN
19413             OE_MSG_PUB.Add_Exc_Msg
19414             (   G_PKG_NAME
19415             ,   'Service_End_Date'
19416             );
19417         END IF;
19418 
19419 
19420         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19421 
19422 END Service_End_Date;
19423 
19424 FUNCTION Service_Coterminate ( p_service_coterminate_flag IN VARCHAR2)
19425 RETURN BOOLEAN
19426 IS
19427 l_dummy                       VARCHAR2(10);
19428 BEGIN
19429 
19430 
19431     IF p_service_coterminate_flag IS NULL OR
19432         p_service_coterminate_flag = FND_API.G_MISS_CHAR
19433     THEN
19434 
19435         RETURN TRUE;
19436     END IF;
19437 
19438     --  SELECT  'VALID'
19439     --  INTO     l_dummy
19440     --  FROM     DB_TABLE
19441     --  WHERE    DB_COLUMN = p_service_coterminate_flag;
19442 
19443 
19444     RETURN TRUE;
19445 
19446 EXCEPTION
19447 
19448     WHEN NO_DATA_FOUND THEN
19449 
19450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19451         THEN
19452 
19453 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Coterminate');
19454 
19455             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19456             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19457 				OE_Order_Util.Get_Attribute_Name('Service_Coterminate'));
19458             OE_MSG_PUB.Add;
19459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19460 
19461         END IF;
19462 
19463 
19464         RETURN FALSE;
19465 
19466     WHEN OTHERS THEN
19467 
19468         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19469         THEN
19470             OE_MSG_PUB.Add_Exc_Msg
19471             (   G_PKG_NAME
19472             ,   'Service_Coterminate'
19473             );
19474         END IF;
19475 
19476 
19477         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19478 
19479 END Service_Coterminate;
19480 
19481 FUNCTION Unit_List_Percent ( p_unit_list_percent IN NUMBER)
19482 RETURN BOOLEAN
19483 IS
19484 l_dummy                       VARCHAR2(10);
19485 BEGIN
19486 
19487 
19488     IF p_unit_list_percent IS NULL OR
19489         p_unit_list_percent = FND_API.G_MISS_NUM
19490     THEN
19491 
19492         RETURN TRUE;
19493     END IF;
19494 
19495     --  SELECT  'VALID'
19496     --  INTO     l_dummy
19497     --  FROM     DB_TABLE
19498     --  WHERE    DB_COLUMN = p_unit_list_percent;
19499 
19500 
19501     RETURN TRUE;
19502 
19503 EXCEPTION
19504 
19505     WHEN NO_DATA_FOUND THEN
19506 
19507         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19508         THEN
19509 
19510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_List_Percent');
19511 
19512             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19513             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19514 				OE_Order_Util.Get_Attribute_Name('Unit_List_Percent'));
19515             OE_MSG_PUB.Add;
19516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19517 
19518         END IF;
19519 
19520 
19521         RETURN FALSE;
19522 
19523     WHEN OTHERS THEN
19524 
19525         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19526         THEN
19527             OE_MSG_PUB.Add_Exc_Msg
19528             (   G_PKG_NAME
19529             ,   'Unit_List_Percent'
19530             );
19531         END IF;
19532 
19533 
19534         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19535 
19536 END Unit_List_Percent;
19537 
19538 FUNCTION Unit_Selling_Percent ( p_unit_selling_percent IN NUMBER)
19539 RETURN BOOLEAN
19540 IS
19541 l_dummy                       VARCHAR2(10);
19542 BEGIN
19543 
19544 
19545     IF p_unit_selling_percent IS NULL OR
19546         p_unit_selling_percent = FND_API.G_MISS_NUM
19547     THEN
19548 
19549         RETURN TRUE;
19550     END IF;
19551 
19552     --  SELECT  'VALID'
19553     --  INTO     l_dummy
19554     --  FROM     DB_TABLE
19555     --  WHERE    DB_COLUMN = p_unit_selling_percent;
19556 
19557 
19558     RETURN TRUE;
19559 
19560 EXCEPTION
19561 
19562     WHEN NO_DATA_FOUND THEN
19563 
19564         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19565         THEN
19566 
19567 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Selling_Percent');
19568 
19569             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19570             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19571 				OE_Order_Util.Get_Attribute_Name('Unit_Selling_Percent'));
19572             OE_MSG_PUB.Add;
19573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19574 
19575         END IF;
19576 
19577 
19578         RETURN FALSE;
19579 
19580     WHEN OTHERS THEN
19581 
19582         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19583         THEN
19584             OE_MSG_PUB.Add_Exc_Msg
19585             (   G_PKG_NAME
19586             ,   'Unit_Selling_Percent'
19587             );
19588         END IF;
19589 
19590 
19591         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19592 
19593 END Unit_Selling_Percent;
19594 
19595 FUNCTION Unit_Percent_Base_Price ( p_unit_percent_base_price IN NUMBER)
19596 RETURN BOOLEAN
19597 IS
19598 l_dummy                       VARCHAR2(10);
19599 BEGIN
19600 
19601 
19602     IF p_unit_percent_base_price IS NULL OR
19603         p_unit_percent_base_price = FND_API.G_MISS_NUM
19604     THEN
19605 
19606         RETURN TRUE;
19607     END IF;
19608 
19609     --  SELECT  'VALID'
19610     --  INTO     l_dummy
19611     --  FROM     DB_TABLE
19612     --  WHERE    DB_COLUMN = p_unit_percent_base_price;
19613 
19614 
19615     RETURN TRUE;
19616 
19617 EXCEPTION
19618 
19619     WHEN NO_DATA_FOUND THEN
19620 
19621         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19622         THEN
19623 
19624 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Percent_base_Price');
19625 
19626             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19627             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19628 				OE_Order_Util.Get_Attribute_Name('Unit_Percent_Base_Price'));
19629             OE_MSG_PUB.Add;
19630 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19631 
19632         END IF;
19633 
19634 
19635         RETURN FALSE;
19636 
19637     WHEN OTHERS THEN
19638 
19639         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19640         THEN
19641             OE_MSG_PUB.Add_Exc_Msg
19642             (   G_PKG_NAME
19643             ,   'Unit_Percent_Base_Price'
19644             );
19645         END IF;
19646 
19647 
19648         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19649 
19650 END Unit_Percent_Base_Price;
19651 
19652 FUNCTION Service_Number ( p_service_number IN NUMBER)
19653 RETURN BOOLEAN
19654 IS
19655 l_dummy                       VARCHAR2(10);
19656 BEGIN
19657 
19658 
19659     IF p_service_number IS NULL OR
19660         p_service_number = FND_API.G_MISS_NUM
19661     THEN
19662 
19663         RETURN TRUE;
19664     END IF;
19665 
19666     --  SELECT  'VALID'
19667     --  INTO     l_dummy
19668     --  FROM     DB_TABLE
19669     --  WHERE    DB_COLUMN = p_service_number;
19670 
19671 
19672     RETURN TRUE;
19673 
19674 EXCEPTION
19675 
19676     WHEN NO_DATA_FOUND THEN
19677 
19678         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19679         THEN
19680 
19681 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Number');
19682 
19683             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19684             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19685 				OE_Order_Util.Get_Attribute_Name('Service_Number'));
19686             OE_MSG_PUB.Add;
19687 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19688 
19689         END IF;
19690 
19691 
19692         RETURN FALSE;
19693 
19694     WHEN OTHERS THEN
19695 
19696         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19697         THEN
19698             OE_MSG_PUB.Add_Exc_Msg
19699             (   G_PKG_NAME
19700             ,   'Service_Number'
19701             );
19702         END IF;
19703 
19704 
19705         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19706 
19707 END Service_Number;
19708 
19709 FUNCTION Service_Reference_Type ( p_service_reference_type_code IN VARCHAR2)
19710 RETURN BOOLEAN
19711 IS
19712 l_dummy                       VARCHAR2(10);
19713 BEGIN
19714 
19715 
19716     IF p_service_reference_Type_code IS NULL OR
19717         p_service_reference_Type_code = FND_API.G_MISS_CHAR
19718     THEN
19719 
19720         RETURN TRUE;
19721     END IF;
19722 
19723     --  SELECT  'VALID'
19724     --  INTO     l_dummy
19725     --  FROM     DB_TABLE
19726     --  WHERE    DB_COLUMN = p_service_reference_type_code;
19727 
19728 
19729     RETURN TRUE;
19730 
19731 EXCEPTION
19732 
19733     WHEN NO_DATA_FOUND THEN
19734 
19735         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19736         THEN
19737 
19738 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Type_Code');
19739 
19740             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19741             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19742 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Type_Code'));
19743             OE_MSG_PUB.Add;
19744 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19745 
19746         END IF;
19747 
19748 
19749         RETURN FALSE;
19750 
19751     WHEN OTHERS THEN
19752 
19753         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19754         THEN
19755             OE_MSG_PUB.Add_Exc_Msg
19756             (   G_PKG_NAME
19757             ,   'Service_Reference_Type_Code'
19758             );
19759         END IF;
19760 
19761 
19762         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19763 
19764 END Service_Reference_Type;
19765 
19766 FUNCTION Service_Reference_Line ( p_service_reference_line_id IN NUMBER)
19767 RETURN BOOLEAN
19768 IS
19769 l_dummy                       VARCHAR2(10);
19770 BEGIN
19771 
19772 
19773     IF p_service_reference_line_id IS NULL OR
19774         p_service_reference_line_id = FND_API.G_MISS_NUM
19775     THEN
19776 
19777         RETURN TRUE;
19778     END IF;
19779 
19780     --  SELECT  'VALID'
19781     --  INTO     l_dummy
19782     --  FROM     DB_TABLE
19783     --  WHERE    DB_COLUMN = p_service_reference_line_id;
19784 
19785 
19786     RETURN TRUE;
19787 
19788 EXCEPTION
19789 
19790     WHEN NO_DATA_FOUND THEN
19791 
19792         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19793         THEN
19794 
19795 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Line_id');
19796 
19797             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19798             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19799 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Line_Id'));
19800             OE_MSG_PUB.Add;
19801 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19802 
19803         END IF;
19804 
19805 
19806         RETURN FALSE;
19807 
19808     WHEN OTHERS THEN
19809 
19810         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19811         THEN
19812             OE_MSG_PUB.Add_Exc_Msg
19813             (   G_PKG_NAME
19814             ,   'Service_Reference_Line'
19815             );
19816         END IF;
19817 
19818 
19819         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19820 
19821 END Service_Reference_Line;
19822 
19823 FUNCTION Service_Reference_System ( p_service_reference_system_id IN NUMBER)
19824 RETURN BOOLEAN
19825 IS
19826 l_dummy                       VARCHAR2(10);
19827 BEGIN
19828 
19829 
19830     IF p_service_reference_system_id IS NULL OR
19831         p_service_reference_system_id = FND_API.G_MISS_NUM
19832     THEN
19833 
19834         RETURN TRUE;
19835     END IF;
19836 
19837     --  SELECT  'VALID'
19838     --  INTO     l_dummy
19839     --  FROM     DB_TABLE
19840     --  WHERE    DB_COLUMN = p_service_reference_system_id;
19841 
19842 
19843     RETURN TRUE;
19844 
19845 EXCEPTION
19846 
19847     WHEN NO_DATA_FOUND THEN
19848 
19849         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19850         THEN
19851 
19852 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_System_id');
19853 
19854             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19855             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19856 				OE_Order_Util.Get_Attribute_Name('Service_Reference_System_Id'));
19857             OE_MSG_PUB.Add;
19858 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19859 
19860         END IF;
19861 
19862 
19863         RETURN FALSE;
19864 
19865     WHEN OTHERS THEN
19866 
19867         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19868         THEN
19869             OE_MSG_PUB.Add_Exc_Msg
19870             (   G_PKG_NAME
19871             ,   'Service_Reference_System'
19872             );
19873         END IF;
19874 
19875 
19876         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19877 
19878 END Service_Reference_System;
19879 
19880 FUNCTION Line_Flow_Status ( p_flow_status_code IN VARCHAR2 )
19881 RETURN BOOLEAN
19882 IS
19883 l_dummy                       VARCHAR2(10);
19884 l_lookup_type      	      VARCHAR2(80) := 'LINE_FLOW_STATUS';
19885 BEGIN
19886 
19887 
19888     IF p_flow_status_code IS NULL OR
19889         p_flow_status_code = FND_API.G_MISS_CHAR
19890     THEN
19891 
19892         RETURN TRUE;
19893     END IF;
19894 
19895     SELECT  'VALID'
19896     INTO    l_dummy
19897     FROM    OE_LOOKUPS
19898     WHERE   LOOKUP_CODE = p_flow_status_code
19899     AND     LOOKUP_TYPE = l_lookup_type
19900     AND     ROWNUM = 1;
19901     --
19902     -- Commented out when importing CLOSED orders
19903     --
19904     -- AND     ENABLED_FLAG = 'Y'
19905     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19906     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
19907 
19908 
19909 
19910     RETURN TRUE;
19911 
19912 EXCEPTION
19913 
19914     WHEN NO_DATA_FOUND THEN
19915 
19916         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19917         THEN
19918 
19919 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
19920 
19921             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19922             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19923 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
19924             OE_MSG_PUB.Add;
19925 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19926 
19927         END IF;
19928 
19929 
19930         RETURN FALSE;
19931 
19932     WHEN OTHERS THEN
19933 
19934         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19935         THEN
19936             OE_MSG_PUB.Add_Exc_Msg
19937             (   G_PKG_NAME
19938             ,   'Line_Flow_Status'
19939             );
19940         END IF;
19941 
19942 
19943         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19944 
19945 END Line_Flow_Status;
19946 
19947 FUNCTION Flow_Status ( p_flow_status_code IN VARCHAR2 )
19948 RETURN BOOLEAN
19949 IS
19950 l_dummy                       VARCHAR2(10);
19951 l_lookup_type      	      VARCHAR2(80) := 'FLOW_STATUS';
19952 BEGIN
19953 
19954 
19955     IF p_flow_status_code IS NULL OR
19956         p_flow_status_code = FND_API.G_MISS_CHAR
19957     THEN
19958 
19959         RETURN TRUE;
19960     END IF;
19961 
19962     SELECT  'VALID'
19963     INTO    l_dummy
19964     FROM    OE_LOOKUPS
19965     WHERE   LOOKUP_CODE = p_flow_status_code
19966     AND     LOOKUP_TYPE = l_lookup_type
19967     AND     ROWNUM = 1;
19968     -- AND     ENABLED_FLAG = 'Y'
19969     -- AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19970     --                    AND NVL(END_DATE_ACTIVE, SYSDATE);
19971 
19972 
19973 
19974     RETURN TRUE;
19975 
19976 EXCEPTION
19977 
19978     WHEN NO_DATA_FOUND THEN
19979 
19980         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19981         THEN
19982 
19983 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
19984 
19985             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19986             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19987 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
19988             OE_MSG_PUB.Add;
19989 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19990 
19991         END IF;
19992 
19993 
19994         RETURN FALSE;
19995 
19996     WHEN OTHERS THEN
19997 
19998         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19999         THEN
20000             OE_MSG_PUB.Add_Exc_Msg
20001             (   G_PKG_NAME
20002             ,   'Flow_Status'
20003             );
20004         END IF;
20005 
20006 
20007         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20008 
20009 END Flow_Status;
20010 
20011 FUNCTION Split_Action ( p_split_action_code IN VARCHAR2 )
20012 RETURN BOOLEAN
20013 IS
20014 l_dummy                       VARCHAR2(10);
20015 BEGIN
20016 
20017     IF p_split_action_code IS NULL OR
20018         p_split_action_code = FND_API.G_MISS_CHAR
20019     THEN
20020             RETURN TRUE;
20021     END IF;
20022 
20023     --  SELECT  'VALID'
20024     --  INTO     l_dummy
20025     --  FROM     DB_TABLE
20026     --  WHERE    DB_COLUMN = p_split_action_code;
20027 
20028 
20029     RETURN TRUE;
20030 
20031 EXCEPTION
20032 
20033     WHEN NO_DATA_FOUND THEN
20034 
20035 
20036         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20037         THEN
20038 
20039 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_ACTION_CODE');
20040 
20041             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20042             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20043 				OE_Order_Util.Get_Attribute_Name('split_action_code'));
20044             OE_MSG_PUB.Add;
20045 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20046 
20047         END IF;
20048 
20049 
20050         RETURN FALSE;
20051 
20052     WHEN OTHERS THEN
20053 
20054         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20055         THEN
20056             OE_MSG_PUB.Add_Exc_Msg
20057             (   G_PKG_NAME
20058             ,   'Split Action'
20059             );
20060         END IF;
20061 
20062         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20063 
20064 END Split_Action;
20065 
20066 /* JPN: Marketing source code related */
20067 
20068 FUNCTION Marketing_Source_Code ( p_marketing_source_code_id IN NUMBER)
20069 RETURN BOOLEAN
20070 IS
20071 l_dummy                       VARCHAR2(10);
20072 BEGIN
20073 
20074 
20075     IF p_marketing_source_code_id IS NULL OR
20076         p_marketing_source_code_id = FND_API.G_MISS_NUM
20077     THEN
20078 
20079         RETURN TRUE;
20080     END IF;
20081 
20082     --  SELECT  'VALID'
20083     --  INTO     l_dummy
20084     --  FROM     DB_TABLE
20085     --  WHERE    DB_COLUMN = p_marketing_source_code_id;
20086 
20087 
20088     RETURN TRUE;
20089 
20090 EXCEPTION
20091 
20092     WHEN NO_DATA_FOUND THEN
20093 
20094         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20095         THEN
20096 
20097 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Marketing_Source_Code_id');
20098 
20099             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20100             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20101 				OE_Order_Util.Get_Attribute_Name('Marketing_Source_Code_Id'));
20102             OE_MSG_PUB.Add;
20103 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20104 
20105         END IF;
20106 
20107 
20108         RETURN FALSE;
20109 
20110     WHEN OTHERS THEN
20111 
20112         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20113         THEN
20114             OE_MSG_PUB.Add_Exc_Msg
20115             (   G_PKG_NAME
20116             ,   'Marketing_Source_Code'
20117             );
20118         END IF;
20119 
20120         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20121 
20122 END Marketing_Source_Code;
20123 
20124 /* End of Marketing source code */
20125 
20126 FUNCTION cost_id ( p_cost_id IN NUMBER )
20127 RETURN BOOLEAN
20128 IS
20129 l_dummy                       VARCHAR2(10);
20130 BEGIN
20131 
20132     IF p_cost_id IS NULL OR
20133         p_cost_id = FND_API.G_MISS_NUM
20134     THEN
20135             RETURN TRUE;
20136     END IF;
20137 
20138     -- JAUTOMO: TO DO: Validation required ?
20139 
20140     --  SELECT  'VALID'
20141     --  INTO     l_dummy
20142     --  FROM     DB_TABLE
20143     --  WHERE    DB_COLUMN = p_cost_id;
20144 
20145 
20146     RETURN TRUE;
20147 
20148 EXCEPTION
20149 
20150     WHEN NO_DATA_FOUND THEN
20151 
20152 
20153         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20154         THEN
20155 
20156 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_ID');
20157 
20158             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20159             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20160 				OE_Order_Util.Get_Attribute_Name('COST_ID'));
20161             OE_MSG_PUB.Add;
20162 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20163 
20164         END IF;
20165 
20166 
20167         RETURN FALSE;
20168 
20169     WHEN OTHERS THEN
20170 
20171         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20172         THEN
20173             OE_MSG_PUB.Add_Exc_Msg
20174             (   G_PKG_NAME
20175             ,   'Cost Id '
20176             );
20177         END IF;
20178 
20179         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20180 
20181 END Cost_Id;
20182 
20183 FUNCTION Charge_Type_Code ( p_Charge_Type_Code IN VARCHAR2 )
20184 RETURN BOOLEAN
20185 IS
20186 l_dummy                       VARCHAR2(10);
20187 BEGIN
20188     oe_debug_pub.add('Entering OE_CNCL_Validate.Charge_Type_Code');
20189     IF p_Charge_Type_Code IS NULL OR
20190         p_Charge_Type_Code = FND_API.G_MISS_CHAR
20191     THEN
20192             RETURN TRUE;
20193     END IF;
20194 
20195     SELECT  'VALID'
20196     INTO     l_dummy
20197     FROM     QP_CHARGE_LOOKUP
20198     WHERE    LOOKUP_CODE = p_charge_type_code
20199     AND      ROWNUM=1;
20200 
20201 
20202     RETURN TRUE;
20203     oe_debug_pub.add('Exiting OE_CNCL_Validate.Charge_Type_Code');
20204 EXCEPTION
20205 
20206     WHEN NO_DATA_FOUND THEN
20207 
20208 
20209         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20210         THEN
20211 
20212 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_CODE');
20213 
20214             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20215             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20216 				OE_Order_Util.Get_Attribute_Name('CHARGE_TYPE_CODE'));
20217             OE_MSG_PUB.Add;
20218 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20219 
20220         END IF;
20221 
20222 
20223         RETURN FALSE;
20224 
20225     WHEN OTHERS THEN
20226 
20227         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20228         THEN
20229             OE_MSG_PUB.Add_Exc_Msg
20230             (   G_PKG_NAME
20231             ,   'Charge Type'
20232             );
20233         END IF;
20234 
20235         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20236 
20237 END Charge_Type_Code;
20238 
20239 FUNCTION Charge_Subtype_Code ( p_Charge_Subtype_Code IN VARCHAR2 )
20240 RETURN BOOLEAN
20241 IS
20242 l_dummy                       VARCHAR2(10);
20243 BEGIN
20244 
20245     IF p_Charge_Subtype_Code IS NULL OR
20246         p_Charge_Subtype_Code = FND_API.G_MISS_CHAR
20247     THEN
20248             RETURN TRUE;
20249     END IF;
20250 
20251     -- JAUTOMO: TO DO: Validation required ?
20252 
20253     -- SELECT  'VALID'
20254     -- INTO     l_dummy
20255     -- FROM     DB_TABLE
20256     -- WHERE    DB_COLUMN = p_charge_Subtype_code;
20257 
20258 
20259     RETURN TRUE;
20260 
20261 EXCEPTION
20262 
20263     WHEN NO_DATA_FOUND THEN
20264 
20265 
20266         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20267         THEN
20268 
20269 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_SUBTYPE_CODE');
20270 
20271             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20272             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20273 				OE_Order_Util.Get_Attribute_Name('CHARGE_SUBTYPE_CODE'));
20274             OE_MSG_PUB.Add;
20275 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20276 
20277         END IF;
20278 
20279 
20280         RETURN FALSE;
20281 
20282     WHEN OTHERS THEN
20283 
20284         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20285         THEN
20286             OE_MSG_PUB.Add_Exc_Msg
20287             (   G_PKG_NAME
20288             ,   'Charge Sub Type'
20289             );
20290         END IF;
20291 
20292         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20293 
20294 END Charge_Subtype_Code;
20295 
20296 FUNCTION Commitment ( p_commitment_id IN NUMBER )
20297 RETURN BOOLEAN
20298 IS
20299 l_dummy                       VARCHAR2(10);
20300 BEGIN
20301 
20302     IF p_commitment_id IS NULL OR
20303         p_commitment_id = FND_API.G_MISS_NUM
20304     THEN
20305         --
20306         SELECT  'VALID'
20307         INTO    l_dummy
20308         FROM    RA_CUSTOMER_TRX
20309         WHERE   customer_trx_id = p_commitment_id
20310         AND     ROWNUM = 1;
20311         --
20312         RETURN TRUE;
20313         --
20314     END IF;
20315 
20316     RETURN TRUE;
20317 
20318 EXCEPTION
20319 
20320     WHEN NO_DATA_FOUND THEN
20321 
20322 
20323         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20324         THEN
20325 
20326                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_ID');
20327 
20328             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20329             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20330                                 OE_Order_Util.Get_Attribute_Name('COMMITMENT_ID'));
20331             OE_MSG_PUB.Add;
20332               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20333 
20334         END IF;
20335 
20336 
20337         RETURN FALSE;
20338 
20339     WHEN OTHERS THEN
20340 
20341         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20342         THEN
20343             OE_MSG_PUB.Add_Exc_Msg
20344             (   G_PKG_NAME
20345             ,   'Commitment'
20346             );
20347         END IF;
20348 
20349         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20350 
20351 END Commitment;
20352 
20353 FUNCTION credit_or_charge_flag( p_credit_or_charge_flag IN VARCHAR2 )
20354 RETURN BOOLEAN
20355 IS
20356 l_dummy                       VARCHAR2(10);
20357 l_lookup_type      	      VARCHAR2(80) := 'CREDIT_OR_CHARGE_FLAG';
20358 BEGIN
20359 
20360     IF p_credit_or_charge_flag IS NULL OR
20361         p_credit_or_charge_flag = FND_API.G_MISS_CHAR
20362     THEN
20363             RETURN TRUE;
20364     END IF;
20365 
20366     SELECT  'VALID'
20367     INTO     l_dummy
20368     FROM     OE_LOOKUPS
20369     WHERE    LOOKUP_CODE = p_credit_or_charge_flag
20370     AND      LOOKUP_TYPE = l_lookup_type
20371     AND      ROWNUM = 1;
20372     --
20373     -- Commented out when importing CLOSED orders
20374     --
20375     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
20376     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
20377 
20378 
20379     RETURN TRUE;
20380 
20381 EXCEPTION
20382 
20383     WHEN NO_DATA_FOUND THEN
20384 
20385 
20386         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20387         THEN
20388 
20389 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_OR_CHARGE_FLAG');
20390 
20391             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20392             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20393 				OE_Order_Util.Get_Attribute_Name('CREDIT_OR_CHARGE_FLAG'));
20394             OE_MSG_PUB.Add;
20395 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20396 
20397         END IF;
20398 
20399 
20400         RETURN FALSE;
20401 
20402     WHEN OTHERS THEN
20403 
20404         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20405         THEN
20406             OE_MSG_PUB.Add_Exc_Msg
20407             (   G_PKG_NAME
20408             ,   'Credit Or Charge Flag '
20409             );
20410         END IF;
20411 
20412         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20413 
20414 END Credit_Or_Charge_Flag;
20415 
20416 FUNCTION Include_On_Returns_Flag( p_Include_On_Returns_Flag IN VARCHAR2 )
20417 RETURN BOOLEAN
20418 IS
20419 l_dummy                       VARCHAR2(10);
20420 l_lookup_type      	      VARCHAR2(80) := 'YES_NO';
20421 BEGIN
20422 
20423     IF p_Include_On_Returns_Flag IS NULL OR
20424         p_Include_On_Returns_Flag = FND_API.G_MISS_CHAR
20425     THEN
20426             RETURN TRUE;
20427     END IF;
20428 
20429     SELECT  'VALID'
20430     INTO     l_dummy
20431     FROM     OE_FND_COMMON_LOOKUPS_V
20432     WHERE    LOOKUP_CODE = p_Include_On_Returns_Flag
20433     AND      LOOKUP_TYPE = l_lookup_type
20434     AND      ROWNUM = 1;
20435     --
20436     -- Commented out when importing CLOSED orders
20437     --
20438     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
20439     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
20440 
20441 
20442     RETURN TRUE;
20443 
20444 EXCEPTION
20445 
20446     WHEN NO_DATA_FOUND THEN
20447 
20448 
20449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20450         THEN
20451 
20452 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INCLUDE_ON_RETURNS_FLAG');
20453 
20454             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20455             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20456 				OE_Order_Util.Get_Attribute_Name('INCLUDE_ON_RETURNS_FLAG'));
20457             OE_MSG_PUB.Add;
20458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20459 
20460         END IF;
20461 
20462 
20463         RETURN FALSE;
20464 
20465     WHEN OTHERS THEN
20466 
20467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20468         THEN
20469             OE_MSG_PUB.Add_Exc_Msg
20470             (   G_PKG_NAME
20471             ,   'Include On Returns Flag'
20472             );
20473         END IF;
20474 
20475         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20476 
20477 END Include_On_Returns_Flag;
20478 
20479 FUNCTION IS_AUDIT_REASON_RQD RETURN BOOLEAN IS
20480 BEGIN
20481 	 RETURN TRUE;
20482 END;
20483 
20484 FUNCTION IS_AUDIT_HISTORY_RQD RETURN BOOLEAN IS
20485 BEGIN
20486 	 RETURN TRUE;
20487 END;
20488 
20489 
20490 FUNCTION Sales_Channel( p_sales_channel_code IN VARCHAR2 )
20491 RETURN BOOLEAN
20492 IS
20493 l_dummy                       VARCHAR2(10);
20494 l_lookup_type      	      VARCHAR2(80) :='SALES_CHANNEL';
20495 BEGIN
20496 
20497     IF p_sales_channel_code IS NULL OR
20498         p_sales_channel_code = FND_API.G_MISS_CHAR
20499     THEN
20500             RETURN TRUE;
20501     END IF;
20502 
20503     SELECT  'VALID'
20504     INTO     l_dummy
20505     FROM     OE_LOOKUPS
20506     WHERE    LOOKUP_CODE = p_sales_channel_code
20507     AND      LOOKUP_TYPE = l_lookup_type
20508     AND      ROWNUM = 1;
20509     --
20510     -- Commented out when importing CLOSED orders
20511     --
20512     -- AND      ENABLED_FLAG = 'Y'
20513     -- AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
20514     --                 AND     NVL(END_DATE_ACTIVE, SYSDATE );
20515 
20516 
20517     RETURN TRUE;
20518 
20519 EXCEPTION
20520 
20521     WHEN NO_DATA_FOUND THEN
20522 
20523 
20524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20525         THEN
20526 
20527 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALES_CHANNEL_CODE');
20528 
20529           FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
20530           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20531 				OE_Order_Util.Get_Attribute_Name('SALES_CHANNEL_CODE'));
20532           OE_MSG_PUB.Add;
20533 
20534 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20535 
20536         END IF;
20537 
20538 
20539         RETURN FALSE;
20540 
20541     WHEN OTHERS THEN
20542 
20543         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20544         THEN
20545             OE_MSG_PUB.Add_Exc_Msg
20546             (   G_PKG_NAME
20547             ,   'Sales_Channel'
20548             );
20549         END IF;
20550 
20551         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20552 
20553 END Sales_Channel;
20554 
20555 FUNCTION Customer_Location ( p_sold_to_site_use_id IN NUMBER )
20556 RETURN BOOLEAN
20557 IS
20558 l_dummy                       VARCHAR2(10);
20559 BEGIN
20560 
20561     IF p_sold_to_site_use_id IS NULL OR
20562         p_sold_to_site_use_id = FND_API.G_MISS_NUM
20563     THEN
20564 
20565         RETURN TRUE;
20566     END IF;
20567 
20568     SELECT  'VALID'
20569     INTO    l_dummy
20570     FROM    HZ_CUST_SITE_USES   SITE
20571     WHERE   SITE.SITE_USE_ID =p_sold_to_site_use_id
20572     AND     SITE.SITE_USE_CODE = 'SOLD_TO';
20573 
20574     RETURN TRUE;
20575 
20576 EXCEPTION
20577 
20578     WHEN NO_DATA_FOUND THEN
20579 
20580         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20581         THEN
20582 
20583 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_SITE_USE_ID');
20584 
20585             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20586             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20587 				OE_Order_Util.Get_Attribute_Name('sold_to_site_use_id'));
20588             OE_MSG_PUB.Add;
20589 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20590 
20591         END IF;
20592 
20593 
20594         RETURN FALSE;
20595 
20596     WHEN OTHERS THEN
20597 
20598         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20599         THEN
20600             OE_MSG_PUB.Add_Exc_Msg
20601             (   G_PKG_NAME
20602             ,   'Customer_Location'
20603             );
20604         END IF;
20605 
20606 
20607         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20608 
20609 END Customer_Location;
20610 
20611 END OE_CNCL_Validate;