DBA Data[Home] [Help]

PACKAGE BODY: APPS.MRP_SOURCING_RULE_UTIL

Source


1 PACKAGE BODY MRP_Sourcing_Rule_Util AS
2 /* $Header: MRPUSRLB.pls 115.1 99/07/16 12:40:35 porting ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'MRP_Sourcing_Rule_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_Sourcing_Rule_rec             IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
13 ,   p_old_Sourcing_Rule_rec         IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type :=
14                                         MRP_Sourcing_Rule_PUB.G_MISS_SOURCING_RULE_REC
15 ,   x_Sourcing_Rule_rec             OUT MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
16 )
17 IS
18 BEGIN
19 
20     --  Load out record
21 
22     x_Sourcing_Rule_rec := p_Sourcing_Rule_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_Sourcing_Rule_rec.Sourcing_Rule_Id,p_old_Sourcing_Rule_rec.Sourcing_Rule_Id)
30         THEN
31             NULL;
32         END IF;
33 
34         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute1,p_old_Sourcing_Rule_rec.Attribute1)
35         THEN
36             NULL;
37         END IF;
38 
39         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute10,p_old_Sourcing_Rule_rec.Attribute10)
40         THEN
41             NULL;
42         END IF;
43 
44         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute11,p_old_Sourcing_Rule_rec.Attribute11)
45         THEN
46             NULL;
47         END IF;
48 
49         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute12,p_old_Sourcing_Rule_rec.Attribute12)
50         THEN
51             NULL;
52         END IF;
53 
54         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute13,p_old_Sourcing_Rule_rec.Attribute13)
55         THEN
56             NULL;
57         END IF;
58 
59         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute14,p_old_Sourcing_Rule_rec.Attribute14)
60         THEN
61             NULL;
62         END IF;
63 
64         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute15,p_old_Sourcing_Rule_rec.Attribute15)
65         THEN
66             NULL;
67         END IF;
68 
69         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute2,p_old_Sourcing_Rule_rec.Attribute2)
70         THEN
71             NULL;
72         END IF;
73 
74         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute3,p_old_Sourcing_Rule_rec.Attribute3)
75         THEN
76             NULL;
77         END IF;
78 
79         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute4,p_old_Sourcing_Rule_rec.Attribute4)
80         THEN
81             NULL;
82         END IF;
83 
84         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute5,p_old_Sourcing_Rule_rec.Attribute5)
85         THEN
86             NULL;
87         END IF;
88 
89         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute6,p_old_Sourcing_Rule_rec.Attribute6)
90         THEN
91             NULL;
92         END IF;
93 
94         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute7,p_old_Sourcing_Rule_rec.Attribute7)
95         THEN
96             NULL;
97         END IF;
98 
99         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute8,p_old_Sourcing_Rule_rec.Attribute8)
100         THEN
101             NULL;
102         END IF;
103 
104         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute9,p_old_Sourcing_Rule_rec.Attribute9)
105         THEN
106             NULL;
107         END IF;
108 
109         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute_Category,p_old_Sourcing_Rule_rec.Attribute_Category)
110         THEN
111             NULL;
112         END IF;
113 
114         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Created_By,p_old_Sourcing_Rule_rec.Created_By)
115         THEN
116             NULL;
117         END IF;
118 
119         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Creation_Date,p_old_Sourcing_Rule_rec.Creation_Date)
120         THEN
121             NULL;
122         END IF;
123 
124         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Description,p_old_Sourcing_Rule_rec.Description)
125         THEN
126             NULL;
127         END IF;
128 
129         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Last_Updated_By,p_old_Sourcing_Rule_rec.Last_Updated_By)
130         THEN
131             NULL;
132         END IF;
133 
134         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Last_Update_Date,p_old_Sourcing_Rule_rec.Last_Update_Date)
135         THEN
136             NULL;
137         END IF;
138 
139         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Last_Update_Login,p_old_Sourcing_Rule_rec.Last_Update_Login)
140         THEN
141             NULL;
142         END IF;
143 
144         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Organization_Id,p_old_Sourcing_Rule_rec.Organization_Id)
145         THEN
146             NULL;
147         END IF;
148 
149         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Planning_Active,p_old_Sourcing_Rule_rec.Planning_Active)
150         THEN
151             NULL;
152         END IF;
153 
154         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Program_Application_Id,p_old_Sourcing_Rule_rec.Program_Application_Id)
155         THEN
156             NULL;
157         END IF;
158 
159         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Program_Id,p_old_Sourcing_Rule_rec.Program_Id)
160         THEN
161             NULL;
162         END IF;
163 
164         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Program_Update_Date,p_old_Sourcing_Rule_rec.Program_Update_Date)
165         THEN
166             NULL;
167         END IF;
168 
169         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Request_Id,p_old_Sourcing_Rule_rec.Request_Id)
170         THEN
171             NULL;
172         END IF;
173 
174         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Sourcing_Rule_Name,p_old_Sourcing_Rule_rec.Sourcing_Rule_Name)
175         THEN
176             NULL;
177         END IF;
178 
179         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Sourcing_Rule_Type,p_old_Sourcing_Rule_rec.Sourcing_Rule_Type)
180         THEN
181             NULL;
182         END IF;
183 
184         IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Status,p_old_Sourcing_Rule_rec.Status)
185         THEN
186             NULL;
187         END IF;
188 
189     ELSIF p_attr_id = G_SOURCING_RULE_ID THEN
190         NULL;
191     ELSIF p_attr_id = G_ATTRIBUTE1 THEN
192         NULL;
193     ELSIF p_attr_id = G_ATTRIBUTE10 THEN
194         NULL;
195     ELSIF p_attr_id = G_ATTRIBUTE11 THEN
196         NULL;
197     ELSIF p_attr_id = G_ATTRIBUTE12 THEN
198         NULL;
199     ELSIF p_attr_id = G_ATTRIBUTE13 THEN
200         NULL;
201     ELSIF p_attr_id = G_ATTRIBUTE14 THEN
202         NULL;
203     ELSIF p_attr_id = G_ATTRIBUTE15 THEN
204         NULL;
205     ELSIF p_attr_id = G_ATTRIBUTE2 THEN
206         NULL;
207     ELSIF p_attr_id = G_ATTRIBUTE3 THEN
208         NULL;
209     ELSIF p_attr_id = G_ATTRIBUTE4 THEN
210         NULL;
211     ELSIF p_attr_id = G_ATTRIBUTE5 THEN
212         NULL;
213     ELSIF p_attr_id = G_ATTRIBUTE6 THEN
214         NULL;
215     ELSIF p_attr_id = G_ATTRIBUTE7 THEN
216         NULL;
217     ELSIF p_attr_id = G_ATTRIBUTE8 THEN
218         NULL;
219     ELSIF p_attr_id = G_ATTRIBUTE9 THEN
220         NULL;
221     ELSIF p_attr_id = G_ATTRIBUTE_CATEGORY THEN
222         NULL;
223     ELSIF p_attr_id = G_CREATED_BY THEN
224         NULL;
225     ELSIF p_attr_id = G_CREATION_DATE THEN
226         NULL;
227     ELSIF p_attr_id = G_DESCRIPTION THEN
228         NULL;
229     ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
230         NULL;
231     ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
232         NULL;
233     ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
234         NULL;
235     ELSIF p_attr_id = G_ORGANIZATION_ID THEN
236         NULL;
237     ELSIF p_attr_id = G_PLANNING_ACTIVE THEN
238         NULL;
239     ELSIF p_attr_id = G_PROGRAM_APPLICATION_ID THEN
240         NULL;
241     ELSIF p_attr_id = G_PROGRAM_ID THEN
242         NULL;
243     ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
244         NULL;
245     ELSIF p_attr_id = G_REQUEST_ID THEN
246         NULL;
247     ELSIF p_attr_id = G_SOURCING_RULE_NAME THEN
248         NULL;
249     ELSIF p_attr_id = G_SOURCING_RULE_TYPE THEN
250         NULL;
251     ELSIF p_attr_id = G_STATUS THEN
252         NULL;
253     END IF;
254 
255 END Clear_Dependent_Attr;
256 
257 --  Procedure Apply_Attribute_Changes
258 
259 PROCEDURE Apply_Attribute_Changes
260 (   p_Sourcing_Rule_rec             IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
261 ,   p_old_Sourcing_Rule_rec         IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type :=
262                                         MRP_Sourcing_Rule_PUB.G_MISS_SOURCING_RULE_REC
263 ,   x_Sourcing_Rule_rec             OUT MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
264 )
265 IS
266 BEGIN
267 
268     --  Load out record
269 
270     x_Sourcing_Rule_rec := p_Sourcing_Rule_rec;
271 
272     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Sourcing_Rule_Id,p_old_Sourcing_Rule_rec.Sourcing_Rule_Id)
273     THEN
274         NULL;
275     END IF;
276 
277     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute1,p_old_Sourcing_Rule_rec.Attribute1)
278     THEN
279         NULL;
280     END IF;
281 
282     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute10,p_old_Sourcing_Rule_rec.Attribute10)
283     THEN
284         NULL;
285     END IF;
286 
287     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute11,p_old_Sourcing_Rule_rec.Attribute11)
288     THEN
289         NULL;
290     END IF;
291 
292     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute12,p_old_Sourcing_Rule_rec.Attribute12)
293     THEN
294         NULL;
295     END IF;
296 
297     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute13,p_old_Sourcing_Rule_rec.Attribute13)
298     THEN
299         NULL;
300     END IF;
301 
302     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute14,p_old_Sourcing_Rule_rec.Attribute14)
303     THEN
304         NULL;
305     END IF;
306 
307     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute15,p_old_Sourcing_Rule_rec.Attribute15)
308     THEN
309         NULL;
310     END IF;
311 
312     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute2,p_old_Sourcing_Rule_rec.Attribute2)
313     THEN
314         NULL;
315     END IF;
316 
317     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute3,p_old_Sourcing_Rule_rec.Attribute3)
318     THEN
319         NULL;
320     END IF;
321 
322     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute4,p_old_Sourcing_Rule_rec.Attribute4)
323     THEN
324         NULL;
325     END IF;
326 
327     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute5,p_old_Sourcing_Rule_rec.Attribute5)
328     THEN
329         NULL;
330     END IF;
331 
332     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute6,p_old_Sourcing_Rule_rec.Attribute6)
333     THEN
334         NULL;
335     END IF;
336 
337     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute7,p_old_Sourcing_Rule_rec.Attribute7)
338     THEN
339         NULL;
340     END IF;
341 
342     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute8,p_old_Sourcing_Rule_rec.Attribute8)
343     THEN
344         NULL;
345     END IF;
346 
347     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute9,p_old_Sourcing_Rule_rec.Attribute9)
348     THEN
349         NULL;
350     END IF;
351 
352     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Attribute_Category,p_old_Sourcing_Rule_rec.Attribute_Category)
353     THEN
354         NULL;
355     END IF;
356 
357     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Created_By,p_old_Sourcing_Rule_rec.Created_By)
358     THEN
359         NULL;
360     END IF;
361 
362     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Creation_Date,p_old_Sourcing_Rule_rec.Creation_Date)
363     THEN
364         NULL;
365     END IF;
366 
367     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Description,p_old_Sourcing_Rule_rec.Description)
368     THEN
369         NULL;
370     END IF;
371 
372     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Last_Updated_By,p_old_Sourcing_Rule_rec.Last_Updated_By)
373     THEN
374         NULL;
375     END IF;
376 
377     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Last_Update_Date,p_old_Sourcing_Rule_rec.Last_Update_Date)
378     THEN
379         NULL;
380     END IF;
381 
382     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Last_Update_Login,p_old_Sourcing_Rule_rec.Last_Update_Login)
383     THEN
384         NULL;
385     END IF;
386 
387     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Organization_Id,p_old_Sourcing_Rule_rec.Organization_Id)
388     THEN
389         NULL;
390     END IF;
391 
392     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Planning_Active,p_old_Sourcing_Rule_rec.Planning_Active)
393     THEN
394         NULL;
395     END IF;
396 
397     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Program_Application_Id,p_old_Sourcing_Rule_rec.Program_Application_Id)
398     THEN
399         NULL;
400     END IF;
401 
402     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Program_Id,p_old_Sourcing_Rule_rec.Program_Id)
403     THEN
404         NULL;
405     END IF;
406 
407     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Program_Update_Date,p_old_Sourcing_Rule_rec.Program_Update_Date)
408     THEN
409         NULL;
410     END IF;
411 
412     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Request_Id,p_old_Sourcing_Rule_rec.Request_Id)
413     THEN
414         NULL;
415     END IF;
416 
417     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Sourcing_Rule_Name,p_old_Sourcing_Rule_rec.Sourcing_Rule_Name)
418     THEN
419         NULL;
420     END IF;
421 
422     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Sourcing_Rule_Type,p_old_Sourcing_Rule_rec.Sourcing_Rule_Type)
423     THEN
424         NULL;
425     END IF;
426 
427     IF NOT MRP_Globals.Equal(p_Sourcing_Rule_rec.Status,p_old_Sourcing_Rule_rec.Status)
428     THEN
429         NULL;
430     END IF;
431 
432 END Apply_Attribute_Changes;
433 
434 --  Function Complete_Record
435 
436 FUNCTION Complete_Record
437 (   p_Sourcing_Rule_rec             IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
438 ,   p_old_Sourcing_Rule_rec         IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
439 ) RETURN MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
440 IS
441 l_Sourcing_Rule_rec           MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type := p_Sourcing_Rule_rec;
442 BEGIN
443 
444     IF l_Sourcing_Rule_rec.Sourcing_Rule_Id = FND_API.G_MISS_NUM THEN
445         l_Sourcing_Rule_rec.Sourcing_Rule_Id := p_old_Sourcing_Rule_rec.Sourcing_Rule_Id;
446     END IF;
447 
448     IF l_Sourcing_Rule_rec.Attribute1 = FND_API.G_MISS_CHAR THEN
449         l_Sourcing_Rule_rec.Attribute1 := p_old_Sourcing_Rule_rec.Attribute1;
450     END IF;
451 
452     IF l_Sourcing_Rule_rec.Attribute10 = FND_API.G_MISS_CHAR THEN
453         l_Sourcing_Rule_rec.Attribute10 := p_old_Sourcing_Rule_rec.Attribute10;
454     END IF;
455 
456     IF l_Sourcing_Rule_rec.Attribute11 = FND_API.G_MISS_CHAR THEN
457         l_Sourcing_Rule_rec.Attribute11 := p_old_Sourcing_Rule_rec.Attribute11;
458     END IF;
459 
460     IF l_Sourcing_Rule_rec.Attribute12 = FND_API.G_MISS_CHAR THEN
461         l_Sourcing_Rule_rec.Attribute12 := p_old_Sourcing_Rule_rec.Attribute12;
462     END IF;
463 
464     IF l_Sourcing_Rule_rec.Attribute13 = FND_API.G_MISS_CHAR THEN
465         l_Sourcing_Rule_rec.Attribute13 := p_old_Sourcing_Rule_rec.Attribute13;
466     END IF;
467 
468     IF l_Sourcing_Rule_rec.Attribute14 = FND_API.G_MISS_CHAR THEN
469         l_Sourcing_Rule_rec.Attribute14 := p_old_Sourcing_Rule_rec.Attribute14;
470     END IF;
471 
472     IF l_Sourcing_Rule_rec.Attribute15 = FND_API.G_MISS_CHAR THEN
473         l_Sourcing_Rule_rec.Attribute15 := p_old_Sourcing_Rule_rec.Attribute15;
474     END IF;
475 
476     IF l_Sourcing_Rule_rec.Attribute2 = FND_API.G_MISS_CHAR THEN
477         l_Sourcing_Rule_rec.Attribute2 := p_old_Sourcing_Rule_rec.Attribute2;
478     END IF;
479 
480     IF l_Sourcing_Rule_rec.Attribute3 = FND_API.G_MISS_CHAR THEN
481         l_Sourcing_Rule_rec.Attribute3 := p_old_Sourcing_Rule_rec.Attribute3;
482     END IF;
483 
484     IF l_Sourcing_Rule_rec.Attribute4 = FND_API.G_MISS_CHAR THEN
485         l_Sourcing_Rule_rec.Attribute4 := p_old_Sourcing_Rule_rec.Attribute4;
486     END IF;
487 
488     IF l_Sourcing_Rule_rec.Attribute5 = FND_API.G_MISS_CHAR THEN
489         l_Sourcing_Rule_rec.Attribute5 := p_old_Sourcing_Rule_rec.Attribute5;
490     END IF;
491 
492     IF l_Sourcing_Rule_rec.Attribute6 = FND_API.G_MISS_CHAR THEN
493         l_Sourcing_Rule_rec.Attribute6 := p_old_Sourcing_Rule_rec.Attribute6;
494     END IF;
495 
496     IF l_Sourcing_Rule_rec.Attribute7 = FND_API.G_MISS_CHAR THEN
497         l_Sourcing_Rule_rec.Attribute7 := p_old_Sourcing_Rule_rec.Attribute7;
498     END IF;
499 
500     IF l_Sourcing_Rule_rec.Attribute8 = FND_API.G_MISS_CHAR THEN
501         l_Sourcing_Rule_rec.Attribute8 := p_old_Sourcing_Rule_rec.Attribute8;
502     END IF;
503 
504     IF l_Sourcing_Rule_rec.Attribute9 = FND_API.G_MISS_CHAR THEN
505         l_Sourcing_Rule_rec.Attribute9 := p_old_Sourcing_Rule_rec.Attribute9;
506     END IF;
507 
508     IF l_Sourcing_Rule_rec.Attribute_Category = FND_API.G_MISS_CHAR THEN
509         l_Sourcing_Rule_rec.Attribute_Category := p_old_Sourcing_Rule_rec.Attribute_Category;
510     END IF;
511 
512     IF l_Sourcing_Rule_rec.Created_By = FND_API.G_MISS_NUM THEN
513         l_Sourcing_Rule_rec.Created_By := p_old_Sourcing_Rule_rec.Created_By;
514     END IF;
515 
516     IF l_Sourcing_Rule_rec.Creation_Date = FND_API.G_MISS_DATE THEN
517         l_Sourcing_Rule_rec.Creation_Date := p_old_Sourcing_Rule_rec.Creation_Date;
518     END IF;
519 
520     IF l_Sourcing_Rule_rec.Description = FND_API.G_MISS_CHAR THEN
521         l_Sourcing_Rule_rec.Description := p_old_Sourcing_Rule_rec.Description;
522     END IF;
523 
524     IF l_Sourcing_Rule_rec.Last_Updated_By = FND_API.G_MISS_NUM THEN
525         l_Sourcing_Rule_rec.Last_Updated_By := p_old_Sourcing_Rule_rec.Last_Updated_By;
526     END IF;
527 
528     IF l_Sourcing_Rule_rec.Last_Update_Date = FND_API.G_MISS_DATE THEN
529         l_Sourcing_Rule_rec.Last_Update_Date := p_old_Sourcing_Rule_rec.Last_Update_Date;
530     END IF;
531 
532     IF l_Sourcing_Rule_rec.Last_Update_Login = FND_API.G_MISS_NUM THEN
533         l_Sourcing_Rule_rec.Last_Update_Login := p_old_Sourcing_Rule_rec.Last_Update_Login;
534     END IF;
535 
536     IF l_Sourcing_Rule_rec.Organization_Id = FND_API.G_MISS_NUM THEN
537         l_Sourcing_Rule_rec.Organization_Id := p_old_Sourcing_Rule_rec.Organization_Id;
538     END IF;
539 
540     IF l_Sourcing_Rule_rec.Planning_Active = FND_API.G_MISS_NUM THEN
541         l_Sourcing_Rule_rec.Planning_Active := p_old_Sourcing_Rule_rec.Planning_Active;
542     END IF;
543 
544     IF l_Sourcing_Rule_rec.Program_Application_Id = FND_API.G_MISS_NUM THEN
545         l_Sourcing_Rule_rec.Program_Application_Id := p_old_Sourcing_Rule_rec.Program_Application_Id;
546     END IF;
547 
548     IF l_Sourcing_Rule_rec.Program_Id = FND_API.G_MISS_NUM THEN
549         l_Sourcing_Rule_rec.Program_Id := p_old_Sourcing_Rule_rec.Program_Id;
550     END IF;
551 
552     IF l_Sourcing_Rule_rec.Program_Update_Date = FND_API.G_MISS_DATE THEN
553         l_Sourcing_Rule_rec.Program_Update_Date := p_old_Sourcing_Rule_rec.Program_Update_Date;
554     END IF;
555 
556     IF l_Sourcing_Rule_rec.Request_Id = FND_API.G_MISS_NUM THEN
557         l_Sourcing_Rule_rec.Request_Id := p_old_Sourcing_Rule_rec.Request_Id;
558     END IF;
559 
560     IF l_Sourcing_Rule_rec.Sourcing_Rule_Name = FND_API.G_MISS_CHAR THEN
561         l_Sourcing_Rule_rec.Sourcing_Rule_Name := p_old_Sourcing_Rule_rec.Sourcing_Rule_Name;
562     END IF;
563 
564     IF l_Sourcing_Rule_rec.Sourcing_Rule_Type = FND_API.G_MISS_NUM THEN
565         l_Sourcing_Rule_rec.Sourcing_Rule_Type := p_old_Sourcing_Rule_rec.Sourcing_Rule_Type;
566     END IF;
567 
568     IF l_Sourcing_Rule_rec.Status = FND_API.G_MISS_NUM THEN
569         l_Sourcing_Rule_rec.Status := p_old_Sourcing_Rule_rec.Status;
570     END IF;
571 
572     RETURN l_Sourcing_Rule_rec;
573 
574 END Complete_Record;
575 
576 --  Function Convert_Miss_To_Null
577 
578 FUNCTION Convert_Miss_To_Null
579 (   p_Sourcing_Rule_rec             IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
580 ) RETURN MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
581 IS
582 l_Sourcing_Rule_rec           MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type := p_Sourcing_Rule_rec;
583 BEGIN
584 
585     IF l_Sourcing_Rule_rec.Sourcing_Rule_Id = FND_API.G_MISS_NUM THEN
586         l_Sourcing_Rule_rec.Sourcing_Rule_Id := NULL;
587     END IF;
588 
589     IF l_Sourcing_Rule_rec.Attribute1 = FND_API.G_MISS_CHAR THEN
590         l_Sourcing_Rule_rec.Attribute1 := NULL;
591     END IF;
592 
593     IF l_Sourcing_Rule_rec.Attribute10 = FND_API.G_MISS_CHAR THEN
594         l_Sourcing_Rule_rec.Attribute10 := NULL;
595     END IF;
596 
597     IF l_Sourcing_Rule_rec.Attribute11 = FND_API.G_MISS_CHAR THEN
598         l_Sourcing_Rule_rec.Attribute11 := NULL;
599     END IF;
600 
601     IF l_Sourcing_Rule_rec.Attribute12 = FND_API.G_MISS_CHAR THEN
602         l_Sourcing_Rule_rec.Attribute12 := NULL;
603     END IF;
604 
605     IF l_Sourcing_Rule_rec.Attribute13 = FND_API.G_MISS_CHAR THEN
606         l_Sourcing_Rule_rec.Attribute13 := NULL;
607     END IF;
608 
609     IF l_Sourcing_Rule_rec.Attribute14 = FND_API.G_MISS_CHAR THEN
610         l_Sourcing_Rule_rec.Attribute14 := NULL;
611     END IF;
612 
613     IF l_Sourcing_Rule_rec.Attribute15 = FND_API.G_MISS_CHAR THEN
614         l_Sourcing_Rule_rec.Attribute15 := NULL;
615     END IF;
616 
617     IF l_Sourcing_Rule_rec.Attribute2 = FND_API.G_MISS_CHAR THEN
618         l_Sourcing_Rule_rec.Attribute2 := NULL;
619     END IF;
620 
621     IF l_Sourcing_Rule_rec.Attribute3 = FND_API.G_MISS_CHAR THEN
622         l_Sourcing_Rule_rec.Attribute3 := NULL;
623     END IF;
624 
625     IF l_Sourcing_Rule_rec.Attribute4 = FND_API.G_MISS_CHAR THEN
626         l_Sourcing_Rule_rec.Attribute4 := NULL;
627     END IF;
628 
629     IF l_Sourcing_Rule_rec.Attribute5 = FND_API.G_MISS_CHAR THEN
630         l_Sourcing_Rule_rec.Attribute5 := NULL;
631     END IF;
632 
633     IF l_Sourcing_Rule_rec.Attribute6 = FND_API.G_MISS_CHAR THEN
634         l_Sourcing_Rule_rec.Attribute6 := NULL;
635     END IF;
636 
637     IF l_Sourcing_Rule_rec.Attribute7 = FND_API.G_MISS_CHAR THEN
638         l_Sourcing_Rule_rec.Attribute7 := NULL;
639     END IF;
640 
641     IF l_Sourcing_Rule_rec.Attribute8 = FND_API.G_MISS_CHAR THEN
642         l_Sourcing_Rule_rec.Attribute8 := NULL;
643     END IF;
644 
645     IF l_Sourcing_Rule_rec.Attribute9 = FND_API.G_MISS_CHAR THEN
646         l_Sourcing_Rule_rec.Attribute9 := NULL;
647     END IF;
648 
649     IF l_Sourcing_Rule_rec.Attribute_Category = FND_API.G_MISS_CHAR THEN
650         l_Sourcing_Rule_rec.Attribute_Category := NULL;
651     END IF;
652 
653     IF l_Sourcing_Rule_rec.Created_By = FND_API.G_MISS_NUM THEN
654         l_Sourcing_Rule_rec.Created_By := NULL;
655     END IF;
656 
657     IF l_Sourcing_Rule_rec.Creation_Date = FND_API.G_MISS_DATE THEN
658         l_Sourcing_Rule_rec.Creation_Date := NULL;
659     END IF;
660 
661     IF l_Sourcing_Rule_rec.Description = FND_API.G_MISS_CHAR THEN
662         l_Sourcing_Rule_rec.Description := NULL;
663     END IF;
664 
665     IF l_Sourcing_Rule_rec.Last_Updated_By = FND_API.G_MISS_NUM THEN
666         l_Sourcing_Rule_rec.Last_Updated_By := NULL;
667     END IF;
668 
669     IF l_Sourcing_Rule_rec.Last_Update_Date = FND_API.G_MISS_DATE THEN
670         l_Sourcing_Rule_rec.Last_Update_Date := NULL;
671     END IF;
672 
673     IF l_Sourcing_Rule_rec.Last_Update_Login = FND_API.G_MISS_NUM THEN
674         l_Sourcing_Rule_rec.Last_Update_Login := NULL;
675     END IF;
676 
677     IF l_Sourcing_Rule_rec.Organization_Id = FND_API.G_MISS_NUM THEN
678         l_Sourcing_Rule_rec.Organization_Id := NULL;
679     END IF;
680 
681     IF l_Sourcing_Rule_rec.Planning_Active = FND_API.G_MISS_NUM THEN
682         l_Sourcing_Rule_rec.Planning_Active := NULL;
683     END IF;
684 
685     IF l_Sourcing_Rule_rec.Program_Application_Id = FND_API.G_MISS_NUM THEN
686         l_Sourcing_Rule_rec.Program_Application_Id := NULL;
687     END IF;
688 
689     IF l_Sourcing_Rule_rec.Program_Id = FND_API.G_MISS_NUM THEN
690         l_Sourcing_Rule_rec.Program_Id := NULL;
691     END IF;
692 
693     IF l_Sourcing_Rule_rec.Program_Update_Date = FND_API.G_MISS_DATE THEN
694         l_Sourcing_Rule_rec.Program_Update_Date := NULL;
695     END IF;
696 
697     IF l_Sourcing_Rule_rec.Request_Id = FND_API.G_MISS_NUM THEN
698         l_Sourcing_Rule_rec.Request_Id := NULL;
699     END IF;
700 
701     IF l_Sourcing_Rule_rec.Sourcing_Rule_Name = FND_API.G_MISS_CHAR THEN
702         l_Sourcing_Rule_rec.Sourcing_Rule_Name := NULL;
703     END IF;
704 
705     IF l_Sourcing_Rule_rec.Sourcing_Rule_Type = FND_API.G_MISS_NUM THEN
706         l_Sourcing_Rule_rec.Sourcing_Rule_Type := NULL;
707     END IF;
708 
709     IF l_Sourcing_Rule_rec.Status = FND_API.G_MISS_NUM THEN
710         l_Sourcing_Rule_rec.Status := NULL;
711     END IF;
712 
713     RETURN l_Sourcing_Rule_rec;
714 
715 END Convert_Miss_To_Null;
716 
717 --  Function Get_Values
718 
719 FUNCTION Get_Values
720 (   p_Sourcing_Rule_rec             IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
721 ,   p_old_Sourcing_Rule_rec         IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type :=
722                                         MRP_Sourcing_Rule_PUB.G_MISS_SOURCING_RULE_REC
723 ) RETURN MRP_Sourcing_Rule_PUB.Sourcing_Rule_Val_Rec_Type
724 IS
725 l_Sourcing_Rule_val_rec       MRP_Sourcing_Rule_PUB.Sourcing_Rule_Val_Rec_Type;
726 BEGIN
727 
728     RETURN l_Sourcing_Rule_val_rec;
729 
730 END Get_Values;
731 
732 --  Function Get_Ids
733 
734 FUNCTION Get_Ids
735 (   p_Sourcing_Rule_rec             IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
736 ,   p_Sourcing_Rule_val_rec         IN  MRP_Sourcing_Rule_PUB.Sourcing_Rule_Val_Rec_Type
737 ) RETURN MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type
738 IS
739 l_Sourcing_Rule_rec           MRP_Sourcing_Rule_PUB.Sourcing_Rule_Rec_Type;
740 BEGIN
741 
742     --  initialize  return_status.
743 
744     l_Sourcing_Rule_rec.return_status := FND_API.G_RET_STS_SUCCESS;
745 
746     --  initialize l_Sourcing_Rule_rec.
747 
748     l_Sourcing_Rule_rec := p_Sourcing_Rule_rec;
749 
750 
751     RETURN l_Sourcing_Rule_rec;
752 
753 END Get_Ids;
754 
755 END MRP_Sourcing_Rule_Util;