[Home] [Help]
PACKAGE BODY: APPS.MRP_DEFAULT_SOURCING_RULE
Source
1 PACKAGE BODY MRP_Default_Sourcing_Rule AS
2 /* $Header: MRPDSRLB.pls 120.1 2005/06/16 08:11:40 ichoudhu noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'MRP_Default_Sourcing_Rule';
7
8 -- Boolean table type.
9
10 TYPE Boolean_Tbl_Type IS TABLE OF BOOLEAN
11 INDEX BY BINARY_INTEGER;
12
13 -- Package global used within the package.
14
15 g_Sourcing_Rule_rec MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type;
16 g_Sourcing_Rule_out_rec MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type; --NOCOPY CHANGES
17
18 -- Get functions.
19
20 FUNCTION Get_Sourcing_Rule_Id
21 RETURN NUMBER
22 IS
23 l_sourcing_rule_id NUMBER;
24 BEGIN
25
26 IF g_Sourcing_Rule_rec.operation = MRP_GLOBALS.G_OPR_CREATE THEN
27 SELECT mrp_sourcing_rules_s.NEXTVAL
28 INTO l_sourcing_rule_id
29 FROM dual;
30
31 RETURN l_sourcing_rule_id;
32 ELSE
33 RETURN NULL;
34 END IF;
35
36 END Get_Sourcing_Rule_Id;
37
38 FUNCTION Get_Attribute1
39 RETURN VARCHAR2
40 IS
41 BEGIN
42
43 RETURN NULL;
44
45 END Get_Attribute1;
46
47 FUNCTION Get_Attribute10
48 RETURN VARCHAR2
49 IS
50 BEGIN
51
52 RETURN NULL;
53
54 END Get_Attribute10;
55
56 FUNCTION Get_Attribute11
57 RETURN VARCHAR2
58 IS
59 BEGIN
60
61 RETURN NULL;
62
63 END Get_Attribute11;
64
65 FUNCTION Get_Attribute12
66 RETURN VARCHAR2
67 IS
68 BEGIN
69
70 RETURN NULL;
71
72 END Get_Attribute12;
73
74 FUNCTION Get_Attribute13
75 RETURN VARCHAR2
76 IS
77 BEGIN
78
79 RETURN NULL;
80
81 END Get_Attribute13;
82
83 FUNCTION Get_Attribute14
84 RETURN VARCHAR2
85 IS
86 BEGIN
87
88 RETURN NULL;
89
90 END Get_Attribute14;
91
92 FUNCTION Get_Attribute15
93 RETURN VARCHAR2
94 IS
95 BEGIN
96
97 RETURN NULL;
98
99 END Get_Attribute15;
100
101 FUNCTION Get_Attribute2
102 RETURN VARCHAR2
103 IS
104 BEGIN
105
106 RETURN NULL;
107
108 END Get_Attribute2;
109
110 FUNCTION Get_Attribute3
111 RETURN VARCHAR2
112 IS
113 BEGIN
114
115 RETURN NULL;
116
117 END Get_Attribute3;
118
119 FUNCTION Get_Attribute4
120 RETURN VARCHAR2
121 IS
122 BEGIN
123
124 RETURN NULL;
125
126 END Get_Attribute4;
127
128 FUNCTION Get_Attribute5
129 RETURN VARCHAR2
130 IS
131 BEGIN
132
133 RETURN NULL;
134
135 END Get_Attribute5;
136
137 FUNCTION Get_Attribute6
138 RETURN VARCHAR2
139 IS
140 BEGIN
141
142 RETURN NULL;
143
144 END Get_Attribute6;
145
146 FUNCTION Get_Attribute7
147 RETURN VARCHAR2
148 IS
149 BEGIN
150
151 RETURN NULL;
152
153 END Get_Attribute7;
154
155 FUNCTION Get_Attribute8
156 RETURN VARCHAR2
157 IS
158 BEGIN
159
160 RETURN NULL;
161
162 END Get_Attribute8;
163
164 FUNCTION Get_Attribute9
165 RETURN VARCHAR2
166 IS
167 BEGIN
168
169 RETURN NULL;
170
171 END Get_Attribute9;
172
173 FUNCTION Get_Attribute_Category
174 RETURN VARCHAR2
175 IS
176 BEGIN
177
178 RETURN NULL;
179
180 END Get_Attribute_Category;
181
182 FUNCTION Get_Created_By
183 RETURN NUMBER
184 IS
185 BEGIN
186
187 RETURN NULL;
188
189 END Get_Created_By;
190
191 FUNCTION Get_Creation_Date
192 RETURN DATE
193 IS
194 BEGIN
195
196 RETURN NULL;
197
198 END Get_Creation_Date;
199
200 FUNCTION Get_Description
201 RETURN VARCHAR2
202 IS
203 BEGIN
204
205 RETURN NULL;
206
207 END Get_Description;
208
209 FUNCTION Get_Last_Updated_By
210 RETURN NUMBER
211 IS
212 BEGIN
213
214 RETURN NULL;
215
216 END Get_Last_Updated_By;
217
218 FUNCTION Get_Last_Update_Date
219 RETURN DATE
220 IS
221 BEGIN
222
223 RETURN NULL;
224
225 END Get_Last_Update_Date;
226
227 FUNCTION Get_Last_Update_Login
228 RETURN NUMBER
229 IS
230 BEGIN
231
232 RETURN NULL;
233
234 END Get_Last_Update_Login;
235
236 FUNCTION Get_Organization_Id
237 RETURN NUMBER
238 IS
239 BEGIN
240
241 RETURN NULL;
242
243 END Get_Organization_Id;
244
245 FUNCTION Get_Planning_Active
246 RETURN NUMBER
247 IS
248 BEGIN
249
250 RETURN NULL;
251
252 END Get_Planning_Active;
253
254 FUNCTION Get_Program_Application_Id
255 RETURN NUMBER
256 IS
257 BEGIN
258
259 RETURN NULL;
260
261 END Get_Program_Application_Id;
262
263 FUNCTION Get_Program_Id
264 RETURN NUMBER
265 IS
266 BEGIN
267
268 RETURN NULL;
269
270 END Get_Program_Id;
271
272 FUNCTION Get_Program_Update_Date
273 RETURN DATE
274 IS
275 BEGIN
276
277 RETURN NULL;
278
279 END Get_Program_Update_Date;
280
281 FUNCTION Get_Request_Id
282 RETURN NUMBER
283 IS
284 BEGIN
285
286 RETURN NULL;
287
288 END Get_Request_Id;
289
290 FUNCTION Get_Sourcing_Rule_Name
291 RETURN VARCHAR2
292 IS
293 BEGIN
294
295 RETURN NULL;
296
297 END Get_Sourcing_Rule_Name;
298
299 FUNCTION Get_Sourcing_Rule_Type
300 RETURN NUMBER
301 IS
302 BEGIN
303
304 RETURN NULL;
305
306 END Get_Sourcing_Rule_Type;
307
308 FUNCTION Get_Status
309 RETURN NUMBER
310 IS
311 BEGIN
312
313 RETURN NULL;
314
315 END Get_Status;
316
317 -- Procedure Attributes
318
319 PROCEDURE Attributes
320 ( p_Sourcing_Rule_rec IN MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type :=
321 MRP_Sourcing_Rule_PUB.G_MISS_SOURCING_RULE_REC
322 , p_iteration IN NUMBER := 1
323 , x_Sourcing_Rule_rec OUT NOCOPY MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type --NOCOPY CHANGES
324 )
325 IS
326 l_changed_column_tbl Boolean_Tbl_Type;
327 BEGIN
328
329 -- Check number of iterations.
330
331 IF p_iteration > MRP_Globals.G_MAX_DEF_ITERATIONS THEN
332
333 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
334 THEN
335
336 FND_MESSAGE.SET_NAME('MRP','BOI_DEF_MAX_ITERATION');
337 FND_MSG_PUB.Add;
338
339 END IF;
340
341 RAISE FND_API.G_EXC_ERROR;
342
343 END IF;
344
345 -- Initialize g_Sourcing_Rule_rec
346
347 g_Sourcing_Rule_rec := p_Sourcing_Rule_rec;
348
349 -- Default missing attributes.
350
351
352 IF g_Sourcing_Rule_rec.Sourcing_Rule_Id = FND_API.G_MISS_NUM THEN
353
354 g_Sourcing_Rule_rec.Sourcing_Rule_Id := Get_Sourcing_Rule_Id;
355
356 END IF;
357
358
359 IF g_Sourcing_Rule_rec.Attribute1 = FND_API.G_MISS_CHAR THEN
360
361 g_Sourcing_Rule_rec.Attribute1 := Get_Attribute1;
362
363 IF g_Sourcing_Rule_rec.Attribute1 IS NOT NULL THEN
364
365 IF MRP_Validate_Sourcing_Rule.Val_Attribute1
366 ( g_Sourcing_Rule_rec.Attribute1 )
367 THEN
368
369 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
370 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE1
371 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
372 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
373 );
374 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
375 ELSE
376 g_Sourcing_Rule_rec.Attribute1 := NULL;
377 END IF;
378
379 END IF;
380
381 END IF;
382
383 IF g_Sourcing_Rule_rec.Attribute10 = FND_API.G_MISS_CHAR THEN
384
385 g_Sourcing_Rule_rec.Attribute10 := Get_Attribute10;
386
387 IF g_Sourcing_Rule_rec.Attribute10 IS NOT NULL THEN
388
389 IF MRP_Validate_Sourcing_Rule.Val_Attribute10
390 ( g_Sourcing_Rule_rec.Attribute10 )
391 THEN
392
393 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
394 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE10
395 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
396 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
397 );
398 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
399 ELSE
400 g_Sourcing_Rule_rec.Attribute10 := NULL;
401 END IF;
402
403 END IF;
404
405 END IF;
406
407 IF g_Sourcing_Rule_rec.Attribute11 = FND_API.G_MISS_CHAR THEN
408
409 g_Sourcing_Rule_rec.Attribute11 := Get_Attribute11;
410
411 IF g_Sourcing_Rule_rec.Attribute11 IS NOT NULL THEN
412
413 IF MRP_Validate_Sourcing_Rule.Val_Attribute11
414 ( g_Sourcing_Rule_rec.Attribute11 )
415 THEN
416
417 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
418 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE11
419 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
420 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
421 );
422 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
423 ELSE
424 g_Sourcing_Rule_rec.Attribute11 := NULL;
425 END IF;
426
427 END IF;
428
429 END IF;
430
431 IF g_Sourcing_Rule_rec.Attribute12 = FND_API.G_MISS_CHAR THEN
432
433 g_Sourcing_Rule_rec.Attribute12 := Get_Attribute12;
434
435 IF g_Sourcing_Rule_rec.Attribute12 IS NOT NULL THEN
436
437 IF MRP_Validate_Sourcing_Rule.Val_Attribute12
438 ( g_Sourcing_Rule_rec.Attribute12 )
439 THEN
440
441 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
442 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE12
443 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
444 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
445 );
446 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
447 ELSE
448 g_Sourcing_Rule_rec.Attribute12 := NULL;
449 END IF;
450
451 END IF;
452
453 END IF;
454
455 IF g_Sourcing_Rule_rec.Attribute13 = FND_API.G_MISS_CHAR THEN
456
457 g_Sourcing_Rule_rec.Attribute13 := Get_Attribute13;
458
459 IF g_Sourcing_Rule_rec.Attribute13 IS NOT NULL THEN
460
461 IF MRP_Validate_Sourcing_Rule.Val_Attribute13
462 ( g_Sourcing_Rule_rec.Attribute13 )
463 THEN
464
465 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
466 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE13
467 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
468 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec -- NOCOPY CHANGES
469 );
470 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
471 ELSE
472 g_Sourcing_Rule_rec.Attribute13 := NULL;
473 END IF;
474
475 END IF;
476
477 END IF;
478
479 IF g_Sourcing_Rule_rec.Attribute14 = FND_API.G_MISS_CHAR THEN
480
481 g_Sourcing_Rule_rec.Attribute14 := Get_Attribute14;
482
483 IF g_Sourcing_Rule_rec.Attribute14 IS NOT NULL THEN
484
485 IF MRP_Validate_Sourcing_Rule.Val_Attribute14
486 ( g_Sourcing_Rule_rec.Attribute14 )
487 THEN
488
489 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
490 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE14
491 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
492 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
493 );
494 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
495 ELSE
496 g_Sourcing_Rule_rec.Attribute14 := NULL;
497 END IF;
498
499 END IF;
500
501 END IF;
502
503 IF g_Sourcing_Rule_rec.Attribute15 = FND_API.G_MISS_CHAR THEN
504
505 g_Sourcing_Rule_rec.Attribute15 := Get_Attribute15;
506
507 IF g_Sourcing_Rule_rec.Attribute15 IS NOT NULL THEN
508
509 IF MRP_Validate_Sourcing_Rule.Val_Attribute15
510 ( g_Sourcing_Rule_rec.Attribute15 )
511 THEN
512
513 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
514 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE15
515 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
516 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
517 );
518 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
519 ELSE
520 g_Sourcing_Rule_rec.Attribute15 := NULL;
521 END IF;
522
523 END IF;
524
525 END IF;
526
527 IF g_Sourcing_Rule_rec.Attribute2 = FND_API.G_MISS_CHAR THEN
528
529 g_Sourcing_Rule_rec.Attribute2 := Get_Attribute2;
530
531 IF g_Sourcing_Rule_rec.Attribute2 IS NOT NULL THEN
532
533 IF MRP_Validate_Sourcing_Rule.Val_Attribute2
534 ( g_Sourcing_Rule_rec.Attribute2 )
535 THEN
539 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
536
537 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
538 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE2
540 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
541 );
542 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
543 ELSE
544 g_Sourcing_Rule_rec.Attribute2 := NULL;
545 END IF;
546
547 END IF;
548
549 END IF;
550
551 IF g_Sourcing_Rule_rec.Attribute3 = FND_API.G_MISS_CHAR THEN
552
553 g_Sourcing_Rule_rec.Attribute3 := Get_Attribute3;
554
555 IF g_Sourcing_Rule_rec.Attribute3 IS NOT NULL THEN
556
557 IF MRP_Validate_Sourcing_Rule.Val_Attribute3
558 ( g_Sourcing_Rule_rec.Attribute3 )
559 THEN
560
561 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
562 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE3
563 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
564 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
565 );
566 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
567 ELSE
568 g_Sourcing_Rule_rec.Attribute3 := NULL;
569 END IF;
570
571 END IF;
572
573 END IF;
574
575 IF g_Sourcing_Rule_rec.Attribute4 = FND_API.G_MISS_CHAR THEN
576
577 g_Sourcing_Rule_rec.Attribute4 := Get_Attribute4;
578
579 IF g_Sourcing_Rule_rec.Attribute4 IS NOT NULL THEN
580
581 IF MRP_Validate_Sourcing_Rule.Val_Attribute4
582 ( g_Sourcing_Rule_rec.Attribute4 )
583 THEN
584
585 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
586 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE4
587 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
588 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
589 );
590 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
591 ELSE
592 g_Sourcing_Rule_rec.Attribute4 := NULL;
593 END IF;
594
595 END IF;
596
597 END IF;
598
599 IF g_Sourcing_Rule_rec.Attribute5 = FND_API.G_MISS_CHAR THEN
600
601 g_Sourcing_Rule_rec.Attribute5 := Get_Attribute5;
602
603 IF g_Sourcing_Rule_rec.Attribute5 IS NOT NULL THEN
604
605 IF MRP_Validate_Sourcing_Rule.Val_Attribute5
606 ( g_Sourcing_Rule_rec.Attribute5 )
607 THEN
608
609 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
610 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE5
611 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
612 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
613 );
614 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
615 ELSE
616 g_Sourcing_Rule_rec.Attribute5 := NULL;
617 END IF;
618
619 END IF;
620
621 END IF;
622
623 IF g_Sourcing_Rule_rec.Attribute6 = FND_API.G_MISS_CHAR THEN
624
625 g_Sourcing_Rule_rec.Attribute6 := Get_Attribute6;
626
627 IF g_Sourcing_Rule_rec.Attribute6 IS NOT NULL THEN
628
629 IF MRP_Validate_Sourcing_Rule.Val_Attribute6
630 ( g_Sourcing_Rule_rec.Attribute6 )
631 THEN
632
633 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
634 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE6
635 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
636 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
637 );
638 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
639 ELSE
640 g_Sourcing_Rule_rec.Attribute6 := NULL;
641 END IF;
642
643 END IF;
644
645 END IF;
646
647 IF g_Sourcing_Rule_rec.Attribute7 = FND_API.G_MISS_CHAR THEN
648
649 g_Sourcing_Rule_rec.Attribute7 := Get_Attribute7;
650
651 IF g_Sourcing_Rule_rec.Attribute7 IS NOT NULL THEN
652
653 IF MRP_Validate_Sourcing_Rule.Val_Attribute7
654 ( g_Sourcing_Rule_rec.Attribute7 )
655 THEN
656
657 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
658 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE7
659 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
660 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
661 );
662 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
663 ELSE
667 END IF;
664 g_Sourcing_Rule_rec.Attribute7 := NULL;
665 END IF;
666
668
669 END IF;
670
671 IF g_Sourcing_Rule_rec.Attribute8 = FND_API.G_MISS_CHAR THEN
672
673 g_Sourcing_Rule_rec.Attribute8 := Get_Attribute8;
674
675 IF g_Sourcing_Rule_rec.Attribute8 IS NOT NULL THEN
676
677 IF MRP_Validate_Sourcing_Rule.Val_Attribute8
678 ( g_Sourcing_Rule_rec.Attribute8 )
679 THEN
680
681 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
682 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE8
683 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
684 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
685 );
686 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
687 ELSE
688 g_Sourcing_Rule_rec.Attribute8 := NULL;
689 END IF;
690
691 END IF;
692
693 END IF;
694
695 IF g_Sourcing_Rule_rec.Attribute9 = FND_API.G_MISS_CHAR THEN
696
697 g_Sourcing_Rule_rec.Attribute9 := Get_Attribute9;
698
699 IF g_Sourcing_Rule_rec.Attribute9 IS NOT NULL THEN
700
701 IF MRP_Validate_Sourcing_Rule.Val_Attribute9
702 ( g_Sourcing_Rule_rec.Attribute9 )
703 THEN
704
705 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
706 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE9
707 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
708 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
709 );
710 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
711 ELSE
712 g_Sourcing_Rule_rec.Attribute9 := NULL;
713 END IF;
714
715 END IF;
716
717 END IF;
718
719 IF g_Sourcing_Rule_rec.Attribute_Category = FND_API.G_MISS_CHAR THEN
720
721 g_Sourcing_Rule_rec.Attribute_Category := Get_Attribute_Category;
722
723 IF g_Sourcing_Rule_rec.Attribute_Category IS NOT NULL THEN
724
725 IF MRP_Validate_Sourcing_Rule.Val_Attribute_Category
726 ( g_Sourcing_Rule_rec.Attribute_Category )
727 THEN
728
729 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
730 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ATTRIBUTE_CATEGORY
731 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
732 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
733 );
734 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
735 ELSE
736 g_Sourcing_Rule_rec.Attribute_Category := NULL;
737 END IF;
738
739 END IF;
740
741 END IF;
742
743 IF g_Sourcing_Rule_rec.Created_By = FND_API.G_MISS_NUM THEN
744
745 g_Sourcing_Rule_rec.Created_By := Get_Created_By;
746
747 IF g_Sourcing_Rule_rec.Created_By IS NOT NULL THEN
748
749 IF MRP_Validate_Sourcing_Rule.Val_Created_By
750 ( g_Sourcing_Rule_rec.Created_By )
751 THEN
752
753 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
754 ( p_attr_id => MRP_Sourcing_Rule_Util.G_CREATED_BY
755 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
756 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
757 );
758 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
759 ELSE
760 g_Sourcing_Rule_rec.Created_By := NULL;
761 END IF;
762
763 END IF;
764
765 END IF;
766
767 IF g_Sourcing_Rule_rec.Creation_Date = FND_API.G_MISS_DATE THEN
768
769 g_Sourcing_Rule_rec.Creation_Date := Get_Creation_Date;
770
771 IF g_Sourcing_Rule_rec.Creation_Date IS NOT NULL THEN
772
773 IF MRP_Validate_Sourcing_Rule.Val_Creation_Date
774 ( g_Sourcing_Rule_rec.Creation_Date )
775 THEN
776
777 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
778 ( p_attr_id => MRP_Sourcing_Rule_Util.G_CREATION_DATE
779 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
780 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
781 );
782 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
783 ELSE
784 g_Sourcing_Rule_rec.Creation_Date := NULL;
785 END IF;
786
787 END IF;
788
789 END IF;
790
791 IF g_Sourcing_Rule_rec.Description = FND_API.G_MISS_CHAR THEN
792
796
793 g_Sourcing_Rule_rec.Description := Get_Description;
794
795 IF g_Sourcing_Rule_rec.Description IS NOT NULL THEN
797 IF MRP_Validate_Sourcing_Rule.Val_Description
798 ( g_Sourcing_Rule_rec.Description )
799 THEN
800
801 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
802 ( p_attr_id => MRP_Sourcing_Rule_Util.G_DESCRIPTION
803 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
804 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
805 );
806 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
807 ELSE
808 g_Sourcing_Rule_rec.Description := NULL;
809 END IF;
810
811 END IF;
812
813 END IF;
814
815 IF g_Sourcing_Rule_rec.Last_Updated_By = FND_API.G_MISS_NUM THEN
816
817 g_Sourcing_Rule_rec.Last_Updated_By := Get_Last_Updated_By;
818
819 IF g_Sourcing_Rule_rec.Last_Updated_By IS NOT NULL THEN
820
821 IF MRP_Validate_Sourcing_Rule.Val_Last_Updated_By
822 ( g_Sourcing_Rule_rec.Last_Updated_By )
823 THEN
824
825 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
826 ( p_attr_id => MRP_Sourcing_Rule_Util.G_LAST_UPDATED_BY
827 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
828 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
829 );
830 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
831 ELSE
832 g_Sourcing_Rule_rec.Last_Updated_By := NULL;
833 END IF;
834
835 END IF;
836
837 END IF;
838
839 IF g_Sourcing_Rule_rec.Last_Update_Date = FND_API.G_MISS_DATE THEN
840
841 g_Sourcing_Rule_rec.Last_Update_Date := Get_Last_Update_Date;
842
843 IF g_Sourcing_Rule_rec.Last_Update_Date IS NOT NULL THEN
844
845 IF MRP_Validate_Sourcing_Rule.Val_Last_Update_Date
846 ( g_Sourcing_Rule_rec.Last_Update_Date )
847 THEN
848
849 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
850 ( p_attr_id => MRP_Sourcing_Rule_Util.G_LAST_UPDATE_DATE
851 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
852 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
853 );
854 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
855 ELSE
856 g_Sourcing_Rule_rec.Last_Update_Date := NULL;
857 END IF;
858
859 END IF;
860
861 END IF;
862
863 IF g_Sourcing_Rule_rec.Last_Update_Login = FND_API.G_MISS_NUM THEN
864
865 g_Sourcing_Rule_rec.Last_Update_Login := Get_Last_Update_Login;
866
867 IF g_Sourcing_Rule_rec.Last_Update_Login IS NOT NULL THEN
868
869 IF MRP_Validate_Sourcing_Rule.Val_Last_Update_Login
870 ( g_Sourcing_Rule_rec.Last_Update_Login )
871 THEN
872
873 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
874 ( p_attr_id => MRP_Sourcing_Rule_Util.G_LAST_UPDATE_LOGIN
875 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
876 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
877 );
881 END IF;
878 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
879 ELSE
880 g_Sourcing_Rule_rec.Last_Update_Login := NULL;
882
883 END IF;
884
885 END IF;
886
887 IF g_Sourcing_Rule_rec.Organization_Id = FND_API.G_MISS_NUM THEN
888
889 g_Sourcing_Rule_rec.Organization_Id := Get_Organization_Id;
890
891 IF g_Sourcing_Rule_rec.Organization_Id IS NOT NULL THEN
892
893 IF MRP_Validate_Sourcing_Rule.Val_Organization_Id
894 ( g_Sourcing_Rule_rec.Organization_Id )
895 THEN
896
897 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
898 ( p_attr_id => MRP_Sourcing_Rule_Util.G_ORGANIZATION_ID
899 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
900 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
901 );
902 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
903 ELSE
904 g_Sourcing_Rule_rec.Organization_Id := NULL;
905 END IF;
906
907 END IF;
908
909 END IF;
910
911 IF g_Sourcing_Rule_rec.Planning_Active = FND_API.G_MISS_NUM THEN
912
913 g_Sourcing_Rule_rec.Planning_Active := Get_Planning_Active;
914
915 IF g_Sourcing_Rule_rec.Planning_Active IS NOT NULL THEN
916
917 IF MRP_Validate_Sourcing_Rule.Val_Planning_Active
918 ( g_Sourcing_Rule_rec.Planning_Active )
919 THEN
920
921 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
922 ( p_attr_id => MRP_Sourcing_Rule_Util.G_PLANNING_ACTIVE
923 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
924 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
925 );
926 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
927 ELSE
928 g_Sourcing_Rule_rec.Planning_Active := NULL;
929 END IF;
930
931 END IF;
932
933 END IF;
934
935 IF g_Sourcing_Rule_rec.Program_Application_Id = FND_API.G_MISS_NUM THEN
936
937 g_Sourcing_Rule_rec.Program_Application_Id := Get_Program_Application_Id;
938
939 IF g_Sourcing_Rule_rec.Program_Application_Id IS NOT NULL THEN
940
941 IF MRP_Validate_Sourcing_Rule.Val_Program_Application_Id
942 ( g_Sourcing_Rule_rec.Program_Application_Id )
943 THEN
944
945 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
946 ( p_attr_id => MRP_Sourcing_Rule_Util.G_PROGRAM_APPLICATION_ID
947 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
948 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
949 );
950 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
951 ELSE
952 g_Sourcing_Rule_rec.Program_Application_Id := NULL;
953 END IF;
954
955 END IF;
956
957 END IF;
958
959 IF g_Sourcing_Rule_rec.Program_Id = FND_API.G_MISS_NUM THEN
960
961 g_Sourcing_Rule_rec.Program_Id := Get_Program_Id;
962
963 IF g_Sourcing_Rule_rec.Program_Id IS NOT NULL THEN
964
968
965 IF MRP_Validate_Sourcing_Rule.Val_Program_Id
966 ( g_Sourcing_Rule_rec.Program_Id )
967 THEN
969 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
970 ( p_attr_id => MRP_Sourcing_Rule_Util.G_PROGRAM_ID
971 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
972 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
973 );
974 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
975 ELSE
976 g_Sourcing_Rule_rec.Program_Id := NULL;
977 END IF;
978
979 END IF;
980
981 END IF;
982
983 IF g_Sourcing_Rule_rec.Program_Update_Date = FND_API.G_MISS_DATE THEN
984
985 g_Sourcing_Rule_rec.Program_Update_Date := Get_Program_Update_Date;
986
987 IF g_Sourcing_Rule_rec.Program_Update_Date IS NOT NULL THEN
988
989 IF MRP_Validate_Sourcing_Rule.Val_Program_Update_Date
990 ( g_Sourcing_Rule_rec.Program_Update_Date )
991 THEN
992
993 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
994 ( p_attr_id => MRP_Sourcing_Rule_Util.G_PROGRAM_UPDATE_DATE
995 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
996 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
997 );
998 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
999 ELSE
1000 g_Sourcing_Rule_rec.Program_Update_Date := NULL;
1001 END IF;
1002
1003 END IF;
1004
1005 END IF;
1006
1007 IF g_Sourcing_Rule_rec.Request_Id = FND_API.G_MISS_NUM THEN
1008
1009 g_Sourcing_Rule_rec.Request_Id := Get_Request_Id;
1010
1011 IF g_Sourcing_Rule_rec.Request_Id IS NOT NULL THEN
1012
1013 IF MRP_Validate_Sourcing_Rule.Val_Request_Id
1014 ( g_Sourcing_Rule_rec.Request_Id )
1015 THEN
1016
1017 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
1018 ( p_attr_id => MRP_Sourcing_Rule_Util.G_REQUEST_ID
1019 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
1020 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
1021 );
1022 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
1023 ELSE
1024 g_Sourcing_Rule_rec.Request_Id := NULL;
1025 END IF;
1026
1027 END IF;
1028
1029 END IF;
1030
1031 IF g_Sourcing_Rule_rec.Sourcing_Rule_Name = FND_API.G_MISS_CHAR THEN
1032
1033 g_Sourcing_Rule_rec.Sourcing_Rule_Name := Get_Sourcing_Rule_Name;
1034
1035 IF g_Sourcing_Rule_rec.Sourcing_Rule_Name IS NOT NULL THEN
1036 -- bug 3015208
1037 IF MRP_Validate_Sourcing_Rule.Val_Sourcing_Rule_Name
1038 ( g_Sourcing_Rule_rec.Sourcing_Rule_Name,
1039 g_Sourcing_Rule_rec.organization_id )
1040 THEN
1041
1042 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
1043 ( p_attr_id => MRP_Sourcing_Rule_Util.G_SOURCING_RULE_NAME
1044 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
1045 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
1046 );
1047 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
1048 ELSE
1052 END IF;
1049 g_Sourcing_Rule_rec.Sourcing_Rule_Name := NULL;
1050 END IF;
1051
1053
1054 END IF;
1055
1056 IF g_Sourcing_Rule_rec.Sourcing_Rule_Type = FND_API.G_MISS_NUM THEN
1057
1058 g_Sourcing_Rule_rec.Sourcing_Rule_Type := Get_Sourcing_Rule_Type;
1059
1060 IF g_Sourcing_Rule_rec.Sourcing_Rule_Type IS NOT NULL THEN
1061
1062 IF MRP_Validate_Sourcing_Rule.Val_Sourcing_Rule_Type
1063 ( g_Sourcing_Rule_rec.Sourcing_Rule_Type )
1064 THEN
1065
1066 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
1067 ( p_attr_id => MRP_Sourcing_Rule_Util.G_SOURCING_RULE_TYPE
1068 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
1069 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
1070 );
1071 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
1072 ELSE
1073 g_Sourcing_Rule_rec.Sourcing_Rule_Type := NULL;
1074 END IF;
1075
1076 END IF;
1077
1078 END IF;
1079
1080 IF g_Sourcing_Rule_rec.Status = FND_API.G_MISS_NUM THEN
1081
1082 g_Sourcing_Rule_rec.Status := Get_Status;
1083
1084 IF g_Sourcing_Rule_rec.Status IS NOT NULL THEN
1085
1086 IF MRP_Validate_Sourcing_Rule.Val_Status
1087 ( g_Sourcing_Rule_rec.Status )
1088 THEN
1089
1090 MRP_Sourcing_Rule_Util.Clear_Dependent_Attr
1091 ( p_attr_id => MRP_Sourcing_Rule_Util.G_STATUS
1092 , p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
1093 , x_Sourcing_Rule_rec => g_Sourcing_Rule_out_rec --NOCOPY CHANGES
1094 );
1095 g_Sourcing_Rule_rec := g_Sourcing_Rule_out_rec; --NOCOPY CHANGES
1096 ELSE
1097 g_Sourcing_Rule_rec.Status := NULL;
1098 END IF;
1099
1100 END IF;
1101
1102 END IF;
1103
1104 -- Redefault if there are any missing attributes.
1105
1106 IF g_Sourcing_Rule_rec.Sourcing_Rule_Id = FND_API.G_MISS_NUM
1107 OR g_Sourcing_Rule_rec.Attribute1 = FND_API.G_MISS_CHAR
1108 OR g_Sourcing_Rule_rec.Attribute10 = FND_API.G_MISS_CHAR
1109 OR g_Sourcing_Rule_rec.Attribute11 = FND_API.G_MISS_CHAR
1110 OR g_Sourcing_Rule_rec.Attribute12 = FND_API.G_MISS_CHAR
1111 OR g_Sourcing_Rule_rec.Attribute13 = FND_API.G_MISS_CHAR
1112 OR g_Sourcing_Rule_rec.Attribute14 = FND_API.G_MISS_CHAR
1113 OR g_Sourcing_Rule_rec.Attribute15 = FND_API.G_MISS_CHAR
1114 OR g_Sourcing_Rule_rec.Attribute2 = FND_API.G_MISS_CHAR
1115 OR g_Sourcing_Rule_rec.Attribute3 = FND_API.G_MISS_CHAR
1116 OR g_Sourcing_Rule_rec.Attribute4 = FND_API.G_MISS_CHAR
1117 OR g_Sourcing_Rule_rec.Attribute5 = FND_API.G_MISS_CHAR
1118 OR g_Sourcing_Rule_rec.Attribute6 = FND_API.G_MISS_CHAR
1119 OR g_Sourcing_Rule_rec.Attribute7 = FND_API.G_MISS_CHAR
1120 OR g_Sourcing_Rule_rec.Attribute8 = FND_API.G_MISS_CHAR
1121 OR g_Sourcing_Rule_rec.Attribute9 = FND_API.G_MISS_CHAR
1122 OR g_Sourcing_Rule_rec.Attribute_Category = FND_API.G_MISS_CHAR
1123 OR g_Sourcing_Rule_rec.Created_By = FND_API.G_MISS_NUM
1124 OR g_Sourcing_Rule_rec.Creation_Date = FND_API.G_MISS_DATE
1125 OR g_Sourcing_Rule_rec.Description = FND_API.G_MISS_CHAR
1126 OR g_Sourcing_Rule_rec.Last_Updated_By = FND_API.G_MISS_NUM
1127 OR g_Sourcing_Rule_rec.Last_Update_Date = FND_API.G_MISS_DATE
1128 OR g_Sourcing_Rule_rec.Last_Update_Login = FND_API.G_MISS_NUM
1129 OR g_Sourcing_Rule_rec.Organization_Id = FND_API.G_MISS_NUM
1130 OR g_Sourcing_Rule_rec.Planning_Active = FND_API.G_MISS_NUM
1131 OR g_Sourcing_Rule_rec.Program_Application_Id = FND_API.G_MISS_NUM
1132 OR g_Sourcing_Rule_rec.Program_Id = FND_API.G_MISS_NUM
1133 OR g_Sourcing_Rule_rec.Program_Update_Date = FND_API.G_MISS_DATE
1134 OR g_Sourcing_Rule_rec.Request_Id = FND_API.G_MISS_NUM
1135 OR g_Sourcing_Rule_rec.Sourcing_Rule_Name = FND_API.G_MISS_CHAR
1136 OR g_Sourcing_Rule_rec.Sourcing_Rule_Type = FND_API.G_MISS_NUM
1137 OR g_Sourcing_Rule_rec.Status = FND_API.G_MISS_NUM
1138 THEN
1139
1140 MRP_Default_Sourcing_Rule.Attributes
1141 ( p_Sourcing_Rule_rec => g_Sourcing_Rule_rec
1142 , p_iteration => p_iteration + 1
1143 , x_Sourcing_Rule_rec => x_Sourcing_Rule_rec
1144 );
1145
1146 ELSE
1147
1148 -- Done defaulting attributes
1149
1150 x_Sourcing_Rule_rec := g_Sourcing_Rule_rec;
1151
1152 END IF;
1153
1154 END Attributes;
1155
1156 END MRP_Default_Sourcing_Rule;