[Home] [Help]
PACKAGE BODY: APPS.QP_QUALIFIERS_UTIL_MOD
Source
1 PACKAGE BODY QP_Qualifiers_Util_Mod AS
2 /* $Header: QPXUQRSB.pls 120.0 2005/06/02 01:19:00 appldev noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Qualifiers_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_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
13 , p_old_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type :=
14 QP_Modifiers_PUB.G_MISS_QUALIFIERS_REC
15 , x_QUALIFIERS_rec OUT QP_Modifiers_PUB.Qualifiers_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 record
24
25 x_QUALIFIERS_rec := p_QUALIFIERS_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_QUALIFIERS_rec.attribute1,p_old_QUALIFIERS_rec.attribute1)
33 THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE1;
36 END IF;
37
38 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,p_old_QUALIFIERS_rec.attribute10)
39 THEN
40 l_index := l_index + 1;
41 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE10;
42 END IF;
43
44 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,p_old_QUALIFIERS_rec.attribute11)
45 THEN
46 l_index := l_index + 1;
47 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE11;
48 END IF;
49
50 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,p_old_QUALIFIERS_rec.attribute12)
51 THEN
52 l_index := l_index + 1;
53 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE12;
54 END IF;
55
56 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,p_old_QUALIFIERS_rec.attribute13)
57 THEN
58 l_index := l_index + 1;
59 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE13;
60 END IF;
61
62 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,p_old_QUALIFIERS_rec.attribute14)
63 THEN
64 l_index := l_index + 1;
65 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE14;
66 END IF;
67
68 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,p_old_QUALIFIERS_rec.attribute15)
69 THEN
70 l_index := l_index + 1;
71 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE15;
72 END IF;
73
74 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,p_old_QUALIFIERS_rec.attribute2)
75 THEN
76 l_index := l_index + 1;
77 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE2;
78 END IF;
79
80 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,p_old_QUALIFIERS_rec.attribute3)
81 THEN
82 l_index := l_index + 1;
83 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE3;
84 END IF;
85
86 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,p_old_QUALIFIERS_rec.attribute4)
87 THEN
88 l_index := l_index + 1;
89 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE4;
90 END IF;
91
92 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,p_old_QUALIFIERS_rec.attribute5)
93 THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE5;
96 END IF;
97
98 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,p_old_QUALIFIERS_rec.attribute6)
99 THEN
100 l_index := l_index + 1;
101 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE6;
102 END IF;
103
104 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,p_old_QUALIFIERS_rec.attribute7)
105 THEN
106 l_index := l_index + 1;
107 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE7;
108 END IF;
109
110 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,p_old_QUALIFIERS_rec.attribute8)
111 THEN
112 l_index := l_index + 1;
113 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE8;
114 END IF;
115
116 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,p_old_QUALIFIERS_rec.attribute9)
117 THEN
118 l_index := l_index + 1;
119 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE9;
120 END IF;
121
122 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,p_old_QUALIFIERS_rec.context)
123 THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CONTEXT;
126 END IF;
127
128 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,p_old_QUALIFIERS_rec.created_by)
129 THEN
130 l_index := l_index + 1;
131 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_BY;
132 END IF;
133
134 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,p_old_QUALIFIERS_rec.created_from_rule_id)
135 THEN
136 l_index := l_index + 1;
137 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_FROM_RULE;
138 END IF;
139
140 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,p_old_QUALIFIERS_rec.creation_date)
141 THEN
142 l_index := l_index + 1;
143 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATION_DATE;
144 END IF;
145
146 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,p_old_QUALIFIERS_rec.end_date_active)
147 THEN
148 l_index := l_index + 1;
149 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_END_DATE_ACTIVE;
150 END IF;
151
152 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,p_old_QUALIFIERS_rec.excluder_flag)
153 THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_EXCLUDER;
156 END IF;
157
158 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,p_old_QUALIFIERS_rec.last_updated_by)
159 THEN
160 l_index := l_index + 1;
161 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATED_BY;
162 END IF;
163
164 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,p_old_QUALIFIERS_rec.last_update_date)
165 THEN
166 l_index := l_index + 1;
167 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_DATE;
168 END IF;
169
170 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,p_old_QUALIFIERS_rec.last_update_login)
171 THEN
172 l_index := l_index + 1;
173 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_LOGIN;
174 END IF;
175
176 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,p_old_QUALIFIERS_rec.list_header_id)
177 THEN
178 l_index := l_index + 1;
179 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_HEADER;
180 END IF;
181
182 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,p_old_QUALIFIERS_rec.list_line_id)
183 THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_LINE;
186 END IF;
187
188 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,p_old_QUALIFIERS_rec.program_application_id)
189 THEN
190 l_index := l_index + 1;
191 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_APPLICATION;
192 END IF;
193
194 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,p_old_QUALIFIERS_rec.program_id)
195 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM;
198 END IF;
199
200 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,p_old_QUALIFIERS_rec.program_update_date)
201 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_UPDATE_DATE;
204 END IF;
205
206 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,p_old_QUALIFIERS_rec.qualifier_attribute)
207 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTRIBUTE;
210 END IF;
211
212 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,p_old_QUALIFIERS_rec.qualifier_attr_value)
213 THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTR_VALUE;
216 END IF;
217
218 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,p_old_QUALIFIERS_rec.qualifier_context)
219 THEN
220 l_index := l_index + 1;
221 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_CONTEXT;
222 END IF;
223
224 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,p_old_QUALIFIERS_rec.qualifier_grouping_no)
225 THEN
226 l_index := l_index + 1;
227 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_GROUPING_NO;
228 END IF;
229
230 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,p_old_QUALIFIERS_rec.qualifier_id)
231 THEN
232 l_index := l_index + 1;
233 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER;
234 END IF;
235
236 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,p_old_QUALIFIERS_rec.qualifier_rule_id)
237 THEN
238 l_index := l_index + 1;
239 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_RULE;
240 END IF;
241
242 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,p_old_QUALIFIERS_rec.request_id)
243 THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_REQUEST;
246 END IF;
247
248 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,p_old_QUALIFIERS_rec.start_date_active)
249 THEN
250 l_index := l_index + 1;
251 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_START_DATE_ACTIVE;
252 END IF;
253
254 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
255 l_index := l_index + 1;
256 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE1;
257 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
258 l_index := l_index + 1;
259 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE10;
260 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
261 l_index := l_index + 1;
262 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE11;
263 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
264 l_index := l_index + 1;
265 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE12;
266 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
267 l_index := l_index + 1;
268 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE13;
269 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
270 l_index := l_index + 1;
271 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE14;
272 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
273 l_index := l_index + 1;
274 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE15;
275 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
276 l_index := l_index + 1;
277 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE2;
278 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
279 l_index := l_index + 1;
280 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE3;
281 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
282 l_index := l_index + 1;
283 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE4;
284 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
285 l_index := l_index + 1;
286 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE5;
287 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
288 l_index := l_index + 1;
289 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE6;
290 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
291 l_index := l_index + 1;
292 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE7;
293 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
294 l_index := l_index + 1;
295 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE8;
296 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
297 l_index := l_index + 1;
298 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE9;
299 ELSIF p_attr_id = G_COMPARISON_OPERATOR THEN
300 l_index := l_index + 1;
301 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_COMPARISON_OPERATOR;
302 ELSIF p_attr_id = G_CONTEXT THEN
303 l_index := l_index + 1;
304 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CONTEXT;
305 ELSIF p_attr_id = G_CREATED_BY THEN
306 l_index := l_index + 1;
307 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_BY;
308 ELSIF p_attr_id = G_CREATED_FROM_RULE THEN
309 l_index := l_index + 1;
310 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_FROM_RULE;
311 ELSIF p_attr_id = G_CREATION_DATE THEN
312 l_index := l_index + 1;
313 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATION_DATE;
314 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
315 l_index := l_index + 1;
316 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_END_DATE_ACTIVE;
317 ELSIF p_attr_id = G_EXCLUDER THEN
318 l_index := l_index + 1;
319 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_EXCLUDER;
320 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
321 l_index := l_index + 1;
322 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATED_BY;
323 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
324 l_index := l_index + 1;
325 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_DATE;
326 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
327 l_index := l_index + 1;
328 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_LOGIN;
329 ELSIF p_attr_id = G_LIST_HEADER THEN
330 l_index := l_index + 1;
331 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_HEADER;
332 ELSIF p_attr_id = G_LIST_LINE THEN
333 l_index := l_index + 1;
334 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_LINE;
335 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
336 l_index := l_index + 1;
337 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_APPLICATION;
338 ELSIF p_attr_id = G_PROGRAM THEN
339 l_index := l_index + 1;
340 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM;
341 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
342 l_index := l_index + 1;
343 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_UPDATE_DATE;
344 ELSIF p_attr_id = G_QUALIFIER_ATTRIBUTE THEN
345 l_index := l_index + 1;
346 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTRIBUTE;
347 ELSIF p_attr_id = G_QUALIFIER_ATTR_VALUE THEN
348 l_index := l_index + 1;
349 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTR_VALUE;
350 ELSIF p_attr_id = G_QUALIFIER_CONTEXT THEN
351 l_index := l_index + 1;
352 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_CONTEXT;
353 ELSIF p_attr_id = G_QUALIFIER_GROUPING_NO THEN
354 l_index := l_index + 1;
355 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_GROUPING_NO;
356 ELSIF p_attr_id = G_QUALIFIER THEN
357 l_index := l_index + 1;
358 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER;
359 ELSIF p_attr_id = G_QUALIFIER_RULE THEN
360 l_index := l_index + 1;
361 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_RULE;
362 ELSIF p_attr_id = G_REQUEST THEN
363 l_index := l_index + 1;
364 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_REQUEST;
365 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
366 l_index := l_index + 1;
367 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_START_DATE_ACTIVE;
368 END IF;
369
370 END Clear_Dependent_Attr;
371
372 -- Procedure Apply_Attribute_Changes
373
374 PROCEDURE Apply_Attribute_Changes
375 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
376 , p_old_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type :=
377 QP_Modifiers_PUB.G_MISS_QUALIFIERS_REC
378 , x_QUALIFIERS_rec OUT QP_Modifiers_PUB.Qualifiers_Rec_Type
379 )
380 IS
381 BEGIN
382
383 -- Load out record
384
385 x_QUALIFIERS_rec := p_QUALIFIERS_rec;
386
387 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute1,p_old_QUALIFIERS_rec.attribute1)
388 THEN
389 NULL;
390 END IF;
391
392 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,p_old_QUALIFIERS_rec.attribute10)
393 THEN
394 NULL;
395 END IF;
396
397 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,p_old_QUALIFIERS_rec.attribute11)
398 THEN
399 NULL;
400 END IF;
401
402 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,p_old_QUALIFIERS_rec.attribute12)
403 THEN
404 NULL;
405 END IF;
406
407 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,p_old_QUALIFIERS_rec.attribute13)
408 THEN
409 NULL;
410 END IF;
411
412 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,p_old_QUALIFIERS_rec.attribute14)
413 THEN
414 NULL;
415 END IF;
416
417 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,p_old_QUALIFIERS_rec.attribute15)
418 THEN
419 NULL;
420 END IF;
421
422 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,p_old_QUALIFIERS_rec.attribute2)
423 THEN
424 NULL;
425 END IF;
426
427 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,p_old_QUALIFIERS_rec.attribute3)
428 THEN
429 NULL;
430 END IF;
431
432 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,p_old_QUALIFIERS_rec.attribute4)
433 THEN
434 NULL;
435 END IF;
436
437 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,p_old_QUALIFIERS_rec.attribute5)
438 THEN
439 NULL;
440 END IF;
441
442 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,p_old_QUALIFIERS_rec.attribute6)
443 THEN
444 NULL;
445 END IF;
446
447 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,p_old_QUALIFIERS_rec.attribute7)
448 THEN
449 NULL;
450 END IF;
451
452 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,p_old_QUALIFIERS_rec.attribute8)
453 THEN
454 NULL;
455 END IF;
456
457 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,p_old_QUALIFIERS_rec.attribute9)
458 THEN
459 NULL;
460 END IF;
461
462 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,p_old_QUALIFIERS_rec.comparison_operator_code)
463 THEN
464 NULL;
465 END IF;
466
467 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,p_old_QUALIFIERS_rec.context)
468 THEN
469 NULL;
470 END IF;
471
472 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,p_old_QUALIFIERS_rec.created_by)
473 THEN
474 NULL;
475 END IF;
476
477 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,p_old_QUALIFIERS_rec.created_from_rule_id)
478 THEN
479 NULL;
480 END IF;
481
482 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,p_old_QUALIFIERS_rec.creation_date)
483 THEN
484 NULL;
485 END IF;
486
487 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,p_old_QUALIFIERS_rec.end_date_active)
488 THEN
489 NULL;
490 END IF;
491
492 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,p_old_QUALIFIERS_rec.excluder_flag)
493 THEN
494 NULL;
495 END IF;
496
497 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,p_old_QUALIFIERS_rec.last_updated_by)
498 THEN
499 NULL;
500 END IF;
501
502 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,p_old_QUALIFIERS_rec.last_update_date)
503 THEN
504 NULL;
505 END IF;
506
507 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,p_old_QUALIFIERS_rec.last_update_login)
508 THEN
509 NULL;
510 END IF;
511
512 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,p_old_QUALIFIERS_rec.list_header_id)
513 THEN
514 NULL;
515 END IF;
516
517 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,p_old_QUALIFIERS_rec.list_line_id)
518 THEN
519 NULL;
520 END IF;
521
522 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,p_old_QUALIFIERS_rec.program_application_id)
523 THEN
524 NULL;
525 END IF;
526
527 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,p_old_QUALIFIERS_rec.program_id)
528 THEN
529 NULL;
530 END IF;
531
532 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,p_old_QUALIFIERS_rec.program_update_date)
533 THEN
534 NULL;
535 END IF;
536
537 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,p_old_QUALIFIERS_rec.qualifier_attribute)
538 THEN
539 NULL;
540 END IF;
541
542 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,p_old_QUALIFIERS_rec.qualifier_attr_value)
543 THEN
544 NULL;
545 END IF;
546
547 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,p_old_QUALIFIERS_rec.qualifier_context)
548 THEN
549 NULL;
550 END IF;
551
552 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,p_old_QUALIFIERS_rec.qualifier_grouping_no)
553 THEN
554 NULL;
555 END IF;
556
557 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,p_old_QUALIFIERS_rec.qualifier_id)
558 THEN
559 NULL;
560 END IF;
561
562 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,p_old_QUALIFIERS_rec.qualifier_rule_id)
563 THEN
564 NULL;
565 END IF;
566
567 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,p_old_QUALIFIERS_rec.request_id)
568 THEN
569 NULL;
570 END IF;
571
572 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,p_old_QUALIFIERS_rec.start_date_active)
573 THEN
574 NULL;
575 END IF;
576
577 END Apply_Attribute_Changes;
578
579 -- Function Complete_Record
580
581 FUNCTION Complete_Record
582 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
583 , p_old_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
584 ) RETURN QP_Modifiers_PUB.Qualifiers_Rec_Type
585 IS
586 l_QUALIFIERS_rec QP_Modifiers_PUB.Qualifiers_Rec_Type := p_QUALIFIERS_rec;
587 BEGIN
588
589 IF l_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
590 l_QUALIFIERS_rec.attribute1 := p_old_QUALIFIERS_rec.attribute1;
591 END IF;
592
593 IF l_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
594 l_QUALIFIERS_rec.attribute10 := p_old_QUALIFIERS_rec.attribute10;
595 END IF;
596
597 IF l_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
598 l_QUALIFIERS_rec.attribute11 := p_old_QUALIFIERS_rec.attribute11;
599 END IF;
600
601 IF l_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
602 l_QUALIFIERS_rec.attribute12 := p_old_QUALIFIERS_rec.attribute12;
603 END IF;
604
605 IF l_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
606 l_QUALIFIERS_rec.attribute13 := p_old_QUALIFIERS_rec.attribute13;
607 END IF;
608
609 IF l_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
610 l_QUALIFIERS_rec.attribute14 := p_old_QUALIFIERS_rec.attribute14;
611 END IF;
612
613 IF l_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
614 l_QUALIFIERS_rec.attribute15 := p_old_QUALIFIERS_rec.attribute15;
615 END IF;
616
617 IF l_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
618 l_QUALIFIERS_rec.attribute2 := p_old_QUALIFIERS_rec.attribute2;
619 END IF;
620
621 IF l_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
622 l_QUALIFIERS_rec.attribute3 := p_old_QUALIFIERS_rec.attribute3;
623 END IF;
624
625 IF l_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
626 l_QUALIFIERS_rec.attribute4 := p_old_QUALIFIERS_rec.attribute4;
627 END IF;
628
629 IF l_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
630 l_QUALIFIERS_rec.attribute5 := p_old_QUALIFIERS_rec.attribute5;
631 END IF;
632
633 IF l_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
634 l_QUALIFIERS_rec.attribute6 := p_old_QUALIFIERS_rec.attribute6;
635 END IF;
636
637 IF l_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
638 l_QUALIFIERS_rec.attribute7 := p_old_QUALIFIERS_rec.attribute7;
639 END IF;
640
641 IF l_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
642 l_QUALIFIERS_rec.attribute8 := p_old_QUALIFIERS_rec.attribute8;
643 END IF;
644
645 IF l_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
646 l_QUALIFIERS_rec.attribute9 := p_old_QUALIFIERS_rec.attribute9;
647 END IF;
648
649 IF l_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
650 l_QUALIFIERS_rec.comparison_operator_code := p_old_QUALIFIERS_rec.comparison_operator_code;
651 END IF;
652
653 IF l_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
654 l_QUALIFIERS_rec.context := p_old_QUALIFIERS_rec.context;
655 END IF;
656
657 IF l_QUALIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
658 l_QUALIFIERS_rec.created_by := p_old_QUALIFIERS_rec.created_by;
659 END IF;
660
661 IF l_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
662 l_QUALIFIERS_rec.created_from_rule_id := p_old_QUALIFIERS_rec.created_from_rule_id;
663 END IF;
664
665 IF l_QUALIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
666 l_QUALIFIERS_rec.creation_date := p_old_QUALIFIERS_rec.creation_date;
667 END IF;
668
669 IF l_QUALIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
670 l_QUALIFIERS_rec.end_date_active := p_old_QUALIFIERS_rec.end_date_active;
671 END IF;
672
673 IF l_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
674 l_QUALIFIERS_rec.excluder_flag := p_old_QUALIFIERS_rec.excluder_flag;
675 END IF;
676
677 IF l_QUALIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
678 l_QUALIFIERS_rec.last_updated_by := p_old_QUALIFIERS_rec.last_updated_by;
679 END IF;
680
681 IF l_QUALIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
682 l_QUALIFIERS_rec.last_update_date := p_old_QUALIFIERS_rec.last_update_date;
683 END IF;
684
685 IF l_QUALIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
686 l_QUALIFIERS_rec.last_update_login := p_old_QUALIFIERS_rec.last_update_login;
687 END IF;
688
689 IF l_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
690 l_QUALIFIERS_rec.list_header_id := p_old_QUALIFIERS_rec.list_header_id;
691 END IF;
692
693 IF l_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
694 l_QUALIFIERS_rec.list_line_id := p_old_QUALIFIERS_rec.list_line_id;
695 END IF;
696
697 IF l_QUALIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
698 l_QUALIFIERS_rec.program_application_id := p_old_QUALIFIERS_rec.program_application_id;
699 END IF;
700
701 IF l_QUALIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
702 l_QUALIFIERS_rec.program_id := p_old_QUALIFIERS_rec.program_id;
703 END IF;
704
705 IF l_QUALIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
706 l_QUALIFIERS_rec.program_update_date := p_old_QUALIFIERS_rec.program_update_date;
707 END IF;
708
709 IF l_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR THEN
710 l_QUALIFIERS_rec.qualifier_attribute := p_old_QUALIFIERS_rec.qualifier_attribute;
711 END IF;
712
713 IF l_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR THEN
714 l_QUALIFIERS_rec.qualifier_attr_value := p_old_QUALIFIERS_rec.qualifier_attr_value;
715 END IF;
716
717 IF l_QUALIFIERS_rec.qualifier_context = FND_API.G_MISS_CHAR THEN
718 l_QUALIFIERS_rec.qualifier_context := p_old_QUALIFIERS_rec.qualifier_context;
719 END IF;
720
721 IF l_QUALIFIERS_rec.qualifier_grouping_no = FND_API.G_MISS_NUM THEN
722 l_QUALIFIERS_rec.qualifier_grouping_no := p_old_QUALIFIERS_rec.qualifier_grouping_no;
723 END IF;
724
725 IF l_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
726 l_QUALIFIERS_rec.qualifier_id := p_old_QUALIFIERS_rec.qualifier_id;
727 END IF;
728
729 IF l_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
730 l_QUALIFIERS_rec.qualifier_rule_id := p_old_QUALIFIERS_rec.qualifier_rule_id;
731 END IF;
732
733 IF l_QUALIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
734 l_QUALIFIERS_rec.request_id := p_old_QUALIFIERS_rec.request_id;
735 END IF;
736
737 IF l_QUALIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
738 l_QUALIFIERS_rec.start_date_active := p_old_QUALIFIERS_rec.start_date_active;
739 END IF;
740
741 RETURN l_QUALIFIERS_rec;
742
743 END Complete_Record;
744
745 -- Function Convert_Miss_To_Null
746
747 FUNCTION Convert_Miss_To_Null
748 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
749 ) RETURN QP_Modifiers_PUB.Qualifiers_Rec_Type
750 IS
751 l_QUALIFIERS_rec QP_Modifiers_PUB.Qualifiers_Rec_Type := p_QUALIFIERS_rec;
752 BEGIN
753
754 IF l_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
755 l_QUALIFIERS_rec.attribute1 := NULL;
756 END IF;
757
758 IF l_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
759 l_QUALIFIERS_rec.attribute10 := NULL;
760 END IF;
761
762 IF l_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
763 l_QUALIFIERS_rec.attribute11 := NULL;
764 END IF;
765
766 IF l_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
767 l_QUALIFIERS_rec.attribute12 := NULL;
768 END IF;
769
770 IF l_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
771 l_QUALIFIERS_rec.attribute13 := NULL;
772 END IF;
773
774 IF l_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
775 l_QUALIFIERS_rec.attribute14 := NULL;
776 END IF;
777
778 IF l_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
779 l_QUALIFIERS_rec.attribute15 := NULL;
780 END IF;
781
782 IF l_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
783 l_QUALIFIERS_rec.attribute2 := NULL;
784 END IF;
785
786 IF l_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
787 l_QUALIFIERS_rec.attribute3 := NULL;
788 END IF;
789
790 IF l_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
791 l_QUALIFIERS_rec.attribute4 := NULL;
792 END IF;
793
794 IF l_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
795 l_QUALIFIERS_rec.attribute5 := NULL;
796 END IF;
797
798 IF l_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
799 l_QUALIFIERS_rec.attribute6 := NULL;
800 END IF;
801
802 IF l_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
803 l_QUALIFIERS_rec.attribute7 := NULL;
804 END IF;
805
806 IF l_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
807 l_QUALIFIERS_rec.attribute8 := NULL;
808 END IF;
809
810 IF l_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
811 l_QUALIFIERS_rec.attribute9 := NULL;
812 END IF;
813
814 IF l_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
815 l_QUALIFIERS_rec.comparison_operator_code := NULL;
816 END IF;
817
818 IF l_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
819 l_QUALIFIERS_rec.context := NULL;
820 END IF;
821
822 IF l_QUALIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
823 l_QUALIFIERS_rec.created_by := NULL;
824 END IF;
825
826 IF l_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
827 l_QUALIFIERS_rec.created_from_rule_id := NULL;
828 END IF;
829
830 IF l_QUALIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
831 l_QUALIFIERS_rec.creation_date := NULL;
832 END IF;
833
834 IF l_QUALIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
835 l_QUALIFIERS_rec.end_date_active := NULL;
836 END IF;
837
838 IF l_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
839 l_QUALIFIERS_rec.excluder_flag := NULL;
840 END IF;
841
842 IF l_QUALIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
843 l_QUALIFIERS_rec.last_updated_by := NULL;
844 END IF;
845
846 IF l_QUALIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
847 l_QUALIFIERS_rec.last_update_date := NULL;
848 END IF;
849
850 IF l_QUALIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
851 l_QUALIFIERS_rec.last_update_login := NULL;
852 END IF;
853
854 IF l_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
855 l_QUALIFIERS_rec.list_header_id := NULL;
856 END IF;
857
858 IF l_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
859 l_QUALIFIERS_rec.list_line_id := NULL;
860 END IF;
861
862 IF l_QUALIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
863 l_QUALIFIERS_rec.program_application_id := NULL;
864 END IF;
865
866 IF l_QUALIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
867 l_QUALIFIERS_rec.program_id := NULL;
868 END IF;
869
870 IF l_QUALIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
871 l_QUALIFIERS_rec.program_update_date := NULL;
872 END IF;
873
874 IF l_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR THEN
875 l_QUALIFIERS_rec.qualifier_attribute := NULL;
876 END IF;
877
878 IF l_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR THEN
879 l_QUALIFIERS_rec.qualifier_attr_value := NULL;
880 END IF;
881
882 IF l_QUALIFIERS_rec.qualifier_context = FND_API.G_MISS_CHAR THEN
883 l_QUALIFIERS_rec.qualifier_context := NULL;
884 END IF;
885
886 IF l_QUALIFIERS_rec.qualifier_grouping_no = FND_API.G_MISS_NUM THEN
887 l_QUALIFIERS_rec.qualifier_grouping_no := NULL;
888 END IF;
889
890 IF l_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
891 l_QUALIFIERS_rec.qualifier_id := NULL;
892 END IF;
893
894 IF l_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
895 l_QUALIFIERS_rec.qualifier_rule_id := NULL;
896 END IF;
897
898 IF l_QUALIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
899 l_QUALIFIERS_rec.request_id := NULL;
900 END IF;
901
902 IF l_QUALIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
903 l_QUALIFIERS_rec.start_date_active := NULL;
904 END IF;
905
906 RETURN l_QUALIFIERS_rec;
907
908 END Convert_Miss_To_Null;
909
910 -- Procedure Update_Row
911
912 PROCEDURE Update_Row
913 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
914 )
915 IS
916 l_check_active_flag VARCHAR2(1);
917 l_active_flag VARCHAR2(1);
918 --l_status VARCHAR2(1);
919 --l_qualifiers_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
920 BEGIN
921 SELECT ACTIVE_FLAG
922 INTO l_active_flag
923 FROM QP_LIST_HEADERS_B
924 WHERE LIST_HEADER_ID = p_QUALIFIERS_rec.list_header_id;
925
926 --l_qualifiers_rec:=Query_Row(p_QUALIFIERS_rec.qualifier_id);
927
928 UPDATE QP_QUALIFIERS
929 SET ATTRIBUTE1 = p_QUALIFIERS_rec.attribute1
930 , ATTRIBUTE10 = p_QUALIFIERS_rec.attribute10
931 , ATTRIBUTE11 = p_QUALIFIERS_rec.attribute11
932 , ATTRIBUTE12 = p_QUALIFIERS_rec.attribute12
933 , ATTRIBUTE13 = p_QUALIFIERS_rec.attribute13
934 , ATTRIBUTE14 = p_QUALIFIERS_rec.attribute14
935 , ATTRIBUTE15 = p_QUALIFIERS_rec.attribute15
936 , ATTRIBUTE2 = p_QUALIFIERS_rec.attribute2
937 , ATTRIBUTE3 = p_QUALIFIERS_rec.attribute3
938 , ATTRIBUTE4 = p_QUALIFIERS_rec.attribute4
939 , ATTRIBUTE5 = p_QUALIFIERS_rec.attribute5
940 , ATTRIBUTE6 = p_QUALIFIERS_rec.attribute6
941 , ATTRIBUTE7 = p_QUALIFIERS_rec.attribute7
942 , ATTRIBUTE8 = p_QUALIFIERS_rec.attribute8
943 , ATTRIBUTE9 = p_QUALIFIERS_rec.attribute9
944 , COMPARISON_OPERATOR_CODE = p_QUALIFIERS_rec.comparison_operator_code
945 , CONTEXT = p_QUALIFIERS_rec.context
946 , CREATED_BY = p_QUALIFIERS_rec.created_by
947 , CREATED_FROM_RULE_ID = p_QUALIFIERS_rec.created_from_rule_id
948 , CREATION_DATE = p_QUALIFIERS_rec.creation_date
949 , END_DATE_ACTIVE = p_QUALIFIERS_rec.end_date_active
950 , EXCLUDER_FLAG = p_QUALIFIERS_rec.excluder_flag
951 , LAST_UPDATED_BY = p_QUALIFIERS_rec.last_updated_by
952 , LAST_UPDATE_DATE = p_QUALIFIERS_rec.last_update_date
953 , LAST_UPDATE_LOGIN = p_QUALIFIERS_rec.last_update_login
954 , LIST_HEADER_ID = p_QUALIFIERS_rec.list_header_id
955 , LIST_LINE_ID = p_QUALIFIERS_rec.list_line_id
956 , PROGRAM_APPLICATION_ID = p_QUALIFIERS_rec.program_application_id
957 , PROGRAM_ID = p_QUALIFIERS_rec.program_id
958 , PROGRAM_UPDATE_DATE = p_QUALIFIERS_rec.program_update_date
959 , QUALIFIER_ATTRIBUTE = p_QUALIFIERS_rec.qualifier_attribute
960 , QUALIFIER_ATTR_VALUE = p_QUALIFIERS_rec.qualifier_attr_value
961 , QUALIFIER_CONTEXT = p_QUALIFIERS_rec.qualifier_context
962 , QUALIFIER_GROUPING_NO = p_QUALIFIERS_rec.qualifier_grouping_no
963 , QUALIFIER_ID = p_QUALIFIERS_rec.qualifier_id
964 , QUALIFIER_RULE_ID = p_QUALIFIERS_rec.qualifier_rule_id
965 , REQUEST_ID = p_QUALIFIERS_rec.request_id
966 , START_DATE_ACTIVE = p_QUALIFIERS_rec.start_date_active
967 WHERE QUALIFIER_ID = p_QUALIFIERS_rec.qualifier_id
968 ;
969
970 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
971
972 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
973
974 IF(p_QUALIFIERS_rec.qualifier_context IS NOT NULL) AND
975 (p_QUALIFIERS_rec.qualifier_attribute IS NOT NULL) THEN
976
977 UPDATE qp_pte_segments SET used_in_setup='Y'
978 WHERE nvl(used_in_setup,'N')='N'
979 AND segment_id IN
980 (SELECT a.segment_id
981 FROM qp_segments_b a,qp_prc_contexts_b b
982 WHERE a.segment_mapping_column=p_QUALIFIERS_rec.qualifier_attribute
983 AND a.prc_context_id=b.prc_context_id
984 AND b.prc_context_type='QUALIFIER'
985 AND b.prc_context_code=p_QUALIFIERS_rec.qualifier_context);
986 END IF;
987 END IF;
988
989 EXCEPTION
990
991 WHEN OTHERS THEN
992
993 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
994 THEN
995 FND_MSG_PUB.Add_Exc_Msg
996 ( G_PKG_NAME
997 , 'Update_Row'
998 );
999 END IF;
1000
1001 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1002
1003 END Update_Row;
1004
1005 -- Procedure Insert_Row
1006
1007 PROCEDURE Insert_Row
1008 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
1009 )
1010 IS
1011 l_check_active_flag VARCHAR2(1);
1012 l_active_flag VARCHAR2(1);
1013 BEGIN
1014 SELECT ACTIVE_FLAG
1015 INTO l_active_flag
1016 FROM QP_LIST_HEADERS_B
1017 WHERE LIST_HEADER_ID = p_QUALIFIERS_rec.list_header_id;
1018
1019 INSERT INTO QP_QUALIFIERS
1020 ( ATTRIBUTE1
1021 , ATTRIBUTE10
1022 , ATTRIBUTE11
1023 , ATTRIBUTE12
1024 , ATTRIBUTE13
1025 , ATTRIBUTE14
1026 , ATTRIBUTE15
1027 , ATTRIBUTE2
1028 , ATTRIBUTE3
1029 , ATTRIBUTE4
1030 , ATTRIBUTE5
1031 , ATTRIBUTE6
1032 , ATTRIBUTE7
1033 , ATTRIBUTE8
1034 , ATTRIBUTE9
1035 , COMPARISON_OPERATOR_CODE
1036 , CONTEXT
1037 , CREATED_BY
1038 , CREATED_FROM_RULE_ID
1039 , CREATION_DATE
1040 , END_DATE_ACTIVE
1041 , EXCLUDER_FLAG
1042 , LAST_UPDATED_BY
1043 , LAST_UPDATE_DATE
1044 , LAST_UPDATE_LOGIN
1045 , LIST_HEADER_ID
1046 , LIST_LINE_ID
1047 , PROGRAM_APPLICATION_ID
1048 , PROGRAM_ID
1049 , PROGRAM_UPDATE_DATE
1050 , QUALIFIER_ATTRIBUTE
1051 , QUALIFIER_ATTR_VALUE
1052 , QUALIFIER_CONTEXT
1053 , QUALIFIER_GROUPING_NO
1054 , QUALIFIER_ID
1055 , QUALIFIER_RULE_ID
1056 , REQUEST_ID
1057 , START_DATE_ACTIVE
1058 )
1059 VALUES
1060 ( p_QUALIFIERS_rec.attribute1
1061 , p_QUALIFIERS_rec.attribute10
1062 , p_QUALIFIERS_rec.attribute11
1063 , p_QUALIFIERS_rec.attribute12
1064 , p_QUALIFIERS_rec.attribute13
1065 , p_QUALIFIERS_rec.attribute14
1066 , p_QUALIFIERS_rec.attribute15
1067 , p_QUALIFIERS_rec.attribute2
1068 , p_QUALIFIERS_rec.attribute3
1069 , p_QUALIFIERS_rec.attribute4
1070 , p_QUALIFIERS_rec.attribute5
1071 , p_QUALIFIERS_rec.attribute6
1072 , p_QUALIFIERS_rec.attribute7
1073 , p_QUALIFIERS_rec.attribute8
1074 , p_QUALIFIERS_rec.attribute9
1075 , p_QUALIFIERS_rec.comparison_operator_code
1076 , p_QUALIFIERS_rec.context
1077 , p_QUALIFIERS_rec.created_by
1078 , p_QUALIFIERS_rec.created_from_rule_id
1079 , p_QUALIFIERS_rec.creation_date
1080 , p_QUALIFIERS_rec.end_date_active
1081 , p_QUALIFIERS_rec.excluder_flag
1082 , p_QUALIFIERS_rec.last_updated_by
1083 , p_QUALIFIERS_rec.last_update_date
1084 , p_QUALIFIERS_rec.last_update_login
1085 , p_QUALIFIERS_rec.list_header_id
1086 , p_QUALIFIERS_rec.list_line_id
1087 , p_QUALIFIERS_rec.program_application_id
1088 , p_QUALIFIERS_rec.program_id
1089 , p_QUALIFIERS_rec.program_update_date
1090 , p_QUALIFIERS_rec.qualifier_attribute
1091 , p_QUALIFIERS_rec.qualifier_attr_value
1092 , p_QUALIFIERS_rec.qualifier_context
1093 , p_QUALIFIERS_rec.qualifier_grouping_no
1094 , p_QUALIFIERS_rec.qualifier_id
1095 , p_QUALIFIERS_rec.qualifier_rule_id
1096 , p_QUALIFIERS_rec.request_id
1097 , p_QUALIFIERS_rec.start_date_active
1098 );
1099
1100 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1101 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
1102 IF(p_QUALIFIERS_rec.qualifier_context IS NOT NULL) AND
1103 (p_QUALIFIERS_rec.qualifier_attribute IS NOT NULL) THEN
1104
1105 UPDATE qp_pte_segments SET used_in_setup='Y'
1106 WHERE nvl(used_in_setup,'N')='N'
1107 AND segment_id IN
1108 (SELECT a.segment_id
1109 FROM qp_segments_b a,qp_prc_contexts_b b
1110 WHERE a.segment_mapping_column=p_QUALIFIERS_rec.qualifier_attribute
1111 AND a.prc_context_id=b.prc_context_id
1112 AND b.prc_context_type='QUALIFIER'
1113 AND b.prc_context_code=p_QUALIFIERS_rec.qualifier_context);
1114 END IF;
1115 END IF;
1116
1117 EXCEPTION
1118
1119 WHEN OTHERS THEN
1120
1121 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1122 THEN
1123 FND_MSG_PUB.Add_Exc_Msg
1124 ( G_PKG_NAME
1125 , 'Insert_Row'
1126 );
1127 END IF;
1128
1129 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1130
1131 END Insert_Row;
1132
1133 -- Procedure Delete_Row
1134
1135 PROCEDURE Delete_Row
1136 ( p_qualifier_id IN NUMBER
1137 )
1138 IS
1139 BEGIN
1140
1141 DELETE FROM QP_QUALIFIERS
1142 WHERE QUALIFIER_ID = p_qualifier_id
1143 ;
1144
1145 EXCEPTION
1146
1147 WHEN OTHERS THEN
1148
1149 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1150 THEN
1151 FND_MSG_PUB.Add_Exc_Msg
1152 ( G_PKG_NAME
1153 , 'Delete_Row'
1154 );
1155 END IF;
1156
1157 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1158
1159 END Delete_Row;
1160
1161 -- Function Query_Row
1162
1163 FUNCTION Query_Row
1164 ( p_qualifier_id IN NUMBER
1165 ) RETURN QP_Modifiers_PUB.Qualifiers_Rec_Type
1166 IS
1167 BEGIN
1168
1169 RETURN Query_Rows
1170 ( p_qualifier_id => p_qualifier_id
1171 )(1);
1172
1173 END Query_Row;
1174
1175 -- Function Query_Rows
1176
1177 --
1178 */
1179 FUNCTION Query_Rows
1180 ( p_qualifier_id IN NUMBER :=
1181 FND_API.G_MISS_NUM
1182 , p_list_header_id IN NUMBER :=
1183 FND_API.G_MISS_NUM
1184 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type
1185 IS
1186 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1187 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1188
1189 CURSOR l_QUALIFIERS_csr IS
1190 SELECT ATTRIBUTE1
1191 , ATTRIBUTE10
1192 , ATTRIBUTE11
1193 , ATTRIBUTE12
1194 , ATTRIBUTE13
1195 , ATTRIBUTE14
1196 , ATTRIBUTE15
1197 , ATTRIBUTE2
1198 , ATTRIBUTE3
1199 , ATTRIBUTE4
1200 , ATTRIBUTE5
1201 , ATTRIBUTE6
1202 , ATTRIBUTE7
1203 , ATTRIBUTE8
1204 , ATTRIBUTE9
1205 , COMPARISON_OPERATOR_CODE
1206 , CONTEXT
1207 , CREATED_BY
1208 , CREATED_FROM_RULE_ID
1209 , CREATION_DATE
1210 , END_DATE_ACTIVE
1211 , EXCLUDER_FLAG
1212 , LAST_UPDATED_BY
1213 , LAST_UPDATE_DATE
1214 , LAST_UPDATE_LOGIN
1215 , LIST_HEADER_ID
1216 , LIST_LINE_ID
1217 , PROGRAM_APPLICATION_ID
1218 , PROGRAM_ID
1219 , PROGRAM_UPDATE_DATE
1220 , QUALIFIER_ATTRIBUTE
1221 , QUALIFIER_ATTR_VALUE
1222 , QUALIFIER_ATTR_VALUE_TO
1223 , QUALIFIER_CONTEXT
1224 , QUALIFIER_GROUPING_NO
1225 , QUALIFIER_ID
1226 , QUALIFIER_RULE_ID
1227 , REQUEST_ID
1228 , START_DATE_ACTIVE
1229 , LIST_TYPE_CODE
1230 , QUAL_ATTR_VALUE_FROM_NUMBER
1231 , QUAL_ATTR_VALUE_TO_NUMBER
1232 , ACTIVE_FLAG
1233 , QUALIFIER_PRECEDENCE
1234 , QUALIFIER_DATATYPE
1235 , SEARCH_IND
1236 , QUALIFIER_GROUP_CNT
1237 , HEADER_QUALS_EXIST_FLAG
1238 , DISTINCT_ROW_COUNT
1239 FROM QP_QUALIFIERS
1240 WHERE ( QUALIFIER_ID = p_qualifier_id
1241 )
1242 OR ( LIST_HEADER_ID = p_list_header_id
1243 );
1244
1245 BEGIN
1246
1247 IF
1248 (p_qualifier_id IS NOT NULL
1249 AND
1250 p_qualifier_id <> FND_API.G_MISS_NUM)
1251 AND
1252 (p_list_header_id IS NOT NULL
1253 AND
1254 p_list_header_id <> FND_API.G_MISS_NUM)
1255 THEN
1256 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1257 THEN
1258 FND_MSG_PUB.Add_Exc_Msg
1259 ( G_PKG_NAME
1260 , 'Query Rows'
1261 , 'Keys are mutually exclusive: qualifier_id = '|| p_qualifier_id || ', list_header_id = '|| p_list_header_id
1262 );
1263 END IF;
1264
1265 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1266
1267 END IF;
1268
1269
1270 -- Loop over fetched records
1271
1272 FOR l_implicit_rec IN l_QUALIFIERS_csr LOOP
1273
1274 l_QUALIFIERS_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
1275 l_QUALIFIERS_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
1276 l_QUALIFIERS_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
1277 l_QUALIFIERS_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
1278 l_QUALIFIERS_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
1279 l_QUALIFIERS_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
1280 l_QUALIFIERS_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
1281 l_QUALIFIERS_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
1282 l_QUALIFIERS_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
1283 l_QUALIFIERS_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
1284 l_QUALIFIERS_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
1285 l_QUALIFIERS_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
1286 l_QUALIFIERS_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
1287 l_QUALIFIERS_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
1288 l_QUALIFIERS_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
1289 l_QUALIFIERS_rec.comparison_operator_code := l_implicit_rec.COMPARISON_OPERATOR_CODE;
1290 l_QUALIFIERS_rec.context := l_implicit_rec.CONTEXT;
1291 l_QUALIFIERS_rec.created_by := l_implicit_rec.CREATED_BY;
1292 l_QUALIFIERS_rec.created_from_rule_id := l_implicit_rec.CREATED_FROM_RULE_ID;
1293 l_QUALIFIERS_rec.creation_date := l_implicit_rec.CREATION_DATE;
1294 l_QUALIFIERS_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
1295 l_QUALIFIERS_rec.excluder_flag := l_implicit_rec.EXCLUDER_FLAG;
1296 l_QUALIFIERS_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1297 l_QUALIFIERS_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1298 l_QUALIFIERS_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1299 l_QUALIFIERS_rec.list_header_id := l_implicit_rec.LIST_HEADER_ID;
1300 l_QUALIFIERS_rec.list_line_id := l_implicit_rec.LIST_LINE_ID;
1301 l_QUALIFIERS_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
1302 l_QUALIFIERS_rec.program_id := l_implicit_rec.PROGRAM_ID;
1303 l_QUALIFIERS_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
1304 l_QUALIFIERS_rec.qualifier_attribute := l_implicit_rec.QUALIFIER_ATTRIBUTE;
1305 l_QUALIFIERS_rec.qualifier_attr_value := l_implicit_rec.QUALIFIER_ATTR_VALUE;
1306 l_QUALIFIERS_rec.qualifier_attr_value_to := l_implicit_rec.QUALIFIER_ATTR_VALUE_TO;
1307
1308 l_QUALIFIERS_rec.qualifier_context := l_implicit_rec.QUALIFIER_CONTEXT;
1309 l_QUALIFIERS_rec.qualifier_grouping_no := l_implicit_rec.QUALIFIER_GROUPING_NO;
1310 l_QUALIFIERS_rec.qualifier_id := l_implicit_rec.QUALIFIER_ID;
1311 l_QUALIFIERS_rec.qualifier_rule_id := l_implicit_rec.QUALIFIER_RULE_ID;
1312 l_QUALIFIERS_rec.request_id := l_implicit_rec.REQUEST_ID;
1313 l_QUALIFIERS_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
1314 l_QUALIFIERS_rec.list_type_code := l_implicit_rec.LIST_TYPE_CODE;
1315 l_QUALIFIERS_rec.qual_attr_value_from_number := l_implicit_rec.QUAL_ATTR_VALUE_FROM_NUMBER;
1316 l_QUALIFIERS_rec.qual_attr_value_to_number := l_implicit_rec.QUAL_ATTR_VALUE_TO_NUMBER;
1317 l_QUALIFIERS_rec.active_flag := l_implicit_rec.ACTIVE_FLAG;
1318 l_QUALIFIERS_rec.qualifier_datatype := l_implicit_rec.QUALIFIER_DATATYPE;
1319 l_QUALIFIERS_rec.qualifier_precedence := l_implicit_rec.QUALIFIER_PRECEDENCE;
1320
1321 l_QUALIFIERS_rec.search_ind := l_implicit_rec.SEARCH_IND;
1322 l_QUALIFIERS_rec.qualifier_group_cnt := l_implicit_rec.QUALIFIER_GROUP_CNT;
1323 l_QUALIFIERS_rec.header_quals_exist_flag := l_implicit_rec.HEADER_QUALS_EXIST_FLAG;
1324 l_QUALIFIERS_rec.distinct_row_count := l_implicit_rec.DISTINCT_ROW_COUNT;
1325
1326 l_QUALIFIERS_tbl(l_QUALIFIERS_tbl.COUNT + 1) := l_QUALIFIERS_rec;
1327
1328 END LOOP;
1329
1330
1331 -- PK sent and no rows found
1332
1333 IF
1334 (p_qualifier_id IS NOT NULL
1335 AND
1336 p_qualifier_id <> FND_API.G_MISS_NUM)
1337 AND
1338 (l_QUALIFIERS_tbl.COUNT = 0)
1339 THEN
1340 RAISE NO_DATA_FOUND;
1341 END IF;
1342
1343
1344 -- Return fetched table
1345
1346 RETURN l_QUALIFIERS_tbl;
1347
1348 EXCEPTION
1349
1350 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1351
1352 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1353
1354 WHEN OTHERS THEN
1355
1356 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1357 THEN
1358 FND_MSG_PUB.Add_Exc_Msg
1359 ( G_PKG_NAME
1360 , 'Query_Rows'
1361 );
1362 END IF;
1363
1364 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1365
1366 END Query_Rows;
1367
1368 -- Procedure lock_Row
1369 --
1370 /*
1371 PROCEDURE Lock_Row
1372 ( x_return_status OUT VARCHAR2
1373 , p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
1374 , x_QUALIFIERS_rec OUT QP_Modifiers_PUB.Qualifiers_Rec_Type
1375 )
1376 IS
1377 l_QUALIFIERS_rec QP_Modifiers_PUB.Qualifiers_Rec_Type;
1378 BEGIN
1379
1380 SELECT ATTRIBUTE1
1381 , ATTRIBUTE10
1382 , ATTRIBUTE11
1383 , ATTRIBUTE12
1384 , ATTRIBUTE13
1385 , ATTRIBUTE14
1386 , ATTRIBUTE15
1387 , ATTRIBUTE2
1388 , ATTRIBUTE3
1389 , ATTRIBUTE4
1390 , ATTRIBUTE5
1391 , ATTRIBUTE6
1392 , ATTRIBUTE7
1393 , ATTRIBUTE8
1394 , ATTRIBUTE9
1395 , COMPARISON_OPERATOR_CODE
1396 , CONTEXT
1397 , CREATED_BY
1398 , CREATED_FROM_RULE_ID
1399 , CREATION_DATE
1400 , END_DATE_ACTIVE
1401 , EXCLUDER_FLAG
1402 , LAST_UPDATED_BY
1403 , LAST_UPDATE_DATE
1404 , LAST_UPDATE_LOGIN
1405 , LIST_HEADER_ID
1406 , LIST_LINE_ID
1407 , PROGRAM_APPLICATION_ID
1408 , PROGRAM_ID
1409 , PROGRAM_UPDATE_DATE
1410 , QUALIFIER_ATTRIBUTE
1411 , QUALIFIER_ATTR_VALUE
1412 , QUALIFIER_CONTEXT
1413 , QUALIFIER_GROUPING_NO
1414 , QUALIFIER_ID
1415 , QUALIFIER_RULE_ID
1416 , REQUEST_ID
1417 , START_DATE_ACTIVE
1418 INTO l_QUALIFIERS_rec.attribute1
1419 , l_QUALIFIERS_rec.attribute10
1420 , l_QUALIFIERS_rec.attribute11
1421 , l_QUALIFIERS_rec.attribute12
1422 , l_QUALIFIERS_rec.attribute13
1423 , l_QUALIFIERS_rec.attribute14
1424 , l_QUALIFIERS_rec.attribute15
1425 , l_QUALIFIERS_rec.attribute2
1426 , l_QUALIFIERS_rec.attribute3
1427 , l_QUALIFIERS_rec.attribute4
1428 , l_QUALIFIERS_rec.attribute5
1429 , l_QUALIFIERS_rec.attribute6
1430 , l_QUALIFIERS_rec.attribute7
1431 , l_QUALIFIERS_rec.attribute8
1432 , l_QUALIFIERS_rec.attribute9
1433 , l_QUALIFIERS_rec.comparison_operator_code
1434 , l_QUALIFIERS_rec.context
1435 , l_QUALIFIERS_rec.created_by
1436 , l_QUALIFIERS_rec.created_from_rule_id
1437 , l_QUALIFIERS_rec.creation_date
1438 , l_QUALIFIERS_rec.end_date_active
1439 , l_QUALIFIERS_rec.excluder_flag
1440 , l_QUALIFIERS_rec.last_updated_by
1441 , l_QUALIFIERS_rec.last_update_date
1442 , l_QUALIFIERS_rec.last_update_login
1443 , l_QUALIFIERS_rec.list_header_id
1444 , l_QUALIFIERS_rec.list_line_id
1445 , l_QUALIFIERS_rec.program_application_id
1446 , l_QUALIFIERS_rec.program_id
1447 , l_QUALIFIERS_rec.program_update_date
1448 , l_QUALIFIERS_rec.qualifier_attribute
1449 , l_QUALIFIERS_rec.qualifier_attr_value
1450 , l_QUALIFIERS_rec.qualifier_context
1451 , l_QUALIFIERS_rec.qualifier_grouping_no
1452 , l_QUALIFIERS_rec.qualifier_id
1453 , l_QUALIFIERS_rec.qualifier_rule_id
1454 , l_QUALIFIERS_rec.request_id
1455 , l_QUALIFIERS_rec.start_date_active
1456 FROM QP_QUALIFIERS
1457 WHERE QUALIFIER_ID = p_QUALIFIERS_rec.qualifier_id
1458 FOR UPDATE NOWAIT;
1459
1460 -- Row locked. Compare IN attributes to DB attributes.
1461
1462 IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute1,
1463 l_QUALIFIERS_rec.attribute1)
1464 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,
1465 l_QUALIFIERS_rec.attribute10)
1466 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,
1467 l_QUALIFIERS_rec.attribute11)
1468 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,
1469 l_QUALIFIERS_rec.attribute12)
1470 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,
1471 l_QUALIFIERS_rec.attribute13)
1472 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,
1473 l_QUALIFIERS_rec.attribute14)
1474 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,
1475 l_QUALIFIERS_rec.attribute15)
1476 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,
1477 l_QUALIFIERS_rec.attribute2)
1478 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,
1479 l_QUALIFIERS_rec.attribute3)
1480 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,
1481 l_QUALIFIERS_rec.attribute4)
1482 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,
1483 l_QUALIFIERS_rec.attribute5)
1484 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,
1485 l_QUALIFIERS_rec.attribute6)
1486 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,
1487 l_QUALIFIERS_rec.attribute7)
1488 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,
1489 l_QUALIFIERS_rec.attribute8)
1490 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,
1491 l_QUALIFIERS_rec.attribute9)
1492 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,
1493 l_QUALIFIERS_rec.comparison_operator_code)
1494 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,
1495 l_QUALIFIERS_rec.context)
1496 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,
1497 l_QUALIFIERS_rec.created_by)
1498 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,
1499 l_QUALIFIERS_rec.created_from_rule_id)
1500 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,
1501 l_QUALIFIERS_rec.creation_date)
1502 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,
1503 l_QUALIFIERS_rec.end_date_active)
1504 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,
1505 l_QUALIFIERS_rec.excluder_flag)
1506 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,
1507 l_QUALIFIERS_rec.last_updated_by)
1508 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,
1509 l_QUALIFIERS_rec.last_update_date)
1510 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,
1511 l_QUALIFIERS_rec.last_update_login)
1512 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,
1513 l_QUALIFIERS_rec.list_header_id)
1514 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,
1515 l_QUALIFIERS_rec.list_line_id)
1516 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,
1517 l_QUALIFIERS_rec.program_application_id)
1518 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,
1519 l_QUALIFIERS_rec.program_id)
1520 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,
1521 l_QUALIFIERS_rec.program_update_date)
1522 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,
1523 l_QUALIFIERS_rec.qualifier_attribute)
1524 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,
1525 l_QUALIFIERS_rec.qualifier_attr_value)
1526 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,
1527 l_QUALIFIERS_rec.qualifier_context)
1528 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
1529 l_QUALIFIERS_rec.qualifier_grouping_no)
1530 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,
1531 l_QUALIFIERS_rec.qualifier_id)
1532 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,
1533 l_QUALIFIERS_rec.qualifier_rule_id)
1534 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,
1535 l_QUALIFIERS_rec.request_id)
1536 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,
1537 l_QUALIFIERS_rec.start_date_active)
1538 THEN
1539
1540 -- Row has not changed. Set out parameter.
1541
1542 x_QUALIFIERS_rec := l_QUALIFIERS_rec;
1543
1544 -- Set return status
1545
1546 x_return_status := FND_API.G_RET_STS_SUCCESS;
1547 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1548
1549 ELSE
1550
1551 -- Row has changed by another user.
1552
1553 x_return_status := FND_API.G_RET_STS_ERROR;
1554 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1555
1556 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1557 THEN
1558
1559 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
1560 FND_MSG_PUB.Add;
1561
1562 END IF;
1563
1564 END IF;
1565
1566 EXCEPTION
1567
1568 WHEN NO_DATA_FOUND THEN
1569
1570 x_return_status := FND_API.G_RET_STS_ERROR;
1571 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1572
1573 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1574 THEN
1575
1576 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
1577 FND_MSG_PUB.Add;
1578
1579 END IF;
1580 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1581
1582 x_return_status := FND_API.G_RET_STS_ERROR;
1583 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1584
1585 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1586 THEN
1587
1588 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
1589 FND_MSG_PUB.Add;
1590
1591 END IF;
1592 WHEN OTHERS THEN
1593
1594 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1595 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1596
1597 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1598 THEN
1599 FND_MSG_PUB.Add_Exc_Msg
1600 ( G_PKG_NAME
1601 , 'Lock_Row'
1602 );
1603 END IF;
1604
1605 END Lock_Row;
1606
1607 -- Function Get_Values
1608
1609 FUNCTION Get_Values
1610 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
1611 , p_old_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type :=
1612 QP_Modifiers_PUB.G_MISS_QUALIFIERS_REC
1613 ) RETURN QP_Modifiers_PUB.Qualifiers_Val_Rec_Type
1614 IS
1615 l_QUALIFIERS_val_rec QP_Modifiers_PUB.Qualifiers_Val_Rec_Type;
1616 BEGIN
1617
1618 IF p_QUALIFIERS_rec.comparison_operator_code IS NOT NULL AND
1619 p_QUALIFIERS_rec.comparison_operator_code <> FND_API.G_MISS_CHAR AND
1620 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,
1621 p_old_QUALIFIERS_rec.comparison_operator_code)
1622 THEN
1623 -- l_QUALIFIERS_val_rec.comparison_operator := QP_Id_To_Value.Comparison_Operator
1624 -- ( p_comparison_operator_code => p_QUALIFIERS_rec.comparison_operator_code
1625 -- );
1626 END IF;
1627
1628 IF p_QUALIFIERS_rec.created_from_rule_id IS NOT NULL AND
1629 p_QUALIFIERS_rec.created_from_rule_id <> FND_API.G_MISS_NUM AND
1630 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,
1631 p_old_QUALIFIERS_rec.created_from_rule_id)
1632 THEN
1633 l_QUALIFIERS_val_rec.created_from_rule := QP_Id_To_Value.Created_From_Rule
1634 ( p_created_from_rule_id => p_QUALIFIERS_rec.created_from_rule_id
1635 );
1636 END IF;
1637
1638 IF p_QUALIFIERS_rec.excluder_flag IS NOT NULL AND
1639 p_QUALIFIERS_rec.excluder_flag <> FND_API.G_MISS_CHAR AND
1640 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,
1641 p_old_QUALIFIERS_rec.excluder_flag)
1642 THEN
1643 l_QUALIFIERS_val_rec.excluder := QP_Id_To_Value.Excluder
1644 ( p_excluder_flag => p_QUALIFIERS_rec.excluder_flag
1645 );
1646 END IF;
1647
1648 IF p_QUALIFIERS_rec.list_header_id IS NOT NULL AND
1649 p_QUALIFIERS_rec.list_header_id <> FND_API.G_MISS_NUM AND
1650 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,
1651 p_old_QUALIFIERS_rec.list_header_id)
1652 THEN
1653 l_QUALIFIERS_val_rec.list_header := QP_Id_To_Value.List_Header
1654 ( p_list_header_id => p_QUALIFIERS_rec.list_header_id
1655 );
1656 END IF;
1657
1658 IF p_QUALIFIERS_rec.list_line_id IS NOT NULL AND
1659 p_QUALIFIERS_rec.list_line_id <> FND_API.G_MISS_NUM AND
1660 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,
1661 p_old_QUALIFIERS_rec.list_line_id)
1662 THEN
1663 l_QUALIFIERS_val_rec.list_line := QP_Id_To_Value.List_Line
1664 ( p_list_line_id => p_QUALIFIERS_rec.list_line_id
1665 );
1666 END IF;
1667
1668 IF p_QUALIFIERS_rec.qualifier_id IS NOT NULL AND
1669 p_QUALIFIERS_rec.qualifier_id <> FND_API.G_MISS_NUM AND
1670 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,
1671 p_old_QUALIFIERS_rec.qualifier_id)
1672 THEN
1673 -- l_QUALIFIERS_val_rec.qualifier := QP_Id_To_Value.Qualifier
1674 -- ( p_qualifier_id => p_QUALIFIERS_rec.qualifier_id
1675 -- );
1676 END IF;
1677
1678 IF p_QUALIFIERS_rec.qualifier_rule_id IS NOT NULL AND
1679 p_QUALIFIERS_rec.qualifier_rule_id <> FND_API.G_MISS_NUM AND
1680 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,
1681 p_old_QUALIFIERS_rec.qualifier_rule_id)
1682 THEN
1683 l_QUALIFIERS_val_rec.qualifier_rule := QP_Id_To_Value.Qualifier_Rule
1684 ( p_qualifier_rule_id => p_QUALIFIERS_rec.qualifier_rule_id
1685 );
1686 END IF;
1687
1688 RETURN l_QUALIFIERS_val_rec;
1689
1690 END Get_Values;
1691
1692 -- Function Get_Ids
1693
1694 FUNCTION Get_Ids
1695 ( p_QUALIFIERS_rec IN QP_Modifiers_PUB.Qualifiers_Rec_Type
1696 , p_QUALIFIERS_val_rec IN QP_Modifiers_PUB.Qualifiers_Val_Rec_Type
1697 ) RETURN QP_Modifiers_PUB.Qualifiers_Rec_Type
1698 IS
1699 l_QUALIFIERS_rec QP_Modifiers_PUB.Qualifiers_Rec_Type;
1700 BEGIN
1701
1702 -- initialize return_status.
1703
1704 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1705
1706 -- initialize l_QUALIFIERS_rec.
1707
1708 l_QUALIFIERS_rec := p_QUALIFIERS_rec;
1709
1710 IF p_QUALIFIERS_val_rec.comparison_operator <> FND_API.G_MISS_CHAR
1711 THEN
1712
1713 IF p_QUALIFIERS_rec.comparison_operator_code <> FND_API.G_MISS_CHAR THEN
1714
1715 l_QUALIFIERS_rec.comparison_operator_code := p_QUALIFIERS_rec.comparison_operator_code;
1716
1717 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1718 THEN
1719
1720 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1721 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','comparison_operator');
1722 FND_MSG_PUB.Add;
1723
1724 END IF;
1725
1726 ELSE
1727
1728 -- l_QUALIFIERS_rec.comparison_operator_code := QP_Value_To_Id.comparison_operator
1729 -- ( p_comparison_operator => p_QUALIFIERS_val_rec.comparison_operator
1730 -- );
1731
1732 IF l_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
1733 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1734 END IF;
1735
1736 END IF;
1737
1738 END IF;
1739
1740 IF p_QUALIFIERS_val_rec.created_from_rule <> FND_API.G_MISS_CHAR
1741 THEN
1742
1743 IF p_QUALIFIERS_rec.created_from_rule_id <> FND_API.G_MISS_NUM THEN
1744
1745 l_QUALIFIERS_rec.created_from_rule_id := p_QUALIFIERS_rec.created_from_rule_id;
1746
1747 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1748 THEN
1749
1750 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1751 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','created_from_rule');
1752 FND_MSG_PUB.Add;
1753
1754 END IF;
1755
1756 ELSE
1757
1758 l_QUALIFIERS_rec.created_from_rule_id := QP_Value_To_Id.created_from_rule
1759 ( p_created_from_rule => p_QUALIFIERS_val_rec.created_from_rule
1760 );
1761
1762 IF l_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
1763 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1764 END IF;
1765
1766 END IF;
1767
1768 END IF;
1769
1770 IF p_QUALIFIERS_val_rec.excluder <> FND_API.G_MISS_CHAR
1771 THEN
1772
1773 IF p_QUALIFIERS_rec.excluder_flag <> FND_API.G_MISS_CHAR THEN
1774
1775 l_QUALIFIERS_rec.excluder_flag := p_QUALIFIERS_rec.excluder_flag;
1776
1777 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1778 THEN
1779
1780 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1781 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','excluder');
1782 FND_MSG_PUB.Add;
1783
1784 END IF;
1785
1786 ELSE
1787
1788 l_QUALIFIERS_rec.excluder_flag := QP_Value_To_Id.excluder
1789 ( p_excluder => p_QUALIFIERS_val_rec.excluder
1790 );
1791
1792 IF l_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
1793 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1794 END IF;
1795
1796 END IF;
1797
1798 END IF;
1799
1800 IF p_QUALIFIERS_val_rec.list_header <> FND_API.G_MISS_CHAR
1801 THEN
1802
1803 IF p_QUALIFIERS_rec.list_header_id <> FND_API.G_MISS_NUM THEN
1804
1805 l_QUALIFIERS_rec.list_header_id := p_QUALIFIERS_rec.list_header_id;
1806
1807 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1808 THEN
1809
1810 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1811 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
1812 FND_MSG_PUB.Add;
1813
1814 END IF;
1815
1816 ELSE
1817
1818 l_QUALIFIERS_rec.list_header_id := QP_Value_To_Id.list_header
1819 ( p_list_header => p_QUALIFIERS_val_rec.list_header
1820 );
1821
1822 IF l_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
1823 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1824 END IF;
1825
1826 END IF;
1827
1828 END IF;
1829
1830 IF p_QUALIFIERS_val_rec.list_line <> FND_API.G_MISS_CHAR
1831 THEN
1832
1833 IF p_QUALIFIERS_rec.list_line_id <> FND_API.G_MISS_NUM THEN
1834
1835 l_QUALIFIERS_rec.list_line_id := p_QUALIFIERS_rec.list_line_id;
1836
1837 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1838 THEN
1839
1840 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1841 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line');
1842 FND_MSG_PUB.Add;
1843
1844 END IF;
1845
1846 ELSE
1847
1848 l_QUALIFIERS_rec.list_line_id := QP_Value_To_Id.list_line
1849 ( p_list_line => p_QUALIFIERS_val_rec.list_line
1850 );
1851
1852 IF l_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
1853 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1854 END IF;
1855
1856 END IF;
1857
1858 END IF;
1859
1860 IF p_QUALIFIERS_val_rec.qualifier <> FND_API.G_MISS_CHAR
1861 THEN
1862
1863 IF p_QUALIFIERS_rec.qualifier_id <> FND_API.G_MISS_NUM THEN
1864
1865 l_QUALIFIERS_rec.qualifier_id := p_QUALIFIERS_rec.qualifier_id;
1866
1867 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1868 THEN
1869
1870 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1871 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier');
1872 FND_MSG_PUB.Add;
1873
1874 END IF;
1875
1876 ELSE
1877
1878 -- l_QUALIFIERS_rec.qualifier_id := QP_Value_To_Id.qualifier
1879 -- ( p_qualifier => p_QUALIFIERS_val_rec.qualifier
1880 -- );
1881
1882 IF l_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
1883 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1884 END IF;
1885
1886 END IF;
1887
1888 END IF;
1889
1890 IF p_QUALIFIERS_val_rec.qualifier_rule <> FND_API.G_MISS_CHAR
1891 THEN
1892
1893 IF p_QUALIFIERS_rec.qualifier_rule_id <> FND_API.G_MISS_NUM THEN
1894
1895 l_QUALIFIERS_rec.qualifier_rule_id := p_QUALIFIERS_rec.qualifier_rule_id;
1896
1897 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1898 THEN
1899
1900 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1901 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_rule');
1902 FND_MSG_PUB.Add;
1903
1904 END IF;
1905
1906 ELSE
1907
1908 l_QUALIFIERS_rec.qualifier_rule_id := QP_Value_To_Id.qualifier_rule
1909 ( p_qualifier_rule => p_QUALIFIERS_val_rec.qualifier_rule
1910 );
1911
1912 IF l_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
1913 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
1914 END IF;
1915
1916 END IF;
1917
1918 END IF;
1919
1920
1921 RETURN l_QUALIFIERS_rec;
1922
1923 END Get_Ids;
1924 */
1925 END QP_Qualifiers_Util_Mod;