1 PACKAGE BODY MRP_Validate_Receiving_Org AS
2 /* $Header: MRPLRCOB.pls 120.1 2005/06/16 10:03:04 ichoudhu noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'MRP_Validate_Receiving_Org';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY VARCHAR2
12 , p_Receiving_Org_rec IN MRP_Sourcing_Rule_PUB.Receiving_Org_Rec_Type
13 , p_old_Receiving_Org_rec IN MRP_Sourcing_Rule_PUB.Receiving_Org_Rec_Type :=
14 MRP_Sourcing_Rule_PUB.G_MISS_RECEIVING_ORG_REC
15 )
16 IS
17 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 BEGIN
19
20 -- Check required attributes.
21
22 IF p_Receiving_Org_rec.Sr_Receipt_Id IS NULL
23 THEN
24
25 l_return_status := FND_API.G_RET_STS_ERROR;
26
27 dbms_output.put_line ('Error - Sr_Receipt_Id is null');
28
29 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
30 THEN
31
32 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
33 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Sr_Receipt_Id');
34 FND_MSG_PUB.Add;
35
36 END IF;
37
38 END IF;
39
40 --
41 -- Check rest of required attributes here.
42 --
43
44
45 -- Return Error if a required attribute is missing.
46
47 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
48
49 RAISE FND_API.G_EXC_ERROR;
50
51 END IF;
52
53 --
54 -- Check conditionally required attributes here.
55 --
56
57
58 --
59 -- Validate attribute dependencies here.
60 --
61
62
63 -- Done validating entity
64
65 x_return_status := l_return_status;
66
67 EXCEPTION
68
69 WHEN FND_API.G_EXC_ERROR THEN
70
71 x_return_status := FND_API.G_RET_STS_ERROR;
72
73 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
74
75 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
76
77 WHEN OTHERS THEN
78
79 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
80
81 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
82 THEN
83 FND_MSG_PUB.Add_Exc_Msg
84 ( G_PKG_NAME
85 , 'Entity'
86 );
87 END IF;
88
89 END Entity;
90
91 -- Procedure Entity_Delete
92
93 PROCEDURE Entity_Delete
94 ( x_return_status OUT NOCOPY VARCHAR2
95 , p_Receiving_Org_rec IN MRP_Sourcing_Rule_PUB.Receiving_Org_Rec_Type
96 )
97 IS
98 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
99
100 l_count NUMBER;
101
102 BEGIN
103
104 -- Validate entity delete.
105
106 -- Check to see if this is the only receiving Org that is
107 -- associated with the Sourcing Rule. If yes do not allow delete
108
109 SELECT count(*)
110 INTO l_count
111 FROM MRP_SR_RECEIPT_ORG
112 WHERE sourcing_rule_id = p_Receiving_Org_rec.sourcing_rule_id
113 AND sr_receipt_id <> p_Receiving_Org_rec.sr_receipt_id;
114
115 IF l_count = 0 THEN
116 dbms_output.put_line ('This is the only rec. org for the s rule');
117 FND_MESSAGE.SET_NAME('MRP','MRP_OPERATION_ERROR');
118 FND_MESSAGE.SET_TOKEN('OPERATION','DELETE');
119 FND_MESSAGE.SET_TOKEN('ENTITY','Receiving_Org');
120 FND_MESSAGE.SET_TOKEN('DETAILS',
121 'There is only one Receiving Organization for the Sourcing Rule');
122 FND_MSG_PUB.Add;
123 l_return_status := FND_API.G_RET_STS_ERROR;
124 END IF;
125
126 -- Done.
127
128 x_return_status := l_return_status;
129
130 EXCEPTION
131
132 WHEN FND_API.G_EXC_ERROR THEN
133
134 x_return_status := FND_API.G_RET_STS_ERROR;
135
136 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
137
138 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139
140 WHEN OTHERS THEN
141
142 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143
144 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
145 THEN
146 FND_MSG_PUB.Add_Exc_Msg
147 ( G_PKG_NAME
148 , 'Entity_Delete'
149 );
150 END IF;
151
152 END Entity_Delete;
153
154 -- Procedure Attributes
155
156 PROCEDURE Attributes
157 ( x_return_status OUT NOCOPY VARCHAR2
158 , p_Receiving_Org_rec IN MRP_Sourcing_Rule_PUB.Receiving_Org_Rec_Type
159 , p_old_Receiving_Org_rec IN MRP_Sourcing_Rule_PUB.Receiving_Org_Rec_Type :=
160 MRP_Sourcing_Rule_PUB.G_MISS_RECEIVING_ORG_REC
161 )
162 IS
163 BEGIN
164
165 x_return_status := FND_API.G_RET_STS_SUCCESS;
166
167 -- Validate Receiving_Org attributes
168
169 IF (p_Receiving_Org_rec.Sr_Receipt_Id IS NOT NULL AND
170 ( p_Receiving_Org_rec.Sr_Receipt_Id <>
171 p_old_Receiving_Org_rec.Sr_Receipt_Id OR
172 p_old_Receiving_Org_rec.Sr_Receipt_Id IS NULL ))
173 THEN
174 IF NOT MRP_Validate.Receiving_Org
175 ( p_Receiving_Org_rec.Sr_Receipt_Id
176 )
177 THEN
178 x_return_status := FND_API.G_RET_STS_ERROR;
179 END IF;
180 END IF;
181
182 IF p_Receiving_Org_rec.Attribute1 IS NOT NULL AND
183 ( p_Receiving_Org_rec.Attribute1 <>
184 p_old_Receiving_Org_rec.Attribute1 OR
185 p_old_Receiving_Org_rec.Attribute1 IS NULL )
186 THEN
187 IF NOT Val_Attribute1(p_Receiving_Org_rec.Attribute1) THEN
188 x_return_status := FND_API.G_RET_STS_ERROR;
189 END IF;
190 END IF;
191
192 IF p_Receiving_Org_rec.Attribute10 IS NOT NULL AND
193 ( p_Receiving_Org_rec.Attribute10 <>
194 p_old_Receiving_Org_rec.Attribute10 OR
195 p_old_Receiving_Org_rec.Attribute10 IS NULL )
196 THEN
197 IF NOT Val_Attribute10(p_Receiving_Org_rec.Attribute10) THEN
198 x_return_status := FND_API.G_RET_STS_ERROR;
199 END IF;
200 END IF;
201
202 IF p_Receiving_Org_rec.Attribute11 IS NOT NULL AND
203 ( p_Receiving_Org_rec.Attribute11 <>
204 p_old_Receiving_Org_rec.Attribute11 OR
205 p_old_Receiving_Org_rec.Attribute11 IS NULL )
206 THEN
207 IF NOT Val_Attribute11(p_Receiving_Org_rec.Attribute11) THEN
208 x_return_status := FND_API.G_RET_STS_ERROR;
209 END IF;
210 END IF;
211
212 IF p_Receiving_Org_rec.Attribute12 IS NOT NULL AND
213 ( p_Receiving_Org_rec.Attribute12 <>
214 p_old_Receiving_Org_rec.Attribute12 OR
215 p_old_Receiving_Org_rec.Attribute12 IS NULL )
216 THEN
217 IF NOT Val_Attribute12(p_Receiving_Org_rec.Attribute12) THEN
218 x_return_status := FND_API.G_RET_STS_ERROR;
219 END IF;
220 END IF;
221
222 IF p_Receiving_Org_rec.Attribute13 IS NOT NULL AND
223 ( p_Receiving_Org_rec.Attribute13 <>
224 p_old_Receiving_Org_rec.Attribute13 OR
225 p_old_Receiving_Org_rec.Attribute13 IS NULL )
226 THEN
227 IF NOT Val_Attribute13(p_Receiving_Org_rec.Attribute13) THEN
228 x_return_status := FND_API.G_RET_STS_ERROR;
229 END IF;
230 END IF;
231
232 IF p_Receiving_Org_rec.Attribute14 IS NOT NULL AND
233 ( p_Receiving_Org_rec.Attribute14 <>
234 p_old_Receiving_Org_rec.Attribute14 OR
235 p_old_Receiving_Org_rec.Attribute14 IS NULL )
236 THEN
237 IF NOT Val_Attribute14(p_Receiving_Org_rec.Attribute14) THEN
238 x_return_status := FND_API.G_RET_STS_ERROR;
239 END IF;
240 END IF;
241
242 IF p_Receiving_Org_rec.Attribute15 IS NOT NULL AND
243 ( p_Receiving_Org_rec.Attribute15 <>
244 p_old_Receiving_Org_rec.Attribute15 OR
245 p_old_Receiving_Org_rec.Attribute15 IS NULL )
246 THEN
247 IF NOT Val_Attribute15(p_Receiving_Org_rec.Attribute15) THEN
248 x_return_status := FND_API.G_RET_STS_ERROR;
249 END IF;
250 END IF;
251
252 IF p_Receiving_Org_rec.Attribute2 IS NOT NULL AND
253 ( p_Receiving_Org_rec.Attribute2 <>
254 p_old_Receiving_Org_rec.Attribute2 OR
255 p_old_Receiving_Org_rec.Attribute2 IS NULL )
256 THEN
257 IF NOT Val_Attribute2(p_Receiving_Org_rec.Attribute2) THEN
258 x_return_status := FND_API.G_RET_STS_ERROR;
259 END IF;
260 END IF;
261
262 IF p_Receiving_Org_rec.Attribute3 IS NOT NULL AND
263 ( p_Receiving_Org_rec.Attribute3 <>
264 p_old_Receiving_Org_rec.Attribute3 OR
265 p_old_Receiving_Org_rec.Attribute3 IS NULL )
266 THEN
267 IF NOT Val_Attribute3(p_Receiving_Org_rec.Attribute3) THEN
268 x_return_status := FND_API.G_RET_STS_ERROR;
269 END IF;
270 END IF;
271
272 IF p_Receiving_Org_rec.Attribute4 IS NOT NULL AND
273 ( p_Receiving_Org_rec.Attribute4 <>
274 p_old_Receiving_Org_rec.Attribute4 OR
275 p_old_Receiving_Org_rec.Attribute4 IS NULL )
276 THEN
277 IF NOT Val_Attribute4(p_Receiving_Org_rec.Attribute4) THEN
278 x_return_status := FND_API.G_RET_STS_ERROR;
279 END IF;
280 END IF;
281
282 IF p_Receiving_Org_rec.Attribute5 IS NOT NULL AND
283 ( p_Receiving_Org_rec.Attribute5 <>
284 p_old_Receiving_Org_rec.Attribute5 OR
285 p_old_Receiving_Org_rec.Attribute5 IS NULL )
286 THEN
287 IF NOT Val_Attribute5(p_Receiving_Org_rec.Attribute5) THEN
288 x_return_status := FND_API.G_RET_STS_ERROR;
289 END IF;
290 END IF;
291
292 IF p_Receiving_Org_rec.Attribute6 IS NOT NULL AND
293 ( p_Receiving_Org_rec.Attribute6 <>
294 p_old_Receiving_Org_rec.Attribute6 OR
295 p_old_Receiving_Org_rec.Attribute6 IS NULL )
296 THEN
297 IF NOT Val_Attribute6(p_Receiving_Org_rec.Attribute6) THEN
298 x_return_status := FND_API.G_RET_STS_ERROR;
299 END IF;
300 END IF;
301
302 IF p_Receiving_Org_rec.Attribute7 IS NOT NULL AND
303 ( p_Receiving_Org_rec.Attribute7 <>
304 p_old_Receiving_Org_rec.Attribute7 OR
305 p_old_Receiving_Org_rec.Attribute7 IS NULL )
306 THEN
307 IF NOT Val_Attribute7(p_Receiving_Org_rec.Attribute7) THEN
308 x_return_status := FND_API.G_RET_STS_ERROR;
309 END IF;
310 END IF;
311
312 IF p_Receiving_Org_rec.Attribute8 IS NOT NULL AND
313 ( p_Receiving_Org_rec.Attribute8 <>
314 p_old_Receiving_Org_rec.Attribute8 OR
315 p_old_Receiving_Org_rec.Attribute8 IS NULL )
316 THEN
317 IF NOT Val_Attribute8(p_Receiving_Org_rec.Attribute8) THEN
318 x_return_status := FND_API.G_RET_STS_ERROR;
319 END IF;
320 END IF;
321
322 IF p_Receiving_Org_rec.Attribute9 IS NOT NULL AND
323 ( p_Receiving_Org_rec.Attribute9 <>
324 p_old_Receiving_Org_rec.Attribute9 OR
325 p_old_Receiving_Org_rec.Attribute9 IS NULL )
326 THEN
327 IF NOT Val_Attribute9(p_Receiving_Org_rec.Attribute9) THEN
328 x_return_status := FND_API.G_RET_STS_ERROR;
329 END IF;
330 END IF;
331
332 IF p_Receiving_Org_rec.Attribute_Category IS NOT NULL AND
333 ( p_Receiving_Org_rec.Attribute_Category <>
334 p_old_Receiving_Org_rec.Attribute_Category OR
335 p_old_Receiving_Org_rec.Attribute_Category IS NULL )
336 THEN
337 IF NOT Val_Attribute_Category(p_Receiving_Org_rec.Attribute_Category) THEN
338 x_return_status := FND_API.G_RET_STS_ERROR;
339 END IF;
340 END IF;
341
342 IF p_Receiving_Org_rec.Created_By IS NOT NULL AND
343 ( p_Receiving_Org_rec.Created_By <>
344 p_old_Receiving_Org_rec.Created_By OR
345 p_old_Receiving_Org_rec.Created_By IS NULL )
346 THEN
347 IF NOT Val_Created_By(p_Receiving_Org_rec.Created_By) THEN
348 x_return_status := FND_API.G_RET_STS_ERROR;
349 END IF;
350 END IF;
351
352 IF p_Receiving_Org_rec.Creation_Date IS NOT NULL AND
353 ( p_Receiving_Org_rec.Creation_Date <>
354 p_old_Receiving_Org_rec.Creation_Date OR
355 p_old_Receiving_Org_rec.Creation_Date IS NULL )
356 THEN
357 IF NOT Val_Creation_Date(p_Receiving_Org_rec.Creation_Date) THEN
358 x_return_status := FND_API.G_RET_STS_ERROR;
359 END IF;
360 END IF;
361
362 IF p_Receiving_Org_rec.Disable_Date IS NOT NULL AND
363 ( p_Receiving_Org_rec.Disable_Date <>
364 p_old_Receiving_Org_rec.Disable_Date OR
365 p_old_Receiving_Org_rec.Disable_Date IS NULL )
366 THEN
367 IF NOT Val_Disable_Date(p_Receiving_Org_rec.Effective_Date,
368 p_Receiving_Org_rec.Disable_Date) THEN
369 x_return_status := FND_API.G_RET_STS_ERROR;
370 END IF;
371 END IF;
372
373 IF p_Receiving_Org_rec.Effective_Date IS NOT NULL AND
374 ( p_Receiving_Org_rec.Effective_Date <>
375 p_old_Receiving_Org_rec.Effective_Date OR
376 p_old_Receiving_Org_rec.Effective_Date IS NULL )
377 THEN
378 IF NOT Val_Effective_Date(p_Receiving_Org_rec.Effective_Date) THEN
379 x_return_status := FND_API.G_RET_STS_ERROR;
380 END IF;
381 END IF;
382
383 IF p_Receiving_Org_rec.Last_Updated_By IS NOT NULL AND
384 ( p_Receiving_Org_rec.Last_Updated_By <>
385 p_old_Receiving_Org_rec.Last_Updated_By OR
386 p_old_Receiving_Org_rec.Last_Updated_By IS NULL )
387 THEN
388 IF NOT Val_Last_Updated_By(p_Receiving_Org_rec.Last_Updated_By) THEN
389 x_return_status := FND_API.G_RET_STS_ERROR;
390 END IF;
391 END IF;
392
393 IF p_Receiving_Org_rec.Last_Update_Date IS NOT NULL AND
394 ( p_Receiving_Org_rec.Last_Update_Date <>
395 p_old_Receiving_Org_rec.Last_Update_Date OR
396 p_old_Receiving_Org_rec.Last_Update_Date IS NULL )
397 THEN
398 IF NOT Val_Last_Update_Date(p_Receiving_Org_rec.Last_Update_Date) THEN
399 x_return_status := FND_API.G_RET_STS_ERROR;
400 END IF;
401 END IF;
402
403 IF p_Receiving_Org_rec.Last_Update_Login IS NOT NULL AND
404 ( p_Receiving_Org_rec.Last_Update_Login <>
405 p_old_Receiving_Org_rec.Last_Update_Login OR
406 p_old_Receiving_Org_rec.Last_Update_Login IS NULL )
407 THEN
408 IF NOT Val_Last_Update_Login(p_Receiving_Org_rec.Last_Update_Login) THEN
409 x_return_status := FND_API.G_RET_STS_ERROR;
410 END IF;
411 END IF;
412
413 IF p_Receiving_Org_rec.Program_Application_Id IS NOT NULL AND
414 ( p_Receiving_Org_rec.Program_Application_Id <>
415 p_old_Receiving_Org_rec.Program_Application_Id OR
416 p_old_Receiving_Org_rec.Program_Application_Id IS NULL )
417 THEN
418 IF NOT Val_Program_Application_Id(p_Receiving_Org_rec.Program_Application_Id) THEN
419 x_return_status := FND_API.G_RET_STS_ERROR;
420 END IF;
421 END IF;
422
423 IF p_Receiving_Org_rec.Program_Id IS NOT NULL AND
424 ( p_Receiving_Org_rec.Program_Id <>
425 p_old_Receiving_Org_rec.Program_Id OR
426 p_old_Receiving_Org_rec.Program_Id IS NULL )
427 THEN
428 IF NOT Val_Program_Id(p_Receiving_Org_rec.Program_Id) THEN
429 x_return_status := FND_API.G_RET_STS_ERROR;
430 END IF;
431 END IF;
432
433 IF p_Receiving_Org_rec.Program_Update_Date IS NOT NULL AND
434 ( p_Receiving_Org_rec.Program_Update_Date <>
435 p_old_Receiving_Org_rec.Program_Update_Date OR
436 p_old_Receiving_Org_rec.Program_Update_Date IS NULL )
437 THEN
438 IF NOT Val_Program_Update_Date(p_Receiving_Org_rec.Program_Update_Date) THEN
439 x_return_status := FND_API.G_RET_STS_ERROR;
440 END IF;
441 END IF;
442
443 IF p_Receiving_Org_rec.Receipt_Organization_Id IS NOT NULL AND
444 ( p_Receiving_Org_rec.Receipt_Organization_Id <>
445 p_old_Receiving_Org_rec.Receipt_Organization_Id OR
446 p_old_Receiving_Org_rec.Receipt_Organization_Id IS NULL )
447 THEN
448 IF NOT Val_Receipt_Organization_Id(
449 p_Receiving_Org_rec.Sourcing_Rule_id,
450 p_Receiving_Org_rec.Receipt_Organization_Id) THEN
451 x_return_status := FND_API.G_RET_STS_ERROR;
452 END IF;
453 END IF;
454
455 IF p_Receiving_Org_rec.Request_Id IS NOT NULL AND
456 ( p_Receiving_Org_rec.Request_Id <>
457 p_old_Receiving_Org_rec.Request_Id OR
458 p_old_Receiving_Org_rec.Request_Id IS NULL )
459 THEN
460 IF NOT Val_Request_Id(p_Receiving_Org_rec.Request_Id) THEN
461 x_return_status := FND_API.G_RET_STS_ERROR;
462 END IF;
463 END IF;
464
465 IF p_Receiving_Org_rec.Sourcing_Rule_Id IS NOT NULL AND
466 ( p_Receiving_Org_rec.Sourcing_Rule_Id <>
467 p_old_Receiving_Org_rec.Sourcing_Rule_Id OR
468 p_old_Receiving_Org_rec.Sourcing_Rule_Id IS NULL )
469 THEN
470 IF NOT Val_Sourcing_Rule_Id(p_Receiving_Org_rec.Sourcing_Rule_Id) THEN
471 x_return_status := FND_API.G_RET_STS_ERROR;
472 END IF;
473 END IF;
474
475 -- Done validating attributes
476
477 EXCEPTION
478
479 WHEN FND_API.G_EXC_ERROR THEN
480
481 x_return_status := FND_API.G_RET_STS_ERROR;
482
483 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
484
485 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
486
487 WHEN OTHERS THEN
488
489 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
490
491 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
492 THEN
493 FND_MSG_PUB.Add_Exc_Msg
494 ( G_PKG_NAME
495 , 'Attributes'
496 );
497 END IF;
498
499 END Attributes;
500
501 -- Entity attribute validation functions.
502
503
504 -- Function Val_Attribute1
505
506 FUNCTION Val_Attribute1
507 ( p_Attribute1 IN VARCHAR2
508 ) RETURN BOOLEAN
509 IS
510 BEGIN
511
512 IF p_Attribute1 IS NULL OR
513 p_Attribute1 = FND_API.G_MISS_CHAR
514 THEN
515 RETURN TRUE;
516 END IF;
517
518 RETURN TRUE;
519
520 END Val_Attribute1;
521
522 -- Function Val_Attribute10
523
524 FUNCTION Val_Attribute10
525 ( p_Attribute10 IN VARCHAR2
526 ) RETURN BOOLEAN
527 IS
528 BEGIN
529
530 IF p_Attribute10 IS NULL OR
531 p_Attribute10 = FND_API.G_MISS_CHAR
532 THEN
533 RETURN TRUE;
534 END IF;
535
536 RETURN TRUE;
537
538 END Val_Attribute10;
539
540 -- Function Val_Attribute11
541
542 FUNCTION Val_Attribute11
543 ( p_Attribute11 IN VARCHAR2
544 ) RETURN BOOLEAN
545 IS
546 BEGIN
547
548 IF p_Attribute11 IS NULL OR
549 p_Attribute11 = FND_API.G_MISS_CHAR
550 THEN
551 RETURN TRUE;
552 END IF;
553
554 RETURN TRUE;
555
556 END Val_Attribute11;
557
558 -- Function Val_Attribute12
559
560 FUNCTION Val_Attribute12
561 ( p_Attribute12 IN VARCHAR2
562 ) RETURN BOOLEAN
563 IS
564 BEGIN
565
566 IF p_Attribute12 IS NULL OR
567 p_Attribute12 = FND_API.G_MISS_CHAR
568 THEN
569 RETURN TRUE;
570 END IF;
571
572 RETURN TRUE;
573
574 END Val_Attribute12;
575
576 -- Function Val_Attribute13
577
578 FUNCTION Val_Attribute13
579 ( p_Attribute13 IN VARCHAR2
580 ) RETURN BOOLEAN
581 IS
582 BEGIN
583
584 IF p_Attribute13 IS NULL OR
585 p_Attribute13 = FND_API.G_MISS_CHAR
586 THEN
587 RETURN TRUE;
588 END IF;
589
590 RETURN TRUE;
591
592 END Val_Attribute13;
593
594 -- Function Val_Attribute14
595
596 FUNCTION Val_Attribute14
597 ( p_Attribute14 IN VARCHAR2
598 ) RETURN BOOLEAN
599 IS
600 BEGIN
601
602 IF p_Attribute14 IS NULL OR
603 p_Attribute14 = FND_API.G_MISS_CHAR
604 THEN
605 RETURN TRUE;
606 END IF;
607
608 RETURN TRUE;
609
610 END Val_Attribute14;
611
612 -- Function Val_Attribute15
613
614 FUNCTION Val_Attribute15
615 ( p_Attribute15 IN VARCHAR2
616 ) RETURN BOOLEAN
617 IS
618 BEGIN
619
620 IF p_Attribute15 IS NULL OR
621 p_Attribute15 = FND_API.G_MISS_CHAR
622 THEN
623 RETURN TRUE;
624 END IF;
625
626 RETURN TRUE;
627
628 END Val_Attribute15;
629
630 -- Function Val_Attribute2
631
632 FUNCTION Val_Attribute2
633 ( p_Attribute2 IN VARCHAR2
634 ) RETURN BOOLEAN
635 IS
636 BEGIN
637
638 IF p_Attribute2 IS NULL OR
639 p_Attribute2 = FND_API.G_MISS_CHAR
640 THEN
641 RETURN TRUE;
642 END IF;
643
644 RETURN TRUE;
645
646 END Val_Attribute2;
647
648 -- Function Val_Attribute3
649
650 FUNCTION Val_Attribute3
651 ( p_Attribute3 IN VARCHAR2
652 ) RETURN BOOLEAN
653 IS
654 BEGIN
655
656 IF p_Attribute3 IS NULL OR
657 p_Attribute3 = FND_API.G_MISS_CHAR
658 THEN
659 RETURN TRUE;
660 END IF;
661
662 RETURN TRUE;
663
664 END Val_Attribute3;
665
666 -- Function Val_Attribute4
667
668 FUNCTION Val_Attribute4
669 ( p_Attribute4 IN VARCHAR2
670 ) RETURN BOOLEAN
671 IS
672 BEGIN
673
674 IF p_Attribute4 IS NULL OR
675 p_Attribute4 = FND_API.G_MISS_CHAR
676 THEN
677 RETURN TRUE;
678 END IF;
679
680 RETURN TRUE;
681
682 END Val_Attribute4;
683
684 -- Function Val_Attribute5
685
686 FUNCTION Val_Attribute5
687 ( p_Attribute5 IN VARCHAR2
688 ) RETURN BOOLEAN
689 IS
690 BEGIN
691
692 IF p_Attribute5 IS NULL OR
693 p_Attribute5 = FND_API.G_MISS_CHAR
694 THEN
695 RETURN TRUE;
696 END IF;
697
698 RETURN TRUE;
699
700 END Val_Attribute5;
701
702 -- Function Val_Attribute6
703
704 FUNCTION Val_Attribute6
705 ( p_Attribute6 IN VARCHAR2
706 ) RETURN BOOLEAN
707 IS
708 BEGIN
709
710 IF p_Attribute6 IS NULL OR
711 p_Attribute6 = FND_API.G_MISS_CHAR
712 THEN
713 RETURN TRUE;
714 END IF;
715
716 RETURN TRUE;
717
718 END Val_Attribute6;
719
720 -- Function Val_Attribute7
721
722 FUNCTION Val_Attribute7
723 ( p_Attribute7 IN VARCHAR2
724 ) RETURN BOOLEAN
725 IS
726 BEGIN
727
728 IF p_Attribute7 IS NULL OR
729 p_Attribute7 = FND_API.G_MISS_CHAR
730 THEN
731 RETURN TRUE;
732 END IF;
733
734 RETURN TRUE;
735
736 END Val_Attribute7;
737
738 -- Function Val_Attribute8
739
740 FUNCTION Val_Attribute8
741 ( p_Attribute8 IN VARCHAR2
742 ) RETURN BOOLEAN
743 IS
744 BEGIN
745
746 IF p_Attribute8 IS NULL OR
747 p_Attribute8 = FND_API.G_MISS_CHAR
748 THEN
749 RETURN TRUE;
750 END IF;
751
752 RETURN TRUE;
753
754 END Val_Attribute8;
755
756 -- Function Val_Attribute9
757
758 FUNCTION Val_Attribute9
759 ( p_Attribute9 IN VARCHAR2
760 ) RETURN BOOLEAN
761 IS
762 BEGIN
763
764 IF p_Attribute9 IS NULL OR
765 p_Attribute9 = FND_API.G_MISS_CHAR
766 THEN
767 RETURN TRUE;
768 END IF;
769
770 RETURN TRUE;
771
772 END Val_Attribute9;
773
774 -- Function Val_Attribute_Category
775
776 FUNCTION Val_Attribute_Category
777 ( p_Attribute_Category IN VARCHAR2
778 ) RETURN BOOLEAN
779 IS
780 BEGIN
781
782 IF p_Attribute_Category IS NULL OR
783 p_Attribute_Category = FND_API.G_MISS_CHAR
784 THEN
785 RETURN TRUE;
786 END IF;
787
788 RETURN TRUE;
789
790 END Val_Attribute_Category;
791
792 -- Function Val_Created_By
793
794 FUNCTION Val_Created_By
795 ( p_Created_By IN NUMBER
796 ) RETURN BOOLEAN
797 IS
798 BEGIN
799
800 IF p_Created_By IS NULL OR
801 p_Created_By = FND_API.G_MISS_NUM
802 THEN
803 RETURN TRUE;
804 END IF;
805
806 RETURN TRUE;
807
808 END Val_Created_By;
809
810 -- Function Val_Creation_Date
811
812 FUNCTION Val_Creation_Date
813 ( p_Creation_Date IN DATE
814 ) RETURN BOOLEAN
815 IS
816 BEGIN
817
818 IF p_Creation_Date IS NULL OR
819 p_Creation_Date = FND_API.G_MISS_DATE
820 THEN
821 RETURN TRUE;
822 END IF;
823
824 RETURN TRUE;
825
826 END Val_Creation_Date;
827
828 -- Function Val_Disable_Date
829
830 FUNCTION Val_Disable_Date
831 ( p_Effective_Date IN DATE
832 , p_Disable_Date IN DATE
833 ) RETURN BOOLEAN
834 IS
835 BEGIN
836
837 IF p_Disable_Date IS NULL OR
838 p_Disable_Date = FND_API.G_MISS_DATE
839 THEN
840 RETURN TRUE;
841 ELSIF p_Disable_Date < p_Effective_Date THEN
842 dbms_output.put_line ('Val_Disable_Date Error');
843 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
844 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Disable_Date');
845 FND_MESSAGE.SET_TOKEN('DETAILS',
846 'Disable_Date Cannot be Less than Effective_Date');
847 FND_MSG_PUB.Add;
848 RETURN FALSE;
849 END IF;
850
851 RETURN TRUE;
852
853 END Val_Disable_Date;
854
855 -- Function Val_Effective_Date
856
857 FUNCTION Val_Effective_Date
858 ( p_Effective_Date IN DATE
859 ) RETURN BOOLEAN
860 IS
861 BEGIN
862
863 IF p_Effective_Date IS NULL OR
864 p_Effective_Date = FND_API.G_MISS_DATE
865 THEN
866 dbms_output.put_line ('Val_Effective_Date Error');
867 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
868 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Effective_Date');
869 FND_MSG_PUB.Add;
870 RETURN FALSE;
871 ELSE
872 IF p_Effective_Date < trunc(SYSDATE) THEN
873 dbms_output.put_line ('Val_Effective_Date Error');
874 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
875 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Effective_Date');
876 FND_MESSAGE.SET_TOKEN('DETAILS',
877 'Effective_Date Cannot be less than Current Date');
878 FND_MSG_PUB.Add;
879 RETURN FALSE;
880 END IF;
881 END IF;
882
883 RETURN TRUE;
884
885 END Val_Effective_Date;
886
887 -- Function Val_Last_Updated_By
888
889 FUNCTION Val_Last_Updated_By
890 ( p_Last_Updated_By IN NUMBER
891 ) RETURN BOOLEAN
892 IS
893 BEGIN
894
895 IF p_Last_Updated_By IS NULL OR
896 p_Last_Updated_By = FND_API.G_MISS_NUM
897 THEN
898 RETURN TRUE;
899 END IF;
900
901 RETURN TRUE;
902
903 END Val_Last_Updated_By;
904
905 -- Function Val_Last_Update_Date
906
907 FUNCTION Val_Last_Update_Date
908 ( p_Last_Update_Date IN DATE
909 ) RETURN BOOLEAN
910 IS
911 BEGIN
912
913 IF p_Last_Update_Date IS NULL OR
914 p_Last_Update_Date = FND_API.G_MISS_DATE
915 THEN
916 RETURN TRUE;
917 END IF;
918
919 RETURN TRUE;
920
921 END Val_Last_Update_Date;
922
923 -- Function Val_Last_Update_Login
924
925 FUNCTION Val_Last_Update_Login
926 ( p_Last_Update_Login IN NUMBER
927 ) RETURN BOOLEAN
928 IS
929 BEGIN
930
931 IF p_Last_Update_Login IS NULL OR
932 p_Last_Update_Login = FND_API.G_MISS_NUM
933 THEN
934 RETURN TRUE;
935 END IF;
936
937 RETURN TRUE;
938
939 END Val_Last_Update_Login;
940
941 -- Function Val_Program_Application_Id
942
943 FUNCTION Val_Program_Application_Id
944 ( p_Program_Application_Id IN NUMBER
945 ) RETURN BOOLEAN
946 IS
947 BEGIN
948
949 IF p_Program_Application_Id IS NULL OR
950 p_Program_Application_Id = FND_API.G_MISS_NUM
951 THEN
952 RETURN TRUE;
953 END IF;
954
955 RETURN TRUE;
956
957 END Val_Program_Application_Id;
958
959 -- Function Val_Program_Id
960
961 FUNCTION Val_Program_Id
962 ( p_Program_Id IN NUMBER
963 ) RETURN BOOLEAN
964 IS
965 BEGIN
966
967 IF p_Program_Id IS NULL OR
968 p_Program_Id = FND_API.G_MISS_NUM
969 THEN
970 RETURN TRUE;
971 END IF;
972
973 RETURN TRUE;
974
975 END Val_Program_Id;
976
977 -- Function Val_Program_Update_Date
978
979 FUNCTION Val_Program_Update_Date
980 ( p_Program_Update_Date IN DATE
981 ) RETURN BOOLEAN
982 IS
983 BEGIN
984
985 IF p_Program_Update_Date IS NULL OR
986 p_Program_Update_Date = FND_API.G_MISS_DATE
987 THEN
988 RETURN TRUE;
989 END IF;
990
991 RETURN TRUE;
992
993 END Val_Program_Update_Date;
994
995 -- Function Val_Receipt_Organization_Id
996
997 FUNCTION Val_Receipt_Organization_Id
998 ( p_Sourcing_Rule_id IN NUMBER
999 , p_Receipt_Organization_Id IN NUMBER
1000 ) RETURN BOOLEAN
1001 IS
1002
1003 l_count number;
1004 l_organization_id number := FND_API.G_MISS_NUM;
1005
1006 Cursor cur_sr_org is
1007 SELECT organization_id
1008 FROM mrp_sourcing_rules
1009 WHERE sourcing_rule_id = p_sourcing_rule_id;
1010
1011 BEGIN
1012
1013 IF p_Receipt_Organization_Id IS NULL OR
1014 p_Receipt_Organization_Id = FND_API.G_MISS_NUM
1015 THEN
1016
1017 Open cur_sr_org;
1018 Fetch cur_sr_org INTO l_organization_id;
1019
1020 IF l_organization_id is not NULL THEN
1021 dbms_output.put_line ('Val_Receipt_Organization_Id Error');
1022 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
1023 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Receipt_Organization_Id');
1024 FND_MSG_PUB.Add;
1025 RETURN FALSE;
1026 ELSE
1027 RETURN TRUE;
1028 END IF;
1029
1030 Close cur_sr_org;
1031
1032 ELSE
1033 SELECT count(*)
1034 INTO l_count
1035 FROM MTL_PARAMETERS
1036 WHERE organization_id = p_Receipt_Organization_Id;
1037
1038 IF l_count = 0 THEN
1039 dbms_output.put_line ('Val_Receipt_Organization_Id Error');
1040 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1041 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Receipt_Organization_Id');
1042 FND_MSG_PUB.Add;
1043 RETURN FALSE;
1044 END IF;
1045 END IF;
1046
1047 RETURN TRUE;
1048
1049 END Val_Receipt_Organization_Id;
1050
1051 -- Function Val_Request_Id
1052
1053 FUNCTION Val_Request_Id
1054 ( p_Request_Id IN NUMBER
1055 ) RETURN BOOLEAN
1056 IS
1057 BEGIN
1058
1059 IF p_Request_Id IS NULL OR
1060 p_Request_Id = FND_API.G_MISS_NUM
1061 THEN
1062 RETURN TRUE;
1063 END IF;
1064
1065 RETURN TRUE;
1066
1067 END Val_Request_Id;
1068
1069 -- Function Val_Sourcing_Rule_Id
1070
1071 FUNCTION Val_Sourcing_Rule_Id
1072 ( p_Sourcing_Rule_Id IN NUMBER
1073 ) RETURN BOOLEAN
1074 IS
1075 BEGIN
1076
1077 IF p_Sourcing_Rule_Id IS NULL OR
1078 p_Sourcing_Rule_Id = FND_API.G_MISS_NUM
1079 THEN
1080 RETURN TRUE;
1081 END IF;
1082
1083 RETURN TRUE;
1084
1085 END Val_Sourcing_Rule_Id;
1086
1087 END MRP_Validate_Receiving_Org;