[Home] [Help]
PACKAGE BODY: APPS.MRP_VALIDATE
Source
1 PACKAGE BODY MRP_Validate AS
2 /* $Header: MRPSVATB.pls 115.10 99/07/26 17:07:28 porting ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'MRP_Validate';
7
8 -- Procedure Get_Attr_Tbl.
9 --
10 -- Used by generator to avoid overriding or duplicating existing
11 -- validation functions.
12 --
13 -- DO NOT REMOVE
14
15 PROCEDURE Get_Attr_Tbl
16 IS
17 I NUMBER:=0;
18 BEGIN
19
20 FND_API.g_attr_tbl.DELETE;
21
22 -- START GEN attributes
23
24 -- Generator will append new attributes before end generate comment.
25
26 I := I + 1;
27 FND_API.g_attr_tbl(I).name := 'Desc_Flex';
28 I := I + 1;
29 FND_API.g_attr_tbl(I).name := 'alternate_bom_designator';
30 I := I + 1;
31 FND_API.g_attr_tbl(I).name := 'alternate_routing_desig';
32 I := I + 1;
33 FND_API.g_attr_tbl(I).name := 'bom_revision';
34 I := I + 1;
35 FND_API.g_attr_tbl(I).name := 'bom_revision_date';
36 I := I + 1;
37 FND_API.g_attr_tbl(I).name := 'build_sequence';
38 I := I + 1;
39 FND_API.g_attr_tbl(I).name := 'class';
40 I := I + 1;
41 FND_API.g_attr_tbl(I).name := 'completion_locator';
42 I := I + 1;
43 FND_API.g_attr_tbl(I).name := 'completion_subinventory';
44 I := I + 1;
45 FND_API.g_attr_tbl(I).name := 'created_by';
46 I := I + 1;
47 FND_API.g_attr_tbl(I).name := 'creation_date';
48 I := I + 1;
49 FND_API.g_attr_tbl(I).name := 'date_closed';
50 I := I + 1;
51 FND_API.g_attr_tbl(I).name := 'demand_class';
52 I := I + 1;
53 FND_API.g_attr_tbl(I).name := 'demand_source_delivery';
54 I := I + 1;
55 FND_API.g_attr_tbl(I).name := 'end_item_unit_number';
56 I := I + 1;
57 FND_API.g_attr_tbl(I).name := 'quantity_scrapped ';
58 I := I + 1;
59 FND_API.g_attr_tbl(I).name := 'demand_source_header';
60 I := I + 1;
61 FND_API.g_attr_tbl(I).name := 'demand_source_line';
62 I := I + 1;
63 FND_API.g_attr_tbl(I).name := 'demand_source_type';
64 I := I + 1;
65 FND_API.g_attr_tbl(I).name := 'last_updated_by';
66 I := I + 1;
67 FND_API.g_attr_tbl(I).name := 'last_update_date';
68 I := I + 1;
69 FND_API.g_attr_tbl(I).name := 'last_update_login';
70 I := I + 1;
71 FND_API.g_attr_tbl(I).name := 'line';
72 I := I + 1;
73 FND_API.g_attr_tbl(I).name := 'material_account';
74 I := I + 1;
75 FND_API.g_attr_tbl(I).name := 'material_overhead_account';
76 I := I + 1;
77 FND_API.g_attr_tbl(I).name := 'material_variance_account';
78 I := I + 1;
79 FND_API.g_attr_tbl(I).name := 'mps_net_quantity';
80 I := I + 1;
81 FND_API.g_attr_tbl(I).name := 'mps_scheduled_comp_date';
82 I := I + 1;
83 FND_API.g_attr_tbl(I).name := 'organization';
84 I := I + 1;
85 FND_API.g_attr_tbl(I).name := 'outside_processing_acct';
86 I := I + 1;
87 FND_API.g_attr_tbl(I).name := 'outside_proc_var_acct';
88 I := I + 1;
89 FND_API.g_attr_tbl(I).name := 'overhead_account';
90 I := I + 1;
91 FND_API.g_attr_tbl(I).name := 'overhead_variance_account';
92 I := I + 1;
93 FND_API.g_attr_tbl(I).name := 'planned_quantity';
94 I := I + 1;
95 FND_API.g_attr_tbl(I).name := 'primary_item';
96 I := I + 1;
97 FND_API.g_attr_tbl(I).name := 'program_application';
98 I := I + 1;
99 FND_API.g_attr_tbl(I).name := 'program';
100 I := I + 1;
101 FND_API.g_attr_tbl(I).name := 'program_update_date';
102 I := I + 1;
103 FND_API.g_attr_tbl(I).name := 'project';
104 I := I + 1;
105 FND_API.g_attr_tbl(I).name := 'quantity_completed';
106 I := I + 1;
107 FND_API.g_attr_tbl(I).name := 'request';
108 I := I + 1;
109 FND_API.g_attr_tbl(I).name := 'resource_account';
110 I := I + 1;
111 FND_API.g_attr_tbl(I).name := 'resource_variance_account';
112 I := I + 1;
113 FND_API.g_attr_tbl(I).name := 'routing_revision';
114 I := I + 1;
115 FND_API.g_attr_tbl(I).name := 'routing_revision_date';
116 I := I + 1;
117 FND_API.g_attr_tbl(I).name := 'scheduled_completion_date';
118 I := I + 1;
119 FND_API.g_attr_tbl(I).name := 'scheduled';
120 I := I + 1;
121 FND_API.g_attr_tbl(I).name := 'scheduled_start_date';
122 I := I + 1;
123 FND_API.g_attr_tbl(I).name := 'schedule_group';
124 I := I + 1;
125 FND_API.g_attr_tbl(I).name := 'schedule_number';
126 I := I + 1;
127 FND_API.g_attr_tbl(I).name := 'status';
128 I := I + 1;
129 FND_API.g_attr_tbl(I).name := 'std_cost_adjustment_acct';
130 I := I + 1;
131 FND_API.g_attr_tbl(I).name := 'task';
132 I := I + 1;
133 FND_API.g_attr_tbl(I).name := 'wip_entity';
134
135 I := I + 1;
136 FND_API.g_attr_tbl(I).name := 'Assignment_Set';
137 I := I + 1;
138 FND_API.g_attr_tbl(I).name := 'Assignment';
139 I := I + 1;
140 FND_API.g_attr_tbl(I).name := 'Sourcing_Rule';
141 I := I + 1;
142 FND_API.g_attr_tbl(I).name := 'Receiving_Org';
143 I := I + 1;
144 FND_API.g_attr_tbl(I).name := 'Shipping_Org';
145 -- END GEN attributes
146
147 END Get_Attr_Tbl;
148
149 -- Prototypes for validate functions.
150
151 -- START GEN validate
152
153 -- Generator will append new prototypes before end generate comment.
154
155
156 FUNCTION Desc_Flex ( p_flex_name IN VARCHAR2 )
157 RETURN BOOLEAN
158 IS
159 BEGIN
160
161 -- Call FND validate API.
162
163
164 -- This call is temporarily commented out
165
166 /*
167 IF FND_FLEX_DESCVAL.Validate_Desccols
168 ( appl_short_name => 'MRP'
169 , desc_flex_name => p_flex_name
170 )
171 THEN
172 RETURN TRUE;
173 ELSE
174
175 -- Prepare the encoded message by setting it on the message
176 -- dictionary stack. Then, add it to the API message list.
177
178 FND_MESSAGE.Set_Encoded(FND_FLEX_DESCVAL.Encoded_Error_Message);
179
180 FND_MSG_PUB.Add;
181
182 -- Derive return status.
183
184 IF FND_FLEX_DESCVAL.value_error OR
185 FND_FLEX_DESCVAL.unsupported_error
186 THEN
187
188 -- In case of an expected error return FALSE
189
190 RETURN FALSE;
191
192 ELSE
193
194 -- In case of an unexpected error raise an exception.
195
196 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
197
198 END IF;
199
200 END IF;
201 */
202
203 RETURN TRUE;
204
205 END Desc_Flex;
206
207 FUNCTION Alternate_Bom_Designator ( p_alternate_bom_designator IN VARCHAR2 )
208 RETURN BOOLEAN
209 IS
210 l_dummy VARCHAR2(10);
211 BEGIN
212
213 IF p_alternate_bom_designator IS NULL OR
214 p_alternate_bom_designator = FND_API.G_MISS_CHAR
215 THEN
216 RETURN TRUE;
217 END IF;
218
219 -- SELECT 'VALID'
220 -- INTO l_dummy
221 -- FROM DB_TABLE
222 -- WHERE DB_COLUMN = p_alternate_bom_designator;
223
224 RETURN TRUE;
225
226 EXCEPTION
227
228 WHEN NO_DATA_FOUND THEN
229
230 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
231 THEN
232
233 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ALT_BOM_DESIG');
234 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_alternate_bom_designator);
235 FND_MSG_PUB.Add;
236
237 END IF;
238
239 RETURN FALSE;
240
241 WHEN OTHERS THEN
242
243 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
244 THEN
245 FND_MSG_PUB.Add_Exc_Msg
246 ( G_PKG_NAME
247 , 'Alternate_Bom_Designator'
248 );
249 END IF;
250
251 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252
253 END Alternate_Bom_Designator;
254
255 FUNCTION Alternate_Routing_Desig ( p_alternate_routing_desig IN VARCHAR2 )
256 RETURN BOOLEAN
257 IS
258 l_dummy VARCHAR2(10);
259 BEGIN
260
261 IF p_alternate_routing_desig IS NULL OR
262 p_alternate_routing_desig = FND_API.G_MISS_CHAR
263 THEN
264 RETURN TRUE;
265 END IF;
266
267 -- SELECT 'VALID'
268 -- INTO l_dummy
269 -- FROM DB_TABLE
270 -- WHERE DB_COLUMN = p_alternate_routing_desig;
271
272 RETURN TRUE;
273
274 EXCEPTION
275
276 WHEN NO_DATA_FOUND THEN
277
278 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
279 THEN
280
281 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ALT_RTG_DESIG');
282 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_alternate_routing_desig);
283 FND_MSG_PUB.Add;
284
285 END IF;
286
287 RETURN FALSE;
288
289 WHEN OTHERS THEN
290
291 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
292 THEN
293 FND_MSG_PUB.Add_Exc_Msg
294 ( G_PKG_NAME
295 , 'Alternate_Routing_Desig'
296 );
297 END IF;
298
299 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
300
301 END Alternate_Routing_Desig;
302
303 FUNCTION Bom_Revision ( p_bom_revision IN VARCHAR2 )
304 RETURN BOOLEAN
305 IS
306 l_dummy VARCHAR2(10);
307 BEGIN
308
309 IF p_bom_revision IS NULL OR
310 p_bom_revision = FND_API.G_MISS_CHAR
311 THEN
312 RETURN TRUE;
313 END IF;
314
315 -- SELECT 'VALID'
316 -- INTO l_dummy
317 -- FROM DB_TABLE
318 -- WHERE DB_COLUMN = p_bom_revision;
319
320 RETURN TRUE;
321
322 EXCEPTION
323
324 WHEN NO_DATA_FOUND THEN
325
326 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
327 THEN
328
329 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_BOM_REV');
330 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_bom_revision);
331 FND_MSG_PUB.Add;
332
333 END IF;
334
335 RETURN FALSE;
336
337 WHEN OTHERS THEN
338
339 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
340 THEN
341 FND_MSG_PUB.Add_Exc_Msg
342 ( G_PKG_NAME
343 , 'Bom_Revision'
344 );
345 END IF;
346
347 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
348
349 END Bom_Revision;
350
351 FUNCTION Bom_Revision_Date ( p_bom_revision_date IN DATE )
352 RETURN BOOLEAN
353 IS
354 l_dummy VARCHAR2(10);
355 BEGIN
356
357 IF p_bom_revision_date IS NULL OR
358 p_bom_revision_date = FND_API.G_MISS_DATE
359 THEN
360 RETURN TRUE;
361 END IF;
362
363 -- SELECT 'VALID'
364 -- INTO l_dummy
365 -- FROM DB_TABLE
366 -- WHERE DB_COLUMN = p_bom_revision_date;
367
368 RETURN TRUE;
369
370 EXCEPTION
371
372 WHEN NO_DATA_FOUND THEN
373
374 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
375 THEN
376
377 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
378 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','bom_revision_date');
379 FND_MSG_PUB.Add;
380
381 END IF;
382
383 RETURN FALSE;
384
385 WHEN OTHERS THEN
386
387 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
388 THEN
389 FND_MSG_PUB.Add_Exc_Msg
390 ( G_PKG_NAME
391 , 'Bom_Revision_Date'
392 );
393 END IF;
394
395 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
396
397 END Bom_Revision_Date;
398
399 FUNCTION Build_Sequence ( p_build_sequence IN NUMBER )
400 RETURN BOOLEAN
401 IS
402 l_dummy VARCHAR2(10);
403 BEGIN
404
405 IF p_build_sequence IS NULL OR
406 p_build_sequence = FND_API.G_MISS_NUM
407 THEN
408 RETURN TRUE;
409 END IF;
410
411 SELECT 'VALID'
412 INTO l_dummy
413 FROM DUAL
414 WHERE p_build_sequence > 0;
415
416 RETURN TRUE;
417
418 EXCEPTION
419
420 WHEN NO_DATA_FOUND THEN
421
422 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
423 THEN
424
425 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_SEQUENCE');
426 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_build_sequence);
427 FND_MSG_PUB.Add;
428
429 END IF;
430
431 RETURN FALSE;
432
433 WHEN OTHERS THEN
434
435 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
436 THEN
437 FND_MSG_PUB.Add_Exc_Msg
438 ( G_PKG_NAME
439 , 'Build_Sequence'
440 );
441 END IF;
442
443 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
444
445 END Build_Sequence;
446
447 FUNCTION Class ( p_class_code IN VARCHAR2 )
448 RETURN BOOLEAN
449 IS
450 l_dummy VARCHAR2(10);
451 BEGIN
452
453 IF p_class_code IS NULL OR
454 p_class_code = FND_API.G_MISS_CHAR
455 THEN
456 RETURN TRUE;
457 END IF;
458
459 -- SELECT 'VALID'
460 -- INTO l_dummy
461 -- FROM DB_TABLE
462 -- WHERE DB_COLUMN = p_class_code;
463
464 RETURN TRUE;
465
466 EXCEPTION
467
468 WHEN NO_DATA_FOUND THEN
469
470 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
471 THEN
472
473 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_CLASS_CODE');
474 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_class_code);
475 FND_MSG_PUB.Add;
476
477 END IF;
478
479 RETURN FALSE;
480
481 WHEN OTHERS THEN
482
483 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
484 THEN
485 FND_MSG_PUB.Add_Exc_Msg
486 ( G_PKG_NAME
487 , 'Class'
488 );
489 END IF;
490
491 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
492
493 END Class;
494
495 FUNCTION Completion_Locator ( p_completion_locator_id IN NUMBER )
496 RETURN BOOLEAN
497 IS
498 l_dummy VARCHAR2(10);
499 BEGIN
500
501 IF p_completion_locator_id IS NULL OR
502 p_completion_locator_id = FND_API.G_MISS_NUM
503 THEN
504 RETURN TRUE;
505 END IF;
506
507 -- SELECT 'VALID'
508 -- INTO l_dummy
509 -- FROM DB_TABLE
510 -- WHERE DB_COLUMN = p_completion_locator_id;
511
512 RETURN TRUE;
513
514 EXCEPTION
515
516 WHEN NO_DATA_FOUND THEN
517
518 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
519 THEN
520
521 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_COMP_LOC_ID');
522 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_completion_locator_id);
523 FND_MSG_PUB.Add;
524
525 END IF;
526
527 RETURN FALSE;
528
529 WHEN OTHERS THEN
530
531 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
532 THEN
533 FND_MSG_PUB.Add_Exc_Msg
534 ( G_PKG_NAME
535 , 'Completion_Locator'
536 );
537 END IF;
538
539 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
540
541 END Completion_Locator;
542
543 FUNCTION Completion_Subinventory ( p_completion_subinventory IN VARCHAR2 )
544 RETURN BOOLEAN
545 IS
546 l_dummy VARCHAR2(10);
547 BEGIN
548
549 IF p_completion_subinventory IS NULL OR
550 p_completion_subinventory = FND_API.G_MISS_CHAR
551 THEN
552 RETURN TRUE;
553 END IF;
554
555 -- SELECT 'VALID'
556 -- INTO l_dummy
557 -- FROM DB_TABLE
558 -- WHERE DB_COLUMN = p_completion_subinventory;
559
560 RETURN TRUE;
561
562 EXCEPTION
563
564 WHEN NO_DATA_FOUND THEN
565
566 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
567 THEN
568
569 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_COMP_SUBINV');
570 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_completion_subinventory);
571 FND_MSG_PUB.Add;
572
573 END IF;
574
575 RETURN FALSE;
576
577 WHEN OTHERS THEN
578
579 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
580 THEN
581 FND_MSG_PUB.Add_Exc_Msg
582 ( G_PKG_NAME
583 , 'Completion_Subinventory'
584 );
585 END IF;
586
587 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
588
589 END Completion_Subinventory;
590
591 FUNCTION Created_By ( p_created_by IN NUMBER )
592 RETURN BOOLEAN
593 IS
594 l_dummy VARCHAR2(10);
595 BEGIN
596
597 IF p_created_by IS NULL OR
598 p_created_by = FND_API.G_MISS_NUM
599 THEN
600 RETURN TRUE;
601 END IF;
602
603 -- SELECT 'VALID'
604 -- INTO l_dummy
605 -- FROM DB_TABLE
606 -- WHERE DB_COLUMN = p_created_by;
607
608 RETURN TRUE;
609
610 EXCEPTION
611
612 WHEN NO_DATA_FOUND THEN
613
614 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
615 THEN
616
617 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
618 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','created_by');
619 FND_MSG_PUB.Add;
620
621 END IF;
622
623 RETURN FALSE;
624
625 WHEN OTHERS THEN
626
627 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
628 THEN
629 FND_MSG_PUB.Add_Exc_Msg
630 ( G_PKG_NAME
631 , 'Created_By'
632 );
633 END IF;
634
635 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
636
637 END Created_By;
638
639 FUNCTION Creation_Date ( p_creation_date IN DATE )
640 RETURN BOOLEAN
641 IS
642 l_dummy VARCHAR2(10);
643 BEGIN
644
645 IF p_creation_date IS NULL OR
646 p_creation_date = FND_API.G_MISS_DATE
647 THEN
648 RETURN TRUE;
649 END IF;
650
651 -- SELECT 'VALID'
652 -- INTO l_dummy
653 -- FROM DB_TABLE
654 -- WHERE DB_COLUMN = p_creation_date;
655
656 RETURN TRUE;
657
658 EXCEPTION
659
660 WHEN NO_DATA_FOUND THEN
661
662 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
663 THEN
664
665 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
666 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','creation_date');
667 FND_MSG_PUB.Add;
668
669 END IF;
670
671 RETURN FALSE;
672
673 WHEN OTHERS THEN
674
675 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
676 THEN
677 FND_MSG_PUB.Add_Exc_Msg
678 ( G_PKG_NAME
679 , 'Creation_Date'
680 );
681 END IF;
682
683 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
684
685 END Creation_Date;
686
687 FUNCTION Date_Closed ( p_date_closed IN DATE )
688 RETURN BOOLEAN
689 IS
690 l_dummy VARCHAR2(10);
691 BEGIN
692
693 IF p_date_closed IS NULL OR
694 p_date_closed = FND_API.G_MISS_DATE
695 THEN
696 RETURN TRUE;
697 END IF;
698
699 -- SELECT 'VALID'
700 -- INTO l_dummy
701 -- FROM DB_TABLE
702 -- WHERE DB_COLUMN = p_date_closed;
703
704 RETURN TRUE;
705
706 EXCEPTION
707
708 WHEN NO_DATA_FOUND THEN
709
710 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
711 THEN
712
713 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
714 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','date_closed');
715 FND_MSG_PUB.Add;
716
717 END IF;
718
719 RETURN FALSE;
720
721 WHEN OTHERS THEN
722
723 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
724 THEN
725 FND_MSG_PUB.Add_Exc_Msg
726 ( G_PKG_NAME
727 , 'Date_Closed'
728 );
729 END IF;
730
731 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
732
733 END Date_Closed;
734
735 FUNCTION Demand_Class ( p_demand_class IN VARCHAR2 )
736 RETURN BOOLEAN
737 IS
738 l_dummy VARCHAR2(10);
739 BEGIN
740
741 IF p_demand_class IS NULL OR
742 p_demand_class = FND_API.G_MISS_CHAR
743 THEN
744 RETURN TRUE;
745 END IF;
746
747 SELECT 'VALID'
748 INTO l_dummy
749 FROM FND_COMMON_LOOKUPS
750 WHERE LOOKUP_CODE = p_demand_class
751 AND LOOKUP_TYPE = 'DEMAND_CLASS'
752 AND ENABLED_FLAG = 'Y'
753 AND SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE) AND
754 NVL(END_DATE_ACTIVE,SYSDATE);
755
756 RETURN TRUE;
757
758 EXCEPTION
759
760 WHEN NO_DATA_FOUND THEN
761
762 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
763 THEN
764
765 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_DEMAND_CLASS');
766 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_demand_class);
767 FND_MSG_PUB.Add;
768
769 END IF;
770
771 RETURN FALSE;
772
773 WHEN OTHERS THEN
774
775 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
776 THEN
777 FND_MSG_PUB.Add_Exc_Msg
778 ( G_PKG_NAME
779 , 'Demand_Class'
780 );
781 END IF;
782
783 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
784
785 END Demand_Class;
786
787 FUNCTION Demand_Source_Delivery ( p_demand_source_delivery IN VARCHAR2 )
788 RETURN BOOLEAN
789 IS
790 l_dummy VARCHAR2(10);
791 BEGIN
792
793 IF p_demand_source_delivery IS NULL OR
794 p_demand_source_delivery = FND_API.G_MISS_CHAR
795 THEN
796 RETURN TRUE;
797 END IF;
798
799 -- SELECT 'VALID'
800 -- INTO l_dummy
801 -- FROM DB_TABLE
802 -- WHERE DB_COLUMN = p_demand_source_delivery;
803
804 RETURN TRUE;
805
806 EXCEPTION
807
808 WHEN NO_DATA_FOUND THEN
809
810 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
811 THEN
812
813 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
814 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','demand_source_delivery');
815 FND_MSG_PUB.Add;
816
817 END IF;
818
819 RETURN FALSE;
820
821 WHEN OTHERS THEN
822
823 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
824 THEN
825 FND_MSG_PUB.Add_Exc_Msg
826 ( G_PKG_NAME
827 , 'Demand_Source_Delivery'
828 );
829 END IF;
830
831 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
832
833 END Demand_Source_Delivery;
834
835 FUNCTION Demand_Source_Header ( p_demand_source_header_id IN NUMBER )
836 RETURN BOOLEAN
837 IS
838 l_dummy VARCHAR2(10);
839 BEGIN
840
841 IF p_demand_source_header_id IS NULL OR
842 p_demand_source_header_id = FND_API.G_MISS_NUM
843 THEN
844 RETURN TRUE;
845 END IF;
846
847 -- SELECT 'VALID'
848 -- INTO l_dummy
849 -- FROM DB_TABLE
850 -- WHERE DB_COLUMN = p_demand_source_header_id;
851
852 RETURN TRUE;
853
854 EXCEPTION
855
856 WHEN NO_DATA_FOUND THEN
857
858 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
859 THEN
860
861 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
862 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','demand_source_header');
863 FND_MSG_PUB.Add;
864
865 END IF;
866
867 RETURN FALSE;
868
869 WHEN OTHERS THEN
870
871 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
872 THEN
873 FND_MSG_PUB.Add_Exc_Msg
874 ( G_PKG_NAME
875 , 'Demand_Source_Header'
876 );
877 END IF;
878
879 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
880
881 END Demand_Source_Header;
882
883 FUNCTION Demand_Source_Line ( p_demand_source_line IN VARCHAR2 )
884 RETURN BOOLEAN
885 IS
886 l_dummy VARCHAR2(10);
887 BEGIN
888
889 IF p_demand_source_line IS NULL OR
890 p_demand_source_line = FND_API.G_MISS_CHAR
891 THEN
892 RETURN TRUE;
893 END IF;
894
895 -- SELECT 'VALID'
896 -- INTO l_dummy
897 -- FROM DB_TABLE
898 -- WHERE DB_COLUMN = p_demand_source_line;
899
900 RETURN TRUE;
901
902 EXCEPTION
903
904 WHEN NO_DATA_FOUND THEN
905
906 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
907 THEN
908
909 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
910 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','demand_source_line');
911 FND_MSG_PUB.Add;
912
913 END IF;
914
915 RETURN FALSE;
916
917 WHEN OTHERS THEN
918
919 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
920 THEN
921 FND_MSG_PUB.Add_Exc_Msg
922 ( G_PKG_NAME
923 , 'Demand_Source_Line'
924 );
925 END IF;
926
927 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
928
929 END Demand_Source_Line;
930
931 FUNCTION Demand_Source_Type ( p_demand_source_type IN NUMBER )
932 RETURN BOOLEAN
933 IS
934 l_dummy VARCHAR2(10);
935 BEGIN
936
937 IF p_demand_source_type IS NULL OR
938 p_demand_source_type = FND_API.G_MISS_NUM
939 THEN
940 RETURN TRUE;
941 END IF;
942
943 -- SELECT 'VALID'
944 -- INTO l_dummy
945 -- FROM MFG_LOOKUPS
946 -- WHERE LOOKUP_CODE = p_demand_source_type
947 -- AND LOOKUP_TYPE = 'MTL_SUPPLY_DEMAND_SOURCE_TYPE'
948 -- AND ENABLED_FLAG = 'Y'
949 -- AND SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
950 -- AND NVL(END_DATE_ACTIVE, SYSDATE);
951
952 RETURN TRUE;
953
954 EXCEPTION
955
956 WHEN NO_DATA_FOUND THEN
957
958 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
959 THEN
960
961 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
962 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','demand_source_type');
963 FND_MSG_PUB.Add;
964
965 END IF;
966
967 RETURN FALSE;
968
969 WHEN OTHERS THEN
970
971 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
972 THEN
973 FND_MSG_PUB.Add_Exc_Msg
974 ( G_PKG_NAME
975 , 'Demand_Source_Type'
976 );
977 END IF;
978
979 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
980
981 END Demand_Source_Type;
982
983 FUNCTION Last_Updated_By ( p_last_updated_by IN NUMBER )
984 RETURN BOOLEAN
985 IS
986 l_dummy VARCHAR2(10);
987 BEGIN
988
989 IF p_last_updated_by IS NULL OR
990 p_last_updated_by = FND_API.G_MISS_NUM
991 THEN
992 RETURN TRUE;
993 END IF;
994
995 -- SELECT 'VALID'
996 -- INTO l_dummy
997 -- FROM DB_TABLE
998 -- WHERE DB_COLUMN = p_last_updated_by;
999
1000 RETURN TRUE;
1001
1002 EXCEPTION
1003
1004 WHEN NO_DATA_FOUND THEN
1005
1006 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1007 THEN
1008
1009 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1010 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','last_updated_by');
1011 FND_MSG_PUB.Add;
1012
1013 END IF;
1014
1015 RETURN FALSE;
1016
1017 WHEN OTHERS THEN
1018
1019 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1020 THEN
1021 FND_MSG_PUB.Add_Exc_Msg
1022 ( G_PKG_NAME
1023 , 'Last_Updated_By'
1024 );
1025 END IF;
1026
1027 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1028
1029 END Last_Updated_By;
1030
1031 FUNCTION Last_Update_Date ( p_last_update_date IN DATE )
1032 RETURN BOOLEAN
1033 IS
1034 l_dummy VARCHAR2(10);
1035 BEGIN
1036
1037 IF p_last_update_date IS NULL OR
1038 p_last_update_date = FND_API.G_MISS_DATE
1039 THEN
1040 RETURN TRUE;
1041 END IF;
1042
1043 -- SELECT 'VALID'
1044 -- INTO l_dummy
1045 -- FROM DB_TABLE
1046 -- WHERE DB_COLUMN = p_last_update_date;
1047
1048 RETURN TRUE;
1049
1050 EXCEPTION
1051
1052 WHEN NO_DATA_FOUND THEN
1053
1054 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1055 THEN
1056
1057 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1058 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','last_update_date');
1059 FND_MSG_PUB.Add;
1060
1061 END IF;
1062
1063 RETURN FALSE;
1064
1065 WHEN OTHERS THEN
1066
1067 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1068 THEN
1069 FND_MSG_PUB.Add_Exc_Msg
1070 ( G_PKG_NAME
1071 , 'Last_Update_Date'
1072 );
1073 END IF;
1074
1075 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1076
1077 END Last_Update_Date;
1078
1079 FUNCTION Last_Update_Login ( p_last_update_login IN NUMBER )
1080 RETURN BOOLEAN
1081 IS
1082 l_dummy VARCHAR2(10);
1083 BEGIN
1084
1085 IF p_last_update_login IS NULL OR
1086 p_last_update_login = FND_API.G_MISS_NUM
1087 THEN
1088 RETURN TRUE;
1089 END IF;
1090
1091 -- SELECT 'VALID'
1092 -- INTO l_dummy
1093 -- FROM DB_TABLE
1094 -- WHERE DB_COLUMN = p_last_update_login;
1095
1096 RETURN TRUE;
1097
1098 EXCEPTION
1099
1100 WHEN NO_DATA_FOUND THEN
1101
1102 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1103 THEN
1104
1105 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1106 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','last_update_login');
1107 FND_MSG_PUB.Add;
1108
1109 END IF;
1110
1111 RETURN FALSE;
1112
1113 WHEN OTHERS THEN
1114
1115 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1116 THEN
1117 FND_MSG_PUB.Add_Exc_Msg
1118 ( G_PKG_NAME
1119 , 'Last_Update_Login'
1120 );
1121 END IF;
1122
1123 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1124
1125 END Last_Update_Login;
1126
1127 FUNCTION Line ( p_line_id IN NUMBER )
1128 RETURN BOOLEAN
1129 IS
1130 l_dummy VARCHAR2(10);
1131 BEGIN
1132
1133 IF p_line_id IS NULL OR
1134 p_line_id = FND_API.G_MISS_NUM
1135 THEN
1136 RETURN TRUE;
1137 END IF;
1138
1139 -- SELECT 'VALID'
1140 -- INTO l_dummy
1141 -- FROM DB_TABLE
1142 -- WHERE DB_COLUMN = p_line_id;
1143
1144 RETURN TRUE;
1145
1146 EXCEPTION
1147
1148 WHEN NO_DATA_FOUND THEN
1149
1150 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1151 THEN
1152
1153 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1154 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','line');
1155 FND_MSG_PUB.Add;
1156
1157 END IF;
1158
1159 RETURN FALSE;
1160
1161 WHEN OTHERS THEN
1162
1163 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1164 THEN
1165 FND_MSG_PUB.Add_Exc_Msg
1166 ( G_PKG_NAME
1167 , 'Line'
1168 );
1169 END IF;
1170
1171 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1172
1173 END Line;
1174
1175 FUNCTION Material_Account ( p_material_account IN NUMBER )
1176 RETURN BOOLEAN
1177 IS
1178 l_dummy VARCHAR2(10);
1179 BEGIN
1180
1181 IF p_material_account IS NULL OR
1182 p_material_account = FND_API.G_MISS_NUM
1183 THEN
1184 RETURN TRUE;
1185 END IF;
1186
1187 -- SELECT 'VALID'
1188 -- INTO l_dummy
1189 -- FROM DB_TABLE
1190 -- WHERE DB_COLUMN = p_material_account;
1191
1192 RETURN TRUE;
1193
1194 EXCEPTION
1195
1196 WHEN NO_DATA_FOUND THEN
1197
1198 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1199 THEN
1200
1201 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1202 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','material_account');
1203 FND_MSG_PUB.Add;
1204
1205 END IF;
1206
1207 RETURN FALSE;
1208
1209 WHEN OTHERS THEN
1210
1211 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1212 THEN
1213 FND_MSG_PUB.Add_Exc_Msg
1214 ( G_PKG_NAME
1215 , 'Material_Account'
1216 );
1217 END IF;
1218
1219 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1220
1221 END Material_Account;
1222
1223 FUNCTION Material_Overhead_Account ( p_material_overhead_account IN NUMBER )
1224 RETURN BOOLEAN
1225 IS
1226 l_dummy VARCHAR2(10);
1227 BEGIN
1228
1229 IF p_material_overhead_account IS NULL OR
1230 p_material_overhead_account = FND_API.G_MISS_NUM
1231 THEN
1232 RETURN TRUE;
1233 END IF;
1234
1235 -- SELECT 'VALID'
1236 -- INTO l_dummy
1237 -- FROM DB_TABLE
1238 -- WHERE DB_COLUMN = p_material_overhead_account;
1239
1240 RETURN TRUE;
1241
1242 EXCEPTION
1243
1244 WHEN NO_DATA_FOUND THEN
1245
1246 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1247 THEN
1248
1249 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1250 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','material_overhead_account');
1251 FND_MSG_PUB.Add;
1252
1253 END IF;
1254
1255 RETURN FALSE;
1256
1257 WHEN OTHERS THEN
1258
1259 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1260 THEN
1261 FND_MSG_PUB.Add_Exc_Msg
1262 ( G_PKG_NAME
1263 , 'Material_Overhead_Account'
1264 );
1265 END IF;
1266
1267 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1268
1269 END Material_Overhead_Account;
1270
1271 FUNCTION Material_Variance_Account ( p_material_variance_account IN NUMBER )
1272 RETURN BOOLEAN
1273 IS
1274 l_dummy VARCHAR2(10);
1275 BEGIN
1276
1277 IF p_material_variance_account IS NULL OR
1278 p_material_variance_account = FND_API.G_MISS_NUM
1279 THEN
1280 RETURN TRUE;
1281 END IF;
1282
1283 -- SELECT 'VALID'
1284 -- INTO l_dummy
1285 -- FROM DB_TABLE
1286 -- WHERE DB_COLUMN = p_material_variance_account;
1287
1288 RETURN TRUE;
1289
1290 EXCEPTION
1291
1292 WHEN NO_DATA_FOUND THEN
1293
1294 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1295 THEN
1296
1297 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1298 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','material_variance_account');
1299 FND_MSG_PUB.Add;
1300
1301 END IF;
1302
1303 RETURN FALSE;
1304
1305 WHEN OTHERS THEN
1306
1307 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1308 THEN
1309 FND_MSG_PUB.Add_Exc_Msg
1310 ( G_PKG_NAME
1311 , 'Material_Variance_Account'
1312 );
1313 END IF;
1314
1315 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1316
1317 END Material_Variance_Account;
1318
1319 FUNCTION Mps_Net_Quantity ( p_mps_net_quantity IN NUMBER )
1320 RETURN BOOLEAN
1321 IS
1322 l_dummy VARCHAR2(10);
1323 BEGIN
1324
1325 IF p_mps_net_quantity IS NULL OR
1326 p_mps_net_quantity = FND_API.G_MISS_NUM
1327 THEN
1328 RETURN TRUE;
1329 END IF;
1330
1331 SELECT 'VALID'
1332 INTO l_dummy
1333 FROM DUAL
1334 WHERE p_mps_net_quantity >= 0;
1335
1336 RETURN TRUE;
1337
1338 EXCEPTION
1339
1340 WHEN NO_DATA_FOUND THEN
1341
1342 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1343 THEN
1344
1345 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_MPS_NET_QTY');
1346 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_mps_net_quantity);
1347 FND_MSG_PUB.Add;
1348
1349 END IF;
1350
1351 RETURN FALSE;
1352
1353 WHEN OTHERS THEN
1354
1355 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1356 THEN
1357 FND_MSG_PUB.Add_Exc_Msg
1358 ( G_PKG_NAME
1359 , 'Mps_Net_Quantity'
1360 );
1361 END IF;
1362
1363 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1364
1365 END Mps_Net_Quantity;
1366
1367 FUNCTION Mps_Scheduled_Comp_Date ( p_mps_scheduled_comp_date IN DATE )
1368 RETURN BOOLEAN
1369 IS
1370 l_dummy VARCHAR2(10);
1371 BEGIN
1372
1373 IF p_mps_scheduled_comp_date IS NULL OR
1374 p_mps_scheduled_comp_date = FND_API.G_MISS_DATE
1375 THEN
1376 RETURN TRUE;
1377 END IF;
1378
1379 -- SELECT 'VALID'
1380 -- INTO l_dummy
1381 -- FROM DB_TABLE
1382 -- WHERE DB_COLUMN = p_mps_scheduled_comp_date;
1383
1384 RETURN TRUE;
1385
1386 EXCEPTION
1387
1388 WHEN NO_DATA_FOUND THEN
1389
1390 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1391 THEN
1392
1393 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1394 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','mps_scheduled_comp_date');
1395 FND_MSG_PUB.Add;
1396
1397 END IF;
1398
1399 RETURN FALSE;
1400
1401 WHEN OTHERS THEN
1402
1403 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1404 THEN
1405 FND_MSG_PUB.Add_Exc_Msg
1406 ( G_PKG_NAME
1407 , 'Mps_Scheduled_Comp_Date'
1408 );
1409 END IF;
1410
1411 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1412
1413 END Mps_Scheduled_Comp_Date;
1414
1415 FUNCTION Organization ( p_organization_id IN NUMBER )
1416 RETURN BOOLEAN
1417 IS
1418 l_dummy VARCHAR2(10);
1419 BEGIN
1420
1421 IF p_organization_id IS NULL OR
1422 p_organization_id = FND_API.G_MISS_NUM
1423 THEN
1424 RETURN TRUE;
1425 END IF;
1426
1427 SELECT 'VALID'
1428 INTO l_dummy
1429 FROM mtl_parameters
1430 WHERE ORGANIZATION_ID = p_organization_id;
1431
1432 RETURN TRUE;
1433
1434 EXCEPTION
1435
1436 WHEN NO_DATA_FOUND THEN
1437
1438 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1439 THEN
1440
1441 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ORG');
1442 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_organization_id);
1443 FND_MSG_PUB.Add;
1444
1445 END IF;
1446
1447 RETURN FALSE;
1448
1449 WHEN OTHERS THEN
1450
1451 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1452 THEN
1453 FND_MSG_PUB.Add_Exc_Msg
1454 ( G_PKG_NAME
1455 , 'Organization'
1456 );
1457 END IF;
1458
1459 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1460
1461 END Organization;
1462
1463 FUNCTION Outside_Processing_Acct ( p_outside_processing_acct IN NUMBER )
1464 RETURN BOOLEAN
1465 IS
1466 l_dummy VARCHAR2(10);
1467 BEGIN
1468
1469 IF p_outside_processing_acct IS NULL OR
1470 p_outside_processing_acct = FND_API.G_MISS_NUM
1471 THEN
1472 RETURN TRUE;
1473 END IF;
1474
1475 -- SELECT 'VALID'
1476 -- INTO l_dummy
1477 -- FROM DB_TABLE
1478 -- WHERE DB_COLUMN = p_outside_processing_acct;
1479
1480 RETURN TRUE;
1481
1482 EXCEPTION
1483
1484 WHEN NO_DATA_FOUND THEN
1485
1486 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1487 THEN
1488
1489 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1490 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','outside_processing_acct');
1491 FND_MSG_PUB.Add;
1492
1493 END IF;
1494
1495 RETURN FALSE;
1496
1497 WHEN OTHERS THEN
1498
1499 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1500 THEN
1501 FND_MSG_PUB.Add_Exc_Msg
1502 ( G_PKG_NAME
1503 , 'Outside_Processing_Acct'
1504 );
1505 END IF;
1506
1507 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1508
1509 END Outside_Processing_Acct;
1510
1511 FUNCTION Outside_Proc_Var_Acct ( p_outside_proc_var_acct IN NUMBER )
1512 RETURN BOOLEAN
1513 IS
1514 l_dummy VARCHAR2(10);
1515 BEGIN
1516
1517 IF p_outside_proc_var_acct IS NULL OR
1518 p_outside_proc_var_acct = FND_API.G_MISS_NUM
1519 THEN
1520 RETURN TRUE;
1521 END IF;
1522
1523 -- SELECT 'VALID'
1524 -- INTO l_dummy
1525 -- FROM DB_TABLE
1526 -- WHERE DB_COLUMN = p_outside_proc_var_acct;
1527
1528 RETURN TRUE;
1529
1530 EXCEPTION
1531
1532 WHEN NO_DATA_FOUND THEN
1533
1534 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1535 THEN
1536
1537 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1538 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','outside_proc_var_acct');
1539 FND_MSG_PUB.Add;
1540
1541 END IF;
1542
1543 RETURN FALSE;
1544
1545 WHEN OTHERS THEN
1546
1547 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1548 THEN
1549 FND_MSG_PUB.Add_Exc_Msg
1550 ( G_PKG_NAME
1551 , 'Outside_Proc_Var_Acct'
1552 );
1553 END IF;
1554
1555 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1556
1557 END Outside_Proc_Var_Acct;
1558
1559 FUNCTION Overhead_Account ( p_overhead_account IN NUMBER )
1560 RETURN BOOLEAN
1561 IS
1562 l_dummy VARCHAR2(10);
1563 BEGIN
1564
1565 IF p_overhead_account IS NULL OR
1566 p_overhead_account = FND_API.G_MISS_NUM
1567 THEN
1568 RETURN TRUE;
1569 END IF;
1570
1571 -- SELECT 'VALID'
1572 -- INTO l_dummy
1573 -- FROM DB_TABLE
1574 -- WHERE DB_COLUMN = p_overhead_account;
1575
1576 RETURN TRUE;
1577
1578 EXCEPTION
1579
1580 WHEN NO_DATA_FOUND THEN
1581
1582 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1583 THEN
1584
1585 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1586 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overhead_account');
1587 FND_MSG_PUB.Add;
1588
1589 END IF;
1590
1591 RETURN FALSE;
1592
1593 WHEN OTHERS THEN
1594
1595 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1596 THEN
1597 FND_MSG_PUB.Add_Exc_Msg
1598 ( G_PKG_NAME
1599 , 'Overhead_Account'
1600 );
1601 END IF;
1602
1603 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1604
1605 END Overhead_Account;
1606
1607 FUNCTION Overhead_Variance_Account ( p_overhead_variance_account IN NUMBER )
1608 RETURN BOOLEAN
1609 IS
1610 l_dummy VARCHAR2(10);
1611 BEGIN
1612
1613 IF p_overhead_variance_account IS NULL OR
1614 p_overhead_variance_account = FND_API.G_MISS_NUM
1615 THEN
1616 RETURN TRUE;
1617 END IF;
1618
1619 -- SELECT 'VALID'
1620 -- INTO l_dummy
1621 -- FROM DB_TABLE
1622 -- WHERE DB_COLUMN = p_overhead_variance_account;
1623
1624 RETURN TRUE;
1625
1626 EXCEPTION
1627
1628 WHEN NO_DATA_FOUND THEN
1629
1630 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1631 THEN
1632
1633 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1634 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overhead_variance_account');
1635 FND_MSG_PUB.Add;
1636
1637 END IF;
1638
1639 RETURN FALSE;
1640
1641 WHEN OTHERS THEN
1642
1643 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1644 THEN
1645 FND_MSG_PUB.Add_Exc_Msg
1646 ( G_PKG_NAME
1647 , 'Overhead_Variance_Account'
1648 );
1649 END IF;
1650
1651 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1652
1653 END Overhead_Variance_Account;
1654
1655 FUNCTION Planned_Quantity ( p_planned_quantity IN NUMBER )
1656 RETURN BOOLEAN
1657 IS
1658 l_dummy VARCHAR2(10);
1659 BEGIN
1660
1661 IF p_planned_quantity IS NULL OR
1662 p_planned_quantity = FND_API.G_MISS_NUM
1663 THEN
1664 RETURN TRUE;
1665 END IF;
1666
1667 SELECT 'VALID'
1668 INTO l_dummy
1669 FROM DUAL
1670 WHERE p_planned_quantity >= 0;
1671
1672 RETURN TRUE;
1673
1674 EXCEPTION
1675
1676 WHEN NO_DATA_FOUND THEN
1677
1678 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1679 THEN
1680
1681 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_PLANNED_QTY');
1682 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_planned_quantity);
1683 FND_MSG_PUB.Add;
1684
1685 END IF;
1686
1687 RETURN FALSE;
1688
1689 WHEN OTHERS THEN
1690
1691 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1692 THEN
1693 FND_MSG_PUB.Add_Exc_Msg
1694 ( G_PKG_NAME
1695 , 'Planned_Quantity'
1696 );
1697 END IF;
1698
1699 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1700
1701 END Planned_Quantity;
1702
1703 FUNCTION Primary_Item ( p_primary_item_id IN NUMBER )
1704 RETURN BOOLEAN
1705 IS
1706 l_dummy VARCHAR2(10);
1707 BEGIN
1708
1709 IF p_primary_item_id IS NULL OR
1710 p_primary_item_id = FND_API.G_MISS_NUM
1711 THEN
1712 RETURN TRUE;
1713 END IF;
1714
1715 -- SELECT 'VALID'
1716 -- INTO l_dummy
1717 -- FROM DB_TABLE
1718 -- WHERE DB_COLUMN = p_primary_item_id;
1719
1720 RETURN TRUE;
1721
1722 EXCEPTION
1723
1724 WHEN NO_DATA_FOUND THEN
1725
1726 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1727 THEN
1728
1729 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1730 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_item');
1731 FND_MSG_PUB.Add;
1732
1733 END IF;
1734
1735 RETURN FALSE;
1736
1737 WHEN OTHERS THEN
1738
1739 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1740 THEN
1741 FND_MSG_PUB.Add_Exc_Msg
1742 ( G_PKG_NAME
1743 , 'Primary_Item'
1744 );
1745 END IF;
1746
1747 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1748
1749 END Primary_Item;
1750
1751 FUNCTION Program_Application ( p_program_application_id IN NUMBER )
1752 RETURN BOOLEAN
1753 IS
1754 l_dummy VARCHAR2(10);
1755 BEGIN
1756
1757 IF p_program_application_id IS NULL OR
1758 p_program_application_id = FND_API.G_MISS_NUM
1759 THEN
1760 RETURN TRUE;
1761 END IF;
1762
1763 -- SELECT 'VALID'
1764 -- INTO l_dummy
1765 -- FROM DB_TABLE
1766 -- WHERE DB_COLUMN = p_program_application_id;
1767
1768 RETURN TRUE;
1769
1770 EXCEPTION
1771
1772 WHEN NO_DATA_FOUND THEN
1773
1774 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1775 THEN
1776
1777 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1778 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','program_application');
1779 FND_MSG_PUB.Add;
1780
1781 END IF;
1782
1783 RETURN FALSE;
1784
1785 WHEN OTHERS THEN
1786
1787 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1788 THEN
1789 FND_MSG_PUB.Add_Exc_Msg
1790 ( G_PKG_NAME
1791 , 'Program_Application'
1792 );
1793 END IF;
1794
1795 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1796
1797 END Program_Application;
1798
1799 FUNCTION Program ( p_program_id IN NUMBER )
1800 RETURN BOOLEAN
1801 IS
1802 l_dummy VARCHAR2(10);
1803 BEGIN
1804
1805 IF p_program_id IS NULL OR
1806 p_program_id = FND_API.G_MISS_NUM
1807 THEN
1808 RETURN TRUE;
1809 END IF;
1810
1811 -- SELECT 'VALID'
1812 -- INTO l_dummy
1813 -- FROM DB_TABLE
1814 -- WHERE DB_COLUMN = p_program_id;
1815
1816 RETURN TRUE;
1817
1818 EXCEPTION
1819
1820 WHEN NO_DATA_FOUND THEN
1821
1822 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1823 THEN
1824
1825 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1826 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','program');
1827 FND_MSG_PUB.Add;
1828
1829 END IF;
1830
1831 RETURN FALSE;
1832
1833 WHEN OTHERS THEN
1834
1835 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1836 THEN
1837 FND_MSG_PUB.Add_Exc_Msg
1838 ( G_PKG_NAME
1839 , 'Program'
1840 );
1841 END IF;
1842
1843 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1844
1845 END Program;
1846
1847 FUNCTION Program_Update_Date ( p_program_update_date IN DATE )
1848 RETURN BOOLEAN
1849 IS
1850 l_dummy VARCHAR2(10);
1851 BEGIN
1852
1853 IF p_program_update_date IS NULL OR
1854 p_program_update_date = FND_API.G_MISS_DATE
1855 THEN
1856 RETURN TRUE;
1857 END IF;
1858
1859 -- SELECT 'VALID'
1860 -- INTO l_dummy
1861 -- FROM DB_TABLE
1862 -- WHERE DB_COLUMN = p_program_update_date;
1863
1864 RETURN TRUE;
1865
1866 EXCEPTION
1867
1868 WHEN NO_DATA_FOUND THEN
1869
1870 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1871 THEN
1872
1873 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
1874 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','program_update_date');
1875 FND_MSG_PUB.Add;
1876
1877 END IF;
1878
1879 RETURN FALSE;
1880
1881 WHEN OTHERS THEN
1882
1883 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1884 THEN
1885 FND_MSG_PUB.Add_Exc_Msg
1886 ( G_PKG_NAME
1887 , 'Program_Update_Date'
1888 );
1889 END IF;
1890
1891 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1892
1893 END Program_Update_Date;
1894
1895 FUNCTION Project ( p_project_id IN NUMBER )
1896 RETURN BOOLEAN
1897 IS
1898 l_dummy VARCHAR2(10);
1899 BEGIN
1900
1901 IF p_project_id IS NULL OR
1902 p_project_id = FND_API.G_MISS_NUM
1903 THEN
1904 RETURN TRUE;
1905 END IF;
1906
1907 SELECT 'VALID'
1908 INTO l_dummy
1909 FROM MTL_PROJECT_V
1910 WHERE PROJECT_ID = p_project_id;
1911
1912 RETURN TRUE;
1913
1914 EXCEPTION
1915
1916 WHEN NO_DATA_FOUND THEN
1917
1918 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1919 THEN
1920
1921 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_PROJECT');
1922 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_project_id);
1923 FND_MSG_PUB.Add;
1924
1925 END IF;
1926
1927 RETURN FALSE;
1928
1929 WHEN OTHERS THEN
1930
1931 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1932 THEN
1933 FND_MSG_PUB.Add_Exc_Msg
1934 ( G_PKG_NAME
1935 , 'Project'
1936 );
1937 END IF;
1938
1939 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1940
1941 END Project;
1942
1943 FUNCTION Quantity_Completed ( p_quantity_completed IN NUMBER )
1944 RETURN BOOLEAN
1945 IS
1946 l_dummy VARCHAR2(10);
1947 BEGIN
1948
1949 IF p_quantity_completed IS NULL OR
1950 p_quantity_completed = FND_API.G_MISS_NUM
1951 THEN
1952 RETURN TRUE;
1953 END IF;
1954
1955 SELECT 'VALID'
1956 INTO l_dummy
1957 FROM DUAL
1958 WHERE p_quantity_completed >= 0;
1959
1960 RETURN TRUE;
1961
1962 EXCEPTION
1963
1964 WHEN NO_DATA_FOUND THEN
1965
1966 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1967 THEN
1968
1969 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_QTY_COMPLETED');
1970 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_quantity_completed);
1971 FND_MSG_PUB.Add;
1972
1973 END IF;
1974
1975 RETURN FALSE;
1976
1977 WHEN OTHERS THEN
1978
1979 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1980 THEN
1981 FND_MSG_PUB.Add_Exc_Msg
1982 ( G_PKG_NAME
1983 , 'Quantity_Completed'
1984 );
1985 END IF;
1986
1987 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1988
1989 END Quantity_Completed;
1990
1991 FUNCTION Request ( p_request_id IN NUMBER )
1992 RETURN BOOLEAN
1993 IS
1994 l_dummy VARCHAR2(10);
1995 BEGIN
1996
1997 IF p_request_id IS NULL OR
1998 p_request_id = FND_API.G_MISS_NUM
1999 THEN
2000 RETURN TRUE;
2001 END IF;
2002
2003 -- SELECT 'VALID'
2004 -- INTO l_dummy
2005 -- FROM DB_TABLE
2006 -- WHERE DB_COLUMN = p_request_id;
2007
2008 RETURN TRUE;
2009
2010 EXCEPTION
2011
2012 WHEN NO_DATA_FOUND THEN
2013
2014 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2015 THEN
2016
2017 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2018 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','request');
2019 FND_MSG_PUB.Add;
2020
2021 END IF;
2022
2023 RETURN FALSE;
2024
2025 WHEN OTHERS THEN
2026
2027 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2028 THEN
2029 FND_MSG_PUB.Add_Exc_Msg
2030 ( G_PKG_NAME
2031 , 'Request'
2032 );
2033 END IF;
2034
2035 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2036
2037 END Request;
2038
2039 FUNCTION Resource_Account ( p_resource_account IN NUMBER )
2040 RETURN BOOLEAN
2041 IS
2042 l_dummy VARCHAR2(10);
2043 BEGIN
2044
2045 IF p_resource_account IS NULL OR
2046 p_resource_account = FND_API.G_MISS_NUM
2047 THEN
2048 RETURN TRUE;
2049 END IF;
2050
2051 -- SELECT 'VALID'
2052 -- INTO l_dummy
2053 -- FROM DB_TABLE
2054 -- WHERE DB_COLUMN = p_resource_account;
2055
2056 RETURN TRUE;
2057
2058 EXCEPTION
2059
2060 WHEN NO_DATA_FOUND THEN
2061
2062 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2063 THEN
2064
2065 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2066 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','resource_account');
2067 FND_MSG_PUB.Add;
2068
2069 END IF;
2070
2071 RETURN FALSE;
2072
2073 WHEN OTHERS THEN
2074
2075 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2076 THEN
2077 FND_MSG_PUB.Add_Exc_Msg
2078 ( G_PKG_NAME
2079 , 'Resource_Account'
2080 );
2081 END IF;
2082
2083 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2084
2085 END Resource_Account;
2086
2087 FUNCTION Resource_Variance_Account ( p_resource_variance_account IN NUMBER )
2088 RETURN BOOLEAN
2089 IS
2090 l_dummy VARCHAR2(10);
2091 BEGIN
2092
2093 IF p_resource_variance_account IS NULL OR
2094 p_resource_variance_account = FND_API.G_MISS_NUM
2095 THEN
2096 RETURN TRUE;
2097 END IF;
2098
2099 -- SELECT 'VALID'
2100 -- INTO l_dummy
2101 -- FROM DB_TABLE
2102 -- WHERE DB_COLUMN = p_resource_variance_account;
2103
2104 RETURN TRUE;
2105
2106 EXCEPTION
2107
2108 WHEN NO_DATA_FOUND THEN
2109
2110 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2111 THEN
2112
2113 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2114 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','resource_variance_account');
2115 FND_MSG_PUB.Add;
2116
2117 END IF;
2118
2119 RETURN FALSE;
2120
2121 WHEN OTHERS THEN
2122
2123 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2124 THEN
2125 FND_MSG_PUB.Add_Exc_Msg
2126 ( G_PKG_NAME
2127 , 'Resource_Variance_Account'
2128 );
2129 END IF;
2130
2131 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2132
2133 END Resource_Variance_Account;
2134
2135 FUNCTION Routing_Revision ( p_routing_revision IN VARCHAR2 )
2136 RETURN BOOLEAN
2137 IS
2138 l_dummy VARCHAR2(10);
2139 BEGIN
2140
2141 IF p_routing_revision IS NULL OR
2142 p_routing_revision = FND_API.G_MISS_CHAR
2143 THEN
2144 RETURN TRUE;
2145 END IF;
2146
2147 -- SELECT 'VALID'
2148 -- INTO l_dummy
2149 -- FROM DB_TABLE
2150 -- WHERE DB_COLUMN = p_routing_revision;
2151
2152 RETURN TRUE;
2153
2154 EXCEPTION
2155
2156 WHEN NO_DATA_FOUND THEN
2157
2158 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2159 THEN
2160
2161 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2162 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','routing_revision');
2163 FND_MSG_PUB.Add;
2164
2165 END IF;
2166
2167 RETURN FALSE;
2168
2169 WHEN OTHERS THEN
2170
2171 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2172 THEN
2173 FND_MSG_PUB.Add_Exc_Msg
2174 ( G_PKG_NAME
2175 , 'Routing_Revision'
2176 );
2177 END IF;
2178
2179 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2180
2181 END Routing_Revision;
2182
2183 FUNCTION Routing_Revision_Date ( p_routing_revision_date IN DATE )
2184 RETURN BOOLEAN
2185 IS
2186 l_dummy VARCHAR2(10);
2187 BEGIN
2188
2189 IF p_routing_revision_date IS NULL OR
2190 p_routing_revision_date = FND_API.G_MISS_DATE
2191 THEN
2192 RETURN TRUE;
2193 END IF;
2194
2195 -- SELECT 'VALID'
2196 -- INTO l_dummy
2197 -- FROM DB_TABLE
2198 -- WHERE DB_COLUMN = p_routing_revision_date;
2199
2200 RETURN TRUE;
2201
2202 EXCEPTION
2203
2204 WHEN NO_DATA_FOUND THEN
2205
2206 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2207 THEN
2208
2209 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2210 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','routing_revision_date');
2211 FND_MSG_PUB.Add;
2212
2213 END IF;
2214
2215 RETURN FALSE;
2216
2217 WHEN OTHERS THEN
2218
2219 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2220 THEN
2221 FND_MSG_PUB.Add_Exc_Msg
2222 ( G_PKG_NAME
2223 , 'Routing_Revision_Date'
2224 );
2225 END IF;
2226
2227 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2228
2229 END Routing_Revision_Date;
2230
2231 FUNCTION Scheduled_Completion_Date ( p_scheduled_completion_date IN DATE )
2232 RETURN BOOLEAN
2233 IS
2234 l_dummy VARCHAR2(10);
2235 BEGIN
2236
2237 IF p_scheduled_completion_date IS NULL OR
2238 p_scheduled_completion_date = FND_API.G_MISS_DATE
2239 THEN
2240 RETURN TRUE;
2241 END IF;
2242
2243 -- SELECT 'VALID'
2244 -- INTO l_dummy
2245 -- FROM DB_TABLE
2246 -- WHERE DB_COLUMN = p_scheduled_completion_date;
2247
2248 RETURN TRUE;
2249
2250 EXCEPTION
2251
2252 WHEN NO_DATA_FOUND THEN
2253
2254 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2255 THEN
2256
2257 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2258 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','scheduled_completion_date');
2259 FND_MSG_PUB.Add;
2260
2261 END IF;
2262
2263 RETURN FALSE;
2264
2265 WHEN OTHERS THEN
2266
2267 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2268 THEN
2269 FND_MSG_PUB.Add_Exc_Msg
2270 ( G_PKG_NAME
2271 , 'Scheduled_Completion_Date'
2272 );
2273 END IF;
2274
2275 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2276
2277 END Scheduled_Completion_Date;
2278
2279 FUNCTION Scheduled ( p_scheduled_flag IN NUMBER )
2280 RETURN BOOLEAN
2281 IS
2282 l_dummy VARCHAR2(10);
2283 BEGIN
2284
2285 IF p_scheduled_flag IS NULL OR
2286 p_scheduled_flag = FND_API.G_MISS_NUM
2287 THEN
2288 RETURN TRUE;
2289 END IF;
2290
2291 SELECT 'VALID'
2292 INTO l_dummy
2293 FROM DUAL
2294 WHERE p_scheduled_flag in (1,2,3);
2295
2296 RETURN TRUE;
2297
2298 EXCEPTION
2299
2300 WHEN NO_DATA_FOUND THEN
2301
2302 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2303 THEN
2304
2305 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_SCH_FLAG');
2306 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_scheduled_flag);
2307 FND_MSG_PUB.Add;
2308
2309 END IF;
2310
2311 RETURN FALSE;
2312
2313 WHEN OTHERS THEN
2314
2315 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2316 THEN
2317 FND_MSG_PUB.Add_Exc_Msg
2318 ( G_PKG_NAME
2319 , 'Scheduled'
2320 );
2321 END IF;
2322
2323 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2324
2325 END Scheduled;
2326
2327 FUNCTION Scheduled_Start_Date ( p_scheduled_start_date IN DATE )
2328 RETURN BOOLEAN
2329 IS
2330 l_dummy VARCHAR2(10);
2331 BEGIN
2332
2333 IF p_scheduled_start_date IS NULL OR
2334 p_scheduled_start_date = FND_API.G_MISS_DATE
2335 THEN
2336 RETURN TRUE;
2337 END IF;
2338
2339 -- SELECT 'VALID'
2340 -- INTO l_dummy
2341 -- FROM DB_TABLE
2342 -- WHERE DB_COLUMN = p_scheduled_start_date;
2343
2344 RETURN TRUE;
2345
2346 EXCEPTION
2347
2348 WHEN NO_DATA_FOUND THEN
2349
2350 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2351 THEN
2352
2353 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2354 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','scheduled_start_date');
2355 FND_MSG_PUB.Add;
2356
2357 END IF;
2358
2359 RETURN FALSE;
2360
2361 WHEN OTHERS THEN
2362
2363 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2364 THEN
2365 FND_MSG_PUB.Add_Exc_Msg
2366 ( G_PKG_NAME
2367 , 'Scheduled_Start_Date'
2368 );
2369 END IF;
2370
2371 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2372
2373 END Scheduled_Start_Date;
2374
2375 FUNCTION Schedule_Group ( p_schedule_group_id IN NUMBER )
2376 RETURN BOOLEAN
2377 IS
2378 l_dummy VARCHAR2(10);
2379 BEGIN
2380
2381 IF p_schedule_group_id IS NULL OR
2382 p_schedule_group_id = FND_API.G_MISS_NUM
2383 THEN
2384 RETURN TRUE;
2385 END IF;
2386
2387 -- SELECT 'VALID'
2388 -- INTO l_dummy
2389 -- FROM DB_TABLE
2390 -- WHERE DB_COLUMN = p_schedule_group_id;
2391
2392 RETURN TRUE;
2393
2394 EXCEPTION
2395
2396 WHEN NO_DATA_FOUND THEN
2397
2398 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2399 THEN
2400
2401 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2402 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','schedule_group');
2403 FND_MSG_PUB.Add;
2404
2405 END IF;
2406
2407 RETURN FALSE;
2408
2409 WHEN OTHERS THEN
2410
2411 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2412 THEN
2413 FND_MSG_PUB.Add_Exc_Msg
2414 ( G_PKG_NAME
2415 , 'Schedule_Group'
2416 );
2417 END IF;
2418
2419 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2420
2421 END Schedule_Group;
2422
2423 FUNCTION Schedule_Number ( p_schedule_number IN VARCHAR2 )
2424 RETURN BOOLEAN
2425 IS
2426 l_dummy VARCHAR2(10);
2427 BEGIN
2428
2429 IF p_schedule_number IS NULL OR
2430 p_schedule_number = FND_API.G_MISS_CHAR
2431 THEN
2432 RETURN TRUE;
2433 END IF;
2434
2435 -- SELECT 'VALID'
2436 -- INTO l_dummy
2437 -- FROM DB_TABLE
2438 -- WHERE DB_COLUMN = p_schedule_number;
2439
2440 RETURN TRUE;
2441
2442 EXCEPTION
2443
2444 WHEN NO_DATA_FOUND THEN
2445
2446 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2447 THEN
2448
2449 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2450 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','schedule_number');
2451 FND_MSG_PUB.Add;
2452
2453 END IF;
2454
2455 RETURN FALSE;
2456
2457 WHEN OTHERS THEN
2458
2459 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2460 THEN
2461 FND_MSG_PUB.Add_Exc_Msg
2462 ( G_PKG_NAME
2463 , 'Schedule_Number'
2464 );
2465 END IF;
2466
2467 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2468
2469 END Schedule_Number;
2470
2471 FUNCTION Status ( p_status IN NUMBER )
2472 RETURN BOOLEAN
2473 IS
2474 l_dummy VARCHAR2(10);
2475 BEGIN
2476
2477 IF p_status IS NULL OR
2478 p_status = FND_API.G_MISS_NUM
2479 THEN
2480 RETURN TRUE;
2481 END IF;
2482
2483 -- SELECT 'VALID'
2484 -- INTO l_dummy
2485 -- FROM DB_TABLE
2486 -- WHERE DB_COLUMN = p_status;
2487
2488 RETURN TRUE;
2489
2490 EXCEPTION
2491
2492 WHEN NO_DATA_FOUND THEN
2493
2494 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2495 THEN
2496
2497 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_STATUS');
2498 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_status);
2499 FND_MSG_PUB.Add;
2500
2501 END IF;
2502
2503 RETURN FALSE;
2504
2505 WHEN OTHERS THEN
2506
2507 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2508 THEN
2509 FND_MSG_PUB.Add_Exc_Msg
2510 ( G_PKG_NAME
2511 , 'Status'
2512 );
2513 END IF;
2514
2515 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2516
2517 END Status;
2518
2519 FUNCTION Std_Cost_Adjustment_Acct ( p_std_cost_adjustment_acct IN NUMBER )
2520 RETURN BOOLEAN
2521 IS
2522 l_dummy VARCHAR2(10);
2523 BEGIN
2524
2525 IF p_std_cost_adjustment_acct IS NULL OR
2526 p_std_cost_adjustment_acct = FND_API.G_MISS_NUM
2527 THEN
2528 RETURN TRUE;
2529 END IF;
2530
2531 -- SELECT 'VALID'
2532 -- INTO l_dummy
2533 -- FROM DB_TABLE
2534 -- WHERE DB_COLUMN = p_std_cost_adjustment_acct;
2535
2536 RETURN TRUE;
2537
2538 EXCEPTION
2539
2540 WHEN NO_DATA_FOUND THEN
2541
2542 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2543 THEN
2544
2545 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2546 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','std_cost_adjustment_acct');
2547 FND_MSG_PUB.Add;
2548
2549 END IF;
2550
2551 RETURN FALSE;
2552
2553 WHEN OTHERS THEN
2554
2555 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2556 THEN
2557 FND_MSG_PUB.Add_Exc_Msg
2558 ( G_PKG_NAME
2559 , 'Std_Cost_Adjustment_Acct'
2560 );
2561 END IF;
2562
2563 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2564
2565 END Std_Cost_Adjustment_Acct;
2566
2567 FUNCTION Task ( p_task_id IN NUMBER )
2568 RETURN BOOLEAN
2569 IS
2570 l_dummy VARCHAR2(10);
2571 BEGIN
2572
2573 IF p_task_id IS NULL OR
2574 p_task_id = FND_API.G_MISS_NUM
2575 THEN
2576 RETURN TRUE;
2577 END IF;
2578
2579 -- SELECT 'VALID'
2580 -- INTO l_dummy
2581 -- FROM DB_TABLE
2582 -- WHERE DB_COLUMN = p_task_id;
2583
2584 RETURN TRUE;
2585
2586 EXCEPTION
2587
2588 WHEN NO_DATA_FOUND THEN
2589
2590 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2591 THEN
2592
2593 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2594 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','task');
2595 FND_MSG_PUB.Add;
2596
2597 END IF;
2598
2599 RETURN FALSE;
2600
2601 WHEN OTHERS THEN
2602
2603 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2604 THEN
2605 FND_MSG_PUB.Add_Exc_Msg
2606 ( G_PKG_NAME
2607 , 'Task'
2608 );
2609 END IF;
2610
2611 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2612
2613 END Task;
2614
2615 FUNCTION Wip_Entity ( p_wip_entity_id IN NUMBER )
2616 RETURN BOOLEAN
2617 IS
2618 l_dummy VARCHAR2(10);
2619 BEGIN
2620
2621 IF p_wip_entity_id IS NULL OR
2622 p_wip_entity_id = FND_API.G_MISS_NUM
2623 THEN
2624 RETURN TRUE;
2625 END IF;
2626
2627 -- SELECT 'VALID'
2628 -- INTO l_dummy
2629 -- FROM WIP_ENTITIES
2630 -- WHERE WIP_ENTITY_ID = p_wip_entity_id;
2631
2632 RETURN TRUE;
2633
2634 EXCEPTION
2635
2636 WHEN NO_DATA_FOUND THEN
2637
2638 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2639 THEN
2640
2641 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2642 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','wip_entity');
2643 FND_MSG_PUB.Add;
2644
2645 END IF;
2646
2647 RETURN FALSE;
2648
2649 WHEN OTHERS THEN
2650
2651 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2652 THEN
2653 FND_MSG_PUB.Add_Exc_Msg
2654 ( G_PKG_NAME
2655 , 'Wip_Entity'
2656 );
2657 END IF;
2658
2659 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2660
2661 END Wip_Entity;
2662
2663
2664
2665
2666 FUNCTION End_Item_Unit_Number ( p_end_item_unit_number in VARCHAR2)
2667 RETURN BOOLEAN
2668 IS
2669 l_dummy VARCHAR2(10);
2670 BEGIN
2671
2672 IF p_end_item_unit_number IS NULL OR
2673 p_end_item_unit_number = FND_API.G_MISS_CHAR
2674 THEN
2675 RETURN TRUE;
2676 END IF;
2677
2678 SELECT 'VALID'
2679 INTO l_dummy
2680 FROM DUAL
2681 WHERE EXISTS (
2682 SELECT UNIT_NUMBER FROM pjm_unit_numbers_lov_v
2683 WHERE UNIT_NUMBER = p_end_item_unit_number);
2684
2685 RETURN TRUE;
2686
2687 EXCEPTION
2688
2689 WHEN NO_DATA_FOUND THEN
2690
2691 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2692 THEN
2693
2694 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_UNIT_NUMBER');
2695 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','end_item_unit_number');
2696 FND_MSG_PUB.Add;
2697
2698 END IF;
2699
2700 RETURN FALSE;
2701
2702 WHEN OTHERS THEN
2703
2704 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2705 THEN
2706 FND_MSG_PUB.Add_Exc_Msg
2707 ( G_PKG_NAME
2708 , 'End_Item_Unit_Number'
2709 );
2710 END IF;
2711
2712 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2713
2714 END End_Item_Unit_Number;
2715
2716
2717 FUNCTION Quantity_Scrapped ( p_quantity_scrapped in NUMBER)
2718 RETURN BOOLEAN
2719 IS
2720 BEGIN
2721
2722 IF p_quantity_scrapped IS NULL OR
2723 p_quantity_scrapped = FND_API.G_MISS_NUM
2724 THEN
2725 RETURN TRUE;
2726 END IF;
2727
2728 RETURN TRUE;
2729
2730 EXCEPTION
2731
2732 WHEN NO_DATA_FOUND THEN
2733
2734 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2735 THEN
2736
2737 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_ATTRIBUTE');
2738 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','quantity_scrapped');
2739 FND_MSG_PUB.Add;
2740
2741 END IF;
2742
2743 RETURN FALSE;
2744
2745 WHEN OTHERS THEN
2746
2747 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2748 THEN
2749 FND_MSG_PUB.Add_Exc_Msg
2750 ( G_PKG_NAME
2751 , 'quantity_scrapped'
2752 );
2753 END IF;
2754
2755 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2756
2757 END Quantity_Scrapped;
2758
2759 FUNCTION Assignment_Set
2760 ( p_Assignment_Set_Id IN NUMBER
2761 ) RETURN BOOLEAN
2762 IS
2763 l_dummy VARCHAR2(10);
2764 BEGIN
2765
2766 IF (p_Assignment_Set_Id IS NULL OR
2767 p_Assignment_Set_Id = FND_API.G_MISS_NUM)
2768 THEN
2769 RETURN TRUE;
2770 END IF;
2771
2772 RETURN TRUE;
2773
2774 EXCEPTION
2775
2776 WHEN NO_DATA_FOUND THEN
2777
2778 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2779 THEN
2780
2781 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_KEY');
2782 FND_MESSAGE.SET_TOKEN('KEY','Assignment_Set');
2783 FND_MSG_PUB.Add;
2784
2785 END IF;
2786
2787 RETURN FALSE;
2788
2789 WHEN OTHERS THEN
2790
2791 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2792 THEN
2793 FND_MSG_PUB.Add_Exc_Msg
2794 ( G_PKG_NAME
2795 , 'Assignment_Set'
2796 );
2797 END IF;
2798
2799 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2800
2801 END Assignment_Set;
2802
2803 FUNCTION Assignment
2804 ( p_Assignment_Id IN NUMBER
2805 ) RETURN BOOLEAN
2806 IS
2807 l_dummy VARCHAR2(10);
2808 BEGIN
2809
2810 IF (p_Assignment_Id IS NULL OR
2811 p_Assignment_Id = FND_API.G_MISS_NUM)
2812 THEN
2813 RETURN TRUE;
2814 END IF;
2815
2816 RETURN TRUE;
2817
2818 EXCEPTION
2819
2820 WHEN NO_DATA_FOUND THEN
2821
2822 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2823 THEN
2824
2825 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_KEY');
2826 FND_MESSAGE.SET_TOKEN('KEY','Assignment');
2827 FND_MSG_PUB.Add;
2828
2829 END IF;
2830
2831 RETURN FALSE;
2832
2833 WHEN OTHERS THEN
2834
2835 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2836 THEN
2837 FND_MSG_PUB.Add_Exc_Msg
2838 ( G_PKG_NAME
2839 , 'Assignment'
2840 );
2841 END IF;
2842
2843 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2844
2845 END Assignment;
2846
2847 FUNCTION Sourcing_Rule
2848 ( p_Sourcing_Rule_Id IN NUMBER
2849 ) RETURN BOOLEAN
2850 IS
2851 l_dummy VARCHAR2(10);
2852 BEGIN
2853
2854 IF (p_Sourcing_Rule_Id IS NULL OR
2855 p_Sourcing_Rule_Id = FND_API.G_MISS_NUM)
2856 THEN
2857 RETURN TRUE;
2858 END IF;
2859
2860 RETURN TRUE;
2861
2862 EXCEPTION
2863
2864 WHEN NO_DATA_FOUND THEN
2865
2866 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2867 THEN
2868
2869 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_KEY');
2870 FND_MESSAGE.SET_TOKEN('KEY','Sourcing_Rule');
2871 FND_MSG_PUB.Add;
2872
2873 END IF;
2874
2875 RETURN FALSE;
2876
2877 WHEN OTHERS THEN
2878
2879 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2880 THEN
2881 FND_MSG_PUB.Add_Exc_Msg
2882 ( G_PKG_NAME
2883 , 'Sourcing_Rule'
2884 );
2885 END IF;
2886
2887 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2888
2889 END Sourcing_Rule;
2890
2891 FUNCTION Receiving_Org
2892 ( p_Sr_Receipt_Id IN NUMBER
2893 ) RETURN BOOLEAN
2894 IS
2895 l_dummy VARCHAR2(10);
2896 BEGIN
2897
2898 IF (p_Sr_Receipt_Id IS NULL OR
2899 p_Sr_Receipt_Id = FND_API.G_MISS_NUM)
2900 THEN
2901 RETURN TRUE;
2902 END IF;
2903
2904 RETURN TRUE;
2905
2906 EXCEPTION
2907
2908 WHEN NO_DATA_FOUND THEN
2909
2910 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2911 THEN
2912
2913 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_KEY');
2914 FND_MESSAGE.SET_TOKEN('KEY','Receiving_Org');
2915 FND_MSG_PUB.Add;
2916
2917 END IF;
2918
2919 RETURN FALSE;
2920
2921 WHEN OTHERS THEN
2922
2923 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2924 THEN
2925 FND_MSG_PUB.Add_Exc_Msg
2926 ( G_PKG_NAME
2927 , 'Receiving_Org'
2928 );
2929 END IF;
2930
2931 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2932
2933 END Receiving_Org;
2934
2935 FUNCTION Shipping_Org
2936 ( p_Sr_Source_Id IN NUMBER
2937 ) RETURN BOOLEAN
2938 IS
2939 l_dummy VARCHAR2(10);
2940 BEGIN
2941
2942 IF (p_Sr_Source_Id IS NULL OR
2943 p_Sr_Source_Id = FND_API.G_MISS_NUM)
2944 THEN
2945 RETURN TRUE;
2946 END IF;
2947
2948 RETURN TRUE;
2949
2950 EXCEPTION
2951
2952 WHEN NO_DATA_FOUND THEN
2953
2954 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2955 THEN
2956
2957 FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_KEY');
2958 FND_MESSAGE.SET_TOKEN('KEY','Shipping_Org');
2959 FND_MSG_PUB.Add;
2960
2961 END IF;
2962
2963 RETURN FALSE;
2964
2965 WHEN OTHERS THEN
2966
2967 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2968 THEN
2969 FND_MSG_PUB.Add_Exc_Msg
2970 ( G_PKG_NAME
2971 , 'Shipping_Org'
2972 );
2973 END IF;
2974
2975 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2976
2977 END Shipping_Org;
2978 -- END GEN validate
2979
2980 END MRP_Validate;