DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_QUALIFIER_RULES_UTIL

Source


1 PACKAGE BODY QP_Qualifier_Rules_Util AS
2 /* $Header: QPXUQPRB.pls 120.1 2005/06/13 05:19:49 appldev  $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Qualifier_Rules_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_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
13 ,   p_old_QUALIFIER_RULES_rec       IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type :=
14                                         QP_Qualifier_Rules_PUB.G_MISS_QUALIFIER_RULES_REC
15 ,   x_QUALIFIER_RULES_rec           OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
16 )
17 IS
18 l_index                       NUMBER := 0;
19 l_src_attr_tbl                QP_GLOBALS.NUMBER_Tbl_Type;
20 l_dep_attr_tbl                QP_GLOBALS.NUMBER_Tbl_Type;
21 BEGIN
22 
23     --  Load out NOCOPY /* file.sql.39 change */ record
24 
25     x_QUALIFIER_RULES_rec := p_QUALIFIER_RULES_rec;
26 
27     --  If attr_id is missing compare old and new records and for
28     --  every changed attribute clear its dependent fields.
29 
30     IF p_attr_id = FND_API.G_MISS_NUM THEN
31 
32         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute1,p_old_QUALIFIER_RULES_rec.attribute1)
33         THEN
34             l_index := l_index + 1;
35             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE1;
36         END IF;
37 
38         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute10,p_old_QUALIFIER_RULES_rec.attribute10)
39         THEN
40             l_index := l_index + 1;
41             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE10;
42         END IF;
43 
44         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute11,p_old_QUALIFIER_RULES_rec.attribute11)
45         THEN
46             l_index := l_index + 1;
47             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE11;
48         END IF;
49 
50         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute12,p_old_QUALIFIER_RULES_rec.attribute12)
51         THEN
52             l_index := l_index + 1;
53             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE12;
54         END IF;
55 
56         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute13,p_old_QUALIFIER_RULES_rec.attribute13)
57         THEN
58             l_index := l_index + 1;
59             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE13;
60         END IF;
61 
62         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute14,p_old_QUALIFIER_RULES_rec.attribute14)
63         THEN
64             l_index := l_index + 1;
65             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE14;
66         END IF;
67 
68         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute15,p_old_QUALIFIER_RULES_rec.attribute15)
69         THEN
70             l_index := l_index + 1;
71             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE15;
72         END IF;
73 
74         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute2,p_old_QUALIFIER_RULES_rec.attribute2)
75         THEN
76             l_index := l_index + 1;
77             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE2;
78         END IF;
79 
80         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute3,p_old_QUALIFIER_RULES_rec.attribute3)
81         THEN
82             l_index := l_index + 1;
83             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE3;
84         END IF;
85 
86         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute4,p_old_QUALIFIER_RULES_rec.attribute4)
87         THEN
88             l_index := l_index + 1;
89             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE4;
90         END IF;
91 
92         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute5,p_old_QUALIFIER_RULES_rec.attribute5)
93         THEN
94             l_index := l_index + 1;
95             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE5;
96         END IF;
97 
98         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute6,p_old_QUALIFIER_RULES_rec.attribute6)
99         THEN
100             l_index := l_index + 1;
101             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE6;
102         END IF;
103 
104         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute7,p_old_QUALIFIER_RULES_rec.attribute7)
105         THEN
106             l_index := l_index + 1;
107             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE7;
108         END IF;
109 
110         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute8,p_old_QUALIFIER_RULES_rec.attribute8)
111         THEN
112             l_index := l_index + 1;
113             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE8;
114         END IF;
115 
116         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute9,p_old_QUALIFIER_RULES_rec.attribute9)
117         THEN
118             l_index := l_index + 1;
119             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE9;
120         END IF;
121 
122         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.context,p_old_QUALIFIER_RULES_rec.context)
123         THEN
124             l_index := l_index + 1;
125             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_CONTEXT;
126         END IF;
127 
128         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.created_by,p_old_QUALIFIER_RULES_rec.created_by)
129         THEN
130             l_index := l_index + 1;
131             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_CREATED_BY;
132         END IF;
133 
134         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.creation_date,p_old_QUALIFIER_RULES_rec.creation_date)
135         THEN
136             l_index := l_index + 1;
137             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_CREATION_DATE;
138         END IF;
139 
140         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.description,p_old_QUALIFIER_RULES_rec.description)
141         THEN
142             l_index := l_index + 1;
143             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_DESCRIPTION;
144         END IF;
145 
146         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_updated_by,p_old_QUALIFIER_RULES_rec.last_updated_by)
147         THEN
148             l_index := l_index + 1;
149             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_LAST_UPDATED_BY;
150         END IF;
151 
152         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_update_date,p_old_QUALIFIER_RULES_rec.last_update_date)
153         THEN
154             l_index := l_index + 1;
155             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_LAST_UPDATE_DATE;
156         END IF;
157 
158         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_update_login,p_old_QUALIFIER_RULES_rec.last_update_login)
159         THEN
160             l_index := l_index + 1;
161             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_LAST_UPDATE_LOGIN;
162         END IF;
163 
164         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.name,p_old_QUALIFIER_RULES_rec.name)
165         THEN
166             l_index := l_index + 1;
167             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_NAME;
168         END IF;
169 
170         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_application_id,p_old_QUALIFIER_RULES_rec.program_application_id)
171         THEN
172             l_index := l_index + 1;
173             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_PROGRAM_APPLICATION;
174         END IF;
175 
176         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_id,p_old_QUALIFIER_RULES_rec.program_id)
177         THEN
178             l_index := l_index + 1;
179             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_PROGRAM;
180         END IF;
181 
182         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_update_date,p_old_QUALIFIER_RULES_rec.program_update_date)
183         THEN
184             l_index := l_index + 1;
185             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_PROGRAM_UPDATE_DATE;
186         END IF;
187 
188         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.qualifier_rule_id,p_old_QUALIFIER_RULES_rec.qualifier_rule_id)
189         THEN
190             l_index := l_index + 1;
191             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_QUALIFIER_RULE;
192         END IF;
193 
194         IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.request_id,p_old_QUALIFIER_RULES_rec.request_id)
195         THEN
196             l_index := l_index + 1;
197             l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_REQUEST;
198         END IF;
199 
200     ELSIF p_attr_id = G_ATTRIBUTE1 THEN
201         l_index := l_index + 1;
202         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE1;
203     ELSIF p_attr_id = G_ATTRIBUTE10 THEN
204         l_index := l_index + 1;
205         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE10;
206     ELSIF p_attr_id = G_ATTRIBUTE11 THEN
207         l_index := l_index + 1;
208         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE11;
209     ELSIF p_attr_id = G_ATTRIBUTE12 THEN
210         l_index := l_index + 1;
211         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE12;
212     ELSIF p_attr_id = G_ATTRIBUTE13 THEN
213         l_index := l_index + 1;
214         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE13;
215     ELSIF p_attr_id = G_ATTRIBUTE14 THEN
216         l_index := l_index + 1;
217         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE14;
218     ELSIF p_attr_id = G_ATTRIBUTE15 THEN
219         l_index := l_index + 1;
220         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE15;
221     ELSIF p_attr_id = G_ATTRIBUTE2 THEN
222         l_index := l_index + 1;
223         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE2;
224     ELSIF p_attr_id = G_ATTRIBUTE3 THEN
225         l_index := l_index + 1;
226         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE3;
227     ELSIF p_attr_id = G_ATTRIBUTE4 THEN
228         l_index := l_index + 1;
229         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE4;
230     ELSIF p_attr_id = G_ATTRIBUTE5 THEN
231         l_index := l_index + 1;
232         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE5;
233     ELSIF p_attr_id = G_ATTRIBUTE6 THEN
234         l_index := l_index + 1;
235         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE6;
236     ELSIF p_attr_id = G_ATTRIBUTE7 THEN
237         l_index := l_index + 1;
238         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE7;
239     ELSIF p_attr_id = G_ATTRIBUTE8 THEN
240         l_index := l_index + 1;
241         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE8;
242     ELSIF p_attr_id = G_ATTRIBUTE9 THEN
243         l_index := l_index + 1;
244         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_ATTRIBUTE9;
245     ELSIF p_attr_id = G_CONTEXT THEN
246         l_index := l_index + 1;
247         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_CONTEXT;
248     ELSIF p_attr_id = G_CREATED_BY THEN
249         l_index := l_index + 1;
250         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_CREATED_BY;
251     ELSIF p_attr_id = G_CREATION_DATE THEN
252         l_index := l_index + 1;
253         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_CREATION_DATE;
254     ELSIF p_attr_id = G_DESCRIPTION THEN
255         l_index := l_index + 1;
256         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_DESCRIPTION;
257     ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
258         l_index := l_index + 1;
259         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_LAST_UPDATED_BY;
260     ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
261         l_index := l_index + 1;
262         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_LAST_UPDATE_DATE;
263     ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
264         l_index := l_index + 1;
265         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_LAST_UPDATE_LOGIN;
266     ELSIF p_attr_id = G_NAME THEN
267         l_index := l_index + 1;
268         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_NAME;
269     ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
270         l_index := l_index + 1;
271         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_PROGRAM_APPLICATION;
272     ELSIF p_attr_id = G_PROGRAM THEN
273         l_index := l_index + 1;
274         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_PROGRAM;
275     ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
276         l_index := l_index + 1;
277         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_PROGRAM_UPDATE_DATE;
278     ELSIF p_attr_id = G_QUALIFIER_RULE THEN
279         l_index := l_index + 1;
280         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_QUALIFIER_RULE;
281     ELSIF p_attr_id = G_REQUEST THEN
282         l_index := l_index + 1;
283         l_src_attr_tbl(l_index) := QP_QUALIFIER_RULES_UTIL.G_REQUEST;
284     END IF;
285 
286 END Clear_Dependent_Attr;
287 
288 --  Procedure Apply_Attribute_Changes
289 
290 PROCEDURE Apply_Attribute_Changes
291 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
292 ,   p_old_QUALIFIER_RULES_rec       IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type :=
293                                         QP_Qualifier_Rules_PUB.G_MISS_QUALIFIER_RULES_REC
294 ,   x_QUALIFIER_RULES_rec           OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
295 )
296 IS
297 BEGIN
298 
299     --  Load out NOCOPY /* file.sql.39 change */ record
300 
301     x_QUALIFIER_RULES_rec := p_QUALIFIER_RULES_rec;
302 
303     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute1,p_old_QUALIFIER_RULES_rec.attribute1)
304     THEN
305         NULL;
306     END IF;
307 
308     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute10,p_old_QUALIFIER_RULES_rec.attribute10)
309     THEN
310         NULL;
311     END IF;
312 
313     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute11,p_old_QUALIFIER_RULES_rec.attribute11)
314     THEN
315         NULL;
316     END IF;
317 
318     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute12,p_old_QUALIFIER_RULES_rec.attribute12)
319     THEN
320         NULL;
321     END IF;
322 
323     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute13,p_old_QUALIFIER_RULES_rec.attribute13)
324     THEN
325         NULL;
326     END IF;
327 
328     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute14,p_old_QUALIFIER_RULES_rec.attribute14)
329     THEN
330         NULL;
331     END IF;
332 
333     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute15,p_old_QUALIFIER_RULES_rec.attribute15)
334     THEN
335         NULL;
336     END IF;
337 
338     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute2,p_old_QUALIFIER_RULES_rec.attribute2)
339     THEN
340         NULL;
341     END IF;
342 
343     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute3,p_old_QUALIFIER_RULES_rec.attribute3)
344     THEN
345         NULL;
346     END IF;
347 
348     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute4,p_old_QUALIFIER_RULES_rec.attribute4)
349     THEN
350         NULL;
351     END IF;
352 
353     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute5,p_old_QUALIFIER_RULES_rec.attribute5)
354     THEN
355         NULL;
356     END IF;
357 
358     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute6,p_old_QUALIFIER_RULES_rec.attribute6)
359     THEN
360         NULL;
361     END IF;
362 
363     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute7,p_old_QUALIFIER_RULES_rec.attribute7)
364     THEN
365         NULL;
366     END IF;
367 
368     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute8,p_old_QUALIFIER_RULES_rec.attribute8)
369     THEN
370         NULL;
371     END IF;
372 
373     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute9,p_old_QUALIFIER_RULES_rec.attribute9)
374     THEN
375         NULL;
376     END IF;
377 
378     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.context,p_old_QUALIFIER_RULES_rec.context)
379     THEN
380         NULL;
381     END IF;
382 
383     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.created_by,p_old_QUALIFIER_RULES_rec.created_by)
384     THEN
385         NULL;
386     END IF;
387 
388     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.creation_date,p_old_QUALIFIER_RULES_rec.creation_date)
389     THEN
390         NULL;
391     END IF;
392 
393     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.description,p_old_QUALIFIER_RULES_rec.description)
394     THEN
395         NULL;
396     END IF;
397 
398     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_updated_by,p_old_QUALIFIER_RULES_rec.last_updated_by)
399     THEN
400         NULL;
401     END IF;
402 
403     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_update_date,p_old_QUALIFIER_RULES_rec.last_update_date)
404     THEN
405         NULL;
406     END IF;
407 
408     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_update_login,p_old_QUALIFIER_RULES_rec.last_update_login)
409     THEN
410         NULL;
411     END IF;
412 
413     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.name,p_old_QUALIFIER_RULES_rec.name)
414     THEN
415         NULL;
416     END IF;
417 
418     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_application_id,p_old_QUALIFIER_RULES_rec.program_application_id)
419     THEN
420         NULL;
421     END IF;
422 
423     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_id,p_old_QUALIFIER_RULES_rec.program_id)
424     THEN
425         NULL;
426     END IF;
427 
428     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_update_date,p_old_QUALIFIER_RULES_rec.program_update_date)
429     THEN
430         NULL;
431     END IF;
432 
433     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.qualifier_rule_id,p_old_QUALIFIER_RULES_rec.qualifier_rule_id)
434     THEN
435         NULL;
436     END IF;
437 
438     IF NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.request_id,p_old_QUALIFIER_RULES_rec.request_id)
439     THEN
440         NULL;
441     END IF;
442 
443 END Apply_Attribute_Changes;
444 
445 --  Function Complete_Record
446 
447 FUNCTION Complete_Record
448 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
449 ,   p_old_QUALIFIER_RULES_rec       IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
450 ) RETURN QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
451 IS
452 l_QUALIFIER_RULES_rec         QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type := p_QUALIFIER_RULES_rec;
453 BEGIN
454 
455     IF l_QUALIFIER_RULES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
456         l_QUALIFIER_RULES_rec.attribute1 := p_old_QUALIFIER_RULES_rec.attribute1;
457     END IF;
458 
459     IF l_QUALIFIER_RULES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
460         l_QUALIFIER_RULES_rec.attribute10 := p_old_QUALIFIER_RULES_rec.attribute10;
461     END IF;
462 
463     IF l_QUALIFIER_RULES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
464         l_QUALIFIER_RULES_rec.attribute11 := p_old_QUALIFIER_RULES_rec.attribute11;
465     END IF;
466 
467     IF l_QUALIFIER_RULES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
468         l_QUALIFIER_RULES_rec.attribute12 := p_old_QUALIFIER_RULES_rec.attribute12;
469     END IF;
470 
471     IF l_QUALIFIER_RULES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
472         l_QUALIFIER_RULES_rec.attribute13 := p_old_QUALIFIER_RULES_rec.attribute13;
473     END IF;
474 
475     IF l_QUALIFIER_RULES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
476         l_QUALIFIER_RULES_rec.attribute14 := p_old_QUALIFIER_RULES_rec.attribute14;
477     END IF;
478 
479     IF l_QUALIFIER_RULES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
480         l_QUALIFIER_RULES_rec.attribute15 := p_old_QUALIFIER_RULES_rec.attribute15;
481     END IF;
482 
483     IF l_QUALIFIER_RULES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
484         l_QUALIFIER_RULES_rec.attribute2 := p_old_QUALIFIER_RULES_rec.attribute2;
485     END IF;
486 
487     IF l_QUALIFIER_RULES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
488         l_QUALIFIER_RULES_rec.attribute3 := p_old_QUALIFIER_RULES_rec.attribute3;
489     END IF;
490 
491     IF l_QUALIFIER_RULES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
492         l_QUALIFIER_RULES_rec.attribute4 := p_old_QUALIFIER_RULES_rec.attribute4;
493     END IF;
494 
495     IF l_QUALIFIER_RULES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
496         l_QUALIFIER_RULES_rec.attribute5 := p_old_QUALIFIER_RULES_rec.attribute5;
497     END IF;
498 
499     IF l_QUALIFIER_RULES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
500         l_QUALIFIER_RULES_rec.attribute6 := p_old_QUALIFIER_RULES_rec.attribute6;
501     END IF;
502 
503     IF l_QUALIFIER_RULES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
504         l_QUALIFIER_RULES_rec.attribute7 := p_old_QUALIFIER_RULES_rec.attribute7;
505     END IF;
506 
507     IF l_QUALIFIER_RULES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
508         l_QUALIFIER_RULES_rec.attribute8 := p_old_QUALIFIER_RULES_rec.attribute8;
509     END IF;
510 
511     IF l_QUALIFIER_RULES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
512         l_QUALIFIER_RULES_rec.attribute9 := p_old_QUALIFIER_RULES_rec.attribute9;
513     END IF;
514 
515     IF l_QUALIFIER_RULES_rec.context = FND_API.G_MISS_CHAR THEN
516         l_QUALIFIER_RULES_rec.context := p_old_QUALIFIER_RULES_rec.context;
517     END IF;
518 
519     IF l_QUALIFIER_RULES_rec.created_by = FND_API.G_MISS_NUM THEN
520         l_QUALIFIER_RULES_rec.created_by := p_old_QUALIFIER_RULES_rec.created_by;
521     END IF;
522 
523     IF l_QUALIFIER_RULES_rec.creation_date = FND_API.G_MISS_DATE THEN
524         l_QUALIFIER_RULES_rec.creation_date := p_old_QUALIFIER_RULES_rec.creation_date;
525     END IF;
526 
527     IF l_QUALIFIER_RULES_rec.description = FND_API.G_MISS_CHAR THEN
528         l_QUALIFIER_RULES_rec.description := p_old_QUALIFIER_RULES_rec.description;
529     END IF;
530 
531     IF l_QUALIFIER_RULES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
532         l_QUALIFIER_RULES_rec.last_updated_by := p_old_QUALIFIER_RULES_rec.last_updated_by;
533     END IF;
534 
535     IF l_QUALIFIER_RULES_rec.last_update_date = FND_API.G_MISS_DATE THEN
536         l_QUALIFIER_RULES_rec.last_update_date := p_old_QUALIFIER_RULES_rec.last_update_date;
537     END IF;
538 
539     IF l_QUALIFIER_RULES_rec.last_update_login = FND_API.G_MISS_NUM THEN
540         l_QUALIFIER_RULES_rec.last_update_login := p_old_QUALIFIER_RULES_rec.last_update_login;
541     END IF;
542 
543     IF l_QUALIFIER_RULES_rec.name = FND_API.G_MISS_CHAR THEN
544         l_QUALIFIER_RULES_rec.name := p_old_QUALIFIER_RULES_rec.name;
545     END IF;
546 
547     IF l_QUALIFIER_RULES_rec.program_application_id = FND_API.G_MISS_NUM THEN
548         l_QUALIFIER_RULES_rec.program_application_id := p_old_QUALIFIER_RULES_rec.program_application_id;
549     END IF;
550 
551     IF l_QUALIFIER_RULES_rec.program_id = FND_API.G_MISS_NUM THEN
552         l_QUALIFIER_RULES_rec.program_id := p_old_QUALIFIER_RULES_rec.program_id;
553     END IF;
554 
555     IF l_QUALIFIER_RULES_rec.program_update_date = FND_API.G_MISS_DATE THEN
556         l_QUALIFIER_RULES_rec.program_update_date := p_old_QUALIFIER_RULES_rec.program_update_date;
557     END IF;
558 
559     IF l_QUALIFIER_RULES_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
560         l_QUALIFIER_RULES_rec.qualifier_rule_id := p_old_QUALIFIER_RULES_rec.qualifier_rule_id;
561     END IF;
562 
563     IF l_QUALIFIER_RULES_rec.request_id = FND_API.G_MISS_NUM THEN
564         l_QUALIFIER_RULES_rec.request_id := p_old_QUALIFIER_RULES_rec.request_id;
565     END IF;
566 
567     RETURN l_QUALIFIER_RULES_rec;
568 
569 END Complete_Record;
570 
571 --  Function Convert_Miss_To_Null
572 
573 FUNCTION Convert_Miss_To_Null
574 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
575 ) RETURN QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
576 IS
577 l_QUALIFIER_RULES_rec         QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type := p_QUALIFIER_RULES_rec;
578 BEGIN
579 
580     IF l_QUALIFIER_RULES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
581         l_QUALIFIER_RULES_rec.attribute1 := NULL;
582     END IF;
583 
584     IF l_QUALIFIER_RULES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
585         l_QUALIFIER_RULES_rec.attribute10 := NULL;
586     END IF;
587 
588     IF l_QUALIFIER_RULES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
589         l_QUALIFIER_RULES_rec.attribute11 := NULL;
590     END IF;
591 
592     IF l_QUALIFIER_RULES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
593         l_QUALIFIER_RULES_rec.attribute12 := NULL;
594     END IF;
595 
596     IF l_QUALIFIER_RULES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
597         l_QUALIFIER_RULES_rec.attribute13 := NULL;
598     END IF;
599 
600     IF l_QUALIFIER_RULES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
601         l_QUALIFIER_RULES_rec.attribute14 := NULL;
602     END IF;
603 
604     IF l_QUALIFIER_RULES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
605         l_QUALIFIER_RULES_rec.attribute15 := NULL;
606     END IF;
607 
608     IF l_QUALIFIER_RULES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
609         l_QUALIFIER_RULES_rec.attribute2 := NULL;
610     END IF;
611 
612     IF l_QUALIFIER_RULES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
613         l_QUALIFIER_RULES_rec.attribute3 := NULL;
614     END IF;
615 
616     IF l_QUALIFIER_RULES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
617         l_QUALIFIER_RULES_rec.attribute4 := NULL;
618     END IF;
619 
620     IF l_QUALIFIER_RULES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
621         l_QUALIFIER_RULES_rec.attribute5 := NULL;
622     END IF;
623 
624     IF l_QUALIFIER_RULES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
625         l_QUALIFIER_RULES_rec.attribute6 := NULL;
626     END IF;
627 
628     IF l_QUALIFIER_RULES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
629         l_QUALIFIER_RULES_rec.attribute7 := NULL;
630     END IF;
631 
632     IF l_QUALIFIER_RULES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
633         l_QUALIFIER_RULES_rec.attribute8 := NULL;
634     END IF;
635 
636     IF l_QUALIFIER_RULES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
637         l_QUALIFIER_RULES_rec.attribute9 := NULL;
638     END IF;
639 
640     IF l_QUALIFIER_RULES_rec.context = FND_API.G_MISS_CHAR THEN
641         l_QUALIFIER_RULES_rec.context := NULL;
642     END IF;
643 
644     IF l_QUALIFIER_RULES_rec.created_by = FND_API.G_MISS_NUM THEN
645         l_QUALIFIER_RULES_rec.created_by := NULL;
646     END IF;
647 
648     IF l_QUALIFIER_RULES_rec.creation_date = FND_API.G_MISS_DATE THEN
649         l_QUALIFIER_RULES_rec.creation_date := NULL;
650     END IF;
651 
652     IF l_QUALIFIER_RULES_rec.description = FND_API.G_MISS_CHAR THEN
653         l_QUALIFIER_RULES_rec.description := NULL;
654     END IF;
655 
656     IF l_QUALIFIER_RULES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
657         l_QUALIFIER_RULES_rec.last_updated_by := NULL;
658     END IF;
659 
660     IF l_QUALIFIER_RULES_rec.last_update_date = FND_API.G_MISS_DATE THEN
661         l_QUALIFIER_RULES_rec.last_update_date := NULL;
662     END IF;
663 
664     IF l_QUALIFIER_RULES_rec.last_update_login = FND_API.G_MISS_NUM THEN
665         l_QUALIFIER_RULES_rec.last_update_login := NULL;
666     END IF;
667 
668     IF l_QUALIFIER_RULES_rec.name = FND_API.G_MISS_CHAR THEN
669         l_QUALIFIER_RULES_rec.name := NULL;
670     END IF;
671 
672     IF l_QUALIFIER_RULES_rec.program_application_id = FND_API.G_MISS_NUM THEN
673         l_QUALIFIER_RULES_rec.program_application_id := NULL;
674     END IF;
675 
676     IF l_QUALIFIER_RULES_rec.program_id = FND_API.G_MISS_NUM THEN
677         l_QUALIFIER_RULES_rec.program_id := NULL;
678     END IF;
679 
680     IF l_QUALIFIER_RULES_rec.program_update_date = FND_API.G_MISS_DATE THEN
681         l_QUALIFIER_RULES_rec.program_update_date := NULL;
682     END IF;
683 
684     IF l_QUALIFIER_RULES_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
685         l_QUALIFIER_RULES_rec.qualifier_rule_id := NULL;
686     END IF;
687 
688     IF l_QUALIFIER_RULES_rec.request_id = FND_API.G_MISS_NUM THEN
689         l_QUALIFIER_RULES_rec.request_id := NULL;
690     END IF;
691 
692     RETURN l_QUALIFIER_RULES_rec;
693 
694 END Convert_Miss_To_Null;
695 
696 --  Procedure Update_Row
697 
698 PROCEDURE Update_Row
699 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
700 )
701 IS
702 BEGIN
703 
704     UPDATE  QP_QUALIFIER_RULES
705     SET     ATTRIBUTE1                     = p_QUALIFIER_RULES_rec.attribute1
706     ,       ATTRIBUTE10                    = p_QUALIFIER_RULES_rec.attribute10
707     ,       ATTRIBUTE11                    = p_QUALIFIER_RULES_rec.attribute11
708     ,       ATTRIBUTE12                    = p_QUALIFIER_RULES_rec.attribute12
709     ,       ATTRIBUTE13                    = p_QUALIFIER_RULES_rec.attribute13
710     ,       ATTRIBUTE14                    = p_QUALIFIER_RULES_rec.attribute14
711     ,       ATTRIBUTE15                    = p_QUALIFIER_RULES_rec.attribute15
712     ,       ATTRIBUTE2                     = p_QUALIFIER_RULES_rec.attribute2
713     ,       ATTRIBUTE3                     = p_QUALIFIER_RULES_rec.attribute3
714     ,       ATTRIBUTE4                     = p_QUALIFIER_RULES_rec.attribute4
715     ,       ATTRIBUTE5                     = p_QUALIFIER_RULES_rec.attribute5
716     ,       ATTRIBUTE6                     = p_QUALIFIER_RULES_rec.attribute6
717     ,       ATTRIBUTE7                     = p_QUALIFIER_RULES_rec.attribute7
718     ,       ATTRIBUTE8                     = p_QUALIFIER_RULES_rec.attribute8
719     ,       ATTRIBUTE9                     = p_QUALIFIER_RULES_rec.attribute9
720     ,       CONTEXT                        = p_QUALIFIER_RULES_rec.context
721     ,       CREATED_BY                     = p_QUALIFIER_RULES_rec.created_by
722     ,       CREATION_DATE                  = p_QUALIFIER_RULES_rec.creation_date
723     ,       DESCRIPTION                    = p_QUALIFIER_RULES_rec.description
724     ,       LAST_UPDATED_BY                = p_QUALIFIER_RULES_rec.last_updated_by
725     ,       LAST_UPDATE_DATE               = p_QUALIFIER_RULES_rec.last_update_date
726     ,       LAST_UPDATE_LOGIN              = p_QUALIFIER_RULES_rec.last_update_login
727     ,       NAME                           = p_QUALIFIER_RULES_rec.name
728     ,       PROGRAM_APPLICATION_ID         = p_QUALIFIER_RULES_rec.program_application_id
729     ,       PROGRAM_ID                     = p_QUALIFIER_RULES_rec.program_id
730     ,       PROGRAM_UPDATE_DATE            = p_QUALIFIER_RULES_rec.program_update_date
731     ,       QUALIFIER_RULE_ID              = p_QUALIFIER_RULES_rec.qualifier_rule_id
732     ,       REQUEST_ID                     = p_QUALIFIER_RULES_rec.request_id
733     WHERE   QUALIFIER_RULE_ID = p_QUALIFIER_RULES_rec.qualifier_rule_id
734     ;
735 
736 EXCEPTION
737 
738     WHEN OTHERS THEN
739 
740         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
741         THEN
742             OE_MSG_PUB.Add_Exc_Msg
743             (   G_PKG_NAME
744             ,   'Update_Row'
745             );
746         END IF;
747 
748         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
749 
750 END Update_Row;
751 
752 --  Procedure Insert_Row
753 
754 PROCEDURE Insert_Row
755 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
756 )
757 IS
758 BEGIN
759 
760 
761    oe_debug_pub.add('executing insert row');
762 
763     INSERT  INTO QP_QUALIFIER_RULES
764     (       ATTRIBUTE1
765     ,       ATTRIBUTE10
766     ,       ATTRIBUTE11
767     ,       ATTRIBUTE12
768     ,       ATTRIBUTE13
769     ,       ATTRIBUTE14
770     ,       ATTRIBUTE15
771     ,       ATTRIBUTE2
772     ,       ATTRIBUTE3
773     ,       ATTRIBUTE4
774     ,       ATTRIBUTE5
775     ,       ATTRIBUTE6
776     ,       ATTRIBUTE7
777     ,       ATTRIBUTE8
778     ,       ATTRIBUTE9
779     ,       CONTEXT
780     ,       CREATED_BY
781     ,       CREATION_DATE
782     ,       DESCRIPTION
783     ,       LAST_UPDATED_BY
784     ,       LAST_UPDATE_DATE
785     ,       LAST_UPDATE_LOGIN
786     ,       NAME
787     ,       PROGRAM_APPLICATION_ID
788     ,       PROGRAM_ID
789     ,       PROGRAM_UPDATE_DATE
790     ,       QUALIFIER_RULE_ID
791     ,       REQUEST_ID
792     )
793     VALUES
794     (       p_QUALIFIER_RULES_rec.attribute1
795     ,       p_QUALIFIER_RULES_rec.attribute10
796     ,       p_QUALIFIER_RULES_rec.attribute11
797     ,       p_QUALIFIER_RULES_rec.attribute12
798     ,       p_QUALIFIER_RULES_rec.attribute13
799     ,       p_QUALIFIER_RULES_rec.attribute14
800     ,       p_QUALIFIER_RULES_rec.attribute15
801     ,       p_QUALIFIER_RULES_rec.attribute2
802     ,       p_QUALIFIER_RULES_rec.attribute3
803     ,       p_QUALIFIER_RULES_rec.attribute4
804     ,       p_QUALIFIER_RULES_rec.attribute5
805     ,       p_QUALIFIER_RULES_rec.attribute6
806     ,       p_QUALIFIER_RULES_rec.attribute7
807     ,       p_QUALIFIER_RULES_rec.attribute8
808     ,       p_QUALIFIER_RULES_rec.attribute9
809     ,       p_QUALIFIER_RULES_rec.context
810     ,       p_QUALIFIER_RULES_rec.created_by
811     ,       p_QUALIFIER_RULES_rec.creation_date
812     ,       p_QUALIFIER_RULES_rec.description
813     ,       p_QUALIFIER_RULES_rec.last_updated_by
814     ,       p_QUALIFIER_RULES_rec.last_update_date
815     ,       p_QUALIFIER_RULES_rec.last_update_login
816     ,       p_QUALIFIER_RULES_rec.name
817     ,       p_QUALIFIER_RULES_rec.program_application_id
818     ,       p_QUALIFIER_RULES_rec.program_id
819     ,       p_QUALIFIER_RULES_rec.program_update_date
820     ,       p_QUALIFIER_RULES_rec.qualifier_rule_id
821     ,       p_QUALIFIER_RULES_rec.request_id
822     );
823 
824 EXCEPTION
825 
826     WHEN OTHERS THEN
827 
828         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
829         THEN
830             OE_MSG_PUB.Add_Exc_Msg
831             (   G_PKG_NAME
832             ,   'Insert_Row'
833             );
834         END IF;
835 
836         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
837 
838 END Insert_Row;
839 
840 --  Procedure Delete_Row
841 
842 PROCEDURE Delete_Row
843 (   p_qualifier_rule_id             IN  NUMBER
844 )
845 IS
846 BEGIN
847 
848     -- added by svdeshmu on 1-dec-99 for cascade delete
849 
850     QP_Qualifiers_util.Delete_Row(p_qualifier_rule_id=>p_qualifier_rule_id);
851 
852     -- end of addition
853 
854 
855     DELETE  FROM QP_QUALIFIER_RULES
856     WHERE   QUALIFIER_RULE_ID = p_qualifier_rule_id
857     ;
858 
859 EXCEPTION
860 
861     WHEN OTHERS THEN
862 
863         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
864         THEN
865             OE_MSG_PUB.Add_Exc_Msg
866             (   G_PKG_NAME
867             ,   'Delete_Row'
868             );
869         END IF;
870 
871         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
872 
873 END Delete_Row;
874 
875 --  Function Query_Row
876 
877 FUNCTION Query_Row
878 (   p_qualifier_rule_id             IN  NUMBER
879 ) RETURN QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
880 IS
881 l_QUALIFIER_RULES_rec         QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
882 BEGIN
883 
884     SELECT  ATTRIBUTE1
885     ,       ATTRIBUTE10
886     ,       ATTRIBUTE11
887     ,       ATTRIBUTE12
888     ,       ATTRIBUTE13
889     ,       ATTRIBUTE14
890     ,       ATTRIBUTE15
891     ,       ATTRIBUTE2
892     ,       ATTRIBUTE3
893     ,       ATTRIBUTE4
894     ,       ATTRIBUTE5
895     ,       ATTRIBUTE6
896     ,       ATTRIBUTE7
897     ,       ATTRIBUTE8
898     ,       ATTRIBUTE9
899     ,       CONTEXT
900     ,       CREATED_BY
901     ,       CREATION_DATE
902     ,       DESCRIPTION
903     ,       LAST_UPDATED_BY
904     ,       LAST_UPDATE_DATE
905     ,       LAST_UPDATE_LOGIN
906     ,       NAME
907     ,       PROGRAM_APPLICATION_ID
908     ,       PROGRAM_ID
909     ,       PROGRAM_UPDATE_DATE
910     ,       QUALIFIER_RULE_ID
911     ,       REQUEST_ID
912     INTO    l_QUALIFIER_RULES_rec.attribute1
913     ,       l_QUALIFIER_RULES_rec.attribute10
914     ,       l_QUALIFIER_RULES_rec.attribute11
915     ,       l_QUALIFIER_RULES_rec.attribute12
916     ,       l_QUALIFIER_RULES_rec.attribute13
917     ,       l_QUALIFIER_RULES_rec.attribute14
918     ,       l_QUALIFIER_RULES_rec.attribute15
919     ,       l_QUALIFIER_RULES_rec.attribute2
920     ,       l_QUALIFIER_RULES_rec.attribute3
921     ,       l_QUALIFIER_RULES_rec.attribute4
922     ,       l_QUALIFIER_RULES_rec.attribute5
923     ,       l_QUALIFIER_RULES_rec.attribute6
924     ,       l_QUALIFIER_RULES_rec.attribute7
925     ,       l_QUALIFIER_RULES_rec.attribute8
926     ,       l_QUALIFIER_RULES_rec.attribute9
927     ,       l_QUALIFIER_RULES_rec.context
928     ,       l_QUALIFIER_RULES_rec.created_by
929     ,       l_QUALIFIER_RULES_rec.creation_date
930     ,       l_QUALIFIER_RULES_rec.description
931     ,       l_QUALIFIER_RULES_rec.last_updated_by
932     ,       l_QUALIFIER_RULES_rec.last_update_date
933     ,       l_QUALIFIER_RULES_rec.last_update_login
934     ,       l_QUALIFIER_RULES_rec.name
935     ,       l_QUALIFIER_RULES_rec.program_application_id
936     ,       l_QUALIFIER_RULES_rec.program_id
937     ,       l_QUALIFIER_RULES_rec.program_update_date
938     ,       l_QUALIFIER_RULES_rec.qualifier_rule_id
939     ,       l_QUALIFIER_RULES_rec.request_id
940     FROM    QP_QUALIFIER_RULES
941     WHERE   QUALIFIER_RULE_ID = p_qualifier_rule_id
942     ;
943 
944     RETURN l_QUALIFIER_RULES_rec;
945 
946 EXCEPTION
947 
948     WHEN OTHERS THEN
949 
950         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
951         THEN
952             OE_MSG_PUB.Add_Exc_Msg
953             (   G_PKG_NAME
954             ,   'Query_Row'
955             );
956         END IF;
957 
958         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959 
960 END Query_Row;
961 
962 --  Procedure       lock_Row
963 --
964 
965 PROCEDURE Lock_Row
966 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
967 ,   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
968 ,   x_QUALIFIER_RULES_rec           OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
969 )
970 IS
971 l_QUALIFIER_RULES_rec         QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
972 BEGIN
973 
974 
975 
976     oe_debug_pub.add('in lock row of QPXUQPRB.pls');
977 
978     SELECT  ATTRIBUTE1
979     ,       ATTRIBUTE10
980     ,       ATTRIBUTE11
981     ,       ATTRIBUTE12
982     ,       ATTRIBUTE13
983     ,       ATTRIBUTE14
984     ,       ATTRIBUTE15
985     ,       ATTRIBUTE2
986     ,       ATTRIBUTE3
987     ,       ATTRIBUTE4
988     ,       ATTRIBUTE5
989     ,       ATTRIBUTE6
990     ,       ATTRIBUTE7
991     ,       ATTRIBUTE8
992     ,       ATTRIBUTE9
993     ,       CONTEXT
994     ,       CREATED_BY
995     ,       CREATION_DATE
996     ,       DESCRIPTION
997     ,       LAST_UPDATED_BY
998     ,       LAST_UPDATE_DATE
999     ,       LAST_UPDATE_LOGIN
1000     ,       NAME
1001     ,       PROGRAM_APPLICATION_ID
1002     ,       PROGRAM_ID
1003     ,       PROGRAM_UPDATE_DATE
1004     ,       QUALIFIER_RULE_ID
1005     ,       REQUEST_ID
1006     INTO    l_QUALIFIER_RULES_rec.attribute1
1007     ,       l_QUALIFIER_RULES_rec.attribute10
1008     ,       l_QUALIFIER_RULES_rec.attribute11
1009     ,       l_QUALIFIER_RULES_rec.attribute12
1010     ,       l_QUALIFIER_RULES_rec.attribute13
1011     ,       l_QUALIFIER_RULES_rec.attribute14
1012     ,       l_QUALIFIER_RULES_rec.attribute15
1013     ,       l_QUALIFIER_RULES_rec.attribute2
1014     ,       l_QUALIFIER_RULES_rec.attribute3
1015     ,       l_QUALIFIER_RULES_rec.attribute4
1016     ,       l_QUALIFIER_RULES_rec.attribute5
1017     ,       l_QUALIFIER_RULES_rec.attribute6
1018     ,       l_QUALIFIER_RULES_rec.attribute7
1019     ,       l_QUALIFIER_RULES_rec.attribute8
1020     ,       l_QUALIFIER_RULES_rec.attribute9
1021     ,       l_QUALIFIER_RULES_rec.context
1022     ,       l_QUALIFIER_RULES_rec.created_by
1023     ,       l_QUALIFIER_RULES_rec.creation_date
1024     ,       l_QUALIFIER_RULES_rec.description
1025     ,       l_QUALIFIER_RULES_rec.last_updated_by
1026     ,       l_QUALIFIER_RULES_rec.last_update_date
1027     ,       l_QUALIFIER_RULES_rec.last_update_login
1028     ,       l_QUALIFIER_RULES_rec.name
1029     ,       l_QUALIFIER_RULES_rec.program_application_id
1030     ,       l_QUALIFIER_RULES_rec.program_id
1031     ,       l_QUALIFIER_RULES_rec.program_update_date
1032     ,       l_QUALIFIER_RULES_rec.qualifier_rule_id
1033     ,       l_QUALIFIER_RULES_rec.request_id
1034     FROM    QP_QUALIFIER_RULES
1035     WHERE   QUALIFIER_RULE_ID = p_QUALIFIER_RULES_rec.qualifier_rule_id
1036         FOR UPDATE NOWAIT;
1037 
1038     --  Row locked. Compare IN attributes to DB attributes.
1039 
1040     IF  QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute1,
1041                          l_QUALIFIER_RULES_rec.attribute1)
1042     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute10,
1043                          l_QUALIFIER_RULES_rec.attribute10)
1044     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute11,
1045                          l_QUALIFIER_RULES_rec.attribute11)
1046     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute12,
1047                          l_QUALIFIER_RULES_rec.attribute12)
1048     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute13,
1049                          l_QUALIFIER_RULES_rec.attribute13)
1050     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute14,
1051                          l_QUALIFIER_RULES_rec.attribute14)
1052     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute15,
1053                          l_QUALIFIER_RULES_rec.attribute15)
1054     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute2,
1055                          l_QUALIFIER_RULES_rec.attribute2)
1056     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute3,
1057                          l_QUALIFIER_RULES_rec.attribute3)
1058     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute4,
1059                          l_QUALIFIER_RULES_rec.attribute4)
1060     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute5,
1061                          l_QUALIFIER_RULES_rec.attribute5)
1062     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute6,
1063                          l_QUALIFIER_RULES_rec.attribute6)
1064     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute7,
1065                          l_QUALIFIER_RULES_rec.attribute7)
1066     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute8,
1067                          l_QUALIFIER_RULES_rec.attribute8)
1068     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.attribute9,
1069                          l_QUALIFIER_RULES_rec.attribute9)
1070     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.context,
1071                          l_QUALIFIER_RULES_rec.context)
1072     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.created_by,
1073                          l_QUALIFIER_RULES_rec.created_by)
1074     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.creation_date,
1075                          l_QUALIFIER_RULES_rec.creation_date)
1076     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.description,
1077                          l_QUALIFIER_RULES_rec.description)
1078     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_updated_by,
1079                          l_QUALIFIER_RULES_rec.last_updated_by)
1080     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_update_date,
1081                          l_QUALIFIER_RULES_rec.last_update_date)
1082     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.last_update_login,
1083                          l_QUALIFIER_RULES_rec.last_update_login)
1084     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.name,
1085                          l_QUALIFIER_RULES_rec.name)
1086     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_application_id,
1087                          l_QUALIFIER_RULES_rec.program_application_id)
1088     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_id,
1089                          l_QUALIFIER_RULES_rec.program_id)
1090     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.program_update_date,
1091                          l_QUALIFIER_RULES_rec.program_update_date)
1092     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.qualifier_rule_id,
1093                          l_QUALIFIER_RULES_rec.qualifier_rule_id)
1094     AND QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.request_id,
1095                          l_QUALIFIER_RULES_rec.request_id)
1096     THEN
1097 
1098         --  Row has not changed. Set out NOCOPY /* file.sql.39 change */ parameter.
1099         oe_debug_pub.add('row not changed');
1100 
1101         x_QUALIFIER_RULES_rec          := l_QUALIFIER_RULES_rec;
1102 
1103         --  Set return status
1104 
1105         x_return_status                := FND_API.G_RET_STS_SUCCESS;
1106         x_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1107 
1108     ELSE
1109 
1110         --  Row has changed by another user.
1111         oe_debug_pub.add('row  changed');
1112 
1113         x_return_status                := FND_API.G_RET_STS_ERROR;
1114         x_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_ERROR;
1115 
1116         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1117         THEN
1118 
1119             FND_MESSAGE.SET_NAME('QP','QP_LOCK_ROW_CHANGED');
1120             OE_MSG_PUB.Add;
1121 
1122         END IF;
1123 
1124     END IF;
1125 
1126 EXCEPTION
1127 
1128     WHEN NO_DATA_FOUND THEN
1129 
1130         x_return_status                := FND_API.G_RET_STS_ERROR;
1131         x_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_ERROR;
1132 
1133         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1134         THEN
1135 
1136             oe_debug_pub.add('row  deleted');
1137             FND_MESSAGE.SET_NAME('QP','QP_LOCK_ROW_DELETED');
1138             OE_MSG_PUB.Add;
1139 
1140         END IF;
1141     WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1142 
1143         x_return_status                := FND_API.G_RET_STS_ERROR;
1144         x_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_ERROR;
1145 
1146         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1147         THEN
1148 
1149             oe_debug_pub.add('row  already locked');
1150             FND_MESSAGE.SET_NAME('QP','QP_LOCK_ROW_ALREADY_LOCKED');
1151             OE_MSG_PUB.Add;
1152 
1153         END IF;
1154     WHEN OTHERS THEN
1155 
1156         x_return_status                := FND_API.G_RET_STS_UNEXP_ERROR;
1157         x_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1158 
1159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1160         THEN
1161             OE_MSG_PUB.Add_Exc_Msg
1162             (   G_PKG_NAME
1163             ,   'Lock_Row'
1164             );
1165         END IF;
1166 
1167 END Lock_Row;
1168 
1169 --  Function Get_Values
1170 
1171 FUNCTION Get_Values
1172 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
1173 ,   p_old_QUALIFIER_RULES_rec       IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type :=
1174                                         QP_Qualifier_Rules_PUB.G_MISS_QUALIFIER_RULES_REC
1175 ) RETURN QP_Qualifier_Rules_PUB.Qualifier_Rules_Val_Rec_Type
1176 IS
1177 l_QUALIFIER_RULES_val_rec     QP_Qualifier_Rules_PUB.Qualifier_Rules_Val_Rec_Type;
1178 BEGIN
1179 
1180     IF p_QUALIFIER_RULES_rec.qualifier_rule_id IS NOT NULL AND
1181         p_QUALIFIER_RULES_rec.qualifier_rule_id <> FND_API.G_MISS_NUM AND
1182         NOT QP_GLOBALS.Equal(p_QUALIFIER_RULES_rec.qualifier_rule_id,
1183         p_old_QUALIFIER_RULES_rec.qualifier_rule_id)
1184     THEN
1185         l_QUALIFIER_RULES_val_rec.qualifier_rule := QP_Id_To_Value.Qualifier_Rule
1186         (   p_qualifier_rule_id           => p_QUALIFIER_RULES_rec.qualifier_rule_id
1187         );
1188     END IF;
1189 
1190     RETURN l_QUALIFIER_RULES_val_rec;
1191 
1192 END Get_Values;
1193 
1194 --  Function Get_Ids
1195 
1196 FUNCTION Get_Ids
1197 (   p_QUALIFIER_RULES_rec           IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
1198 ,   p_QUALIFIER_RULES_val_rec       IN  QP_Qualifier_Rules_PUB.Qualifier_Rules_Val_Rec_Type
1199 ) RETURN QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
1200 IS
1201 l_QUALIFIER_RULES_rec         QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1202 BEGIN
1203 
1204     --  initialize  return_status.
1205 
1206     l_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1207 
1208     --  initialize l_QUALIFIER_RULES_rec.
1209 
1210     l_QUALIFIER_RULES_rec := p_QUALIFIER_RULES_rec;
1211 
1212     IF  p_QUALIFIER_RULES_val_rec.qualifier_rule <> FND_API.G_MISS_CHAR
1213     THEN
1214 
1215         IF p_QUALIFIER_RULES_rec.qualifier_rule_id <> FND_API.G_MISS_NUM THEN
1216 
1217             l_QUALIFIER_RULES_rec.qualifier_rule_id := p_QUALIFIER_RULES_rec.qualifier_rule_id;
1218 
1219             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1220             THEN
1221 
1222                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1223                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_rule');
1224                 OE_MSG_PUB.Add;
1225 
1226             END IF;
1227 
1228         ELSE
1229 
1230             l_QUALIFIER_RULES_rec.qualifier_rule_id := QP_Value_To_Id.qualifier_rule
1231             (   p_qualifier_rule              => p_QUALIFIER_RULES_val_rec.qualifier_rule
1232             );
1233 
1234             IF l_QUALIFIER_RULES_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
1235                 l_QUALIFIER_RULES_rec.return_status := FND_API.G_RET_STS_ERROR;
1236             END IF;
1237 
1238         END IF;
1239 
1240     END IF;
1241 
1242 
1243     RETURN l_QUALIFIER_RULES_rec;
1244 
1245 END Get_Ids;
1246 
1247 END QP_Qualifier_Rules_Util;