DBA Data[Home] [Help]

PACKAGE BODY: APPS.MRP_ASSIGNMENT_UTIL

Source


1 PACKAGE BODY MRP_Assignment_Util AS
2 /* $Header: MRPUASNB.pls 115.2 99/07/16 12:38:32 porting ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'MRP_Assignment_Util';
7 
8 --  Procedure Clear_Dependent_Attr
9 
10 PROCEDURE Clear_Dependent_Attr
11 (   p_attr_id                       IN  NUMBER := FND_API.G_MISS_NUM
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 ,   x_Assignment_rec                OUT MRP_Src_Assignment_PUB.Assignment_Rec_Type
16 )
17 IS
18 BEGIN
19 
20     --  Load out record
21 
22     x_Assignment_rec := p_Assignment_rec;
23 
24     --  If attr_id is missing compare old and new records and for
25     --  every changed attribute clear its dependent fields.
26 
27     IF p_attr_id = FND_API.G_MISS_NUM THEN
28 
29         IF NOT MRP_Globals.Equal(p_Assignment_rec.Assignment_Id,p_old_Assignment_rec.Assignment_Id)
30         THEN
31             NULL;
32         END IF;
33 
34         IF NOT MRP_Globals.Equal(p_Assignment_rec.Assignment_Set_Id,p_old_Assignment_rec.Assignment_Set_Id)
35         THEN
36             NULL;
37         END IF;
38 
39         IF NOT MRP_Globals.Equal(p_Assignment_rec.Assignment_Type,p_old_Assignment_rec.Assignment_Type)
40         THEN
41             NULL;
42         END IF;
43 
44         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute1,p_old_Assignment_rec.Attribute1)
45         THEN
46             NULL;
47         END IF;
48 
49         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute10,p_old_Assignment_rec.Attribute10)
50         THEN
51             NULL;
52         END IF;
53 
54         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute11,p_old_Assignment_rec.Attribute11)
55         THEN
56             NULL;
57         END IF;
58 
59         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute12,p_old_Assignment_rec.Attribute12)
60         THEN
61             NULL;
62         END IF;
63 
64         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute13,p_old_Assignment_rec.Attribute13)
65         THEN
66             NULL;
67         END IF;
68 
69         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute14,p_old_Assignment_rec.Attribute14)
70         THEN
71             NULL;
72         END IF;
73 
74         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute15,p_old_Assignment_rec.Attribute15)
75         THEN
76             NULL;
77         END IF;
78 
79         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute2,p_old_Assignment_rec.Attribute2)
80         THEN
81             NULL;
82         END IF;
83 
84         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute3,p_old_Assignment_rec.Attribute3)
85         THEN
86             NULL;
87         END IF;
88 
89         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute4,p_old_Assignment_rec.Attribute4)
90         THEN
91             NULL;
92         END IF;
93 
94         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute5,p_old_Assignment_rec.Attribute5)
95         THEN
96             NULL;
97         END IF;
98 
99         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute6,p_old_Assignment_rec.Attribute6)
100         THEN
101             NULL;
102         END IF;
103 
104         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute7,p_old_Assignment_rec.Attribute7)
105         THEN
106             NULL;
107         END IF;
108 
109         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute8,p_old_Assignment_rec.Attribute8)
110         THEN
111             NULL;
112         END IF;
113 
114         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute9,p_old_Assignment_rec.Attribute9)
115         THEN
116             NULL;
117         END IF;
118 
119         IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute_Category,p_old_Assignment_rec.Attribute_Category)
120         THEN
121             NULL;
122         END IF;
123 
124         IF NOT MRP_Globals.Equal(p_Assignment_rec.Category_Id,p_old_Assignment_rec.Category_Id)
125         THEN
126             NULL;
127         END IF;
128 
129         IF NOT MRP_Globals.Equal(p_Assignment_rec.Category_Set_Id,p_old_Assignment_rec.Category_Set_Id)
130         THEN
131             NULL;
132         END IF;
133 
134         IF NOT MRP_Globals.Equal(p_Assignment_rec.Created_By,p_old_Assignment_rec.Created_By)
135         THEN
136             NULL;
137         END IF;
138 
139         IF NOT MRP_Globals.Equal(p_Assignment_rec.Creation_Date,p_old_Assignment_rec.Creation_Date)
140         THEN
141             NULL;
142         END IF;
143 
144         IF NOT MRP_Globals.Equal(p_Assignment_rec.Customer_Id,p_old_Assignment_rec.Customer_Id)
145         THEN
146             NULL;
147         END IF;
148 
149         IF NOT MRP_Globals.Equal(p_Assignment_rec.Inventory_Item_Id,p_old_Assignment_rec.Inventory_Item_Id)
150         THEN
151             NULL;
152         END IF;
153 
154         IF NOT MRP_Globals.Equal(p_Assignment_rec.Last_Updated_By,p_old_Assignment_rec.Last_Updated_By)
155         THEN
156             NULL;
157         END IF;
158 
159         IF NOT MRP_Globals.Equal(p_Assignment_rec.Last_Update_Date,p_old_Assignment_rec.Last_Update_Date)
160         THEN
161             NULL;
162         END IF;
163 
164         IF NOT MRP_Globals.Equal(p_Assignment_rec.Last_Update_Login,p_old_Assignment_rec.Last_Update_Login)
165         THEN
166             NULL;
167         END IF;
168 
169         IF NOT MRP_Globals.Equal(p_Assignment_rec.Organization_Id,p_old_Assignment_rec.Organization_Id)
170         THEN
171             NULL;
172         END IF;
173 
174         IF NOT MRP_Globals.Equal(p_Assignment_rec.Program_Application_Id,p_old_Assignment_rec.Program_Application_Id)
175         THEN
176             NULL;
177         END IF;
178 
179         IF NOT MRP_Globals.Equal(p_Assignment_rec.Program_Id,p_old_Assignment_rec.Program_Id)
180         THEN
181             NULL;
182         END IF;
183 
184         IF NOT MRP_Globals.Equal(p_Assignment_rec.Program_Update_Date,p_old_Assignment_rec.Program_Update_Date)
185         THEN
186             NULL;
187         END IF;
188 
189         IF NOT MRP_Globals.Equal(p_Assignment_rec.Request_Id,p_old_Assignment_rec.Request_Id)
190         THEN
191             NULL;
192         END IF;
193 
194         IF NOT MRP_Globals.Equal(p_Assignment_rec.Secondary_Inventory,p_old_Assignment_rec.Secondary_Inventory)
195         THEN
196             NULL;
197         END IF;
198 
199         IF NOT MRP_Globals.Equal(p_Assignment_rec.Ship_To_Site_Id,p_old_Assignment_rec.Ship_To_Site_Id)
200         THEN
201             NULL;
202         END IF;
203 
204         IF NOT MRP_Globals.Equal(p_Assignment_rec.Sourcing_Rule_Id,p_old_Assignment_rec.Sourcing_Rule_Id)
205         THEN
206             NULL;
207         END IF;
208 
209         IF NOT MRP_Globals.Equal(p_Assignment_rec.Sourcing_Rule_Type,p_old_Assignment_rec.Sourcing_Rule_Type)
210         THEN
211             NULL;
212         END IF;
213 
214     ELSIF p_attr_id = G_ASSIGNMENT_ID THEN
215         NULL;
216     ELSIF p_attr_id = G_ASSIGNMENT_SET_ID THEN
217         NULL;
218     ELSIF p_attr_id = G_ASSIGNMENT_TYPE THEN
219         NULL;
220     ELSIF p_attr_id = G_ATTRIBUTE1 THEN
221         NULL;
222     ELSIF p_attr_id = G_ATTRIBUTE10 THEN
223         NULL;
224     ELSIF p_attr_id = G_ATTRIBUTE11 THEN
225         NULL;
226     ELSIF p_attr_id = G_ATTRIBUTE12 THEN
227         NULL;
228     ELSIF p_attr_id = G_ATTRIBUTE13 THEN
229         NULL;
230     ELSIF p_attr_id = G_ATTRIBUTE14 THEN
231         NULL;
232     ELSIF p_attr_id = G_ATTRIBUTE15 THEN
233         NULL;
234     ELSIF p_attr_id = G_ATTRIBUTE2 THEN
235         NULL;
236     ELSIF p_attr_id = G_ATTRIBUTE3 THEN
237         NULL;
238     ELSIF p_attr_id = G_ATTRIBUTE4 THEN
239         NULL;
240     ELSIF p_attr_id = G_ATTRIBUTE5 THEN
241         NULL;
242     ELSIF p_attr_id = G_ATTRIBUTE6 THEN
243         NULL;
244     ELSIF p_attr_id = G_ATTRIBUTE7 THEN
245         NULL;
246     ELSIF p_attr_id = G_ATTRIBUTE8 THEN
247         NULL;
248     ELSIF p_attr_id = G_ATTRIBUTE9 THEN
249         NULL;
250     ELSIF p_attr_id = G_ATTRIBUTE_CATEGORY THEN
251         NULL;
252     ELSIF p_attr_id = G_CATEGORY_ID THEN
253         NULL;
254     ELSIF p_attr_id = G_CATEGORY_SET_ID THEN
255         NULL;
256     ELSIF p_attr_id = G_CREATED_BY THEN
257         NULL;
258     ELSIF p_attr_id = G_CREATION_DATE THEN
259         NULL;
260     ELSIF p_attr_id = G_CUSTOMER_ID THEN
261         NULL;
262     ELSIF p_attr_id = G_INVENTORY_ITEM_ID THEN
263         NULL;
264     ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
265         NULL;
266     ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
267         NULL;
268     ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
269         NULL;
270     ELSIF p_attr_id = G_ORGANIZATION_ID THEN
271         NULL;
272     ELSIF p_attr_id = G_PROGRAM_APPLICATION_ID THEN
273         NULL;
274     ELSIF p_attr_id = G_PROGRAM_ID THEN
275         NULL;
276     ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
277         NULL;
278     ELSIF p_attr_id = G_REQUEST_ID THEN
279         NULL;
280     ELSIF p_attr_id = G_SECONDARY_INVENTORY THEN
281         NULL;
282     ELSIF p_attr_id = G_SHIP_TO_SITE_ID THEN
283         NULL;
284     ELSIF p_attr_id = G_SOURCING_RULE_ID THEN
285         NULL;
286     ELSIF p_attr_id = G_SOURCING_RULE_TYPE THEN
287         NULL;
288     END IF;
289 
290     --Irrespective of whether old/new record values are equal or
291     --not, I want to clear these fields.
292     --Depending on the Assignment Type, clear the dependent Attributes
293     IF p_Assignment_rec.Assignment_Type = 1 THEN
294         x_Assignment_rec.Organization_Id := NULL;
295         x_Assignment_rec.Customer_Id := NULL;
296         x_Assignment_rec.Ship_To_Site_Id := NULL;
297         x_Assignment_rec.Inventory_Item_Id := NULL;
298         x_Assignment_rec.Category_Id := NULL;
299         x_Assignment_rec.Category_Set_Id := NULL;
300     ELSIF p_Assignment_rec.Assignment_Type = 2 THEN
301   	x_Assignment_rec.Organization_Id := NULL;
302         x_Assignment_rec.Customer_Id := NULL;
303     	x_Assignment_rec.Ship_To_Site_Id := NULL;
304     	x_Assignment_rec.Inventory_Item_Id := NULL;
305     ELSIF p_Assignment_rec.Assignment_Type = 3 THEN
306         x_Assignment_rec.Organization_Id := NULL;
307         x_Assignment_rec.Customer_Id := NULL;
308         x_Assignment_rec.Ship_To_Site_Id := NULL;
309         x_Assignment_rec.Category_Id := NULL;
310         x_Assignment_rec.Category_Set_Id := NULL;
311     ELSIF p_Assignment_rec.Assignment_Type = 4 THEN
312 	IF p_Assignment_rec.Organization_Id IS NOT NULL AND
313 		p_Assignment_rec.Organization_Id <> FND_API.G_MISS_NUM THEN
314             x_Assignment_rec.Customer_Id := NULL;
315             x_Assignment_rec.Ship_To_Site_Id := NULL;
316 	ELSIF p_Assignment_rec.Customer_Id IS NOT NULL AND
317 		p_Assignment_rec.Customer_Id <> FND_API.G_MISS_NUM THEN
318 	    x_Assignment_rec.Organization_Id := NULL;
319 	END IF;
320     ELSIF p_Assignment_rec.Assignment_Type = 5 THEN
321 	IF p_Assignment_rec.Organization_Id IS NOT NULL AND
322 		p_Assignment_rec.Organization_Id <> FND_API.G_MISS_NUM THEN
323             x_Assignment_rec.Customer_Id := NULL;
324             x_Assignment_rec.Ship_To_Site_Id := NULL;
325 	ELSIF p_Assignment_rec.Customer_Id IS NOT NULL AND
326 		p_Assignment_rec.Customer_Id <> FND_API.G_MISS_NUM THEN
327 	    x_Assignment_rec.Organization_Id := NULL;
328 	END IF;
329         x_Assignment_rec.Inventory_Item_Id := NULL;
330     ELSIF p_Assignment_rec.Assignment_Type = 6 THEN
331 	IF p_Assignment_rec.Organization_Id IS NOT NULL AND
332 		p_Assignment_rec.Organization_Id <> FND_API.G_MISS_NUM THEN
333             x_Assignment_rec.Customer_Id := NULL;
334             x_Assignment_rec.Ship_To_Site_Id := NULL;
335 	ELSIF p_Assignment_rec.Customer_Id IS NOT NULL AND
336 		p_Assignment_rec.Customer_Id <> FND_API.G_MISS_NUM THEN
337 	    x_Assignment_rec.Organization_Id := NULL;
338 	END IF;
339         x_Assignment_rec.Category_Id := NULL;
340         x_Assignment_rec.Category_Set_Id := NULL;
341     END IF;
342 
343 END Clear_Dependent_Attr;
344 
345 --  Procedure Apply_Attribute_Changes
346 
347 PROCEDURE Apply_Attribute_Changes
348 (   p_Assignment_rec                IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type
349 ,   p_old_Assignment_rec            IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type :=
350                                         MRP_Src_Assignment_PUB.G_MISS_ASSIGNMENT_REC
351 ,   x_Assignment_rec                OUT MRP_Src_Assignment_PUB.Assignment_Rec_Type
352 )
353 IS
354 BEGIN
355 
356     --  Load out record
357 
358     x_Assignment_rec := p_Assignment_rec;
359 
360     IF NOT MRP_Globals.Equal(p_Assignment_rec.Assignment_Id,p_old_Assignment_rec.Assignment_Id)
361     THEN
362         NULL;
363     END IF;
364 
365     IF NOT MRP_Globals.Equal(p_Assignment_rec.Assignment_Set_Id,p_old_Assignment_rec.Assignment_Set_Id)
366     THEN
367         NULL;
368     END IF;
369 
370     IF NOT MRP_Globals.Equal(p_Assignment_rec.Assignment_Type,p_old_Assignment_rec.Assignment_Type)
371     THEN
372 	NULL;
373     END IF;
374 
375     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute1,p_old_Assignment_rec.Attribute1)
376     THEN
377         NULL;
378     END IF;
379 
380     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute10,p_old_Assignment_rec.Attribute10)
381     THEN
382         NULL;
383     END IF;
384 
385     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute11,p_old_Assignment_rec.Attribute11)
386     THEN
387         NULL;
388     END IF;
389 
390     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute12,p_old_Assignment_rec.Attribute12)
391     THEN
392         NULL;
393     END IF;
394 
395     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute13,p_old_Assignment_rec.Attribute13)
396     THEN
397         NULL;
398     END IF;
399 
400     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute14,p_old_Assignment_rec.Attribute14)
401     THEN
402         NULL;
403     END IF;
404 
405     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute15,p_old_Assignment_rec.Attribute15)
406     THEN
407         NULL;
408     END IF;
409 
410     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute2,p_old_Assignment_rec.Attribute2)
411     THEN
412         NULL;
413     END IF;
414 
415     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute3,p_old_Assignment_rec.Attribute3)
416     THEN
417         NULL;
418     END IF;
419 
420     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute4,p_old_Assignment_rec.Attribute4)
421     THEN
422         NULL;
423     END IF;
424 
425     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute5,p_old_Assignment_rec.Attribute5)
426     THEN
427         NULL;
428     END IF;
429 
430     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute6,p_old_Assignment_rec.Attribute6)
431     THEN
432         NULL;
433     END IF;
434 
435     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute7,p_old_Assignment_rec.Attribute7)
436     THEN
437         NULL;
438     END IF;
439 
440     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute8,p_old_Assignment_rec.Attribute8)
441     THEN
442         NULL;
443     END IF;
444 
445     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute9,p_old_Assignment_rec.Attribute9)
446     THEN
447         NULL;
448     END IF;
449 
450     IF NOT MRP_Globals.Equal(p_Assignment_rec.Attribute_Category,p_old_Assignment_rec.Attribute_Category)
451     THEN
452         NULL;
453     END IF;
454 
455     IF NOT MRP_Globals.Equal(p_Assignment_rec.Category_Id,p_old_Assignment_rec.Category_Id)
456     THEN
457         NULL;
458     END IF;
459 
460     IF NOT MRP_Globals.Equal(p_Assignment_rec.Category_Set_Id,p_old_Assignment_rec.Category_Set_Id)
461     THEN
462         NULL;
463     END IF;
464 
465     IF NOT MRP_Globals.Equal(p_Assignment_rec.Created_By,p_old_Assignment_rec.Created_By)
466     THEN
467         NULL;
468     END IF;
469 
470     IF NOT MRP_Globals.Equal(p_Assignment_rec.Creation_Date,p_old_Assignment_rec.Creation_Date)
471     THEN
472         NULL;
473     END IF;
474 
475     IF NOT MRP_Globals.Equal(p_Assignment_rec.Customer_Id,p_old_Assignment_rec.Customer_Id)
476     THEN
477         NULL;
478     END IF;
479 
480     IF NOT MRP_Globals.Equal(p_Assignment_rec.Inventory_Item_Id,p_old_Assignment_rec.Inventory_Item_Id)
481     THEN
482         NULL;
483     END IF;
484 
485     IF NOT MRP_Globals.Equal(p_Assignment_rec.Last_Updated_By,p_old_Assignment_rec.Last_Updated_By)
486     THEN
487         NULL;
488     END IF;
489 
490     IF NOT MRP_Globals.Equal(p_Assignment_rec.Last_Update_Date,p_old_Assignment_rec.Last_Update_Date)
491     THEN
492         NULL;
493     END IF;
494 
495     IF NOT MRP_Globals.Equal(p_Assignment_rec.Last_Update_Login,p_old_Assignment_rec.Last_Update_Login)
496     THEN
497         NULL;
498     END IF;
499 
500     IF NOT MRP_Globals.Equal(p_Assignment_rec.Organization_Id,p_old_Assignment_rec.Organization_Id)
501     THEN
502         NULL;
503     END IF;
504 
505     IF NOT MRP_Globals.Equal(p_Assignment_rec.Program_Application_Id,p_old_Assignment_rec.Program_Application_Id)
506     THEN
507         NULL;
508     END IF;
509 
510     IF NOT MRP_Globals.Equal(p_Assignment_rec.Program_Id,p_old_Assignment_rec.Program_Id)
511     THEN
512         NULL;
513     END IF;
514 
515     IF NOT MRP_Globals.Equal(p_Assignment_rec.Program_Update_Date,p_old_Assignment_rec.Program_Update_Date)
516     THEN
517         NULL;
518     END IF;
519 
520     IF NOT MRP_Globals.Equal(p_Assignment_rec.Request_Id,p_old_Assignment_rec.Request_Id)
521     THEN
522         NULL;
523     END IF;
524 
525     IF NOT MRP_Globals.Equal(p_Assignment_rec.Secondary_Inventory,p_old_Assignment_rec.Secondary_Inventory)
526     THEN
527         NULL;
528     END IF;
529 
530     IF NOT MRP_Globals.Equal(p_Assignment_rec.Ship_To_Site_Id,p_old_Assignment_rec.Ship_To_Site_Id)
531     THEN
532         NULL;
533     END IF;
534 
535     IF NOT MRP_Globals.Equal(p_Assignment_rec.Sourcing_Rule_Id,p_old_Assignment_rec.Sourcing_Rule_Id)
536     THEN
537         NULL;
538     END IF;
539 
540     IF NOT MRP_Globals.Equal(p_Assignment_rec.Sourcing_Rule_Type,p_old_Assignment_rec.Sourcing_Rule_Type)
541     THEN
542         NULL;
543     END IF;
544 
545 END Apply_Attribute_Changes;
546 
547 --  Function Complete_Record
548 
549 FUNCTION Complete_Record
550 (   p_Assignment_rec                IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type
551 ,   p_old_Assignment_rec            IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type
552 ) RETURN MRP_Src_Assignment_PUB.Assignment_Rec_Type
553 IS
554 l_Assignment_rec              MRP_Src_Assignment_PUB.Assignment_Rec_Type := p_Assignment_rec;
555 BEGIN
556 
557     IF l_Assignment_rec.Assignment_Id = FND_API.G_MISS_NUM THEN
558         l_Assignment_rec.Assignment_Id := p_old_Assignment_rec.Assignment_Id;
559     END IF;
560 
561     IF l_Assignment_rec.Assignment_Set_Id = FND_API.G_MISS_NUM THEN
562         l_Assignment_rec.Assignment_Set_Id := p_old_Assignment_rec.Assignment_Set_Id;
563     END IF;
564 
565     IF l_Assignment_rec.Assignment_Type = FND_API.G_MISS_NUM THEN
566         l_Assignment_rec.Assignment_Type := p_old_Assignment_rec.Assignment_Type;
567     END IF;
568 
569     IF l_Assignment_rec.Attribute1 = FND_API.G_MISS_CHAR THEN
570         l_Assignment_rec.Attribute1 := p_old_Assignment_rec.Attribute1;
571     END IF;
572 
573     IF l_Assignment_rec.Attribute10 = FND_API.G_MISS_CHAR THEN
574         l_Assignment_rec.Attribute10 := p_old_Assignment_rec.Attribute10;
575     END IF;
576 
577     IF l_Assignment_rec.Attribute11 = FND_API.G_MISS_CHAR THEN
578         l_Assignment_rec.Attribute11 := p_old_Assignment_rec.Attribute11;
579     END IF;
580 
581     IF l_Assignment_rec.Attribute12 = FND_API.G_MISS_CHAR THEN
582         l_Assignment_rec.Attribute12 := p_old_Assignment_rec.Attribute12;
583     END IF;
584 
585     IF l_Assignment_rec.Attribute13 = FND_API.G_MISS_CHAR THEN
586         l_Assignment_rec.Attribute13 := p_old_Assignment_rec.Attribute13;
587     END IF;
588 
589     IF l_Assignment_rec.Attribute14 = FND_API.G_MISS_CHAR THEN
590         l_Assignment_rec.Attribute14 := p_old_Assignment_rec.Attribute14;
591     END IF;
592 
593     IF l_Assignment_rec.Attribute15 = FND_API.G_MISS_CHAR THEN
594         l_Assignment_rec.Attribute15 := p_old_Assignment_rec.Attribute15;
595     END IF;
596 
597     IF l_Assignment_rec.Attribute2 = FND_API.G_MISS_CHAR THEN
598         l_Assignment_rec.Attribute2 := p_old_Assignment_rec.Attribute2;
599     END IF;
600 
601     IF l_Assignment_rec.Attribute3 = FND_API.G_MISS_CHAR THEN
602         l_Assignment_rec.Attribute3 := p_old_Assignment_rec.Attribute3;
603     END IF;
604 
605     IF l_Assignment_rec.Attribute4 = FND_API.G_MISS_CHAR THEN
606         l_Assignment_rec.Attribute4 := p_old_Assignment_rec.Attribute4;
607     END IF;
608 
609     IF l_Assignment_rec.Attribute5 = FND_API.G_MISS_CHAR THEN
610         l_Assignment_rec.Attribute5 := p_old_Assignment_rec.Attribute5;
611     END IF;
612 
613     IF l_Assignment_rec.Attribute6 = FND_API.G_MISS_CHAR THEN
614         l_Assignment_rec.Attribute6 := p_old_Assignment_rec.Attribute6;
615     END IF;
616 
617     IF l_Assignment_rec.Attribute7 = FND_API.G_MISS_CHAR THEN
618         l_Assignment_rec.Attribute7 := p_old_Assignment_rec.Attribute7;
619     END IF;
620 
621     IF l_Assignment_rec.Attribute8 = FND_API.G_MISS_CHAR THEN
622         l_Assignment_rec.Attribute8 := p_old_Assignment_rec.Attribute8;
623     END IF;
624 
625     IF l_Assignment_rec.Attribute9 = FND_API.G_MISS_CHAR THEN
626         l_Assignment_rec.Attribute9 := p_old_Assignment_rec.Attribute9;
627     END IF;
628 
629     IF l_Assignment_rec.Attribute_Category = FND_API.G_MISS_CHAR THEN
630         l_Assignment_rec.Attribute_Category := p_old_Assignment_rec.Attribute_Category;
631     END IF;
632 
633     IF l_Assignment_rec.Category_Id = FND_API.G_MISS_NUM THEN
634         l_Assignment_rec.Category_Id := p_old_Assignment_rec.Category_Id;
635     END IF;
636 
637     IF l_Assignment_rec.Category_Set_Id = FND_API.G_MISS_NUM THEN
638         l_Assignment_rec.Category_Set_Id := p_old_Assignment_rec.Category_Set_Id;
639     END IF;
640 
641     IF l_Assignment_rec.Created_By = FND_API.G_MISS_NUM THEN
642         l_Assignment_rec.Created_By := p_old_Assignment_rec.Created_By;
643     END IF;
644 
645     IF l_Assignment_rec.Creation_Date = FND_API.G_MISS_DATE THEN
646         l_Assignment_rec.Creation_Date := p_old_Assignment_rec.Creation_Date;
647     END IF;
648 
649     IF l_Assignment_rec.Customer_Id = FND_API.G_MISS_NUM THEN
650         l_Assignment_rec.Customer_Id := p_old_Assignment_rec.Customer_Id;
651     END IF;
652 
653     IF l_Assignment_rec.Inventory_Item_Id = FND_API.G_MISS_NUM THEN
654         l_Assignment_rec.Inventory_Item_Id := p_old_Assignment_rec.Inventory_Item_Id;
655     END IF;
656 
657     IF l_Assignment_rec.Last_Updated_By = FND_API.G_MISS_NUM THEN
658         l_Assignment_rec.Last_Updated_By := p_old_Assignment_rec.Last_Updated_By;
659     END IF;
660 
661     IF l_Assignment_rec.Last_Update_Date = FND_API.G_MISS_DATE THEN
662         l_Assignment_rec.Last_Update_Date := p_old_Assignment_rec.Last_Update_Date;
663     END IF;
664 
665     IF l_Assignment_rec.Last_Update_Login = FND_API.G_MISS_NUM THEN
666         l_Assignment_rec.Last_Update_Login := p_old_Assignment_rec.Last_Update_Login;
667     END IF;
668 
669     IF l_Assignment_rec.Organization_Id = FND_API.G_MISS_NUM THEN
670         l_Assignment_rec.Organization_Id := p_old_Assignment_rec.Organization_Id;
671     END IF;
672 
673     IF l_Assignment_rec.Program_Application_Id = FND_API.G_MISS_NUM THEN
674         l_Assignment_rec.Program_Application_Id := p_old_Assignment_rec.Program_Application_Id;
675     END IF;
676 
677     IF l_Assignment_rec.Program_Id = FND_API.G_MISS_NUM THEN
678         l_Assignment_rec.Program_Id := p_old_Assignment_rec.Program_Id;
679     END IF;
680 
681     IF l_Assignment_rec.Program_Update_Date = FND_API.G_MISS_DATE THEN
682         l_Assignment_rec.Program_Update_Date := p_old_Assignment_rec.Program_Update_Date;
683     END IF;
684 
685     IF l_Assignment_rec.Request_Id = FND_API.G_MISS_NUM THEN
686         l_Assignment_rec.Request_Id := p_old_Assignment_rec.Request_Id;
687     END IF;
688 
689     IF l_Assignment_rec.Secondary_Inventory = FND_API.G_MISS_CHAR THEN
690         l_Assignment_rec.Secondary_Inventory := p_old_Assignment_rec.Secondary_Inventory;
691     END IF;
692 
693     IF l_Assignment_rec.Ship_To_Site_Id = FND_API.G_MISS_NUM THEN
694         l_Assignment_rec.Ship_To_Site_Id := p_old_Assignment_rec.Ship_To_Site_Id;
695     END IF;
696 
697     IF l_Assignment_rec.Sourcing_Rule_Id = FND_API.G_MISS_NUM THEN
698         l_Assignment_rec.Sourcing_Rule_Id := p_old_Assignment_rec.Sourcing_Rule_Id;
699     END IF;
700 
701     IF l_Assignment_rec.Sourcing_Rule_Type = FND_API.G_MISS_NUM THEN
702         l_Assignment_rec.Sourcing_Rule_Type := p_old_Assignment_rec.Sourcing_Rule_Type;
703     END IF;
704 
705     RETURN l_Assignment_rec;
706 
707 END Complete_Record;
708 
709 --  Function Convert_Miss_To_Null
710 
711 FUNCTION Convert_Miss_To_Null
712 (   p_Assignment_rec                IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type
713 ) RETURN MRP_Src_Assignment_PUB.Assignment_Rec_Type
714 IS
715 l_Assignment_rec              MRP_Src_Assignment_PUB.Assignment_Rec_Type := p_Assignment_rec;
716 BEGIN
717 
718     IF l_Assignment_rec.Assignment_Id = FND_API.G_MISS_NUM THEN
719         l_Assignment_rec.Assignment_Id := NULL;
720     END IF;
721 
722     IF l_Assignment_rec.Assignment_Set_Id = FND_API.G_MISS_NUM THEN
723         l_Assignment_rec.Assignment_Set_Id := NULL;
724     END IF;
725 
726     IF l_Assignment_rec.Assignment_Type = FND_API.G_MISS_NUM THEN
727         l_Assignment_rec.Assignment_Type := NULL;
728     END IF;
729 
730     IF l_Assignment_rec.Attribute1 = FND_API.G_MISS_CHAR THEN
731         l_Assignment_rec.Attribute1 := NULL;
732     END IF;
733 
734     IF l_Assignment_rec.Attribute10 = FND_API.G_MISS_CHAR THEN
735         l_Assignment_rec.Attribute10 := NULL;
736     END IF;
737 
738     IF l_Assignment_rec.Attribute11 = FND_API.G_MISS_CHAR THEN
739         l_Assignment_rec.Attribute11 := NULL;
740     END IF;
741 
742     IF l_Assignment_rec.Attribute12 = FND_API.G_MISS_CHAR THEN
743         l_Assignment_rec.Attribute12 := NULL;
744     END IF;
745 
746     IF l_Assignment_rec.Attribute13 = FND_API.G_MISS_CHAR THEN
747         l_Assignment_rec.Attribute13 := NULL;
748     END IF;
749 
750     IF l_Assignment_rec.Attribute14 = FND_API.G_MISS_CHAR THEN
751         l_Assignment_rec.Attribute14 := NULL;
752     END IF;
753 
754     IF l_Assignment_rec.Attribute15 = FND_API.G_MISS_CHAR THEN
755         l_Assignment_rec.Attribute15 := NULL;
756     END IF;
757 
758     IF l_Assignment_rec.Attribute2 = FND_API.G_MISS_CHAR THEN
759         l_Assignment_rec.Attribute2 := NULL;
760     END IF;
761 
762     IF l_Assignment_rec.Attribute3 = FND_API.G_MISS_CHAR THEN
763         l_Assignment_rec.Attribute3 := NULL;
764     END IF;
765 
766     IF l_Assignment_rec.Attribute4 = FND_API.G_MISS_CHAR THEN
767         l_Assignment_rec.Attribute4 := NULL;
768     END IF;
769 
770     IF l_Assignment_rec.Attribute5 = FND_API.G_MISS_CHAR THEN
771         l_Assignment_rec.Attribute5 := NULL;
772     END IF;
773 
774     IF l_Assignment_rec.Attribute6 = FND_API.G_MISS_CHAR THEN
775         l_Assignment_rec.Attribute6 := NULL;
776     END IF;
777 
778     IF l_Assignment_rec.Attribute7 = FND_API.G_MISS_CHAR THEN
779         l_Assignment_rec.Attribute7 := NULL;
780     END IF;
781 
782     IF l_Assignment_rec.Attribute8 = FND_API.G_MISS_CHAR THEN
783         l_Assignment_rec.Attribute8 := NULL;
784     END IF;
785 
786     IF l_Assignment_rec.Attribute9 = FND_API.G_MISS_CHAR THEN
787         l_Assignment_rec.Attribute9 := NULL;
788     END IF;
789 
790     IF l_Assignment_rec.Attribute_Category = FND_API.G_MISS_CHAR THEN
791         l_Assignment_rec.Attribute_Category := NULL;
792     END IF;
793 
794     IF l_Assignment_rec.Category_Id = FND_API.G_MISS_NUM THEN
795         l_Assignment_rec.Category_Id := NULL;
796     END IF;
797 
798     IF l_Assignment_rec.Category_Set_Id = FND_API.G_MISS_NUM THEN
799         l_Assignment_rec.Category_Set_Id := NULL;
800     END IF;
801 
802     IF l_Assignment_rec.Created_By = FND_API.G_MISS_NUM THEN
803         l_Assignment_rec.Created_By := NULL;
804     END IF;
805 
806     IF l_Assignment_rec.Creation_Date = FND_API.G_MISS_DATE THEN
807         l_Assignment_rec.Creation_Date := NULL;
808     END IF;
809 
810     IF l_Assignment_rec.Customer_Id = FND_API.G_MISS_NUM THEN
811         l_Assignment_rec.Customer_Id := NULL;
812     END IF;
813 
814     IF l_Assignment_rec.Inventory_Item_Id = FND_API.G_MISS_NUM THEN
815         l_Assignment_rec.Inventory_Item_Id := NULL;
816     END IF;
817 
818     IF l_Assignment_rec.Last_Updated_By = FND_API.G_MISS_NUM THEN
819         l_Assignment_rec.Last_Updated_By := NULL;
820     END IF;
821 
822     IF l_Assignment_rec.Last_Update_Date = FND_API.G_MISS_DATE THEN
823         l_Assignment_rec.Last_Update_Date := NULL;
824     END IF;
825 
826     IF l_Assignment_rec.Last_Update_Login = FND_API.G_MISS_NUM THEN
827         l_Assignment_rec.Last_Update_Login := NULL;
828     END IF;
829 
830     IF l_Assignment_rec.Organization_Id = FND_API.G_MISS_NUM THEN
831         l_Assignment_rec.Organization_Id := NULL;
832     END IF;
833 
834     IF l_Assignment_rec.Program_Application_Id = FND_API.G_MISS_NUM THEN
835         l_Assignment_rec.Program_Application_Id := NULL;
836     END IF;
837 
838     IF l_Assignment_rec.Program_Id = FND_API.G_MISS_NUM THEN
839         l_Assignment_rec.Program_Id := NULL;
840     END IF;
841 
842     IF l_Assignment_rec.Program_Update_Date = FND_API.G_MISS_DATE THEN
843         l_Assignment_rec.Program_Update_Date := NULL;
844     END IF;
845 
846     IF l_Assignment_rec.Request_Id = FND_API.G_MISS_NUM THEN
847         l_Assignment_rec.Request_Id := NULL;
848     END IF;
849 
850     IF l_Assignment_rec.Secondary_Inventory = FND_API.G_MISS_CHAR THEN
851         l_Assignment_rec.Secondary_Inventory := NULL;
852     END IF;
853 
854     IF l_Assignment_rec.Ship_To_Site_Id = FND_API.G_MISS_NUM THEN
855         l_Assignment_rec.Ship_To_Site_Id := NULL;
856     END IF;
857 
858     IF l_Assignment_rec.Sourcing_Rule_Id = FND_API.G_MISS_NUM THEN
859         l_Assignment_rec.Sourcing_Rule_Id := NULL;
860     END IF;
861 
862     IF l_Assignment_rec.Sourcing_Rule_Type = FND_API.G_MISS_NUM THEN
863         l_Assignment_rec.Sourcing_Rule_Type := NULL;
864     END IF;
865 
866     RETURN l_Assignment_rec;
867 
868 END Convert_Miss_To_Null;
869 
870 --  Function Get_Values
871 
872 FUNCTION Get_Values
873 (   p_Assignment_rec                IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type
874 ,   p_old_Assignment_rec            IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type :=
875                                         MRP_Src_Assignment_PUB.G_MISS_ASSIGNMENT_REC
876 ) RETURN MRP_Src_Assignment_PUB.Assignment_Val_Rec_Type
877 IS
878 l_Assignment_val_rec          MRP_Src_Assignment_PUB.Assignment_Val_Rec_Type;
879 BEGIN
880 
881     RETURN l_Assignment_val_rec;
882 
883 END Get_Values;
884 
885 --  Function Get_Ids
886 
887 FUNCTION Get_Ids
888 (   p_Assignment_rec                IN  MRP_Src_Assignment_PUB.Assignment_Rec_Type
889 ,   p_Assignment_val_rec            IN  MRP_Src_Assignment_PUB.Assignment_Val_Rec_Type
890 ) RETURN MRP_Src_Assignment_PUB.Assignment_Rec_Type
891 IS
892 l_Assignment_rec              MRP_Src_Assignment_PUB.Assignment_Rec_Type;
893 BEGIN
894 
895     --  initialize  return_status.
896 
897     l_Assignment_rec.return_status := FND_API.G_RET_STS_SUCCESS;
898 
899     --  initialize l_Assignment_rec.
900 
901     l_Assignment_rec := p_Assignment_rec;
902 
903 
904     RETURN l_Assignment_rec;
905 
906 END Get_Ids;
907 
908 END MRP_Assignment_Util;