1 PACKAGE BODY MRP_Validate_Assignment AS
2 /* $Header: MRPLASNB.pls 120.2 2005/08/16 03:18:17 gmalhotr noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'MRP_Validate_Assignment';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY VARCHAR2
12 , p_Assignment_rec IN MRP_Src_Assignment_PUB.Assignment_Rec_Type
13 , p_old_Assignment_rec IN MRP_Src_Assignment_PUB.Assignment_Rec_Type :=
14 MRP_Src_Assignment_PUB.G_MISS_ASSIGNMENT_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_Assignment_rec.Assignment_Id IS NULL
23 THEN
24
25 l_return_status := FND_API.G_RET_STS_ERROR;
26
27 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
28 THEN
29
30 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
31 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Assignment_Id');
32 FND_MSG_PUB.Add;
33
34 END IF;
35
36 END IF;
37
38 --
39 -- Check rest of required attributes here.
40 --
41
42
43 -- Return Error if a required attribute is missing.
44
45 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
46
47 RAISE FND_API.G_EXC_ERROR;
48
49 END IF;
50
51 --
52 -- Check conditionally required attributes here.
53 --
54 IF p_Assignment_rec.Assignment_type = 2 AND
55 p_Assignment_rec.Category_Id IS NULL THEN
56 dbms_output.put_line ('Category ID required');
57 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
58 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Category_Id');
59 FND_MSG_PUB.Add;
60 l_return_status := FND_API.G_RET_STS_ERROR;
61 END IF;
62
63 IF p_Assignment_rec.Assignment_type = 3 AND
64 p_Assignment_rec.Inventory_Item_Id IS NULL THEN
65 dbms_output.put_line ('Inventory_Item_Id required');
66 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
67 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Inventory_Item_Id');
68 FND_MSG_PUB.Add;
69 l_return_status := FND_API.G_RET_STS_ERROR;
70 END IF;
71
72 IF (p_Assignment_rec.Assignment_type = 4 OR
73 p_Assignment_rec.Assignment_type = 5 OR
74 p_Assignment_rec.Assignment_type = 6) AND
75 (p_Assignment_rec.Organization_Id IS NULL AND
76 p_Assignment_rec.Customer_Id IS NULL AND
77 p_Assignment_rec.Ship_To_Site_Id IS NULL ) THEN
78 dbms_output.put_line ('org/cust required');
79 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
80 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Organization_Id or Customer_Id');
81 FND_MSG_PUB.Add;
82 l_return_status := FND_API.G_RET_STS_ERROR;
83 END IF;
84
85 IF p_Assignment_rec.Customer_Id IS NOT NULL AND
86 p_Assignment_rec.Ship_To_Site_Id IS NULL THEN
87 dbms_output.put_line ('cust site required');
88 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
89 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Ship_To_Site_Id');
90 FND_MSG_PUB.Add;
91 l_return_status := FND_API.G_RET_STS_ERROR;
92 END IF;
93
94 --
95 -- Validate attribute dependencies here.
96 --
97
98
99 -- Done validating entity
100
101 x_return_status := l_return_status;
102
103 EXCEPTION
104
105 WHEN FND_API.G_EXC_ERROR THEN
106
107 x_return_status := FND_API.G_RET_STS_ERROR;
108
109 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
110
111 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
112
113 WHEN OTHERS THEN
114
115 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
116
117 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
118 THEN
119 FND_MSG_PUB.Add_Exc_Msg
120 ( G_PKG_NAME
121 , 'Entity'
122 );
123 END IF;
124
125 END Entity;
126
127 -- Procedure Entity_Delete
128
129 PROCEDURE Entity_Delete
130 ( x_return_status OUT NOCOPY VARCHAR2
131 , p_Assignment_rec IN MRP_Src_Assignment_PUB.Assignment_Rec_Type
132 )
133 IS
134 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
135 BEGIN
136
137 -- Validate entity delete.
138
139 NULL;
140
141 -- Done.
142
143 x_return_status := l_return_status;
144
145 EXCEPTION
146
147 WHEN FND_API.G_EXC_ERROR THEN
148
149 x_return_status := FND_API.G_RET_STS_ERROR;
150
151 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
152
153 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
154
155 WHEN OTHERS THEN
156
157 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
158
159 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
160 THEN
161 FND_MSG_PUB.Add_Exc_Msg
162 ( G_PKG_NAME
163 , 'Entity_Delete'
164 );
165 END IF;
166
167 END Entity_Delete;
168
169 -- Procedure Attributes
170
171 PROCEDURE Attributes
172 ( x_return_status OUT NOCOPY VARCHAR2
173 , p_Assignment_rec IN MRP_Src_Assignment_PUB.Assignment_Rec_Type
174 , p_old_Assignment_rec IN MRP_Src_Assignment_PUB.Assignment_Rec_Type :=
175 MRP_Src_Assignment_PUB.G_MISS_ASSIGNMENT_REC
176 )
177 IS
178 BEGIN
179
180 x_return_status := FND_API.G_RET_STS_SUCCESS;
181
182 -- Validate Assignment attributes
183
184 IF (p_Assignment_rec.Assignment_Id IS NOT NULL AND
185 ( p_Assignment_rec.Assignment_Id <>
186 p_old_Assignment_rec.Assignment_Id OR
187 p_old_Assignment_rec.Assignment_Id IS NULL ))
188 THEN
189 IF NOT MRP_Validate.Assignment
190 ( p_Assignment_rec.Assignment_Id
191 )
192 THEN
193 x_return_status := FND_API.G_RET_STS_ERROR;
194 END IF;
195 END IF;
196
197 IF p_Assignment_rec.Assignment_Set_Id IS NOT NULL AND
198 ( p_Assignment_rec.Assignment_Set_Id <>
199 p_old_Assignment_rec.Assignment_Set_Id OR
200 p_old_Assignment_rec.Assignment_Set_Id IS NULL )
201 THEN
202 IF NOT Val_Assignment_Set_Id(p_Assignment_rec.Assignment_Set_Id) THEN
203 x_return_status := FND_API.G_RET_STS_ERROR;
204 END IF;
205 END IF;
206
207 IF p_Assignment_rec.Assignment_Type IS NOT NULL AND
208 ( p_Assignment_rec.Assignment_Type <>
209 p_old_Assignment_rec.Assignment_Type OR
210 p_old_Assignment_rec.Assignment_Type IS NULL )
211 THEN
212 IF NOT Val_Assignment_Type(p_Assignment_rec.Assignment_Type) THEN
213 x_return_status := FND_API.G_RET_STS_ERROR;
214 END IF;
215 END IF;
216
217 IF p_Assignment_rec.Attribute1 IS NOT NULL AND
218 ( p_Assignment_rec.Attribute1 <>
219 p_old_Assignment_rec.Attribute1 OR
220 p_old_Assignment_rec.Attribute1 IS NULL )
221 THEN
222 IF NOT Val_Attribute1(p_Assignment_rec.Attribute1) THEN
223 x_return_status := FND_API.G_RET_STS_ERROR;
224 END IF;
225 END IF;
226
227 IF p_Assignment_rec.Attribute10 IS NOT NULL AND
228 ( p_Assignment_rec.Attribute10 <>
229 p_old_Assignment_rec.Attribute10 OR
230 p_old_Assignment_rec.Attribute10 IS NULL )
231 THEN
232 IF NOT Val_Attribute10(p_Assignment_rec.Attribute10) THEN
233 x_return_status := FND_API.G_RET_STS_ERROR;
234 END IF;
235 END IF;
236
237 IF p_Assignment_rec.Attribute11 IS NOT NULL AND
238 ( p_Assignment_rec.Attribute11 <>
239 p_old_Assignment_rec.Attribute11 OR
240 p_old_Assignment_rec.Attribute11 IS NULL )
241 THEN
242 IF NOT Val_Attribute11(p_Assignment_rec.Attribute11) THEN
243 x_return_status := FND_API.G_RET_STS_ERROR;
244 END IF;
245 END IF;
246
247 IF p_Assignment_rec.Attribute12 IS NOT NULL AND
248 ( p_Assignment_rec.Attribute12 <>
249 p_old_Assignment_rec.Attribute12 OR
250 p_old_Assignment_rec.Attribute12 IS NULL )
251 THEN
252 IF NOT Val_Attribute12(p_Assignment_rec.Attribute12) THEN
253 x_return_status := FND_API.G_RET_STS_ERROR;
254 END IF;
255 END IF;
256
257 IF p_Assignment_rec.Attribute13 IS NOT NULL AND
258 ( p_Assignment_rec.Attribute13 <>
259 p_old_Assignment_rec.Attribute13 OR
260 p_old_Assignment_rec.Attribute13 IS NULL )
261 THEN
262 IF NOT Val_Attribute13(p_Assignment_rec.Attribute13) THEN
263 x_return_status := FND_API.G_RET_STS_ERROR;
264 END IF;
265 END IF;
266
267 IF p_Assignment_rec.Attribute14 IS NOT NULL AND
268 ( p_Assignment_rec.Attribute14 <>
269 p_old_Assignment_rec.Attribute14 OR
270 p_old_Assignment_rec.Attribute14 IS NULL )
271 THEN
272 IF NOT Val_Attribute14(p_Assignment_rec.Attribute14) THEN
273 x_return_status := FND_API.G_RET_STS_ERROR;
274 END IF;
275 END IF;
276
277 IF p_Assignment_rec.Attribute15 IS NOT NULL AND
278 ( p_Assignment_rec.Attribute15 <>
279 p_old_Assignment_rec.Attribute15 OR
280 p_old_Assignment_rec.Attribute15 IS NULL )
281 THEN
282 IF NOT Val_Attribute15(p_Assignment_rec.Attribute15) THEN
283 x_return_status := FND_API.G_RET_STS_ERROR;
284 END IF;
285 END IF;
286
287 IF p_Assignment_rec.Attribute2 IS NOT NULL AND
288 ( p_Assignment_rec.Attribute2 <>
289 p_old_Assignment_rec.Attribute2 OR
290 p_old_Assignment_rec.Attribute2 IS NULL )
291 THEN
292 IF NOT Val_Attribute2(p_Assignment_rec.Attribute2) THEN
293 x_return_status := FND_API.G_RET_STS_ERROR;
294 END IF;
295 END IF;
296
297 IF p_Assignment_rec.Attribute3 IS NOT NULL AND
298 ( p_Assignment_rec.Attribute3 <>
299 p_old_Assignment_rec.Attribute3 OR
300 p_old_Assignment_rec.Attribute3 IS NULL )
301 THEN
302 IF NOT Val_Attribute3(p_Assignment_rec.Attribute3) THEN
303 x_return_status := FND_API.G_RET_STS_ERROR;
304 END IF;
305 END IF;
306
307 IF p_Assignment_rec.Attribute4 IS NOT NULL AND
308 ( p_Assignment_rec.Attribute4 <>
309 p_old_Assignment_rec.Attribute4 OR
310 p_old_Assignment_rec.Attribute4 IS NULL )
311 THEN
312 IF NOT Val_Attribute4(p_Assignment_rec.Attribute4) THEN
313 x_return_status := FND_API.G_RET_STS_ERROR;
314 END IF;
315 END IF;
316
317 IF p_Assignment_rec.Attribute5 IS NOT NULL AND
318 ( p_Assignment_rec.Attribute5 <>
319 p_old_Assignment_rec.Attribute5 OR
320 p_old_Assignment_rec.Attribute5 IS NULL )
321 THEN
322 IF NOT Val_Attribute5(p_Assignment_rec.Attribute5) THEN
323 x_return_status := FND_API.G_RET_STS_ERROR;
324 END IF;
325 END IF;
326
327 IF p_Assignment_rec.Attribute6 IS NOT NULL AND
328 ( p_Assignment_rec.Attribute6 <>
329 p_old_Assignment_rec.Attribute6 OR
330 p_old_Assignment_rec.Attribute6 IS NULL )
331 THEN
332 IF NOT Val_Attribute6(p_Assignment_rec.Attribute6) THEN
333 x_return_status := FND_API.G_RET_STS_ERROR;
334 END IF;
335 END IF;
336
337 IF p_Assignment_rec.Attribute7 IS NOT NULL AND
338 ( p_Assignment_rec.Attribute7 <>
339 p_old_Assignment_rec.Attribute7 OR
340 p_old_Assignment_rec.Attribute7 IS NULL )
341 THEN
342 IF NOT Val_Attribute7(p_Assignment_rec.Attribute7) THEN
343 x_return_status := FND_API.G_RET_STS_ERROR;
344 END IF;
345 END IF;
346
347 IF p_Assignment_rec.Attribute8 IS NOT NULL AND
348 ( p_Assignment_rec.Attribute8 <>
349 p_old_Assignment_rec.Attribute8 OR
350 p_old_Assignment_rec.Attribute8 IS NULL )
351 THEN
352 IF NOT Val_Attribute8(p_Assignment_rec.Attribute8) THEN
353 x_return_status := FND_API.G_RET_STS_ERROR;
354 END IF;
355 END IF;
356
357 IF p_Assignment_rec.Attribute9 IS NOT NULL AND
358 ( p_Assignment_rec.Attribute9 <>
359 p_old_Assignment_rec.Attribute9 OR
360 p_old_Assignment_rec.Attribute9 IS NULL )
361 THEN
362 IF NOT Val_Attribute9(p_Assignment_rec.Attribute9) THEN
363 x_return_status := FND_API.G_RET_STS_ERROR;
364 END IF;
365 END IF;
366
367 IF p_Assignment_rec.Attribute_Category IS NOT NULL AND
368 ( p_Assignment_rec.Attribute_Category <>
369 p_old_Assignment_rec.Attribute_Category OR
370 p_old_Assignment_rec.Attribute_Category IS NULL )
371 THEN
372 IF NOT Val_Attribute_Category(p_Assignment_rec.Attribute_Category) THEN
373 x_return_status := FND_API.G_RET_STS_ERROR;
374 END IF;
375 END IF;
376
377 IF p_Assignment_rec.Category_Id IS NOT NULL AND
378 ( p_Assignment_rec.Category_Id <>
379 p_old_Assignment_rec.Category_Id OR
380 p_old_Assignment_rec.Category_Id IS NULL )
381 THEN
382 IF NOT Val_Category_Id(p_Assignment_rec.Category_Set_Id,
383 p_Assignment_rec.Category_Id) THEN
384 x_return_status := FND_API.G_RET_STS_ERROR;
385 END IF;
386 END IF;
387
388 IF p_Assignment_rec.Category_Set_Id IS NOT NULL AND
389 ( p_Assignment_rec.Category_Set_Id <>
390 p_old_Assignment_rec.Category_Set_Id OR
391 p_old_Assignment_rec.Category_Set_Id IS NULL )
392 THEN
393 IF NOT Val_Category_Set_Id(p_Assignment_rec.Category_Set_Id) THEN
394 x_return_status := FND_API.G_RET_STS_ERROR;
395 END IF;
396 END IF;
397
398 IF p_Assignment_rec.Created_By IS NOT NULL AND
399 ( p_Assignment_rec.Created_By <>
400 p_old_Assignment_rec.Created_By OR
401 p_old_Assignment_rec.Created_By IS NULL )
402 THEN
403 IF NOT Val_Created_By(p_Assignment_rec.Created_By) THEN
404 x_return_status := FND_API.G_RET_STS_ERROR;
405 END IF;
406 END IF;
407
408 IF p_Assignment_rec.Creation_Date IS NOT NULL AND
409 ( p_Assignment_rec.Creation_Date <>
410 p_old_Assignment_rec.Creation_Date OR
411 p_old_Assignment_rec.Creation_Date IS NULL )
412 THEN
413 IF NOT Val_Creation_Date(p_Assignment_rec.Creation_Date) THEN
414 x_return_status := FND_API.G_RET_STS_ERROR;
415 END IF;
416 END IF;
417
418 IF p_Assignment_rec.Customer_Id IS NOT NULL AND
419 ( p_Assignment_rec.Customer_Id <>
420 p_old_Assignment_rec.Customer_Id OR
421 p_old_Assignment_rec.Customer_Id IS NULL )
422 THEN
423 IF NOT Val_Customer_Id(p_Assignment_rec.Customer_Id) THEN
424 x_return_status := FND_API.G_RET_STS_ERROR;
425 END IF;
426 END IF;
427
428 IF p_Assignment_rec.Inventory_Item_Id IS NOT NULL AND
429 ( p_Assignment_rec.Inventory_Item_Id <>
430 p_old_Assignment_rec.Inventory_Item_Id OR
431 p_old_Assignment_rec.Inventory_Item_Id IS NULL )
432 THEN
433 IF NOT Val_Inventory_Item_Id(p_Assignment_rec.Organization_Id,
434 p_Assignment_rec.Inventory_Item_Id) THEN
435 x_return_status := FND_API.G_RET_STS_ERROR;
436 END IF;
437 END IF;
438
439 IF p_Assignment_rec.Last_Updated_By IS NOT NULL AND
440 ( p_Assignment_rec.Last_Updated_By <>
441 p_old_Assignment_rec.Last_Updated_By OR
442 p_old_Assignment_rec.Last_Updated_By IS NULL )
443 THEN
444 IF NOT Val_Last_Updated_By(p_Assignment_rec.Last_Updated_By) THEN
445 x_return_status := FND_API.G_RET_STS_ERROR;
446 END IF;
447 END IF;
448
449 IF p_Assignment_rec.Last_Update_Date IS NOT NULL AND
450 ( p_Assignment_rec.Last_Update_Date <>
451 p_old_Assignment_rec.Last_Update_Date OR
452 p_old_Assignment_rec.Last_Update_Date IS NULL )
453 THEN
454 IF NOT Val_Last_Update_Date(p_Assignment_rec.Last_Update_Date) THEN
455 x_return_status := FND_API.G_RET_STS_ERROR;
456 END IF;
457 END IF;
458
459 IF p_Assignment_rec.Last_Update_Login IS NOT NULL AND
460 ( p_Assignment_rec.Last_Update_Login <>
461 p_old_Assignment_rec.Last_Update_Login OR
462 p_old_Assignment_rec.Last_Update_Login IS NULL )
463 THEN
464 IF NOT Val_Last_Update_Login(p_Assignment_rec.Last_Update_Login) THEN
465 x_return_status := FND_API.G_RET_STS_ERROR;
466 END IF;
467 END IF;
468
469 IF p_Assignment_rec.Organization_Id IS NOT NULL AND
470 ( p_Assignment_rec.Organization_Id <>
471 p_old_Assignment_rec.Organization_Id OR
472 p_old_Assignment_rec.Organization_Id IS NULL )
473 THEN
474 IF NOT Val_Organization_Id(p_Assignment_rec.Organization_Id) THEN
475 x_return_status := FND_API.G_RET_STS_ERROR;
476 END IF;
477 END IF;
478
479 IF p_Assignment_rec.Program_Application_Id IS NOT NULL AND
480 ( p_Assignment_rec.Program_Application_Id <>
481 p_old_Assignment_rec.Program_Application_Id OR
482 p_old_Assignment_rec.Program_Application_Id IS NULL )
483 THEN
484 IF NOT Val_Program_Application_Id(p_Assignment_rec.Program_Application_Id) THEN
485 x_return_status := FND_API.G_RET_STS_ERROR;
486 END IF;
487 END IF;
488
489 IF p_Assignment_rec.Program_Id IS NOT NULL AND
490 ( p_Assignment_rec.Program_Id <>
491 p_old_Assignment_rec.Program_Id OR
492 p_old_Assignment_rec.Program_Id IS NULL )
493 THEN
494 IF NOT Val_Program_Id(p_Assignment_rec.Program_Id) THEN
495 x_return_status := FND_API.G_RET_STS_ERROR;
496 END IF;
497 END IF;
498
499 IF p_Assignment_rec.Program_Update_Date IS NOT NULL AND
500 ( p_Assignment_rec.Program_Update_Date <>
501 p_old_Assignment_rec.Program_Update_Date OR
502 p_old_Assignment_rec.Program_Update_Date IS NULL )
503 THEN
504 IF NOT Val_Program_Update_Date(p_Assignment_rec.Program_Update_Date) THEN
505 x_return_status := FND_API.G_RET_STS_ERROR;
506 END IF;
507 END IF;
508
509 IF p_Assignment_rec.Request_Id IS NOT NULL AND
510 ( p_Assignment_rec.Request_Id <>
511 p_old_Assignment_rec.Request_Id OR
512 p_old_Assignment_rec.Request_Id IS NULL )
513 THEN
514 IF NOT Val_Request_Id(p_Assignment_rec.Request_Id) THEN
515 x_return_status := FND_API.G_RET_STS_ERROR;
516 END IF;
517 END IF;
518
519 IF p_Assignment_rec.Secondary_Inventory IS NOT NULL AND
520 ( p_Assignment_rec.Secondary_Inventory <>
521 p_old_Assignment_rec.Secondary_Inventory OR
522 p_old_Assignment_rec.Secondary_Inventory IS NULL )
523 THEN
524 IF NOT Val_Secondary_Inventory(p_Assignment_rec.Secondary_Inventory) THEN
525 x_return_status := FND_API.G_RET_STS_ERROR;
526 END IF;
527 END IF;
528
529 IF p_Assignment_rec.Ship_To_Site_Id IS NOT NULL AND
530 ( p_Assignment_rec.Ship_To_Site_Id <>
531 p_old_Assignment_rec.Ship_To_Site_Id OR
532 p_old_Assignment_rec.Ship_To_Site_Id IS NULL )
533 THEN
534 IF NOT Val_Ship_To_Site_Id( p_Assignment_rec.Customer_id,
535 p_Assignment_rec.Ship_To_Site_Id) THEN
536 x_return_status := FND_API.G_RET_STS_ERROR;
537 END IF;
538 END IF;
539
540 IF p_Assignment_rec.Sourcing_Rule_Id IS NOT NULL AND
541 ( p_Assignment_rec.Sourcing_Rule_Id <>
542 p_old_Assignment_rec.Sourcing_Rule_Id OR
543 p_old_Assignment_rec.Sourcing_Rule_Id IS NULL )
544 THEN
545 IF NOT Val_Sourcing_Rule_Id( p_Assignment_rec.Sourcing_Rule_Id,
546 p_Assignment_rec.Sourcing_Rule_Type) THEN
547 x_return_status := FND_API.G_RET_STS_ERROR;
548 END IF;
549 END IF;
550
551 IF p_Assignment_rec.Sourcing_Rule_Type IS NOT NULL AND
552 ( p_Assignment_rec.Sourcing_Rule_Type <>
553 p_old_Assignment_rec.Sourcing_Rule_Type OR
554 p_old_Assignment_rec.Sourcing_Rule_Type IS NULL )
555 THEN
556 IF NOT Val_Sourcing_Rule_Type(p_Assignment_rec.Sourcing_Rule_Type) THEN
557 x_return_status := FND_API.G_RET_STS_ERROR;
558 END IF;
559 END IF;
560
561 -- Done validating attributes
562
563 EXCEPTION
564
565 WHEN FND_API.G_EXC_ERROR THEN
566
567 x_return_status := FND_API.G_RET_STS_ERROR;
568
569 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
570
571 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
572
573 WHEN OTHERS THEN
574
575 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
576
577 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
578 THEN
579 FND_MSG_PUB.Add_Exc_Msg
580 ( G_PKG_NAME
581 , 'Attributes'
582 );
583 END IF;
584
585 END Attributes;
586
587 -- Entity attribute validation functions.
588
589
590 -- Function Val_Assignment_Set_Id
591
592 FUNCTION Val_Assignment_Set_Id
593 ( p_Assignment_Set_Id IN NUMBER
594 ) RETURN BOOLEAN
595 IS
596
597 l_count number;
598
599 BEGIN
600
601 IF p_Assignment_Set_Id IS NULL OR
602 p_Assignment_Set_Id = FND_API.G_MISS_NUM
603 THEN
604 dbms_output.put_line ('Val_Assignment_Set_Id Error');
605 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
606 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Assignment_Set_Id');
607 FND_MSG_PUB.Add;
608 RETURN FALSE;
609 ELSE
610 SELECT count(*)
611 INTO l_count
612 FROM MRP_ASSIGNMENT_SETS
613 WHERE assignment_set_id = p_Assignment_Set_Id;
614
615 IF l_count = 0 THEN
616 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
617 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Assignment_Set_Id');
618 FND_MSG_PUB.Add;
619 RETURN FALSE;
620 END IF;
621 END IF;
622
623 RETURN TRUE;
624
625 END Val_Assignment_Set_Id;
626
627 -- Function Val_Assignment_Type
628
629 FUNCTION Val_Assignment_Type
630 ( p_Assignment_Type IN NUMBER
631 ) RETURN BOOLEAN
632 IS
633 BEGIN
634
635 IF p_Assignment_Type IS NULL OR
636 p_Assignment_Type = FND_API.G_MISS_NUM
637 THEN
638 dbms_output.put_line ('Val_Assignment_Type error');
639 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
640 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Assignment_Type');
641 FND_MSG_PUB.Add;
642 RETURN FALSE;
643 ELSIF (p_Assignment_Type <> 1) AND
644 (p_Assignment_Type <> 2) AND
645 (p_Assignment_Type <> 3) AND
646 (p_Assignment_Type <> 4) AND
647 (p_Assignment_Type <> 5) AND
648 (p_Assignment_Type <> 6) THEN
649
650 dbms_output.put_line ('Val_Assignment_Type error');
651 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
652 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Assignment_Type');
653 FND_MSG_PUB.Add;
654 RETURN FALSE;
655 END IF;
656
657 RETURN TRUE;
658
659 END Val_Assignment_Type;
660
661 -- Function Val_Attribute1
662
663 FUNCTION Val_Attribute1
664 ( p_Attribute1 IN VARCHAR2
665 ) RETURN BOOLEAN
666 IS
667 BEGIN
668
669 IF p_Attribute1 IS NULL OR
670 p_Attribute1 = FND_API.G_MISS_CHAR
671 THEN
672 RETURN TRUE;
673 END IF;
674
675 RETURN TRUE;
676
677 END Val_Attribute1;
678
679 -- Function Val_Attribute10
680
681 FUNCTION Val_Attribute10
682 ( p_Attribute10 IN VARCHAR2
683 ) RETURN BOOLEAN
684 IS
685 BEGIN
686
687 IF p_Attribute10 IS NULL OR
688 p_Attribute10 = FND_API.G_MISS_CHAR
689 THEN
690 RETURN TRUE;
691 END IF;
692
693 RETURN TRUE;
694
695 END Val_Attribute10;
696
697 -- Function Val_Attribute11
698
699 FUNCTION Val_Attribute11
700 ( p_Attribute11 IN VARCHAR2
701 ) RETURN BOOLEAN
702 IS
703 BEGIN
704
705 IF p_Attribute11 IS NULL OR
706 p_Attribute11 = FND_API.G_MISS_CHAR
707 THEN
708 RETURN TRUE;
709 END IF;
710
711 RETURN TRUE;
712
713 END Val_Attribute11;
714
715 -- Function Val_Attribute12
716
717 FUNCTION Val_Attribute12
718 ( p_Attribute12 IN VARCHAR2
719 ) RETURN BOOLEAN
720 IS
721 BEGIN
722
723 IF p_Attribute12 IS NULL OR
724 p_Attribute12 = FND_API.G_MISS_CHAR
725 THEN
726 RETURN TRUE;
727 END IF;
728
729 RETURN TRUE;
730
731 END Val_Attribute12;
732
733 -- Function Val_Attribute13
734
735 FUNCTION Val_Attribute13
736 ( p_Attribute13 IN VARCHAR2
737 ) RETURN BOOLEAN
738 IS
739 BEGIN
740
741 IF p_Attribute13 IS NULL OR
742 p_Attribute13 = FND_API.G_MISS_CHAR
743 THEN
744 RETURN TRUE;
745 END IF;
746
747 RETURN TRUE;
748
749 END Val_Attribute13;
750
751 -- Function Val_Attribute14
752
753 FUNCTION Val_Attribute14
754 ( p_Attribute14 IN VARCHAR2
755 ) RETURN BOOLEAN
756 IS
757 BEGIN
758
759 IF p_Attribute14 IS NULL OR
760 p_Attribute14 = FND_API.G_MISS_CHAR
761 THEN
762 RETURN TRUE;
763 END IF;
764
765 RETURN TRUE;
766
767 END Val_Attribute14;
768
769 -- Function Val_Attribute15
770
771 FUNCTION Val_Attribute15
772 ( p_Attribute15 IN VARCHAR2
773 ) RETURN BOOLEAN
774 IS
775 BEGIN
776
777 IF p_Attribute15 IS NULL OR
778 p_Attribute15 = FND_API.G_MISS_CHAR
779 THEN
780 RETURN TRUE;
781 END IF;
782
783 RETURN TRUE;
784
785 END Val_Attribute15;
786
787 -- Function Val_Attribute2
788
789 FUNCTION Val_Attribute2
790 ( p_Attribute2 IN VARCHAR2
791 ) RETURN BOOLEAN
792 IS
793 BEGIN
794
795 IF p_Attribute2 IS NULL OR
796 p_Attribute2 = FND_API.G_MISS_CHAR
797 THEN
798 RETURN TRUE;
799 END IF;
800
801 RETURN TRUE;
802
803 END Val_Attribute2;
804
805 -- Function Val_Attribute3
806
807 FUNCTION Val_Attribute3
808 ( p_Attribute3 IN VARCHAR2
809 ) RETURN BOOLEAN
810 IS
811 BEGIN
812
813 IF p_Attribute3 IS NULL OR
814 p_Attribute3 = FND_API.G_MISS_CHAR
815 THEN
816 RETURN TRUE;
817 END IF;
818
819 RETURN TRUE;
820
821 END Val_Attribute3;
822
823 -- Function Val_Attribute4
824
825 FUNCTION Val_Attribute4
826 ( p_Attribute4 IN VARCHAR2
827 ) RETURN BOOLEAN
828 IS
829 BEGIN
830
831 IF p_Attribute4 IS NULL OR
832 p_Attribute4 = FND_API.G_MISS_CHAR
833 THEN
834 RETURN TRUE;
835 END IF;
836
837 RETURN TRUE;
838
839 END Val_Attribute4;
840
841 -- Function Val_Attribute5
842
843 FUNCTION Val_Attribute5
844 ( p_Attribute5 IN VARCHAR2
845 ) RETURN BOOLEAN
846 IS
847 BEGIN
848
849 IF p_Attribute5 IS NULL OR
850 p_Attribute5 = FND_API.G_MISS_CHAR
851 THEN
852 RETURN TRUE;
853 END IF;
854
855 RETURN TRUE;
856
857 END Val_Attribute5;
858
859 -- Function Val_Attribute6
860
861 FUNCTION Val_Attribute6
862 ( p_Attribute6 IN VARCHAR2
863 ) RETURN BOOLEAN
864 IS
865 BEGIN
866
867 IF p_Attribute6 IS NULL OR
868 p_Attribute6 = FND_API.G_MISS_CHAR
869 THEN
870 RETURN TRUE;
871 END IF;
872
873 RETURN TRUE;
874
875 END Val_Attribute6;
876
877 -- Function Val_Attribute7
878
879 FUNCTION Val_Attribute7
880 ( p_Attribute7 IN VARCHAR2
881 ) RETURN BOOLEAN
882 IS
883 BEGIN
884
885 IF p_Attribute7 IS NULL OR
886 p_Attribute7 = FND_API.G_MISS_CHAR
887 THEN
888 RETURN TRUE;
889 END IF;
890
891 RETURN TRUE;
892
893 END Val_Attribute7;
894
895 -- Function Val_Attribute8
896
897 FUNCTION Val_Attribute8
898 ( p_Attribute8 IN VARCHAR2
899 ) RETURN BOOLEAN
900 IS
901 BEGIN
902
903 IF p_Attribute8 IS NULL OR
904 p_Attribute8 = FND_API.G_MISS_CHAR
905 THEN
906 RETURN TRUE;
907 END IF;
908
909 RETURN TRUE;
910
911 END Val_Attribute8;
912
913 -- Function Val_Attribute9
914
915 FUNCTION Val_Attribute9
916 ( p_Attribute9 IN VARCHAR2
917 ) RETURN BOOLEAN
918 IS
919 BEGIN
920
921 IF p_Attribute9 IS NULL OR
922 p_Attribute9 = FND_API.G_MISS_CHAR
923 THEN
924 RETURN TRUE;
925 END IF;
926
927 RETURN TRUE;
928
929 END Val_Attribute9;
930
931 -- Function Val_Attribute_Category
932
933 FUNCTION Val_Attribute_Category
934 ( p_Attribute_Category IN VARCHAR2
935 ) RETURN BOOLEAN
936 IS
937 BEGIN
938
939 IF p_Attribute_Category IS NULL OR
940 p_Attribute_Category = FND_API.G_MISS_CHAR
941 THEN
942 RETURN TRUE;
943 END IF;
944
945 RETURN TRUE;
946
947 END Val_Attribute_Category;
948
949 -- Function Val_Category_Id
950
951 FUNCTION Val_Category_Id
952 ( p_Category_Set_Id IN NUMBER
953 , p_Category_Id IN NUMBER
954 ) RETURN BOOLEAN
955 IS
956 l_count NUMBER;
957 BEGIN
958
959 IF p_Category_Id IS NULL OR
960 p_Category_Id = FND_API.G_MISS_NUM
961 THEN
962 RETURN TRUE;
963 ELSE
964 SELECT count(*)
965 INTO l_count
966 FROM mtl_categories mc,
967 mtl_category_sets mcs
968 WHERE mcs.category_set_id = p_Category_Set_Id
969 AND mc.structure_id = mcs.structure_id
970 AND mc.category_id = p_Category_Id;
971
972 IF l_count = 0 THEN
973 dbms_output.put_line ('Val_Category_Id Error');
974 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
975 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Category_Id');
976 FND_MSG_PUB.Add;
977 RETURN FALSE;
978 END IF;
979 END IF;
980
981 RETURN TRUE;
982
983 END Val_Category_Id;
984
985 -- Function Val_Category_Set_Id
986
987 FUNCTION Val_Category_Set_Id
988 ( p_Category_Set_Id IN NUMBER
989 ) RETURN BOOLEAN
990 IS
991
992 l_count NUMBER;
993
994 BEGIN
995
996 IF p_Category_Set_Id IS NULL OR
997 p_Category_Set_Id = FND_API.G_MISS_NUM
998 THEN
999 RETURN TRUE;
1000 ELSE
1001 SELECT count(*)
1002 INTO l_count
1003 FROM MTL_CATEGORY_SETS
1004 WHERE category_set_id = p_Category_Set_Id;
1005
1006 IF l_count = 0 THEN
1007 dbms_output.put_line ('Val_Category_Set_Id Error');
1008 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1009 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Category_Set_Id');
1010 FND_MSG_PUB.Add;
1011 RETURN FALSE;
1012 END IF;
1013 END IF;
1014
1015 RETURN TRUE;
1016
1017 END Val_Category_Set_Id;
1018
1019 -- Function Val_Created_By
1020
1021 FUNCTION Val_Created_By
1022 ( p_Created_By IN NUMBER
1023 ) RETURN BOOLEAN
1024 IS
1025 BEGIN
1026
1027 IF p_Created_By IS NULL OR
1028 p_Created_By = FND_API.G_MISS_NUM
1029 THEN
1030 RETURN TRUE;
1031 END IF;
1032
1033 RETURN TRUE;
1034
1035 END Val_Created_By;
1036
1037 -- Function Val_Creation_Date
1038
1039 FUNCTION Val_Creation_Date
1040 ( p_Creation_Date IN DATE
1041 ) RETURN BOOLEAN
1042 IS
1043 BEGIN
1044
1045 IF p_Creation_Date IS NULL OR
1046 p_Creation_Date = FND_API.G_MISS_DATE
1047 THEN
1048 RETURN TRUE;
1049 END IF;
1050
1051 RETURN TRUE;
1052
1053 END Val_Creation_Date;
1054
1055 -- Function Val_Customer_Id
1056
1057 FUNCTION Val_Customer_Id
1058 ( p_Customer_Id IN NUMBER
1059 ) RETURN BOOLEAN
1060 IS
1061
1062 l_count NUMBER;
1063
1064 BEGIN
1065
1066 IF p_Customer_Id IS NULL OR
1067 p_Customer_Id = FND_API.G_MISS_NUM
1068 THEN
1069 RETURN TRUE;
1070 ELSE
1071 SELECT count(*)
1072 INTO l_count
1073 FROM HZ_CUST_ACCOUNTS
1074 WHERE cust_account_id = p_Customer_Id
1075 AND status = 'A';
1076
1077 IF l_count = 0 THEN
1078 dbms_output.put_line ('Val_Customer_Id Error');
1079 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1080 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Customer_Id');
1081 FND_MSG_PUB.Add;
1082 RETURN FALSE;
1083 END IF;
1084 END IF;
1085
1086 RETURN TRUE;
1087
1088 END Val_Customer_Id;
1089
1090 -- Function Val_Inventory_Item_Id
1091
1092 FUNCTION Val_Inventory_Item_Id
1093 ( p_organization_id IN NUMBER
1094 , p_Inventory_Item_Id IN NUMBER
1095 ) RETURN BOOLEAN
1096 IS
1097
1098 l_count NUMBER;
1099
1100 BEGIN
1101
1102 IF p_Inventory_Item_Id IS NULL OR
1103 p_Inventory_Item_Id = FND_API.G_MISS_NUM
1104 THEN
1105 RETURN TRUE;
1106 ELSE
1107 SELECT count(*)
1108 INTO l_count
1109 FROM mtl_system_items
1110 WHERE organization_id = decode(p_organization_id,
1111 NULL, organization_id,
1112 FND_API.G_MISS_NUM, organization_id,
1113 p_organization_id)
1114 AND inventory_item_id = p_Inventory_Item_Id;
1115
1116 IF l_count = 0 THEN
1117 dbms_output.put_line ('Val_Inventory_Item_Id Error');
1118 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1119 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Inventory_Item_Id');
1120 FND_MSG_PUB.Add;
1121 RETURN FALSE;
1122 END IF;
1123 END IF;
1124
1125 RETURN TRUE;
1126
1127 END Val_Inventory_Item_Id;
1128
1129 -- Function Val_Last_Updated_By
1130
1131 FUNCTION Val_Last_Updated_By
1132 ( p_Last_Updated_By IN NUMBER
1133 ) RETURN BOOLEAN
1134 IS
1135 BEGIN
1136
1137 IF p_Last_Updated_By IS NULL OR
1138 p_Last_Updated_By = FND_API.G_MISS_NUM
1139 THEN
1140 RETURN TRUE;
1141 END IF;
1142
1143 RETURN TRUE;
1144
1145 END Val_Last_Updated_By;
1146
1147 -- Function Val_Last_Update_Date
1148
1149 FUNCTION Val_Last_Update_Date
1150 ( p_Last_Update_Date IN DATE
1151 ) RETURN BOOLEAN
1152 IS
1153 BEGIN
1154
1155 IF p_Last_Update_Date IS NULL OR
1156 p_Last_Update_Date = FND_API.G_MISS_DATE
1157 THEN
1158 RETURN TRUE;
1159 END IF;
1160
1161 RETURN TRUE;
1162
1163 END Val_Last_Update_Date;
1164
1165 -- Function Val_Last_Update_Login
1166
1167 FUNCTION Val_Last_Update_Login
1168 ( p_Last_Update_Login IN NUMBER
1169 ) RETURN BOOLEAN
1170 IS
1171 BEGIN
1172
1173 IF p_Last_Update_Login IS NULL OR
1174 p_Last_Update_Login = FND_API.G_MISS_NUM
1175 THEN
1176 RETURN TRUE;
1177 END IF;
1178
1179 RETURN TRUE;
1180
1181 END Val_Last_Update_Login;
1182
1183 -- Function Val_Organization_Id
1184
1185 FUNCTION Val_Organization_Id
1186 ( p_Organization_Id IN NUMBER
1187 ) RETURN BOOLEAN
1188 IS
1189 BEGIN
1190
1191 IF p_Organization_Id IS NULL OR
1192 p_Organization_Id = FND_API.G_MISS_NUM
1193 THEN
1194 RETURN TRUE;
1195 END IF;
1196
1197 RETURN TRUE;
1198
1199 END Val_Organization_Id;
1200
1201 -- Function Val_Program_Application_Id
1202
1203 FUNCTION Val_Program_Application_Id
1204 ( p_Program_Application_Id IN NUMBER
1205 ) RETURN BOOLEAN
1206 IS
1207 BEGIN
1208
1209 IF p_Program_Application_Id IS NULL OR
1210 p_Program_Application_Id = FND_API.G_MISS_NUM
1211 THEN
1212 RETURN TRUE;
1213 END IF;
1214
1215 RETURN TRUE;
1216
1217 END Val_Program_Application_Id;
1218
1219 -- Function Val_Program_Id
1220
1221 FUNCTION Val_Program_Id
1222 ( p_Program_Id IN NUMBER
1223 ) RETURN BOOLEAN
1224 IS
1225 BEGIN
1226
1227 IF p_Program_Id IS NULL OR
1228 p_Program_Id = FND_API.G_MISS_NUM
1229 THEN
1230 RETURN TRUE;
1231 END IF;
1232
1233 RETURN TRUE;
1234
1235 END Val_Program_Id;
1236
1237 -- Function Val_Program_Update_Date
1238
1239 FUNCTION Val_Program_Update_Date
1240 ( p_Program_Update_Date IN DATE
1241 ) RETURN BOOLEAN
1242 IS
1243 BEGIN
1244
1245 IF p_Program_Update_Date IS NULL OR
1246 p_Program_Update_Date = FND_API.G_MISS_DATE
1247 THEN
1248 RETURN TRUE;
1249 END IF;
1250
1251 RETURN TRUE;
1252
1253 END Val_Program_Update_Date;
1254
1255 -- Function Val_Request_Id
1256
1257 FUNCTION Val_Request_Id
1258 ( p_Request_Id IN NUMBER
1259 ) RETURN BOOLEAN
1260 IS
1261 BEGIN
1262
1263 IF p_Request_Id IS NULL OR
1264 p_Request_Id = FND_API.G_MISS_NUM
1265 THEN
1266 RETURN TRUE;
1267 END IF;
1268
1269 RETURN TRUE;
1270
1271 END Val_Request_Id;
1272
1273 -- Function Val_Secondary_Inventory
1274
1275 FUNCTION Val_Secondary_Inventory
1276 ( p_Secondary_Inventory IN VARCHAR2
1277 ) RETURN BOOLEAN
1278 IS
1279 BEGIN
1280
1281 IF p_Secondary_Inventory IS NULL OR
1282 p_Secondary_Inventory = FND_API.G_MISS_CHAR
1283 THEN
1284 RETURN TRUE;
1285 END IF;
1286
1287 RETURN TRUE;
1288
1289 END Val_Secondary_Inventory;
1290
1291 -- Function Val_Ship_To_Site_Id
1292
1293 FUNCTION Val_Ship_To_Site_Id
1294 ( p_Customer_id IN NUMBER
1295 , p_Ship_To_Site_Id IN NUMBER
1296 ) RETURN BOOLEAN
1297 IS
1298 l_count NUMBER;
1299 BEGIN
1300
1301 IF p_Ship_To_Site_Id IS NULL OR
1302 p_Ship_To_Site_Id = FND_API.G_MISS_NUM
1303 THEN
1304 RETURN TRUE;
1305 ELSE
1306 SELECT count(*)
1307 INTO l_count
1308 FROM HZ_CUST_SITE_USES_ALL RSU,
1309 HZ_CUST_ACCT_SITES_ALL RA
1310 WHERE RA.CUST_ACCOUNT_ID = p_Customer_id
1311 AND RA.CUST_ACCT_SITE_ID = RSU.CUST_ACCT_SITE_ID
1312 AND RSU.site_use_id = p_Ship_To_Site_Id
1313 AND RSU.site_use_code in ('SHIP_TO','BILL_TO');
1314
1315 IF l_count = 0 THEN
1316 dbms_output.put_line('Val_Ship_To_Site_Id Error');
1317 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1318 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Ship_To_Site_Id');
1319 FND_MSG_PUB.Add;
1320 RETURN FALSE;
1321 END IF;
1322 END IF;
1323
1324 RETURN TRUE;
1325
1326 END Val_Ship_To_Site_Id;
1327
1328
1329 -- Function Val_Sourcing_Rule_Id
1330
1331 FUNCTION Val_Sourcing_Rule_Id
1332 ( p_Sourcing_Rule_Id IN NUMBER
1333 , p_Sourcing_Rule_Type IN NUMBER
1334 ) RETURN BOOLEAN
1335 IS
1336 l_count NUMBER;
1337 BEGIN
1338
1339 IF p_Sourcing_Rule_Id IS NULL OR
1340 p_Sourcing_Rule_Id = FND_API.G_MISS_NUM
1341 THEN
1342 dbms_output.put_line ('Error Val_Sourcing_Rule_Id');
1343 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_REQUIRED');
1344 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Sourcing_Rule_Id');
1345 FND_MSG_PUB.Add;
1346 RETURN FALSE;
1347 ELSE
1348 SELECT count(*)
1349 INTO l_count
1350 FROM MRP_SOURCING_RULES
1351 WHERE sourcing_rule_id = p_Sourcing_Rule_Id
1352 AND sourcing_rule_type = p_Sourcing_Rule_Type;
1353
1354 IF l_count = 0 THEN
1355 dbms_output.put_line ('Error Val_Sourcing_Rule_Id');
1356 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1357 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Sourcing_Rule_Id');
1358 FND_MSG_PUB.Add;
1359 RETURN FALSE;
1360 END IF;
1361 END IF;
1362
1363 RETURN TRUE;
1364
1365 END Val_Sourcing_Rule_Id;
1366
1367 -- Function Val_Sourcing_Rule_Type
1368
1369 FUNCTION Val_Sourcing_Rule_Type
1370 ( p_Sourcing_Rule_Type IN NUMBER
1371 ) RETURN BOOLEAN
1372 IS
1373 BEGIN
1374
1375 IF p_Sourcing_Rule_Type IS NULL OR
1376 p_Sourcing_Rule_Type = FND_API.G_MISS_NUM
1377 THEN
1378 RETURN TRUE;
1379 ELSIF (p_Sourcing_Rule_Type <> 1 AND p_Sourcing_Rule_Type <> 2) THEN
1380 dbms_output.put_line ('Val_Sourcing_Rule_Type Error');
1381 FND_MESSAGE.SET_NAME('MRP','MRP_ATTRIBUTE_VALUE_ERROR');
1382 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Sourcing_Rule_Type');
1383 FND_MSG_PUB.Add;
1384 RETURN FALSE;
1385 END IF;
1386
1387 RETURN TRUE;
1388
1389 END Val_Sourcing_Rule_Type;
1390
1391 END MRP_Validate_Assignment;