[Home] [Help]
PACKAGE BODY: APPS.QP_QUALIFIERS_UTIL
Source
1 PACKAGE BODY QP_Qualifiers_Util AS
2 /* $Header: QPXUQPQB.pls 120.16.12020000.2 2013/03/01 06:14:54 jputta ship $ */
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_Qualifier_Rules_PUB.Qualifiers_Rec_Type
13 , p_old_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type :=
14 QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC
15 , x_QUALIFIERS_rec OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_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 -- Following if statement is added by svdeshmu
28 -- If operator is updated from 'between' to '=' then qualifier_attr_value_to_code(ui field)
29 -- gets set to null.However qualifier_attr_value_to (database field) remains unclear.
30 --Hence if you query the record after this change, even though the operator is '='
31 -- 'value to 'is shown on the UI.(which is incorrect)
32 --Hence following statement is added to clear the qualifier_attr_value_to (database field)
33 --whenever operator is other than 'between'.
34
35 if p_old_QUALIFIERS_rec.comparison_operator_code = 'BETWEEN' AND
36 p_QUALIFIERS_rec.comparison_operator_code <> 'BETWEEN' then
37
38 x_QUALIFIERS_rec.qualifier_attr_value_to := null;
39 end if;
40
41
42
43 -- If attr_id is missing compare old and new records and for
44 -- every changed attribute clear its dependent fields.
45
46
47 IF p_attr_id = FND_API.G_MISS_NUM THEN
48
49 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute1,p_old_QUALIFIERS_rec.attribute1)
50 THEN
51 l_index := l_index + 1;
52 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE1;
53 END IF;
54
55 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,p_old_QUALIFIERS_rec.attribute10)
56 THEN
57 l_index := l_index + 1;
58 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE10;
59 END IF;
60
61 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,p_old_QUALIFIERS_rec.attribute11)
62 THEN
63 l_index := l_index + 1;
64 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE11;
65 END IF;
66
67 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,p_old_QUALIFIERS_rec.attribute12)
68 THEN
69 l_index := l_index + 1;
70 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE12;
71 END IF;
72
73 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,p_old_QUALIFIERS_rec.attribute13)
74 THEN
75 l_index := l_index + 1;
76 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE13;
77 END IF;
78
79 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,p_old_QUALIFIERS_rec.attribute14)
80 THEN
81 l_index := l_index + 1;
82 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE14;
83 END IF;
84
85 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,p_old_QUALIFIERS_rec.attribute15)
86 THEN
87 l_index := l_index + 1;
88 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE15;
89 END IF;
90
91 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,p_old_QUALIFIERS_rec.attribute2)
92 THEN
93 l_index := l_index + 1;
94 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE2;
95 END IF;
96
97 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,p_old_QUALIFIERS_rec.attribute3)
98 THEN
99 l_index := l_index + 1;
100 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE3;
101 END IF;
102
103 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,p_old_QUALIFIERS_rec.attribute4)
104 THEN
105 l_index := l_index + 1;
106 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE4;
107 END IF;
108
109 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,p_old_QUALIFIERS_rec.attribute5)
110 THEN
111 l_index := l_index + 1;
112 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE5;
113 END IF;
114
115 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,p_old_QUALIFIERS_rec.attribute6)
116 THEN
117 l_index := l_index + 1;
118 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE6;
119 END IF;
120
121 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,p_old_QUALIFIERS_rec.attribute7)
122 THEN
123 l_index := l_index + 1;
124 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE7;
125 END IF;
126
127 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,p_old_QUALIFIERS_rec.attribute8)
128 THEN
129 l_index := l_index + 1;
130 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE8;
131 END IF;
132
133 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,p_old_QUALIFIERS_rec.attribute9)
134 THEN
135 l_index := l_index + 1;
136 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE9;
137 END IF;
138
139 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,p_old_QUALIFIERS_rec.comparison_operator_code)
140 THEN
141 l_index := l_index + 1;
142 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_COMPARISON_OPERATOR;
143 END IF;
144
145 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,p_old_QUALIFIERS_rec.context)
146 THEN
147 l_index := l_index + 1;
148 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CONTEXT;
149 END IF;
150
151 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,p_old_QUALIFIERS_rec.created_by)
152 THEN
153 l_index := l_index + 1;
154 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_BY;
155 END IF;
156
157 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,p_old_QUALIFIERS_rec.created_from_rule_id)
158 THEN
159 l_index := l_index + 1;
160 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_FROM_RULE;
161 END IF;
162
163 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,p_old_QUALIFIERS_rec.creation_date)
164 THEN
165 l_index := l_index + 1;
166 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATION_DATE;
167 END IF;
168
169 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,p_old_QUALIFIERS_rec.end_date_active)
170 THEN
171 l_index := l_index + 1;
172 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_END_DATE_ACTIVE;
173 END IF;
174
175 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,p_old_QUALIFIERS_rec.excluder_flag)
176 THEN
177 l_index := l_index + 1;
178 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_EXCLUDER;
179 END IF;
180
181 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,p_old_QUALIFIERS_rec.last_updated_by)
182 THEN
183 l_index := l_index + 1;
184 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATED_BY;
185 END IF;
186
187 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,p_old_QUALIFIERS_rec.last_update_date)
188 THEN
189 l_index := l_index + 1;
190 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_DATE;
191 END IF;
192
193 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,p_old_QUALIFIERS_rec.last_update_login)
194 THEN
195 l_index := l_index + 1;
196 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_LOGIN;
197 END IF;
198
199 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,p_old_QUALIFIERS_rec.list_header_id)
200 THEN
201 l_index := l_index + 1;
202 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_HEADER;
203 END IF;
204
205 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,p_old_QUALIFIERS_rec.list_line_id)
206 THEN
207 l_index := l_index + 1;
208 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_LINE;
209 END IF;
210
211 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,p_old_QUALIFIERS_rec.program_application_id)
212 THEN
213 l_index := l_index + 1;
214 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_APPLICATION;
215 END IF;
216
217 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,p_old_QUALIFIERS_rec.program_id)
218 THEN
219 l_index := l_index + 1;
220 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM;
221 END IF;
222
223 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,p_old_QUALIFIERS_rec.program_update_date)
224 THEN
225 l_index := l_index + 1;
226 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_UPDATE_DATE;
227 END IF;
228
229 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,p_old_QUALIFIERS_rec.qualifier_attribute)
230 THEN
231 l_index := l_index + 1;
232 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTRIBUTE;
233 END IF;
234
235 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,p_old_QUALIFIERS_rec.qualifier_attr_value)
236 THEN
237 l_index := l_index + 1;
238 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTR_VALUE;
239 END IF;
240
241
242 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value_to,p_old_QUALIFIERS_rec.qualifier_attr_value_to)
243 THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTR_VALUE_TO;
246 END IF;
247
248
249
250
251
252 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,p_old_QUALIFIERS_rec.qualifier_context)
253 THEN
254 l_index := l_index + 1;
255 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_CONTEXT;
256 END IF;
257
258 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_datatype,p_old_QUALIFIERS_rec.qualifier_datatype)
259 THEN
260 l_index := l_index + 1;
261 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_DATATYPE;
262 END IF;
263
264 /* IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_date_format,p_old_QUALIFIERS_rec.qualifier_date_format)
265 THEN
266 l_index := l_index + 1;
267 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_DATE_FORMAT;
268 END IF;*/
269
270 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,p_old_QUALIFIERS_rec.qualifier_grouping_no)
271 THEN
272 l_index := l_index + 1;
273 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_GROUPING_NO;
274 END IF;
275
276 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,p_old_QUALIFIERS_rec.qualifier_id)
277 THEN
278 l_index := l_index + 1;
279 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER;
280 END IF;
281
282 /* IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_number_format,p_old_QUALIFIERS_rec.qualifier_number_format)
283 THEN
284 l_index := l_index + 1;
285 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_NUMBER_FORMAT;
286 END IF;*/
287
288 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_precedence,p_old_QUALIFIERS_rec.qualifier_precedence)
289 THEN
290 l_index := l_index + 1;
291 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_PRECEDENCE;
292 END IF;
293
294 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,p_old_QUALIFIERS_rec.qualifier_rule_id)
295 THEN
296 l_index := l_index + 1;
297 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_RULE;
298 END IF;
299
300 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,p_old_QUALIFIERS_rec.request_id)
301 THEN
302 l_index := l_index + 1;
303 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_REQUEST;
304 END IF;
305
306 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,p_old_QUALIFIERS_rec.start_date_active)
307 THEN
308 l_index := l_index + 1;
309 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_START_DATE_ACTIVE;
310 END IF;
311 -- Added for TCA
312 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualify_hier_descendent_flag,p_old_QUALIFIERS_rec.qualify_hier_descendent_flag)
313 THEN
314 l_index := l_index + 1;
315 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFY_HIER_DESCENDENT_FLAG;
316 END IF;
317
318 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
319 l_index := l_index + 1;
320 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE1;
321 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
322 l_index := l_index + 1;
323 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE10;
324 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
325 l_index := l_index + 1;
326 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE11;
327 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
328 l_index := l_index + 1;
329 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE12;
330 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
331 l_index := l_index + 1;
332 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE13;
333 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
334 l_index := l_index + 1;
335 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE14;
336 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
337 l_index := l_index + 1;
338 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE15;
339 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
340 l_index := l_index + 1;
341 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE2;
342 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
343 l_index := l_index + 1;
344 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE3;
345 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
346 l_index := l_index + 1;
347 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE4;
348 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
349 l_index := l_index + 1;
350 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE5;
351 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
352 l_index := l_index + 1;
353 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE6;
354 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
355 l_index := l_index + 1;
356 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE7;
357 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
358 l_index := l_index + 1;
359 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE8;
360 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
361 l_index := l_index + 1;
362 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_ATTRIBUTE9;
363 ELSIF p_attr_id = G_COMPARISON_OPERATOR THEN
364 l_index := l_index + 1;
365 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_COMPARISON_OPERATOR;
366 ELSIF p_attr_id = G_CONTEXT THEN
367 l_index := l_index + 1;
368 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CONTEXT;
369 ELSIF p_attr_id = G_CREATED_BY THEN
370 l_index := l_index + 1;
371 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_BY;
372 ELSIF p_attr_id = G_CREATED_FROM_RULE THEN
373 l_index := l_index + 1;
374 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATED_FROM_RULE;
375 ELSIF p_attr_id = G_CREATION_DATE THEN
376 l_index := l_index + 1;
377 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_CREATION_DATE;
378 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
379 l_index := l_index + 1;
380 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_END_DATE_ACTIVE;
381 ELSIF p_attr_id = G_EXCLUDER THEN
382 l_index := l_index + 1;
383 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_EXCLUDER;
384 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
385 l_index := l_index + 1;
386 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATED_BY;
387 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
388 l_index := l_index + 1;
389 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_DATE;
390 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
391 l_index := l_index + 1;
392 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LAST_UPDATE_LOGIN;
393 ELSIF p_attr_id = G_LIST_HEADER THEN
394 l_index := l_index + 1;
395 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_HEADER;
396 ELSIF p_attr_id = G_LIST_LINE THEN
397 l_index := l_index + 1;
398 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_LIST_LINE;
399 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
400 l_index := l_index + 1;
401 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_APPLICATION;
402 ELSIF p_attr_id = G_PROGRAM THEN
403 l_index := l_index + 1;
404 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM;
405 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
406 l_index := l_index + 1;
407 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_PROGRAM_UPDATE_DATE;
408 ELSIF p_attr_id = G_QUALIFIER_ATTRIBUTE THEN
409 l_index := l_index + 1;
410 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTRIBUTE;
411 ELSIF p_attr_id = G_QUALIFIER_ATTR_VALUE THEN
412 l_index := l_index + 1;
413 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTR_VALUE;
414 ELSIF p_attr_id = G_QUALIFIER_ATTR_VALUE_TO THEN
415 l_index := l_index + 1;
416 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_ATTR_VALUE_TO;
417 ELSIF p_attr_id = G_QUALIFIER_CONTEXT THEN
418 l_index := l_index + 1;
419 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_CONTEXT;
420 ELSIF p_attr_id = G_QUALIFIER_DATATYPE THEN
421 l_index := l_index + 1;
422 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_DATATYPE;
423 --ELSIF p_attr_id = G_QUALIFIER_DATE_FORMAT THEN
424 -- l_index := l_index + 1;
425 -- l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_DATE_FORMAT;
426 ELSIF p_attr_id = G_QUALIFIER_GROUPING_NO THEN
427 l_index := l_index + 1;
428 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_GROUPING_NO;
429 ELSIF p_attr_id = G_QUALIFIER THEN
430 l_index := l_index + 1;
431 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER;
432 --ELSIF p_attr_id = G_QUALIFIER_NUMBER_FORMAT THEN
433 -- l_index := l_index + 1;
434 -- l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_NUMBER_FORMAT;
435 ELSIF p_attr_id = G_QUALIFIER_PRECEDENCE THEN
436 l_index := l_index + 1;
437 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_PRECEDENCE;
438 ELSIF p_attr_id = G_QUALIFIER_RULE THEN
439 l_index := l_index + 1;
440 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFIER_RULE;
441 ELSIF p_attr_id = G_REQUEST THEN
442 l_index := l_index + 1;
443 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_REQUEST;
444 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
445 l_index := l_index + 1;
446 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_START_DATE_ACTIVE;
447 -- Added for TCA
448 ELSIF p_attr_id = G_QUALIFY_HIER_DESCENDENT_FLAG THEN
449 l_index := l_index + 1;
450 l_src_attr_tbl(l_index) := QP_QUALIFIERS_UTIL.G_QUALIFY_HIER_DESCENDENT_FLAG;
451 END IF;
452
453 END Clear_Dependent_Attr;
454
455 -- Procedure Apply_Attribute_Changes
456
457 PROCEDURE Apply_Attribute_Changes
458 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
459 , p_old_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type :=
460 QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC
461 , x_QUALIFIERS_rec OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
462 )
463 IS
464 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
465 BEGIN
466
467
468 oe_debug_pub.add('in apply attribute changes');
469
470
471 -- Load out record
472
473 x_QUALIFIERS_rec := p_QUALIFIERS_rec;
474
475 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute1,p_old_QUALIFIERS_rec.attribute1)
476 THEN
477 NULL;
478 END IF;
479
480 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,p_old_QUALIFIERS_rec.attribute10)
481 THEN
482 NULL;
483 END IF;
484
485 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,p_old_QUALIFIERS_rec.attribute11)
486 THEN
487 NULL;
488 END IF;
489
490 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,p_old_QUALIFIERS_rec.attribute12)
491 THEN
492 NULL;
493 END IF;
494
495 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,p_old_QUALIFIERS_rec.attribute13)
496 THEN
497 NULL;
498 END IF;
499
500 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,p_old_QUALIFIERS_rec.attribute14)
501 THEN
502 NULL;
503 END IF;
504
505 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,p_old_QUALIFIERS_rec.attribute15)
506 THEN
507 NULL;
508 END IF;
509
510 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,p_old_QUALIFIERS_rec.attribute2)
511 THEN
512 NULL;
513 END IF;
514
515 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,p_old_QUALIFIERS_rec.attribute3)
516 THEN
517 NULL;
518 END IF;
519
520 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,p_old_QUALIFIERS_rec.attribute4)
521 THEN
522 NULL;
523 END IF;
524
525 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,p_old_QUALIFIERS_rec.attribute5)
526 THEN
527 NULL;
528 END IF;
529
530 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,p_old_QUALIFIERS_rec.attribute6)
531 THEN
532 NULL;
533 END IF;
534
535 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,p_old_QUALIFIERS_rec.attribute7)
536 THEN
537 NULL;
538 END IF;
539
540 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,p_old_QUALIFIERS_rec.attribute8)
541 THEN
542 NULL;
543 END IF;
544
545 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,p_old_QUALIFIERS_rec.attribute9)
546 THEN
547 NULL;
548 END IF;
549
550 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,p_old_QUALIFIERS_rec.comparison_operator_code)
551 THEN
552 NULL;
553 END IF;
554
555 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,p_old_QUALIFIERS_rec.context)
556 THEN
557 NULL;
558 END IF;
559
560 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,p_old_QUALIFIERS_rec.created_by)
561 THEN
562 NULL;
563 END IF;
564
565 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,p_old_QUALIFIERS_rec.created_from_rule_id)
566 THEN
567 NULL;
568 END IF;
569
570 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,p_old_QUALIFIERS_rec.creation_date)
571 THEN
572 NULL;
573 END IF;
574
575 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,p_old_QUALIFIERS_rec.end_date_active)
576 THEN
577 NULL;
578 END IF;
579
580 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,p_old_QUALIFIERS_rec.excluder_flag)
581 THEN
582 NULL;
583 END IF;
584
585 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,p_old_QUALIFIERS_rec.last_updated_by)
586 THEN
587 NULL;
588 END IF;
589
590 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,p_old_QUALIFIERS_rec.last_update_date)
591 THEN
592 NULL;
593 END IF;
594
595 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,p_old_QUALIFIERS_rec.last_update_login)
596 THEN
597 NULL;
598 END IF;
599
600 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,p_old_QUALIFIERS_rec.list_header_id)
601 THEN
602 NULL;
603 END IF;
604
605 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,p_old_QUALIFIERS_rec.list_line_id)
606 THEN
607 NULL;
608 END IF;
609
610 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,p_old_QUALIFIERS_rec.program_application_id)
611 THEN
612 NULL;
613 END IF;
614
615 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,p_old_QUALIFIERS_rec.program_id)
616 THEN
617 NULL;
618 END IF;
619
620 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,p_old_QUALIFIERS_rec.program_update_date)
621 THEN
622 NULL;
623 END IF;
624
625 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,p_old_QUALIFIERS_rec.qualifier_attribute)
626 THEN
627 NULL;
628 END IF;
629
630 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,p_old_QUALIFIERS_rec.qualifier_attr_value)
631 THEN
632 NULL;
633 END IF;
634 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value_to,p_old_QUALIFIERS_rec.qualifier_attr_value_to)
635 THEN
636 NULL;
637 END IF;
638
639 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,p_old_QUALIFIERS_rec.qualifier_context)
640 THEN
641 NULL;
642 END IF;
643
644 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_datatype,p_old_QUALIFIERS_rec.qualifier_datatype)
645 THEN
646 NULL;
647 END IF;
648
649 /*IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_date_format,p_old_QUALIFIERS_rec.qualifier_date_format)
650 THEN
651 NULL;
652 END IF;*/
653
654 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,p_old_QUALIFIERS_rec.qualifier_grouping_no)
655 THEN
656 NULL;
657 END IF;
658
659 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,p_old_QUALIFIERS_rec.qualifier_id)
660 THEN
661 NULL;
662 END IF;
663
664 /* IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_number_format,p_old_QUALIFIERS_rec.qualifier_number_format)
665 THEN
666 NULL;
667 END IF;*/
668
669 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_precedence,p_old_QUALIFIERS_rec.qualifier_precedence)
670 THEN
671 NULL;
672 END IF;
673
674 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,p_old_QUALIFIERS_rec.qualifier_rule_id)
675 THEN
676 NULL;
677 END IF;
678
679 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,p_old_QUALIFIERS_rec.request_id)
680 THEN
681 NULL;
682 END IF;
683
684 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,p_old_QUALIFIERS_rec.start_date_active)
685 THEN
686 NULL;
687 END IF;
688 -- Added for TCA
689 IF NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualify_hier_descendent_flag,p_old_QUALIFIERS_rec.qualify_hier_descendent_flag)
690 THEN
691 NULL;
692 END IF;
693 oe_debug_pub.add(' leaving apply attribute changes');
694
695 END Apply_Attribute_Changes;
696
697 -- Function Complete_Record
698
699 FUNCTION Complete_Record
700 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
701 , p_old_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
702 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
703 IS
704 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type := p_QUALIFIERS_rec;
705 BEGIN
706
707 IF l_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
708 l_QUALIFIERS_rec.attribute1 := p_old_QUALIFIERS_rec.attribute1;
709 END IF;
710
711 IF l_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
712 l_QUALIFIERS_rec.attribute10 := p_old_QUALIFIERS_rec.attribute10;
713 END IF;
714
715 IF l_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
716 l_QUALIFIERS_rec.attribute11 := p_old_QUALIFIERS_rec.attribute11;
717 END IF;
718
719 IF l_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
720 l_QUALIFIERS_rec.attribute12 := p_old_QUALIFIERS_rec.attribute12;
721 END IF;
722
723 IF l_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
724 l_QUALIFIERS_rec.attribute13 := p_old_QUALIFIERS_rec.attribute13;
725 END IF;
726
727 IF l_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
728 l_QUALIFIERS_rec.attribute14 := p_old_QUALIFIERS_rec.attribute14;
729 END IF;
730
731 IF l_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
732 l_QUALIFIERS_rec.attribute15 := p_old_QUALIFIERS_rec.attribute15;
733 END IF;
734
735 IF l_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
736 l_QUALIFIERS_rec.attribute2 := p_old_QUALIFIERS_rec.attribute2;
737 END IF;
738
739 IF l_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
740 l_QUALIFIERS_rec.attribute3 := p_old_QUALIFIERS_rec.attribute3;
741 END IF;
742
743 IF l_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
744 l_QUALIFIERS_rec.attribute4 := p_old_QUALIFIERS_rec.attribute4;
745 END IF;
746
747 IF l_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
748 l_QUALIFIERS_rec.attribute5 := p_old_QUALIFIERS_rec.attribute5;
749 END IF;
750
751 IF l_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
752 l_QUALIFIERS_rec.attribute6 := p_old_QUALIFIERS_rec.attribute6;
753 END IF;
754
755 IF l_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
756 l_QUALIFIERS_rec.attribute7 := p_old_QUALIFIERS_rec.attribute7;
757 END IF;
758
759 IF l_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
760 l_QUALIFIERS_rec.attribute8 := p_old_QUALIFIERS_rec.attribute8;
761 END IF;
762
763 IF l_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
764 l_QUALIFIERS_rec.attribute9 := p_old_QUALIFIERS_rec.attribute9;
765 END IF;
766
767 IF l_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
768 l_QUALIFIERS_rec.comparison_operator_code := p_old_QUALIFIERS_rec.comparison_operator_code;
769 END IF;
770
771 IF l_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
772 l_QUALIFIERS_rec.context := p_old_QUALIFIERS_rec.context;
773 END IF;
774
775 IF l_QUALIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
776 l_QUALIFIERS_rec.created_by := p_old_QUALIFIERS_rec.created_by;
777 END IF;
778
779 IF l_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
780 l_QUALIFIERS_rec.created_from_rule_id := p_old_QUALIFIERS_rec.created_from_rule_id;
781 END IF;
782
783 IF l_QUALIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
784 l_QUALIFIERS_rec.creation_date := p_old_QUALIFIERS_rec.creation_date;
785 END IF;
786
787 IF l_QUALIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
788 l_QUALIFIERS_rec.end_date_active := p_old_QUALIFIERS_rec.end_date_active;
789 END IF;
790
791 IF l_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
792 l_QUALIFIERS_rec.excluder_flag := p_old_QUALIFIERS_rec.excluder_flag;
793 END IF;
794
795 IF l_QUALIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
796 l_QUALIFIERS_rec.last_updated_by := p_old_QUALIFIERS_rec.last_updated_by;
797 END IF;
798
799 IF l_QUALIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
800 l_QUALIFIERS_rec.last_update_date := p_old_QUALIFIERS_rec.last_update_date;
801 END IF;
802
803 IF l_QUALIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
804 l_QUALIFIERS_rec.last_update_login := p_old_QUALIFIERS_rec.last_update_login;
805 END IF;
806
807 IF l_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
808 l_QUALIFIERS_rec.list_header_id := p_old_QUALIFIERS_rec.list_header_id;
809 END IF;
810
811 IF l_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
812 l_QUALIFIERS_rec.list_line_id := p_old_QUALIFIERS_rec.list_line_id;
813 END IF;
814
815 IF l_QUALIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
816 l_QUALIFIERS_rec.program_application_id := p_old_QUALIFIERS_rec.program_application_id;
817 END IF;
818
819 IF l_QUALIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
820 l_QUALIFIERS_rec.program_id := p_old_QUALIFIERS_rec.program_id;
821 END IF;
822
823 IF l_QUALIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
824 l_QUALIFIERS_rec.program_update_date := p_old_QUALIFIERS_rec.program_update_date;
825 END IF;
826
827 IF l_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR THEN
828 l_QUALIFIERS_rec.qualifier_attribute := p_old_QUALIFIERS_rec.qualifier_attribute;
829 END IF;
830
831 IF l_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR THEN
832 l_QUALIFIERS_rec.qualifier_attr_value := p_old_QUALIFIERS_rec.qualifier_attr_value;
833 END IF;
834 IF l_QUALIFIERS_rec.qualifier_attr_value_to = FND_API.G_MISS_CHAR THEN
835 l_QUALIFIERS_rec.qualifier_attr_value_to := p_old_QUALIFIERS_rec.qualifier_attr_value_to;
836 END IF;
837
838 IF l_QUALIFIERS_rec.qualifier_context = FND_API.G_MISS_CHAR THEN
839 l_QUALIFIERS_rec.qualifier_context := p_old_QUALIFIERS_rec.qualifier_context;
840 END IF;
841
842 IF l_QUALIFIERS_rec.qualifier_datatype = FND_API.G_MISS_CHAR THEN
843 l_QUALIFIERS_rec.qualifier_datatype := p_old_QUALIFIERS_rec.qualifier_datatype;
844 END IF;
845
846 /*IF l_QUALIFIERS_rec.qualifier_date_format = FND_API.G_MISS_CHAR THEN
847 l_QUALIFIERS_rec.qualifier_date_format := p_old_QUALIFIERS_rec.qualifier_date_format;
848 END IF;*/
849
850 IF l_QUALIFIERS_rec.qualifier_grouping_no = FND_API.G_MISS_NUM THEN
851 l_QUALIFIERS_rec.qualifier_grouping_no := p_old_QUALIFIERS_rec.qualifier_grouping_no;
852 END IF;
853
854 IF l_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
855 l_QUALIFIERS_rec.qualifier_id := p_old_QUALIFIERS_rec.qualifier_id;
856 END IF;
857
858 /*IF l_QUALIFIERS_rec.qualifier_number_format = FND_API.G_MISS_CHAR THEN
859 l_QUALIFIERS_rec.qualifier_number_format := p_old_QUALIFIERS_rec.qualifier_number_format;
860 END IF;*/
861
862 IF l_QUALIFIERS_rec.qualifier_precedence = FND_API.G_MISS_NUM THEN
863 l_QUALIFIERS_rec.qualifier_precedence := p_old_QUALIFIERS_rec.qualifier_precedence;
864 END IF;
865
866 IF l_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
867 l_QUALIFIERS_rec.qualifier_rule_id := p_old_QUALIFIERS_rec.qualifier_rule_id;
868 END IF;
869
870 IF l_QUALIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
871 l_QUALIFIERS_rec.request_id := p_old_QUALIFIERS_rec.request_id;
872 END IF;
873
874 IF l_QUALIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
875 l_QUALIFIERS_rec.start_date_active := p_old_QUALIFIERS_rec.start_date_active;
876 END IF;
877 -- Added for TCA
878 IF l_QUALIFIERS_rec.qualify_hier_descendent_flag = FND_API.G_MISS_CHAR THEN
879 l_QUALIFIERS_rec.qualify_hier_descendent_flag := p_old_QUALIFIERS_rec.qualify_hier_descendent_flag;
880 END IF;
881
882 RETURN l_QUALIFIERS_rec;
883
884 END Complete_Record;
885
886 -- Function Convert_Miss_To_Null
887
888 FUNCTION Convert_Miss_To_Null
889 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
890 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
891 IS
892 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type := p_QUALIFIERS_rec;
893 BEGIN
894
895 IF l_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
896 l_QUALIFIERS_rec.attribute1 := NULL;
897 END IF;
898
899 IF l_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
900 l_QUALIFIERS_rec.attribute10 := NULL;
901 END IF;
902
903 IF l_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
904 l_QUALIFIERS_rec.attribute11 := NULL;
905 END IF;
906
907 IF l_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
908 l_QUALIFIERS_rec.attribute12 := NULL;
909 END IF;
910
911 IF l_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
912 l_QUALIFIERS_rec.attribute13 := NULL;
913 END IF;
914
915 IF l_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
916 l_QUALIFIERS_rec.attribute14 := NULL;
917 END IF;
918
919 IF l_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
920 l_QUALIFIERS_rec.attribute15 := NULL;
921 END IF;
922
923 IF l_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
924 l_QUALIFIERS_rec.attribute2 := NULL;
925 END IF;
926
927 IF l_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
928 l_QUALIFIERS_rec.attribute3 := NULL;
929 END IF;
930
931 IF l_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
932 l_QUALIFIERS_rec.attribute4 := NULL;
933 END IF;
934
935 IF l_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
936 l_QUALIFIERS_rec.attribute5 := NULL;
937 END IF;
938
939 IF l_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
940 l_QUALIFIERS_rec.attribute6 := NULL;
941 END IF;
942
943 IF l_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
944 l_QUALIFIERS_rec.attribute7 := NULL;
945 END IF;
946
947 IF l_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
948 l_QUALIFIERS_rec.attribute8 := NULL;
949 END IF;
950
951 IF l_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
952 l_QUALIFIERS_rec.attribute9 := NULL;
953 END IF;
954
955 IF l_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
956 l_QUALIFIERS_rec.comparison_operator_code := NULL;
957 END IF;
958
959 IF l_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
960 l_QUALIFIERS_rec.context := NULL;
961 END IF;
962
963 IF l_QUALIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
964 l_QUALIFIERS_rec.created_by := NULL;
965 END IF;
966
967 IF l_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
968 l_QUALIFIERS_rec.created_from_rule_id := NULL;
969 END IF;
970
971 IF l_QUALIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
972 l_QUALIFIERS_rec.creation_date := NULL;
973 END IF;
974
975 IF l_QUALIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
976 l_QUALIFIERS_rec.end_date_active := NULL;
977 END IF;
978
979 IF l_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
980 l_QUALIFIERS_rec.excluder_flag := NULL;
981 END IF;
982
983 IF l_QUALIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
984 l_QUALIFIERS_rec.last_updated_by := NULL;
985 END IF;
986
987 IF l_QUALIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
988 l_QUALIFIERS_rec.last_update_date := NULL;
989 END IF;
990
991 IF l_QUALIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
992 l_QUALIFIERS_rec.last_update_login := NULL;
993 END IF;
994
995 IF l_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
996 l_QUALIFIERS_rec.list_header_id := NULL;
997 END IF;
998
999 IF l_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
1000 l_QUALIFIERS_rec.list_line_id := NULL;
1001 END IF;
1002
1003 IF l_QUALIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
1004 l_QUALIFIERS_rec.program_application_id := NULL;
1005 END IF;
1006
1007 IF l_QUALIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
1008 l_QUALIFIERS_rec.program_id := NULL;
1009 END IF;
1010
1011 IF l_QUALIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
1012 l_QUALIFIERS_rec.program_update_date := NULL;
1013 END IF;
1014
1015 IF l_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR THEN
1016 l_QUALIFIERS_rec.qualifier_attribute := NULL;
1017 END IF;
1018
1019 IF l_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR THEN
1020 l_QUALIFIERS_rec.qualifier_attr_value := NULL;
1021 END IF;
1022
1023 IF l_QUALIFIERS_rec.qualifier_attr_value_to = FND_API.G_MISS_CHAR THEN
1024 l_QUALIFIERS_rec.qualifier_attr_value_to := NULL;
1025 END IF;
1026
1027 IF l_QUALIFIERS_rec.qualifier_context = FND_API.G_MISS_CHAR THEN
1028 l_QUALIFIERS_rec.qualifier_context := NULL;
1029 END IF;
1030
1031 IF l_QUALIFIERS_rec.qualifier_datatype = FND_API.G_MISS_CHAR THEN
1032 l_QUALIFIERS_rec.qualifier_datatype := NULL;
1033 END IF;
1034
1035 /*IF l_QUALIFIERS_rec.qualifier_date_format = FND_API.G_MISS_CHAR THEN
1036 l_QUALIFIERS_rec.qualifier_date_format := NULL;
1037 END IF;*/
1038
1039 IF l_QUALIFIERS_rec.qualifier_grouping_no = FND_API.G_MISS_NUM THEN
1040 l_QUALIFIERS_rec.qualifier_grouping_no := NULL;
1041 END IF;
1042
1043 IF l_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
1044 l_QUALIFIERS_rec.qualifier_id := NULL;
1045 END IF;
1046
1047 /*IF l_QUALIFIERS_rec.qualifier_number_format = FND_API.G_MISS_CHAR THEN
1048 l_QUALIFIERS_rec.qualifier_number_format := NULL;
1049 END IF;*/
1050
1051 IF l_QUALIFIERS_rec.qualifier_precedence = FND_API.G_MISS_NUM THEN
1052 l_QUALIFIERS_rec.qualifier_precedence := NULL;
1053 END IF;
1054
1055 IF l_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
1056 l_QUALIFIERS_rec.qualifier_rule_id := NULL;
1057 END IF;
1058
1059 IF l_QUALIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
1060 l_QUALIFIERS_rec.request_id := NULL;
1061 END IF;
1062
1063 IF l_QUALIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
1064 l_QUALIFIERS_rec.start_date_active := NULL;
1065 END IF;
1066 -- Added for TCA
1067 IF l_QUALIFIERS_rec.qualify_hier_descendent_flag = FND_API.G_MISS_CHAR THEN
1068 l_QUALIFIERS_rec.qualify_hier_descendent_flag := NULL;
1069 END IF;
1070
1071 RETURN l_QUALIFIERS_rec;
1072
1073 END Convert_Miss_To_Null;
1074
1075 -- Procedure Update_Row
1076
1077 PROCEDURE Update_Row
1078 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1079 )
1080 IS
1081 l_check_active_flag VARCHAR2(1);
1082 l_qual_attr_value_from_number NUMBER := NULL;
1083 l_qual_attr_value_to_number NUMBER := NULL;
1084 l_qual_attr_value_from VARCHAR2(240);
1085 --l_status VARCHAR2(1);
1086 --l_qualifiers_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1087 BEGIN
1088
1089 -- l_qualifiers_rec:=Query_Row(p_QUALIFIERS_rec.qualifier_id);
1090
1091 BEGIN
1092 IF p_QUALIFIERS_rec.qualifier_datatype = 'N'
1093 then
1094 l_qual_attr_value_from_number :=
1095 qp_number.canonical_to_number(p_QUALIFIERS_rec.qualifier_attr_value);
1096
1097 l_qual_attr_value_to_number :=
1098 qp_number.canonical_to_number(p_QUALIFIERS_rec.qualifier_attr_value_to);
1099
1100 l_qual_attr_value_from :=
1101 qp_number.number_to_canonical(l_qual_attr_value_from_number); --4418053
1102 ELSE
1103
1104 l_qual_attr_value_from := p_QUALIFIERS_rec.qualifier_attr_value; --4418053
1105
1106 end if;
1107
1108 EXCEPTION
1109 WHEN VALUE_ERROR THEN
1110 NULL;
1111 WHEN OTHERS THEN
1112 NULL;
1113 END;
1114
1115 UPDATE QP_QUALIFIERS
1116 SET ATTRIBUTE1 = p_QUALIFIERS_rec.attribute1
1117 , ATTRIBUTE10 = p_QUALIFIERS_rec.attribute10
1118 , ATTRIBUTE11 = p_QUALIFIERS_rec.attribute11
1119 , ATTRIBUTE12 = p_QUALIFIERS_rec.attribute12
1120 , ATTRIBUTE13 = p_QUALIFIERS_rec.attribute13
1121 , ATTRIBUTE14 = p_QUALIFIERS_rec.attribute14
1122 , ATTRIBUTE15 = p_QUALIFIERS_rec.attribute15
1123 , ATTRIBUTE2 = p_QUALIFIERS_rec.attribute2
1124 , ATTRIBUTE3 = p_QUALIFIERS_rec.attribute3
1125 , ATTRIBUTE4 = p_QUALIFIERS_rec.attribute4
1126 , ATTRIBUTE5 = p_QUALIFIERS_rec.attribute5
1127 , ATTRIBUTE6 = p_QUALIFIERS_rec.attribute6
1128 , ATTRIBUTE7 = p_QUALIFIERS_rec.attribute7
1129 , ATTRIBUTE8 = p_QUALIFIERS_rec.attribute8
1130 , ATTRIBUTE9 = p_QUALIFIERS_rec.attribute9
1131 , COMPARISON_OPERATOR_CODE = p_QUALIFIERS_rec.comparison_operator_code
1132 , CONTEXT = p_QUALIFIERS_rec.context
1133 , CREATED_BY = p_QUALIFIERS_rec.created_by
1134 , CREATED_FROM_RULE_ID = p_QUALIFIERS_rec.created_from_rule_id
1135 , CREATION_DATE = p_QUALIFIERS_rec.creation_date
1136 , END_DATE_ACTIVE = p_QUALIFIERS_rec.end_date_active
1137 , EXCLUDER_FLAG = p_QUALIFIERS_rec.excluder_flag
1138 , LAST_UPDATED_BY = p_QUALIFIERS_rec.last_updated_by
1139 , LAST_UPDATE_DATE = p_QUALIFIERS_rec.last_update_date
1140 , LAST_UPDATE_LOGIN = p_QUALIFIERS_rec.last_update_login
1141 , LIST_HEADER_ID = p_QUALIFIERS_rec.list_header_id
1142 , LIST_LINE_ID = p_QUALIFIERS_rec.list_line_id
1143 , PROGRAM_APPLICATION_ID = p_QUALIFIERS_rec.program_application_id
1144 , PROGRAM_ID = p_QUALIFIERS_rec.program_id
1145 , PROGRAM_UPDATE_DATE = p_QUALIFIERS_rec.program_update_date
1146 , QUALIFIER_ATTRIBUTE = p_QUALIFIERS_rec.qualifier_attribute
1147 , QUALIFIER_ATTR_VALUE = l_qual_attr_value_from
1148 , QUALIFIER_ATTR_VALUE_TO = p_QUALIFIERS_rec.qualifier_attr_value_to
1149 , QUALIFIER_CONTEXT = p_QUALIFIERS_rec.qualifier_context
1150 , QUALIFIER_DATATYPE = p_QUALIFIERS_rec.qualifier_datatype
1151 -- , QUALIFIER_DATE_FORMAT = p_QUALIFIERS_rec.qualifier_date_format
1152 , QUALIFIER_GROUPING_NO = p_QUALIFIERS_rec.qualifier_grouping_no
1153 , QUALIFIER_ID = p_QUALIFIERS_rec.qualifier_id
1154 --, QUALIFIER_NUMBER_FORMAT = p_QUALIFIERS_rec.qualifier_number_format
1155 , QUALIFIER_PRECEDENCE = p_QUALIFIERS_rec.qualifier_precedence
1156 , QUALIFIER_RULE_ID = p_QUALIFIERS_rec.qualifier_rule_id
1157 , REQUEST_ID = p_QUALIFIERS_rec.request_id
1158 , START_DATE_ACTIVE = p_QUALIFIERS_rec.start_date_active
1159 , QUAL_ATTR_VALUE_FROM_NUMBER = l_qual_attr_value_from_number
1160 , QUAL_ATTR_VALUE_TO_NUMBER = l_qual_attr_value_to_number
1161 , QUALIFY_HIER_DESCENDENTS_FLAG = p_QUALIFIERS_rec.qualify_hier_descendent_flag -- Added for TCA
1162 WHERE QUALIFIER_ID = p_QUALIFIERS_rec.qualifier_id
1163 ;
1164
1165
1166
1167 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1168
1169 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND p_QUALIFIERS_rec.active_flag='Y') THEN
1170
1171 IF(p_QUALIFIERS_rec.qualifier_context IS NOT NULL) AND
1172 (p_QUALIFIERS_rec.qualifier_attribute IS NOT NULL) THEN
1173
1174 UPDATE qp_pte_segments SET used_in_setup='Y'
1175 WHERE nvl(used_in_setup,'N')='N'
1176 AND segment_id IN
1177 (SELECT a.segment_id
1178 FROM qp_segments_b a,qp_prc_contexts_b b
1179 WHERE a.segment_mapping_column=p_QUALIFIERS_rec.qualifier_attribute
1180 AND a.prc_context_id=b.prc_context_id
1181 AND b.prc_context_type='QUALIFIER'
1182 AND b.prc_context_code=p_QUALIFIERS_rec.qualifier_context);
1183 END IF;
1184 END IF;
1185
1186 EXCEPTION
1187
1188 WHEN OTHERS THEN
1189
1190 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1191 THEN
1192 OE_MSG_PUB.Add_Exc_Msg
1193 ( G_PKG_NAME
1194 , 'Update_Row'
1195 );
1196 END IF;
1197
1198 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1199
1200 END Update_Row;
1201 -- Procedure Update_coupon_Row Added for bug 7316016
1202
1203 PROCEDURE Update_coupon_Row
1204 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1205 )
1206 IS
1207 BEGIN
1208 UPDATE QP_COUPONS
1209 SET expiration_date=p_QUALIFIERS_rec.end_date_active
1210 ,start_date=p_QUALIFIERS_rec.start_date_active
1211 ,LAST_UPDATED_BY=p_QUALIFIERS_rec.LAST_UPDATED_BY
1212 ,LAST_UPDATE_DATE=p_QUALIFIERS_rec.LAST_UPDATE_DATE
1213 ,LAST_UPDATE_LOGIN=p_QUALIFIERS_rec.LAST_UPDATE_LOGIN
1214 WHERE coupon_id = p_QUALIFIERS_rec.qualifier_attr_value;
1215 EXCEPTION
1216
1217 WHEN OTHERS THEN
1218
1219 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1220 THEN
1221 FND_MSG_PUB.Add_Exc_Msg
1222 ( G_PKG_NAME
1223 , 'Update_Coupon_Row'
1224 );
1225 END IF;
1226
1227 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1228 END Update_Coupon_Row;
1229
1230 -- Procedure Insert_Row
1231
1232 PROCEDURE Insert_Row
1233 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1234 )
1235 IS
1236 l_list_type_code VARCHAR2(30) := '';
1237 l_active_flag VARCHAR2(1) := '';
1238 l_qualifier_grouping_no NUMBER;
1239 l_qual_attr_value_from_number NUMBER := NULL;
1240 l_qual_attr_value_to_number NUMBER := NULL;
1241 l_check_active_flag VARCHAR2(1);
1242 l_qual_attr_value_from VARCHAR2(240);
1243
1244
1245
1246 cursor update_pte_cur(l_qual_context varchar2,l_qual_attribute varchar2) is
1247 SELECT a.segment_id
1248 FROM qp_segments_b a,qp_prc_contexts_b b
1249 WHERE a.segment_mapping_column=l_qual_attribute
1250 AND a.prc_context_id=b.prc_context_id
1251 AND b.prc_context_type='QUALIFIER'
1252 AND b.prc_context_code=l_qual_context;
1253
1254
1255 BEGIN
1256
1257 l_qualifier_grouping_no := p_QUALIFIERS_rec.qualifier_grouping_no;
1258
1259 IF p_QUALIFIERS_rec.qualifier_context = 'MODLIST' AND
1260 p_QUALIFIERS_rec.qualifier_attribute = 'QUALIFIER_ATTRIBUTE4' AND
1261 p_QUALIFIERS_rec.qualifier_grouping_no <> -1
1262 THEN
1263 BEGIN
1264 SELECT list_type_code
1265 INTO l_list_type_code
1266 FROM qp_list_headers_vl
1267 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id;
1268 EXCEPTION
1269 WHEN OTHERS THEN
1270 NULL;
1271 END;
1272
1273 IF l_list_type_code IN ('PRL', 'AGR') THEN
1274 l_qualifier_grouping_no := -1;
1275 END IF;
1276 END IF;
1277
1278 BEGIN
1279
1280 SELECT ACTIVE_FLAG, LIST_TYPE_CODE
1281 INTO l_active_flag, l_list_type_code
1282 FROM QP_LIST_HEADERS_B
1283 WHERE LIST_HEADER_ID = p_QUALIFIERS_rec.list_header_id;
1284
1285 EXCEPTION
1286 WHEN OTHERS THEN
1287 NULL;
1288 END;
1289
1290
1291 BEGIN
1292
1293 IF p_QUALIFIERS_rec.qualifier_datatype = 'N'
1294 then
1295 l_qual_attr_value_from_number :=
1296 qp_number.canonical_to_number(p_QUALIFIERS_rec.qualifier_attr_value);
1297
1298 l_qual_attr_value_to_number :=
1299 qp_number.canonical_to_number(p_QUALIFIERS_rec.qualifier_attr_value_to);
1300
1301 l_qual_attr_value_from :=
1302 qp_number.number_to_canonical(l_qual_attr_value_from_number); --4418053
1303 ELSE
1304
1305 l_qual_attr_value_from := p_QUALIFIERS_rec.qualifier_attr_value; --4418053
1306
1307 end if;
1308
1309 EXCEPTION
1310 WHEN VALUE_ERROR THEN
1311 NULL;
1312 WHEN OTHERS THEN
1313 NULL;
1314
1315 END;
1316
1317 INSERT INTO QP_QUALIFIERS
1318 ( ATTRIBUTE1
1319 , ATTRIBUTE10
1320 , ATTRIBUTE11
1321 , ATTRIBUTE12
1322 , ATTRIBUTE13
1323 , ATTRIBUTE14
1324 , ATTRIBUTE15
1325 , ATTRIBUTE2
1326 , ATTRIBUTE3
1327 , ATTRIBUTE4
1328 , ATTRIBUTE5
1329 , ATTRIBUTE6
1330 , ATTRIBUTE7
1331 , ATTRIBUTE8
1332 , ATTRIBUTE9
1333 , COMPARISON_OPERATOR_CODE
1334 , CONTEXT
1335 , CREATED_BY
1336 , CREATED_FROM_RULE_ID
1337 , CREATION_DATE
1338 , END_DATE_ACTIVE
1339 , EXCLUDER_FLAG
1340 , LAST_UPDATED_BY
1341 , LAST_UPDATE_DATE
1342 , LAST_UPDATE_LOGIN
1343 , LIST_HEADER_ID
1344 , LIST_LINE_ID
1345 , PROGRAM_APPLICATION_ID
1346 , PROGRAM_ID
1347 , PROGRAM_UPDATE_DATE
1348 , QUALIFIER_ATTRIBUTE
1349 , QUALIFIER_ATTR_VALUE
1350 , QUALIFIER_ATTR_VALUE_TO
1351 , QUALIFIER_CONTEXT
1352 , QUALIFIER_DATATYPE
1353 --, QUALIFIER_DATE_FORMAT
1354 , QUALIFIER_GROUPING_NO
1355 , QUALIFIER_ID
1356 --, QUALIFIER_NUMBER_FORMAT
1357 , QUALIFIER_PRECEDENCE
1358 , QUALIFIER_RULE_ID
1359 , REQUEST_ID
1360 , START_DATE_ACTIVE
1361 , ACTIVE_FLAG
1362 , LIST_TYPE_CODE
1363 , QUAL_ATTR_VALUE_FROM_NUMBER
1364 , QUAL_ATTR_VALUE_TO_NUMBER
1365 , SEARCH_IND
1366 , QUALIFIER_GROUP_CNT
1367 , HEADER_QUALS_EXIST_FLAG
1368 , DISTINCT_ROW_COUNT
1369 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1370 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1371 ,ORIG_SYS_QUALIFIER_REF
1372 ,ORIG_SYS_LINE_REF
1373 ,ORIG_SYS_HEADER_REF
1374 )
1375 VALUES
1376 ( p_QUALIFIERS_rec.attribute1
1377 , p_QUALIFIERS_rec.attribute10
1378 , p_QUALIFIERS_rec.attribute11
1379 , p_QUALIFIERS_rec.attribute12
1380 , p_QUALIFIERS_rec.attribute13
1381 , p_QUALIFIERS_rec.attribute14
1382 , p_QUALIFIERS_rec.attribute15
1383 , p_QUALIFIERS_rec.attribute2
1384 , p_QUALIFIERS_rec.attribute3
1385 , p_QUALIFIERS_rec.attribute4
1386 , p_QUALIFIERS_rec.attribute5
1387 , p_QUALIFIERS_rec.attribute6
1388 , p_QUALIFIERS_rec.attribute7
1389 , p_QUALIFIERS_rec.attribute8
1390 , p_QUALIFIERS_rec.attribute9
1391 , p_QUALIFIERS_rec.comparison_operator_code
1392 , p_QUALIFIERS_rec.context
1393 , p_QUALIFIERS_rec.created_by
1394 , p_QUALIFIERS_rec.created_from_rule_id
1395 , p_QUALIFIERS_rec.creation_date
1396 , p_QUALIFIERS_rec.end_date_active
1397 , p_QUALIFIERS_rec.excluder_flag
1398 , p_QUALIFIERS_rec.last_updated_by
1399 , p_QUALIFIERS_rec.last_update_date
1400 , p_QUALIFIERS_rec.last_update_login
1401 , p_QUALIFIERS_rec.list_header_id
1402 , p_QUALIFIERS_rec.list_line_id
1403 , p_QUALIFIERS_rec.program_application_id
1404 , p_QUALIFIERS_rec.program_id
1405 , p_QUALIFIERS_rec.program_update_date
1406 , p_QUALIFIERS_rec.qualifier_attribute
1407 , l_qual_attr_value_from
1408 , p_QUALIFIERS_rec.qualifier_attr_value_to
1409 , p_QUALIFIERS_rec.qualifier_context
1410 , p_QUALIFIERS_rec.qualifier_datatype
1411 --, p_QUALIFIERS_rec.qualifier_date_format
1412 , l_qualifier_grouping_no
1413 , p_QUALIFIERS_rec.qualifier_id
1414 --, p_QUALIFIERS_rec.qualifier_number_format
1415 , p_QUALIFIERS_rec.qualifier_precedence
1416 , p_QUALIFIERS_rec.qualifier_rule_id
1417 , p_QUALIFIERS_rec.request_id
1418 , p_QUALIFIERS_rec.start_date_active
1419 , l_active_flag
1420 , l_list_type_code
1421 , l_qual_attr_value_from_number
1422 , l_qual_attr_value_to_number
1423 , p_QUALIFIERS_rec.search_ind
1424 , p_QUALIFIERS_rec.qualifier_group_cnt
1425 , p_QUALIFIERS_rec.header_quals_exist_flag
1426 , p_QUALIFIERS_rec.distinct_row_count
1427 , p_QUALIFIERS_rec.qualify_hier_descendent_flag -- Added for TCA
1428 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1429 ,to_char(p_QUALIFIERS_rec.qualifier_id)
1430 ,(select l.ORIG_SYS_LINE_REF from qp_list_lines l where l.list_line_id=p_QUALIFIERS_rec.list_line_id)
1431 ,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_QUALIFIERS_rec.list_header_id)
1432 );
1433
1434 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1435 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
1436 IF(p_QUALIFIERS_rec.qualifier_context IS NOT NULL) AND
1437 (p_QUALIFIERS_rec.qualifier_attribute IS NOT NULL) THEN
1438 /* USed the cursor update_pte_cur instead of a nested subquery for the update statement
1439 * for the bug 3544961*/
1440
1441
1442 for i in update_pte_cur(p_QUALIFIERS_rec.qualifier_context, p_QUALIFIERS_rec.qualifier_attribute) loop
1443
1444 update qp_pte_segments set used_in_setup='Y'
1445 where nvl(used_in_Setup,'N')='N'
1446 and segment_id = i.segment_id;
1447
1448
1449 end loop;
1450
1451 END IF;
1452 END IF;
1453 /*l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1454 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
1455 IF(p_QUALIFIERS_rec.qualifier_context IS NOT NULL) AND
1456 (p_QUALIFIERS_rec.qualifier_attribute IS NOT NULL) THEN
1457
1458 UPDATE qp_pte_segments SET used_in_setup='Y'
1459 WHERE nvl(used_in_setup,'N')='N'
1460 AND segment_id IN
1461 (SELECT a.segment_id
1462 FROM qp_segments_b a,qp_prc_contexts_b b
1463 WHERE a.segment_mapping_column=p_QUALIFIERS_rec.qualifier_attribute
1464 AND a.prc_context_id=b.prc_context_id AND b.prc_context_type='QUALIFIER'
1465 AND b.prc_context_code=p_QUALIFIERS_rec.qualifier_context);
1466 END IF;
1467 END IF;
1468 */
1469 EXCEPTION
1470 WHEN OTHERS THEN
1471
1472 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1473 THEN
1474 OE_MSG_PUB.Add_Exc_Msg
1475 ( G_PKG_NAME
1476 , 'Insert_Row'
1477 );
1478 END IF;
1479
1480 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1481
1482 END Insert_Row;
1483
1484 --This procedure will be used by HTML Qualifier UI
1485 --to insert qualifiers into dummy table for updates
1486 PROCEDURE Insert_Row(p_qual_grp_no IN NUMBER,
1487 p_list_header_id IN NUMBER,
1488 p_list_line_id IN NUMBER,
1489 p_transaction_id IN NUMBER) IS
1490 PRAGMA AUTONOMOUS_TRANSACTION;
1491 BEGIN
1492
1493 insert into qp_qualifiers_fwk_dummy
1494 ( ATTRIBUTE1
1495 , ATTRIBUTE10
1496 , ATTRIBUTE11
1497 , ATTRIBUTE12
1498 , ATTRIBUTE13
1499 , ATTRIBUTE14
1500 , ATTRIBUTE15
1501 , ATTRIBUTE2
1502 , ATTRIBUTE3
1503 , ATTRIBUTE4
1504 , ATTRIBUTE5
1505 , ATTRIBUTE6
1506 , ATTRIBUTE7
1507 , ATTRIBUTE8
1508 , ATTRIBUTE9
1509 , COMPARISON_OPERATOR_CODE
1510 , CONTEXT
1511 , CREATED_BY
1512 , CREATED_FROM_RULE_ID
1513 , CREATION_DATE
1514 , END_DATE_ACTIVE
1515 , EXCLUDER_FLAG
1516 , LAST_UPDATED_BY
1517 , LAST_UPDATE_DATE
1518 , LAST_UPDATE_LOGIN
1519 , LIST_HEADER_ID
1520 , LIST_LINE_ID
1521 , PROGRAM_APPLICATION_ID
1522 , PROGRAM_ID
1523 , PROGRAM_UPDATE_DATE
1524 , QUALIFIER_ATTRIBUTE
1525 , QUALIFIER_ATTR_VALUE
1526 , QUALIFIER_ATTR_VALUE_TO
1527 , QUALIFIER_CONTEXT
1528 , QUALIFIER_DATATYPE
1529 --, QUALIFIER_DATE_FORMAT
1530 , QUALIFIER_GROUPING_NO
1531 , QUALIFIER_ID
1532 --, QUALIFIER_NUMBER_FORMAT
1533 , QUALIFIER_PRECEDENCE
1534 , QUALIFIER_RULE_ID
1535 , REQUEST_ID
1536 , START_DATE_ACTIVE
1537 , ACTIVE_FLAG
1538 , LIST_TYPE_CODE
1539 , QUAL_ATTR_VALUE_FROM_NUMBER
1540 , QUAL_ATTR_VALUE_TO_NUMBER
1541 , SEARCH_IND
1542 , QUALIFIER_GROUP_CNT
1543 , HEADER_QUALS_EXIST_FLAG
1544 , DISTINCT_ROW_COUNT
1545 , TRANSACTION_ID
1546 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1547 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1548 ,ORIG_SYS_QUALIFIER_REF
1549 ,ORIG_SYS_LINE_REF
1550 ,ORIG_SYS_HEADER_REF
1551 )
1552 select
1553 ATTRIBUTE1
1554 , ATTRIBUTE10
1555 , ATTRIBUTE11
1556 , ATTRIBUTE12
1557 , ATTRIBUTE13
1558 , ATTRIBUTE14
1559 , ATTRIBUTE15
1560 , ATTRIBUTE2
1561 , ATTRIBUTE3
1562 , ATTRIBUTE4
1563 , ATTRIBUTE5
1564 , ATTRIBUTE6
1565 , ATTRIBUTE7
1566 , ATTRIBUTE8
1567 , ATTRIBUTE9
1568 , COMPARISON_OPERATOR_CODE
1569 , CONTEXT
1570 , CREATED_BY
1571 , CREATED_FROM_RULE_ID
1572 , CREATION_DATE
1573 , END_DATE_ACTIVE
1574 , EXCLUDER_FLAG
1575 , LAST_UPDATED_BY
1576 , sysdate
1577 , LAST_UPDATE_LOGIN
1578 , LIST_HEADER_ID
1579 , LIST_LINE_ID
1580 , PROGRAM_APPLICATION_ID
1581 , PROGRAM_ID
1582 , PROGRAM_UPDATE_DATE
1583 , QUALIFIER_ATTRIBUTE
1584 , QUALIFIER_ATTR_VALUE
1585 , QUALIFIER_ATTR_VALUE_TO
1586 , QUALIFIER_CONTEXT
1587 , QUALIFIER_DATATYPE
1588 --, QUALIFIER_DATE_FORMAT
1589 , QUALIFIER_GROUPING_NO
1590 , QUALIFIER_ID
1591 --, QUALIFIER_NUMBER_FORMAT
1592 , QUALIFIER_PRECEDENCE
1593 , QUALIFIER_RULE_ID
1594 , REQUEST_ID
1595 , START_DATE_ACTIVE
1596 , ACTIVE_FLAG
1597 , LIST_TYPE_CODE
1598 , QUAL_ATTR_VALUE_FROM_NUMBER
1599 , QUAL_ATTR_VALUE_TO_NUMBER
1600 , SEARCH_IND
1601 , QUALIFIER_GROUP_CNT
1602 , 'Q'
1603 , DISTINCT_ROW_COUNT
1604 , p_transaction_id
1605 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1606 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1607 ,to_char(qualifier_id)
1608 ,nvl(ORIG_SYS_LINE_REF,(select l.ORIG_SYS_LINE_REF from qp_list_lines l where l.list_line_id=p_list_line_id))
1609 ,nvl(ORIG_SYS_HEADER_REF,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_list_header_id))
1610 from qp_qualifiers qual
1611 where list_header_id = p_list_header_id
1612 and list_line_id = p_list_line_id
1613 and ((p_qual_grp_no = -1
1614 and qualifier_grouping_no = p_qual_grp_no)
1615 or (p_qual_grp_no <> -1
1616 and (qualifier_grouping_no = -1
1617 or qualifier_grouping_no = p_qual_grp_no)))
1618 and ((qual.list_type_code = 'PRL'
1619 and not (qual.qualifier_context = 'MODLIST' and qual.qualifier_attribute = 'QUALIFIER_ATTRIBUTE4'))
1620 or (qual.list_type_code <> 'PRL'))
1621 and not exists (select 'Y' from qp_qualifiers_fwk_dummy dummy
1622 where dummy.qualifier_id = qual.qualifier_id
1623 and dummy.transaction_id = p_transaction_id);
1624
1625 --AUTONOMOUS commit
1626 commit;
1627 EXCEPTION
1628 When OTHERS Then
1629 null;
1630 END Insert_Row;
1631
1632 --This procedure will be used by HTML Qualifier UI
1633 --to delete rows from dummy table
1634 Procedure Delete_Dummy_Rows(p_transaction_id IN NUMBER) IS
1635 PRAGMA AUTONOMOUS_TRANSACTION;
1636 BEGIN
1637 delete from qp_qualifiers_fwk_dummy where transaction_id = p_transaction_id
1638 or last_update_date < sysdate-5;
1639 -- where list_header_id = p_list_header_id
1640 -- and list_line_id = p_list_line_id;
1641
1642 --AUTONOMOUS commit
1643 commit;
1644 EXCEPTION
1645 When OTHERS Then
1646 null;
1647 END Delete_Dummy_Rows;
1648
1649 --This procedure will mark given qualifier as DELETED
1650 Procedure Mark_Delete_Dummy_Qual(p_qual_id IN NUMBER
1651 ,p_mode IN VARCHAR2
1652 ,p_transaction_id IN NUMBER) IS
1653 PRAGMA AUTONOMOUS_TRANSACTION;
1654 BEGIN
1655 update qp_qualifiers_fwk_dummy set header_quals_exist_flag = decode(p_mode, 'HGRID', 'X', 'D'),
1656 last_update_date = sysdate
1657 where qualifier_id = p_qual_id
1658 and transaction_id = p_transaction_id;
1659
1660 IF SQL%ROWCOUNT < 1 THEN
1661 insert into qp_qualifiers_fwk_dummy
1662 ( ATTRIBUTE1
1663 , ATTRIBUTE10
1664 , ATTRIBUTE11
1665 , ATTRIBUTE12
1666 , ATTRIBUTE13
1667 , ATTRIBUTE14
1668 , ATTRIBUTE15
1669 , ATTRIBUTE2
1670 , ATTRIBUTE3
1671 , ATTRIBUTE4
1672 , ATTRIBUTE5
1673 , ATTRIBUTE6
1674 , ATTRIBUTE7
1675 , ATTRIBUTE8
1676 , ATTRIBUTE9
1677 , COMPARISON_OPERATOR_CODE
1678 , CONTEXT
1679 , CREATED_BY
1680 , CREATED_FROM_RULE_ID
1681 , CREATION_DATE
1682 , END_DATE_ACTIVE
1683 , EXCLUDER_FLAG
1684 , LAST_UPDATED_BY
1685 , LAST_UPDATE_DATE
1686 , LAST_UPDATE_LOGIN
1687 , LIST_HEADER_ID
1688 , LIST_LINE_ID
1689 , PROGRAM_APPLICATION_ID
1690 , PROGRAM_ID
1691 , PROGRAM_UPDATE_DATE
1692 , QUALIFIER_ATTRIBUTE
1693 , QUALIFIER_ATTR_VALUE
1694 , QUALIFIER_ATTR_VALUE_TO
1695 , QUALIFIER_CONTEXT
1696 , QUALIFIER_DATATYPE
1697 --, QUALIFIER_DATE_FORMAT
1698 , QUALIFIER_GROUPING_NO
1699 , QUALIFIER_ID
1700 --, QUALIFIER_NUMBER_FORMAT
1701 , QUALIFIER_PRECEDENCE
1702 , QUALIFIER_RULE_ID
1703 , REQUEST_ID
1704 , START_DATE_ACTIVE
1705 , ACTIVE_FLAG
1706 , LIST_TYPE_CODE
1707 , QUAL_ATTR_VALUE_FROM_NUMBER
1708 , QUAL_ATTR_VALUE_TO_NUMBER
1709 , SEARCH_IND
1710 , QUALIFIER_GROUP_CNT
1711 , HEADER_QUALS_EXIST_FLAG
1712 , DISTINCT_ROW_COUNT
1713 , TRANSACTION_ID
1714 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1715 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1716 ,ORIG_SYS_QUALIFIER_REF
1717 ,ORIG_SYS_LINE_REF
1718 ,ORIG_SYS_HEADER_REF
1719 )
1720 select
1721 ATTRIBUTE1
1722 , ATTRIBUTE10
1723 , ATTRIBUTE11
1724 , ATTRIBUTE12
1725 , ATTRIBUTE13
1726 , ATTRIBUTE14
1727 , ATTRIBUTE15
1728 , ATTRIBUTE2
1729 , ATTRIBUTE3
1730 , ATTRIBUTE4
1731 , ATTRIBUTE5
1732 , ATTRIBUTE6
1733 , ATTRIBUTE7
1734 , ATTRIBUTE8
1735 , ATTRIBUTE9
1736 , COMPARISON_OPERATOR_CODE
1737 , CONTEXT
1738 , CREATED_BY
1739 , CREATED_FROM_RULE_ID
1740 , CREATION_DATE
1741 , END_DATE_ACTIVE
1742 , EXCLUDER_FLAG
1743 , LAST_UPDATED_BY
1744 , sysdate
1745 , LAST_UPDATE_LOGIN
1746 , LIST_HEADER_ID
1747 , LIST_LINE_ID
1748 , PROGRAM_APPLICATION_ID
1749 , PROGRAM_ID
1750 , PROGRAM_UPDATE_DATE
1751 , QUALIFIER_ATTRIBUTE
1752 , QUALIFIER_ATTR_VALUE
1753 , QUALIFIER_ATTR_VALUE_TO
1754 , QUALIFIER_CONTEXT
1755 , QUALIFIER_DATATYPE
1756 --, QUALIFIER_DATE_FORMAT
1757 , QUALIFIER_GROUPING_NO
1758 , QUALIFIER_ID
1759 --, QUALIFIER_NUMBER_FORMAT
1760 , QUALIFIER_PRECEDENCE
1761 , QUALIFIER_RULE_ID
1762 , REQUEST_ID
1763 , START_DATE_ACTIVE
1764 , ACTIVE_FLAG
1765 , LIST_TYPE_CODE
1766 , QUAL_ATTR_VALUE_FROM_NUMBER
1767 , QUAL_ATTR_VALUE_TO_NUMBER
1768 , SEARCH_IND
1769 , QUALIFIER_GROUP_CNT
1770 , decode(p_mode, 'HGRID', 'X', 'D')
1771 , DISTINCT_ROW_COUNT
1772 , p_transaction_id
1773 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1774 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1775 ,to_char(qual.qualifier_id)
1776 ,nvl(qual.ORIG_SYS_LINE_REF,(select l.ORIG_SYS_LINE_REF from qp_list_lines l where l.list_line_id=qual.list_line_id))
1777 ,nvl(qual.ORIG_SYS_HEADER_REF,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=qual.list_header_id))
1778 from qp_qualifiers qual
1779 where qualifier_id = p_qual_id;
1780 END IF;--SQL%ROWCOUNT
1781 --AUTONOMOUS commit
1782 commit;
1783 EXCEPTION
1784 WHEN OTHERS THEN
1785 null;
1786 END Mark_Delete_Dummy_Qual;
1787
1788 --This procedure will mark given qualifiergroup as DELETED
1789 Procedure Mark_Delete_Dummy_Qual(p_qual_grp_no IN NUMBER,
1790 p_list_header_id IN NUMBER,
1791 p_list_line_id IN NUMBER,
1792 p_transaction_id IN NUMBER) IS
1793 PRAGMA AUTONOMOUS_TRANSACTION;
1794 BEGIN
1795 update qp_qualifiers_fwk_dummy set header_quals_exist_flag = 'X'
1796 ,last_update_date = sysdate
1797 where qualifier_grouping_no = p_qual_grp_no
1798 and list_header_id = p_list_header_id
1799 and list_line_id = p_list_line_id
1800 and ((list_type_code = 'PRL'
1801 and not (qualifier_context = 'MODLIST' and qualifier_attribute = 'QUALIFIER_ATTRIBUTE4'))
1802 or (list_type_code <> 'PRL'))
1803 and transaction_id = p_transaction_id;
1804
1805 IF SQL%ROWCOUNT < 1 THEN
1806 insert into qp_qualifiers_fwk_dummy
1807 ( ATTRIBUTE1
1808 , ATTRIBUTE10
1809 , ATTRIBUTE11
1810 , ATTRIBUTE12
1811 , ATTRIBUTE13
1812 , ATTRIBUTE14
1813 , ATTRIBUTE15
1814 , ATTRIBUTE2
1815 , ATTRIBUTE3
1816 , ATTRIBUTE4
1817 , ATTRIBUTE5
1818 , ATTRIBUTE6
1819 , ATTRIBUTE7
1820 , ATTRIBUTE8
1821 , ATTRIBUTE9
1822 , COMPARISON_OPERATOR_CODE
1823 , CONTEXT
1824 , CREATED_BY
1825 , CREATED_FROM_RULE_ID
1826 , CREATION_DATE
1827 , END_DATE_ACTIVE
1828 , EXCLUDER_FLAG
1829 , LAST_UPDATED_BY
1830 , LAST_UPDATE_DATE
1831 , LAST_UPDATE_LOGIN
1832 , LIST_HEADER_ID
1833 , LIST_LINE_ID
1834 , PROGRAM_APPLICATION_ID
1835 , PROGRAM_ID
1836 , PROGRAM_UPDATE_DATE
1837 , QUALIFIER_ATTRIBUTE
1838 , QUALIFIER_ATTR_VALUE
1839 , QUALIFIER_ATTR_VALUE_TO
1840 , QUALIFIER_CONTEXT
1841 , QUALIFIER_DATATYPE
1842 --, QUALIFIER_DATE_FORMAT
1843 , QUALIFIER_GROUPING_NO
1844 , QUALIFIER_ID
1845 --, QUALIFIER_NUMBER_FORMAT
1846 , QUALIFIER_PRECEDENCE
1847 , QUALIFIER_RULE_ID
1848 , REQUEST_ID
1849 , START_DATE_ACTIVE
1850 , ACTIVE_FLAG
1851 , LIST_TYPE_CODE
1852 , QUAL_ATTR_VALUE_FROM_NUMBER
1853 , QUAL_ATTR_VALUE_TO_NUMBER
1854 , SEARCH_IND
1855 , QUALIFIER_GROUP_CNT
1856 , HEADER_QUALS_EXIST_FLAG
1857 , DISTINCT_ROW_COUNT
1858 , TRANSACTION_ID
1859 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1860 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1861 ,ORIG_SYS_QUALIFIER_REF
1862 ,ORIG_SYS_LINE_REF
1863 ,ORIG_SYS_HEADER_REF
1864 )
1865 select
1866 ATTRIBUTE1
1867 , ATTRIBUTE10
1868 , ATTRIBUTE11
1869 , ATTRIBUTE12
1870 , ATTRIBUTE13
1871 , ATTRIBUTE14
1872 , ATTRIBUTE15
1873 , ATTRIBUTE2
1874 , ATTRIBUTE3
1875 , ATTRIBUTE4
1876 , ATTRIBUTE5
1877 , ATTRIBUTE6
1878 , ATTRIBUTE7
1879 , ATTRIBUTE8
1880 , ATTRIBUTE9
1881 , COMPARISON_OPERATOR_CODE
1882 , CONTEXT
1883 , CREATED_BY
1884 , CREATED_FROM_RULE_ID
1885 , CREATION_DATE
1886 , END_DATE_ACTIVE
1887 , EXCLUDER_FLAG
1888 , LAST_UPDATED_BY
1889 , sysdate
1890 , LAST_UPDATE_LOGIN
1891 , LIST_HEADER_ID
1892 , LIST_LINE_ID
1893 , PROGRAM_APPLICATION_ID
1894 , PROGRAM_ID
1895 , PROGRAM_UPDATE_DATE
1896 , QUALIFIER_ATTRIBUTE
1897 , QUALIFIER_ATTR_VALUE
1898 , QUALIFIER_ATTR_VALUE_TO
1899 , QUALIFIER_CONTEXT
1900 , QUALIFIER_DATATYPE
1901 --, QUALIFIER_DATE_FORMAT
1902 , QUALIFIER_GROUPING_NO
1903 , QUALIFIER_ID
1904 --, QUALIFIER_NUMBER_FORMAT
1905 , QUALIFIER_PRECEDENCE
1906 , QUALIFIER_RULE_ID
1907 , REQUEST_ID
1908 , START_DATE_ACTIVE
1909 , ACTIVE_FLAG
1910 , LIST_TYPE_CODE
1911 , QUAL_ATTR_VALUE_FROM_NUMBER
1912 , QUAL_ATTR_VALUE_TO_NUMBER
1913 , SEARCH_IND
1914 , QUALIFIER_GROUP_CNT
1915 , 'X'
1916 , DISTINCT_ROW_COUNT
1917 , p_transaction_id
1918 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
1919 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1920 ,to_char(qualifier_id)
1921 ,nvl(ORIG_SYS_LINE_REF,(select l.ORIG_SYS_LINE_REF from qp_list_lines l where l.list_line_id=p_list_line_id))
1922 ,nvl(ORIG_SYS_HEADER_REF,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_list_header_id))
1923 from qp_qualifiers qual
1924 where list_header_id = p_list_header_id
1925 and list_line_id = p_list_line_id
1926 and qualifier_grouping_no = p_qual_grp_no
1927 and ((qual.list_type_code = 'PRL'
1928 and not (qual.qualifier_context = 'MODLIST' and qual.qualifier_attribute = 'QUALIFIER_ATTRIBUTE4'))
1929 or (qual.list_type_code <> 'PRL'));
1930 END IF;--SQL%ROWCOUNT
1931 --AUTONOMOUS commit
1932 commit;
1933 EXCEPTION
1934 WHEN OTHERS THEN
1935 null;
1936 END Mark_Delete_Dummy_Qual;
1937
1938 --This procedure will delete the dummy qualifiers inserted for updates
1939 Procedure Remove_Dummy_Quals(p_action_type IN VARCHAR2,
1940 p_list_header_id IN NUMBER,
1941 p_list_line_id IN NUMBER,
1942 p_transaction_id IN NUMBER) IS
1943 PRAGMA AUTONOMOUS_TRANSACTION;
1944 BEGIN
1945 IF p_action_type = 'CANCEL' THEN
1946 delete from qp_qualifiers_fwk_dummy
1947 where list_header_id = p_list_header_id
1948 and list_line_id = p_list_line_id
1949 and transaction_id = p_transaction_id
1950 and nvl(header_quals_exist_flag, 'N') in ('Q');--, 'D', 'U', 'N');
1951 ELSIF p_action_type = 'APPLY' THEN
1952 delete from qp_qualifiers_fwk_dummy
1953 where list_header_id = p_list_header_id
1954 and list_line_id = p_list_line_id
1955 and transaction_id = p_transaction_id
1956 and nvl(header_quals_exist_flag, 'N') = 'Q';
1957 END IF;--p_action_type
1958 --AUTONOMOUS commit
1959 commit;
1960 EXCEPTION
1961 WHEN OTHERS THEN
1962 null;
1963 END Remove_Dummy_Quals;
1964
1965 -- Procedure Delete_Row
1966
1967 PROCEDURE Delete_Row
1968 ( p_qualifier_id IN NUMBER := FND_API.G_MISS_NUM,
1969 p_qualifier_rule_id IN NUMBER := FND_API.G_MISS_NUM
1970 )
1971 IS
1972 --l_check_active_flag VARCHAR2(1);
1973 --l_status VARCHAR2(1);
1974 --l_qualifiers_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1975 BEGIN
1976 -- l_qualifiers_rec:=Query_Row(p_qualifier_id);
1977 IF p_qualifier_rule_id <> FND_API.G_MISS_NUM
1978 THEN
1979
1980 DELETE FROM QP_QUALIFIERS
1981 WHERE QUALIFIER_RULE_ID = p_qualifier_rule_id ;
1982 ELSE
1983
1984 DELETE FROM QP_QUALIFIERS
1985 WHERE QUALIFIER_ID = p_qualifier_id ;
1986
1987 END IF;
1988
1989 /*
1990 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1991 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_qualifiers_rec.active_flag='Y') THEN
1992 IF(l_qualifiers_rec.qualifier_context IS NOT NULL) AND
1993 (l_qualifiers_rec.qualifier_attribute IS NOT NULL) THEN
1994 l_status:=QP_UTIL.Is_Used('QUALIFIER',
1995 l_qualifiers_rec.qualifier_context,
1996 l_qualifiers_rec.qualifier_attribute);
1997 IF l_status='N' THEN
1998 UPDATE qp_pte_segments SET used_in_setup='N'
1999 WHERE
2000 segment_id IN
2001 (SELECT a.segment_id
2002 FROM qp_segments_b a,qp_prc_contexts_b b
2003 WHERE a.segment_mapping_column=l_qualifiers_rec.qualifier_attribute
2004 AND a.prc_context_id=b.prc_context_id
2005 AND b.prc_context_type='QUALIFIER'
2006 AND b.prc_context_code=l_qualifiers_rec.qualifier_context);
2007 END IF;
2008 END IF;
2009 END IF;
2010 */
2011
2012 EXCEPTION
2013
2014 WHEN OTHERS THEN
2015
2016 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2017 THEN
2018 OE_MSG_PUB.Add_Exc_Msg
2019 ( G_PKG_NAME
2020 , 'Delete_Row'
2021 );
2022 END IF;
2023
2024 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2025
2026 END Delete_Row;
2027
2028 PROCEDURE Delete_Row(p_qual_grp_no IN NUMBER,
2029 p_list_header_id IN NUMBER,
2030 p_list_line_id IN NUMBER,
2031 p_transaction_id IN NUMBER)
2032 IS
2033 PRAGMA AUTONOMOUS_TRANSACTION;
2034 BEGIN
2035
2036 delete from qp_qualifiers_fwk_dummy
2037 where transaction_id = p_transaction_id
2038 or last_update_date < sysdate - 5;
2039 --where qualifier_grouping_no = p_qual_grp_no
2040 --and list_header_id = p_list_header_id
2041 --and list_line_id = p_list_line_id;
2042
2043 COMMIT;
2044
2045 EXCEPTION
2046 WHEN OTHERS THEN
2047 null;
2048 End Delete_Row;
2049
2050 -- Function Query_Row
2051
2052 FUNCTION Query_Row
2053 ( p_qualifier_id IN NUMBER
2054 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
2055 IS
2056 BEGIN
2057
2058 RETURN Query_Rows
2059 ( p_qualifier_id => p_qualifier_id
2060 )(1);
2061
2062 END Query_Row;
2063
2064 -- Function Query_Rows
2065
2066 --
2067
2068 FUNCTION Query_Rows
2069 ( p_qualifier_id IN NUMBER :=
2070 FND_API.G_MISS_NUM
2071 , p_qualifier_rule_id IN NUMBER :=
2072 FND_API.G_MISS_NUM
2073 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type
2074 IS
2075 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
2076 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
2077
2078 CURSOR l_QUALIFIERS_csr IS
2079 SELECT ATTRIBUTE1
2080 , ATTRIBUTE10
2081 , ATTRIBUTE11
2082 , ATTRIBUTE12
2083 , ATTRIBUTE13
2084 , ATTRIBUTE14
2085 , ATTRIBUTE15
2086 , ATTRIBUTE2
2087 , ATTRIBUTE3
2088 , ATTRIBUTE4
2089 , ATTRIBUTE5
2090 , ATTRIBUTE6
2091 , ATTRIBUTE7
2092 , ATTRIBUTE8
2093 , ATTRIBUTE9
2094 , COMPARISON_OPERATOR_CODE
2095 , CONTEXT
2096 , CREATED_BY
2097 , CREATED_FROM_RULE_ID
2098 , CREATION_DATE
2099 , END_DATE_ACTIVE
2100 , EXCLUDER_FLAG
2101 , LAST_UPDATED_BY
2102 , LAST_UPDATE_DATE
2103 , LAST_UPDATE_LOGIN
2104 , LIST_HEADER_ID
2105 , LIST_LINE_ID
2106 , PROGRAM_APPLICATION_ID
2107 , PROGRAM_ID
2108 , PROGRAM_UPDATE_DATE
2109 , QUALIFIER_ATTRIBUTE
2110 , QUALIFIER_ATTR_VALUE
2111 , QUALIFIER_ATTR_VALUE_TO
2112 , QUALIFIER_CONTEXT
2113 , QUALIFIER_DATATYPE
2114 -- , QUALIFIER_DATE_FORMAT
2115 , QUALIFIER_GROUPING_NO
2116 , QUALIFIER_ID
2117 -- , QUALIFIER_NUMBER_FORMAT
2118 , QUALIFIER_PRECEDENCE
2119 , QUALIFIER_RULE_ID
2120 , REQUEST_ID
2121 , START_DATE_ACTIVE
2122 , LIST_TYPE_CODE
2123 , QUAL_ATTR_VALUE_FROM_NUMBER
2124 , QUAL_ATTR_VALUE_TO_NUMBER
2125 , ACTIVE_FLAG
2126 , SEARCH_IND
2127 , QUALIFIER_GROUP_CNT
2128 , HEADER_QUALS_EXIST_FLAG
2129 , DISTINCT_ROW_COUNT
2130 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
2131 FROM QP_QUALIFIERS
2132 WHERE ( QUALIFIER_ID = p_qualifier_id
2133 )
2134 OR ( QUALIFIER_RULE_ID = p_qualifier_rule_id
2135 );
2136
2137 BEGIN
2138
2139 IF
2140 (p_qualifier_id IS NOT NULL
2141 AND
2142 p_qualifier_id <> FND_API.G_MISS_NUM)
2143 AND
2144 (p_qualifier_rule_id IS NOT NULL
2145 AND
2146 p_qualifier_rule_id <> FND_API.G_MISS_NUM)
2147 THEN
2148 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2149 THEN
2150 OE_MSG_PUB.Add_Exc_Msg
2151 ( G_PKG_NAME
2152 , 'Query Rows'
2153 , 'Keys are mutually exclusive: qualifier_id = '|| p_qualifier_id || ', qualifier_rule_id = '|| p_qualifier_rule_id
2154 );
2155 END IF;
2156
2157 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2158
2159 END IF;
2160
2161
2162 -- Loop over fetched records
2163
2164 FOR l_implicit_rec IN l_QUALIFIERS_csr LOOP
2165
2166 l_QUALIFIERS_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
2167 l_QUALIFIERS_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
2168 l_QUALIFIERS_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
2169 l_QUALIFIERS_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
2170 l_QUALIFIERS_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
2171 l_QUALIFIERS_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
2172 l_QUALIFIERS_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
2173 l_QUALIFIERS_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
2174 l_QUALIFIERS_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
2175 l_QUALIFIERS_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
2176 l_QUALIFIERS_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
2177 l_QUALIFIERS_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
2178 l_QUALIFIERS_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
2179 l_QUALIFIERS_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
2180 l_QUALIFIERS_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
2181 l_QUALIFIERS_rec.comparison_operator_code := l_implicit_rec.COMPARISON_OPERATOR_CODE;
2182 l_QUALIFIERS_rec.context := l_implicit_rec.CONTEXT;
2183 l_QUALIFIERS_rec.created_by := l_implicit_rec.CREATED_BY;
2184 l_QUALIFIERS_rec.created_from_rule_id := l_implicit_rec.CREATED_FROM_RULE_ID;
2185 l_QUALIFIERS_rec.creation_date := l_implicit_rec.CREATION_DATE;
2186 l_QUALIFIERS_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
2187 l_QUALIFIERS_rec.excluder_flag := l_implicit_rec.EXCLUDER_FLAG;
2188 l_QUALIFIERS_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
2189 l_QUALIFIERS_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
2190 l_QUALIFIERS_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
2191 l_QUALIFIERS_rec.list_header_id := l_implicit_rec.LIST_HEADER_ID;
2192 l_QUALIFIERS_rec.list_line_id := l_implicit_rec.LIST_LINE_ID;
2193 l_QUALIFIERS_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
2194 l_QUALIFIERS_rec.program_id := l_implicit_rec.PROGRAM_ID;
2195 l_QUALIFIERS_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
2196 l_QUALIFIERS_rec.qualifier_attribute := l_implicit_rec.QUALIFIER_ATTRIBUTE;
2197 l_QUALIFIERS_rec.qualifier_attr_value := l_implicit_rec.QUALIFIER_ATTR_VALUE;
2198 l_QUALIFIERS_rec.qualifier_attr_value_to := l_implicit_rec.QUALIFIER_ATTR_VALUE_TO;
2199 l_QUALIFIERS_rec.qualifier_context := l_implicit_rec.QUALIFIER_CONTEXT;
2200 l_QUALIFIERS_rec.qualifier_datatype := l_implicit_rec.QUALIFIER_DATATYPE;
2201 -- l_QUALIFIERS_rec.qualifier_date_format := l_implicit_rec.QUALIFIER_DATE_FORMAT;
2202 l_QUALIFIERS_rec.qualifier_grouping_no := l_implicit_rec.QUALIFIER_GROUPING_NO;
2203 l_QUALIFIERS_rec.qualifier_id := l_implicit_rec.QUALIFIER_ID;
2204 --l_QUALIFIERS_rec.qualifier_number_format := l_implicit_rec.QUALIFIER_NUMBER_FORMAT;
2205 l_QUALIFIERS_rec.qualifier_precedence := l_implicit_rec.QUALIFIER_PRECEDENCE;
2206 l_QUALIFIERS_rec.qualifier_rule_id := l_implicit_rec.QUALIFIER_RULE_ID;
2207 l_QUALIFIERS_rec.request_id := l_implicit_rec.REQUEST_ID;
2208 l_QUALIFIERS_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
2209 l_QUALIFIERS_rec.list_type_code := l_implicit_rec.LIST_TYPE_CODE;
2210 l_QUALIFIERS_rec.qual_attr_value_from_number := l_implicit_rec.QUAL_ATTR_VALUE_FROM_NUMBER;
2211 l_QUALIFIERS_rec.qual_attr_value_to_number := l_implicit_rec.QUAL_ATTR_VALUE_TO_NUMBER;
2212 l_QUALIFIERS_rec.active_flag := l_implicit_rec.ACTIVE_FLAG;
2213 l_QUALIFIERS_rec.search_ind := l_implicit_rec.SEARCH_IND;
2214 l_QUALIFIERS_rec.qualifier_group_cnt := l_implicit_rec.QUALIFIER_GROUP_CNT;
2215 l_QUALIFIERS_rec.header_quals_exist_flag := l_implicit_rec.HEADER_QUALS_EXIST_FLAG;
2216 l_QUALIFIERS_rec.distinct_row_count := l_implicit_rec.DISTINCT_ROW_COUNT;
2217 l_QUALIFIERS_rec.qualify_hier_descendent_flag := l_implicit_rec.QUALIFY_HIER_DESCENDENTS_FLAG ; -- Added for TCA
2218
2219 l_QUALIFIERS_tbl(l_QUALIFIERS_tbl.COUNT + 1) := l_QUALIFIERS_rec;
2220
2221 END LOOP;
2222
2223
2224 -- PK sent and no rows found
2225
2226 IF
2227 (p_qualifier_id IS NOT NULL
2228 AND
2229 p_qualifier_id <> FND_API.G_MISS_NUM)
2230 AND
2231 (l_QUALIFIERS_tbl.COUNT = 0)
2232 THEN
2233 RAISE NO_DATA_FOUND;
2234 END IF;
2235
2236
2237 -- Return fetched table
2238
2239 RETURN l_QUALIFIERS_tbl;
2240
2241 EXCEPTION
2242
2243 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2244
2245 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2246
2247 WHEN OTHERS THEN
2248
2249 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2250 THEN
2251 OE_MSG_PUB.Add_Exc_Msg
2252 ( G_PKG_NAME
2253 , 'Query_Rows'
2254 );
2255 END IF;
2256
2257 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2258
2259 END Query_Rows;
2260
2261 -- Procedure lock_Row
2262 --
2263
2264 PROCEDURE Lock_Row
2265 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2266 , p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
2267 , x_QUALIFIERS_rec OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
2268 )
2269 IS
2270 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
2271 BEGIN
2272
2273 oe_debug_pub.add('in QPXUQPQB.pls lock row');
2274
2275
2276
2277
2278 SELECT ATTRIBUTE1
2279 , ATTRIBUTE10
2280 , ATTRIBUTE11
2281 , ATTRIBUTE12
2282 , ATTRIBUTE13
2283 , ATTRIBUTE14
2284 , ATTRIBUTE15
2285 , ATTRIBUTE2
2286 , ATTRIBUTE3
2287 , ATTRIBUTE4
2288 , ATTRIBUTE5
2289 , ATTRIBUTE6
2290 , ATTRIBUTE7
2291 , ATTRIBUTE8
2292 , ATTRIBUTE9
2293 , COMPARISON_OPERATOR_CODE
2294 , CONTEXT
2295 , CREATED_BY
2296 , CREATED_FROM_RULE_ID
2297 , CREATION_DATE
2298 , END_DATE_ACTIVE
2299 , EXCLUDER_FLAG
2300 , LAST_UPDATED_BY
2301 , LAST_UPDATE_DATE
2302 , LAST_UPDATE_LOGIN
2303 , LIST_HEADER_ID
2304 , LIST_LINE_ID
2305 , PROGRAM_APPLICATION_ID
2306 , PROGRAM_ID
2307 , PROGRAM_UPDATE_DATE
2308 , QUALIFIER_ATTRIBUTE
2309 , QUALIFIER_ATTR_VALUE
2310 , QUALIFIER_ATTR_VALUE_TO
2311 , QUALIFIER_CONTEXT
2312 , QUALIFIER_DATATYPE
2313 --, QUALIFIER_DATE_FORMAT
2314 , QUALIFIER_GROUPING_NO
2315 , QUALIFIER_ID
2316 --, QUALIFIER_NUMBER_FORMAT
2317 , QUALIFIER_PRECEDENCE
2318 , QUALIFIER_RULE_ID
2319 , REQUEST_ID
2320 , START_DATE_ACTIVE
2321 , QUALIFY_HIER_DESCENDENTS_FLAG -- Added for TCA
2322 INTO l_QUALIFIERS_rec.attribute1
2323 , l_QUALIFIERS_rec.attribute10
2324 , l_QUALIFIERS_rec.attribute11
2325 , l_QUALIFIERS_rec.attribute12
2326 , l_QUALIFIERS_rec.attribute13
2327 , l_QUALIFIERS_rec.attribute14
2328 , l_QUALIFIERS_rec.attribute15
2329 , l_QUALIFIERS_rec.attribute2
2330 , l_QUALIFIERS_rec.attribute3
2331 , l_QUALIFIERS_rec.attribute4
2332 , l_QUALIFIERS_rec.attribute5
2333 , l_QUALIFIERS_rec.attribute6
2334 , l_QUALIFIERS_rec.attribute7
2335 , l_QUALIFIERS_rec.attribute8
2336 , l_QUALIFIERS_rec.attribute9
2337 , l_QUALIFIERS_rec.comparison_operator_code
2338 , l_QUALIFIERS_rec.context
2339 , l_QUALIFIERS_rec.created_by
2340 , l_QUALIFIERS_rec.created_from_rule_id
2341 , l_QUALIFIERS_rec.creation_date
2342 , l_QUALIFIERS_rec.end_date_active
2343 , l_QUALIFIERS_rec.excluder_flag
2344 , l_QUALIFIERS_rec.last_updated_by
2345 , l_QUALIFIERS_rec.last_update_date
2346 , l_QUALIFIERS_rec.last_update_login
2347 , l_QUALIFIERS_rec.list_header_id
2348 , l_QUALIFIERS_rec.list_line_id
2349 , l_QUALIFIERS_rec.program_application_id
2350 , l_QUALIFIERS_rec.program_id
2351 , l_QUALIFIERS_rec.program_update_date
2352 , l_QUALIFIERS_rec.qualifier_attribute
2353 , l_QUALIFIERS_rec.qualifier_attr_value
2354 , l_QUALIFIERS_rec.qualifier_attr_value_to
2355 , l_QUALIFIERS_rec.qualifier_context
2356 , l_QUALIFIERS_rec.qualifier_datatype
2357 --, l_QUALIFIERS_rec.qualifier_date_format
2358 , l_QUALIFIERS_rec.qualifier_grouping_no
2359 , l_QUALIFIERS_rec.qualifier_id
2360 --, l_QUALIFIERS_rec.qualifier_number_format
2361 , l_QUALIFIERS_rec.qualifier_precedence
2362 , l_QUALIFIERS_rec.qualifier_rule_id
2363 , l_QUALIFIERS_rec.request_id
2364 , l_QUALIFIERS_rec.start_date_active
2365 , l_QUALIFIERS_rec.qualify_hier_descendent_flag -- Added for TCA
2366 FROM QP_QUALIFIERS
2367 WHERE QUALIFIER_ID = p_QUALIFIERS_rec.qualifier_id
2368 FOR UPDATE NOWAIT;
2369
2370 -- Row locked. Compare IN attributes to DB attributes.
2371
2372
2373 /*IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute1,
2374 l_QUALIFIERS_rec.attribute1)
2375 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,
2376 l_QUALIFIERS_rec.attribute10)
2377 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,
2378 l_QUALIFIERS_rec.attribute11)
2379 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,
2380 l_QUALIFIERS_rec.attribute12)
2381 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,
2382 l_QUALIFIERS_rec.attribute13)
2383 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,
2384 l_QUALIFIERS_rec.attribute14)
2385 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,
2386 l_QUALIFIERS_rec.attribute15)
2387 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,
2388 l_QUALIFIERS_rec.attribute2)
2389 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,
2390 l_QUALIFIERS_rec.attribute3)
2391 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,
2392 l_QUALIFIERS_rec.attribute4)
2393 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,
2394 l_QUALIFIERS_rec.attribute5)
2395 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,
2396 l_QUALIFIERS_rec.attribute6)
2397 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,
2398 l_QUALIFIERS_rec.attribute7)
2399 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,
2400 l_QUALIFIERS_rec.attribute8)
2401 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,
2402 l_QUALIFIERS_rec.attribute9)
2403 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,
2404 l_QUALIFIERS_rec.comparison_operator_code)
2405 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,
2406 l_QUALIFIERS_rec.context)
2407 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,
2408 l_QUALIFIERS_rec.created_by)
2409 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,
2410 l_QUALIFIERS_rec.created_from_rule_id)
2411 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,
2412 -- l_QUALIFIERS_rec.creation_date)
2413 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,
2414 l_QUALIFIERS_rec.end_date_active)
2415 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,
2416 l_QUALIFIERS_rec.excluder_flag)
2417 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,
2418 -- l_QUALIFIERS_rec.last_updated_by)
2419 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,
2420 -- l_QUALIFIERS_rec.last_update_date)
2421 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,
2422 l_QUALIFIERS_rec.last_update_login)
2423 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,
2424 l_QUALIFIERS_rec.list_header_id)
2425 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,
2426 l_QUALIFIERS_rec.list_line_id)
2427 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,
2428 l_QUALIFIERS_rec.program_application_id)
2429 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,
2430 l_QUALIFIERS_rec.program_id)
2431 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,
2432 -- l_QUALIFIERS_rec.program_update_date)
2433 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,
2434 l_QUALIFIERS_rec.qualifier_attribute)
2435 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,
2436 l_QUALIFIERS_rec.qualifier_attr_value)
2437 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value_to,
2438 l_QUALIFIERS_rec.qualifier_attr_value_to)
2439 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,
2440 l_QUALIFIERS_rec.qualifier_context)
2441 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_datatype,
2442 l_QUALIFIERS_rec.qualifier_datatype)
2443 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_date_format,
2444 -- l_QUALIFIERS_rec.qualifier_date_format)
2445 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
2446 l_QUALIFIERS_rec.qualifier_grouping_no)
2447 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,
2448 l_QUALIFIERS_rec.qualifier_id)
2449 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_number_format,
2450 -- l_QUALIFIERS_rec.qualifier_number_format)
2451 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_precedence,
2452 l_QUALIFIERS_rec.qualifier_precedence)
2453 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,
2454 l_QUALIFIERS_rec.qualifier_rule_id)
2455 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,
2456 l_QUALIFIERS_rec.request_id)
2457 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,
2458 l_QUALIFIERS_rec.start_date_active)*/
2459
2460
2461 IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute1,
2462 l_QUALIFIERS_rec.attribute1)
2463 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute10,
2464 l_QUALIFIERS_rec.attribute10)
2465 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute11,
2466 l_QUALIFIERS_rec.attribute11)
2467 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute12,
2468 l_QUALIFIERS_rec.attribute12)
2469 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute13,
2470 l_QUALIFIERS_rec.attribute13)
2471 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute14,
2472 l_QUALIFIERS_rec.attribute14)
2473 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute15,
2474 l_QUALIFIERS_rec.attribute15)
2475 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute2,
2476 l_QUALIFIERS_rec.attribute2)
2477 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute3,
2478 l_QUALIFIERS_rec.attribute3)
2479 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute4,
2480 l_QUALIFIERS_rec.attribute4)
2481 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute5,
2482 l_QUALIFIERS_rec.attribute5)
2483 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute6,
2484 l_QUALIFIERS_rec.attribute6)
2485 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute7,
2486 l_QUALIFIERS_rec.attribute7)
2487 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute8,
2488 l_QUALIFIERS_rec.attribute8)
2489 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.attribute9,
2490 l_QUALIFIERS_rec.attribute9)
2491 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,
2492 l_QUALIFIERS_rec.comparison_operator_code)
2493 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.context,
2494 l_QUALIFIERS_rec.context)
2495 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_by,
2496 -- l_QUALIFIERS_rec.created_by)
2497 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,
2498 l_QUALIFIERS_rec.created_from_rule_id)
2499 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.creation_date,
2500 -- l_QUALIFIERS_rec.creation_date)
2501 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.end_date_active,
2502 l_QUALIFIERS_rec.end_date_active)
2503 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,
2504 l_QUALIFIERS_rec.excluder_flag)
2505 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_updated_by,
2506 -- l_QUALIFIERS_rec.last_updated_by)
2507 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_date,
2508 -- l_QUALIFIERS_rec.last_update_date)
2509 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.last_update_login,
2510 -- l_QUALIFIERS_rec.last_update_login)
2511 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,
2512 l_QUALIFIERS_rec.list_header_id)
2513 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,
2514 l_QUALIFIERS_rec.list_line_id)
2515 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_application_id,
2516 -- l_QUALIFIERS_rec.program_application_id)
2517 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_id,
2518 -- l_QUALIFIERS_rec.program_id)
2519 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.program_update_date,
2520 -- l_QUALIFIERS_rec.program_update_date)
2521 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,
2522 l_QUALIFIERS_rec.qualifier_attribute)
2523 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value,
2524 l_QUALIFIERS_rec.qualifier_attr_value)
2525 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attr_value_to,
2526 l_QUALIFIERS_rec.qualifier_attr_value_to)
2527 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_context,
2528 l_QUALIFIERS_rec.qualifier_context)
2529 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_datatype,
2530 l_QUALIFIERS_rec.qualifier_datatype)
2531 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_date_format,
2532 -- l_QUALIFIERS_rec.qualifier_date_format)
2533 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
2534 l_QUALIFIERS_rec.qualifier_grouping_no)
2535 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,
2536 l_QUALIFIERS_rec.qualifier_id)
2537 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_number_format,
2538 -- l_QUALIFIERS_rec.qualifier_number_format)
2539 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_precedence,
2540 l_QUALIFIERS_rec.qualifier_precedence)
2541 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,
2542 l_QUALIFIERS_rec.qualifier_rule_id)
2543 --AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.request_id,
2544 -- l_QUALIFIERS_rec.request_id)
2545 AND QP_GLOBALS.Equal(p_QUALIFIERS_rec.start_date_active,
2546 l_QUALIFIERS_rec.start_date_active)
2547 -- Added for TCA
2548 AND (QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualify_hier_descendent_flag,
2549 l_QUALIFIERS_rec.qualify_hier_descendent_flag)
2550 OR (p_QUALIFIERS_rec.qualify_hier_descendent_flag = FND_API.G_MISS_CHAR
2551 and l_QUALIFIERS_rec.qualify_hier_descendent_flag is null))
2552 THEN
2553
2554 -- Row has not changed. Set out parameter.
2555
2556 oe_debug_pub.add('row not changed');
2557 x_QUALIFIERS_rec := l_QUALIFIERS_rec;
2558
2559 -- Set return status
2560
2561 x_return_status := FND_API.G_RET_STS_SUCCESS;
2562 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2563
2564 ELSE
2565 --8594682 - Add debug messages for OE_LOCK error
2566 oe_debug_pub.ADD('-------------------Data compare in Price list line Qualifier(database vs record)------------------');
2567 oe_debug_pub.ADD('qualifier_id :'||l_QUALIFIERS_rec.qualifier_id||':'||p_QUALIFIERS_rec.qualifier_id||':');
2568 oe_debug_pub.ADD('attribute1 :'||l_QUALIFIERS_rec.attribute1||':'||p_QUALIFIERS_rec.attribute1||':');
2569 oe_debug_pub.ADD('attribute10 :'||l_QUALIFIERS_rec.attribute10||':'||p_QUALIFIERS_rec.attribute10||':');
2570 oe_debug_pub.ADD('attribute11 :'||l_QUALIFIERS_rec.attribute11||':'||p_QUALIFIERS_rec.attribute11||':');
2571 oe_debug_pub.ADD('attribute12 :'||l_QUALIFIERS_rec.attribute12||':'||p_QUALIFIERS_rec.attribute12||':');
2572 oe_debug_pub.ADD('attribute13 :'||l_QUALIFIERS_rec.attribute13||':'||p_QUALIFIERS_rec.attribute13||':');
2573 oe_debug_pub.ADD('attribute14 :'||l_QUALIFIERS_rec.attribute14||':'||p_QUALIFIERS_rec.attribute14||':');
2574 oe_debug_pub.ADD('attribute15 :'||l_QUALIFIERS_rec.attribute15||':'||p_QUALIFIERS_rec.attribute15||':');
2575 oe_debug_pub.ADD('attribute2 :'||l_QUALIFIERS_rec.attribute2||':'||p_QUALIFIERS_rec.attribute2||':');
2576 oe_debug_pub.ADD('attribute3 :'||l_QUALIFIERS_rec.attribute3||':'||p_QUALIFIERS_rec.attribute3||':');
2577 oe_debug_pub.ADD('attribute4 :'||l_QUALIFIERS_rec.attribute4||':'||p_QUALIFIERS_rec.attribute4||':');
2578 oe_debug_pub.ADD('attribute5 :'||l_QUALIFIERS_rec.attribute5||':'||p_QUALIFIERS_rec.attribute5||':');
2579 oe_debug_pub.ADD('attribute6 :'||l_QUALIFIERS_rec.attribute6||':'||p_QUALIFIERS_rec.attribute6||':');
2580 oe_debug_pub.ADD('attribute7 :'||l_QUALIFIERS_rec.attribute7||':'||p_QUALIFIERS_rec.attribute7||':');
2581 oe_debug_pub.ADD('attribute8 :'||l_QUALIFIERS_rec.attribute8||':'||p_QUALIFIERS_rec.attribute8||':');
2582 oe_debug_pub.ADD('attribute9 :'||l_QUALIFIERS_rec.attribute9||':'||p_QUALIFIERS_rec.attribute9||':');
2583 oe_debug_pub.ADD('comparison_operator_code:'||l_QUALIFIERS_rec.comparison_operator_code||':'||p_QUALIFIERS_rec.comparison_operator_code||':');
2584 oe_debug_pub.ADD('context :'||l_QUALIFIERS_rec.context||':'||p_QUALIFIERS_rec.context||':');
2585 oe_debug_pub.ADD('created_by :'||l_QUALIFIERS_rec.created_by||':'||p_QUALIFIERS_rec.created_by||':');
2586 oe_debug_pub.ADD('created_from_rule_id :'||l_QUALIFIERS_rec.created_from_rule_id||':'||p_QUALIFIERS_rec.created_from_rule_id||':');
2587 oe_debug_pub.ADD('creation_date :'||l_QUALIFIERS_rec.creation_date||':'||p_QUALIFIERS_rec.creation_date||':');
2588 oe_debug_pub.ADD('end_date_active :'||l_QUALIFIERS_rec.end_date_active||':'||p_QUALIFIERS_rec.end_date_active||':');
2589 oe_debug_pub.ADD('excluder_flag :'||l_QUALIFIERS_rec.excluder_flag||':'||p_QUALIFIERS_rec.excluder_flag||':');
2590 oe_debug_pub.ADD('last_updated_by :'||l_QUALIFIERS_rec.last_updated_by||':'||p_QUALIFIERS_rec.last_updated_by||':');
2591 oe_debug_pub.ADD('last_update_date :'||l_QUALIFIERS_rec.last_update_date||':'||p_QUALIFIERS_rec.last_update_date||':');
2592 oe_debug_pub.ADD('last_update_login :'||l_QUALIFIERS_rec.last_update_login||':'||p_QUALIFIERS_rec.last_update_login||':');
2593 oe_debug_pub.ADD('list_header_id :'||l_QUALIFIERS_rec.list_header_id||':'||p_QUALIFIERS_rec.list_header_id||':');
2594 oe_debug_pub.ADD('list_line_id :'||l_QUALIFIERS_rec.list_line_id||':'||p_QUALIFIERS_rec.list_line_id||':');
2595 oe_debug_pub.ADD('program_application_id:'||l_QUALIFIERS_rec.program_application_id||':'||p_QUALIFIERS_rec.program_application_id||':');
2596 oe_debug_pub.ADD('program_id :'||l_QUALIFIERS_rec.program_id||':'||p_QUALIFIERS_rec.program_id||':');
2597 oe_debug_pub.ADD('program_update_date :'||l_QUALIFIERS_rec.program_update_date||':'||p_QUALIFIERS_rec.program_update_date||':');
2598 oe_debug_pub.ADD('qualifier_attribute :'||l_QUALIFIERS_rec.qualifier_attribute||':'||p_QUALIFIERS_rec.qualifier_attribute||':');
2599 oe_debug_pub.ADD('qualifier_attr_value :'||l_QUALIFIERS_rec.qualifier_attr_value||':'||p_QUALIFIERS_rec.qualifier_attr_value||':');
2600 oe_debug_pub.ADD('qualifier_attr_value_to:'||l_QUALIFIERS_rec.qualifier_attr_value_to||':'||p_QUALIFIERS_rec.qualifier_attr_value_to||':');
2601 oe_debug_pub.ADD('qualifier_context :'||l_QUALIFIERS_rec.qualifier_context||':'||p_QUALIFIERS_rec.qualifier_context||':');
2602 oe_debug_pub.ADD('qualifier_datatype :'||l_QUALIFIERS_rec.qualifier_datatype||':'||p_QUALIFIERS_rec.qualifier_datatype||':');
2603 oe_debug_pub.ADD('qualifier_grouping_no :'||l_QUALIFIERS_rec.qualifier_grouping_no||':'||p_QUALIFIERS_rec.qualifier_grouping_no||':');
2604 oe_debug_pub.ADD('qualifier_id :'||l_QUALIFIERS_rec.qualifier_id||':'||p_QUALIFIERS_rec.qualifier_id||':');
2605 oe_debug_pub.ADD('qualifier_precedence :'||l_QUALIFIERS_rec.qualifier_precedence||':'||p_QUALIFIERS_rec.qualifier_precedence||':');
2606 oe_debug_pub.ADD('qualifier_rule_id :'||l_QUALIFIERS_rec.qualifier_rule_id||':'||p_QUALIFIERS_rec.qualifier_rule_id||':');
2607 oe_debug_pub.ADD('request_id :'||l_QUALIFIERS_rec.request_id||':'||p_QUALIFIERS_rec.request_id||':');
2608 oe_debug_pub.ADD('start_date_active :'||l_QUALIFIERS_rec.start_date_active||':'||p_QUALIFIERS_rec.start_date_active||':');
2609 oe_debug_pub.ADD('-------------------Data compare in price list line qualifier end------------------');
2610 -- Row has changed by another user.
2611 --End 8594682 - Add debug messages for OE_LOCK error
2612
2613 -- Row has changed by another user.
2614 oe_debug_pub.add('row changed');
2615
2616 x_return_status := FND_API.G_RET_STS_ERROR;
2617 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2618
2619 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2620 THEN
2621
2622 FND_MESSAGE.SET_NAME('QP','QP_LOCK_ROW_CHANGED');
2623 OE_MSG_PUB.Add;
2624
2625 END IF;
2626
2627 END IF;
2628
2629 EXCEPTION
2630
2631 WHEN NO_DATA_FOUND THEN
2632
2633 x_return_status := FND_API.G_RET_STS_ERROR;
2634 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2635
2636 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2637 THEN
2638
2639 oe_debug_pub.add('row deleted');
2640 FND_MESSAGE.SET_NAME('QP','QP_LOCK_ROW_DELETED');
2641 OE_MSG_PUB.Add;
2642
2643 END IF;
2644 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2645
2646 x_return_status := FND_API.G_RET_STS_ERROR;
2647 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2648
2649 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2650 THEN
2651
2652 FND_MESSAGE.SET_NAME('QP','QP_LOCK_ROW_ALREADY_LOCKED');
2653 OE_MSG_PUB.Add;
2654
2655 END IF;
2656 WHEN OTHERS THEN
2657
2658 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2659 x_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2660
2661 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2662 THEN
2663 OE_MSG_PUB.Add_Exc_Msg
2664 ( G_PKG_NAME
2665 , 'Lock_Row'
2666 );
2667 END IF;
2668
2669 END Lock_Row;
2670
2671 -- Function Get_Values
2672
2673 FUNCTION Get_Values
2674 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
2675 , p_old_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type :=
2676 QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC
2677 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type
2678 IS
2679 l_QUALIFIERS_val_rec QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type;
2680 BEGIN
2681
2682 /*IF p_QUALIFIERS_rec.comparison_operator_code IS NOT NULL AND
2683 p_QUALIFIERS_rec.comparison_operator_code <> FND_API.G_MISS_CHAR AND
2684 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.comparison_operator_code,
2685 p_old_QUALIFIERS_rec.comparison_operator_code)
2686 THEN
2687 l_QUALIFIERS_val_rec.comparison_operator := QP_Id_To_Value.Comparison_Operator
2688 ( p_comparison_operator_code => p_QUALIFIERS_rec.comparison_operator_code
2689 );
2690 END IF;*/
2691
2692 IF p_QUALIFIERS_rec.created_from_rule_id IS NOT NULL AND
2693 p_QUALIFIERS_rec.created_from_rule_id <> FND_API.G_MISS_NUM AND
2694 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.created_from_rule_id,
2695 p_old_QUALIFIERS_rec.created_from_rule_id)
2696 THEN
2697 l_QUALIFIERS_val_rec.created_from_rule := QP_Id_To_Value.Created_From_Rule
2698 ( p_created_from_rule_id => p_QUALIFIERS_rec.created_from_rule_id
2699 );
2700 END IF;
2701
2702 /* IF p_QUALIFIERS_rec.excluder_flag IS NOT NULL AND
2703 p_QUALIFIERS_rec.excluder_flag <> FND_API.G_MISS_CHAR AND
2704 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.excluder_flag,
2705 p_old_QUALIFIERS_rec.excluder_flag)
2706 THEN
2707 l_QUALIFIERS_val_rec.excluder := QP_Id_To_Value.Excluder
2708 ( p_excluder_flag => p_QUALIFIERS_rec.excluder_flag
2709 );
2710 END IF;*/
2711
2712 IF p_QUALIFIERS_rec.list_header_id IS NOT NULL AND
2713 p_QUALIFIERS_rec.list_header_id <> FND_API.G_MISS_NUM AND
2714 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_header_id,
2715 p_old_QUALIFIERS_rec.list_header_id)
2716 THEN
2717 l_QUALIFIERS_val_rec.list_header := QP_Id_To_Value.List_Header
2718 ( p_list_header_id => p_QUALIFIERS_rec.list_header_id
2719 );
2720 END IF;
2721
2722 IF p_QUALIFIERS_rec.list_line_id IS NOT NULL AND
2723 p_QUALIFIERS_rec.list_line_id <> FND_API.G_MISS_NUM AND
2724 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.list_line_id,
2725 p_old_QUALIFIERS_rec.list_line_id)
2726 THEN
2727 l_QUALIFIERS_val_rec.list_line := QP_Id_To_Value.List_Line
2728 ( p_list_line_id => p_QUALIFIERS_rec.list_line_id
2729 );
2730 END IF;
2731
2732 /*IF p_QUALIFIERS_rec.qualifier_id IS NOT NULL AND
2733 p_QUALIFIERS_rec.qualifier_id <> FND_API.G_MISS_NUM AND
2734 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_id,
2735 p_old_QUALIFIERS_rec.qualifier_id)
2736 THEN
2737 l_QUALIFIERS_val_rec.qualifier := QP_Id_To_Value.Qualifier
2738 ( p_qualifier_id => p_QUALIFIERS_rec.qualifier_id
2739 );
2740 END IF;*/
2741
2742 IF p_QUALIFIERS_rec.qualifier_rule_id IS NOT NULL AND
2743 p_QUALIFIERS_rec.qualifier_rule_id <> FND_API.G_MISS_NUM AND
2744 NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_rule_id,
2745 p_old_QUALIFIERS_rec.qualifier_rule_id)
2746 THEN
2747 l_QUALIFIERS_val_rec.qualifier_rule := QP_Id_To_Value.Qualifier_Rule
2748 ( p_qualifier_rule_id => p_QUALIFIERS_rec.qualifier_rule_id
2749 );
2750 END IF;
2751
2752 RETURN l_QUALIFIERS_val_rec;
2753
2754 END Get_Values;
2755
2756 -- Function Get_Ids
2757
2758 FUNCTION Get_Ids
2759 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
2760 , p_QUALIFIERS_val_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type
2761 ) RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
2762 IS
2763 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
2764 BEGIN
2765
2766 -- initialize return_status.
2767
2768 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2769
2770 -- initialize l_QUALIFIERS_rec.
2771
2772 l_QUALIFIERS_rec := p_QUALIFIERS_rec;
2773
2774 /* IF p_QUALIFIERS_val_rec.comparison_operator <> FND_API.G_MISS_CHAR
2775 THEN
2776
2777 IF p_QUALIFIERS_rec.comparison_operator_code <> FND_API.G_MISS_CHAR THEN
2778
2779 l_QUALIFIERS_rec.comparison_operator_code := p_QUALIFIERS_rec.comparison_operator_code;
2780
2781 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2782 THEN
2783
2784 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2785 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','comparison_operator');
2786 OE_MSG_PUB.Add;
2787
2788 END IF;
2789
2790 ELSE
2791
2792 l_QUALIFIERS_rec.comparison_operator_code := QP_Value_To_Id.comparison_operator
2793 ( p_comparison_operator => p_QUALIFIERS_val_rec.comparison_operator
2794 );
2795
2796 IF l_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
2797 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2798 END IF;
2799
2800 END IF;
2801
2802 END IF;*/
2803
2804 IF p_QUALIFIERS_val_rec.created_from_rule <> FND_API.G_MISS_CHAR
2805 THEN
2806
2807 IF p_QUALIFIERS_rec.created_from_rule_id <> FND_API.G_MISS_NUM THEN
2808
2809 l_QUALIFIERS_rec.created_from_rule_id := p_QUALIFIERS_rec.created_from_rule_id;
2810
2811 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2812 THEN
2813
2814 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2815 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','created_from_rule');
2816 OE_MSG_PUB.Add;
2817
2818 END IF;
2819
2820 ELSE
2821
2822 l_QUALIFIERS_rec.created_from_rule_id := QP_Value_To_Id.created_from_rule
2823 ( p_created_from_rule => p_QUALIFIERS_val_rec.created_from_rule
2824 );
2825
2826 IF l_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
2827 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2828 END IF;
2829
2830 END IF;
2831
2832 END IF;
2833
2834 /* IF p_QUALIFIERS_val_rec.excluder <> FND_API.G_MISS_CHAR
2835 THEN
2836
2837 IF p_QUALIFIERS_rec.excluder_flag <> FND_API.G_MISS_CHAR THEN
2838
2839 l_QUALIFIERS_rec.excluder_flag := p_QUALIFIERS_rec.excluder_flag;
2840
2841 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2842 THEN
2843
2844 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2845 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','excluder');
2846 OE_MSG_PUB.Add;
2847
2848 END IF;
2849
2850 ELSE
2851
2852 l_QUALIFIERS_rec.excluder_flag := QP_Value_To_Id.excluder
2853 ( p_excluder => p_QUALIFIERS_val_rec.excluder
2854 );
2855
2856 IF l_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
2857 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2858 END IF;
2859
2860 END IF;
2861
2862 END IF;*/
2863
2864 IF p_QUALIFIERS_val_rec.list_header <> FND_API.G_MISS_CHAR
2865 THEN
2866
2867 IF p_QUALIFIERS_rec.list_header_id <> FND_API.G_MISS_NUM THEN
2868
2869 l_QUALIFIERS_rec.list_header_id := p_QUALIFIERS_rec.list_header_id;
2870
2871 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2872 THEN
2873
2874 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2875 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
2876 OE_MSG_PUB.Add;
2877
2878 END IF;
2879
2880 ELSE
2881
2882 l_QUALIFIERS_rec.list_header_id := QP_Value_To_Id.list_header
2883 ( p_list_header => p_QUALIFIERS_val_rec.list_header
2884 );
2885
2886 IF l_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
2887 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2888 END IF;
2889
2890 END IF;
2891
2892 END IF;
2893
2894 IF p_QUALIFIERS_val_rec.list_line <> FND_API.G_MISS_CHAR
2895 THEN
2896
2897 IF p_QUALIFIERS_rec.list_line_id <> FND_API.G_MISS_NUM THEN
2898
2899 l_QUALIFIERS_rec.list_line_id := p_QUALIFIERS_rec.list_line_id;
2900
2901 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2902 THEN
2903
2904 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2905 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line');
2906 OE_MSG_PUB.Add;
2907
2908 END IF;
2909
2910 ELSE
2911
2912 l_QUALIFIERS_rec.list_line_id := QP_Value_To_Id.list_line
2913 ( p_list_line => p_QUALIFIERS_val_rec.list_line
2914 );
2915
2916 IF l_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
2917 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2918 END IF;
2919
2920 END IF;
2921
2922 END IF;
2923
2924 /* IF p_QUALIFIERS_val_rec.qualifier <> FND_API.G_MISS_CHAR
2925 THEN
2926
2927 IF p_QUALIFIERS_rec.qualifier_id <> FND_API.G_MISS_NUM THEN
2928
2929 l_QUALIFIERS_rec.qualifier_id := p_QUALIFIERS_rec.qualifier_id;
2930
2931 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2932 THEN
2933
2934 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2935 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier');
2936 OE_MSG_PUB.Add;
2937
2938 END IF;
2939
2940 ELSE
2941
2942 l_QUALIFIERS_rec.qualifier_id := QP_Value_To_Id.qualifier
2943 ( p_qualifier => p_QUALIFIERS_val_rec.qualifier
2944 );
2945
2946 IF l_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
2947 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2948 END IF;
2949
2950 END IF;
2951
2952 END IF;*/
2953
2954 IF p_QUALIFIERS_val_rec.qualifier_rule <> FND_API.G_MISS_CHAR
2955 THEN
2956
2957 IF p_QUALIFIERS_rec.qualifier_rule_id <> FND_API.G_MISS_NUM THEN
2958
2959 l_QUALIFIERS_rec.qualifier_rule_id := p_QUALIFIERS_rec.qualifier_rule_id;
2960
2961 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2962 THEN
2963
2964 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2965 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_rule');
2966 OE_MSG_PUB.Add;
2967
2968 END IF;
2969
2970 ELSE
2971
2972 l_QUALIFIERS_rec.qualifier_rule_id := QP_Value_To_Id.qualifier_rule
2973 ( p_qualifier_rule => p_QUALIFIERS_val_rec.qualifier_rule
2974 );
2975
2976 IF l_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
2977 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
2978 END IF;
2979
2980 END IF;
2981
2982 END IF;
2983
2984 /**************************************************************************
2985 Added code for value_to_id conversion for qualifier_attribute,
2986 qualifier_attr_value and qualifier_attr_value_to
2987 ***************************************************************************/
2988
2989 IF p_QUALIFIERS_val_rec.qualifier_attribute_desc <> FND_API.G_MISS_CHAR
2990 THEN
2991
2992 IF p_QUALIFIERS_rec.qualifier_attribute <> FND_API.G_MISS_CHAR THEN
2993
2994 l_QUALIFIERS_rec.qualifier_attribute := p_QUALIFIERS_rec.qualifier_attribute;
2995
2996 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2997 THEN
2998
2999 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3000 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attribute');
3001 OE_MSG_PUB.Add;
3002
3003 END IF;
3004
3005 ELSE
3006
3007 l_QUALIFIERS_rec.qualifier_attribute := QP_Value_To_Id.qualifier_attribute
3008 ( p_qualifier_attribute_desc => p_QUALIFIERS_val_rec.qualifier_attribute_desc,
3009 p_context => l_QUALIFIERS_rec.qualifier_context
3010 );
3011
3012 IF l_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR THEN
3013 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
3014 END IF;
3015
3016 END IF;
3017
3018 END IF;
3019
3020 IF p_QUALIFIERS_val_rec.qualifier_attr_value_desc <> FND_API.G_MISS_CHAR
3021 THEN
3022
3023 IF p_QUALIFIERS_rec.qualifier_attr_value <> FND_API.G_MISS_CHAR THEN
3024
3025 l_QUALIFIERS_rec.qualifier_attr_value := p_QUALIFIERS_rec.qualifier_attr_value;
3026
3027 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3028 THEN
3029
3030 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3031 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attr_value');
3032 OE_MSG_PUB.Add;
3033
3034 END IF;
3035
3036 ELSE
3037
3038 l_QUALIFIERS_rec.qualifier_attr_value := QP_Value_To_Id.qualifier_attr_value
3039 ( p_qualifier_attr_value_desc => p_QUALIFIERS_val_rec.qualifier_attr_value_desc,
3040 p_context => l_QUALIFIERS_rec.qualifier_context,
3041 p_attribute => l_QUALIFIERS_rec.qualifier_attribute
3042 );
3043
3044 IF l_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR THEN
3045 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
3046 END IF;
3047
3048 END IF;
3049
3050 END IF;
3051
3052 IF p_QUALIFIERS_val_rec.qualifier_attr_value_to_desc <> FND_API.G_MISS_CHAR
3053 THEN
3054
3055 IF p_QUALIFIERS_rec.qualifier_attr_value_to <> FND_API.G_MISS_CHAR THEN
3056
3057 l_QUALIFIERS_rec.qualifier_attr_value_to := p_QUALIFIERS_rec.qualifier_attr_value_to;
3058
3059 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3060 THEN
3061
3062 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3063 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attr_value_to');
3064 OE_MSG_PUB.Add;
3065
3066 END IF;
3067
3068 ELSE
3069
3070 l_QUALIFIERS_rec.qualifier_attr_value_to := QP_Value_To_Id.qualifier_attr_value_to
3071 ( p_qualifier_attr_value_to_desc => p_QUALIFIERS_val_rec.qualifier_attr_value_to_desc,
3072 p_context => l_QUALIFIERS_rec.qualifier_context,
3073 p_attribute => l_QUALIFIERS_rec.qualifier_attribute
3074 );
3075
3076 IF l_QUALIFIERS_rec.qualifier_attr_value_to = FND_API.G_MISS_CHAR THEN
3077 l_QUALIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
3078 END IF;
3079
3080 END IF;
3081
3082 END IF;
3083
3084
3085 RETURN l_QUALIFIERS_rec;
3086
3087 END Get_Ids;
3088
3089 Procedure Pre_Write_Process
3090 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
3091 , p_old_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type :=
3092 QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC
3093 , x_QUALIFIERS_rec OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
3094 ) IS
3095 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type := p_QUALIFIERS_rec;
3096 l_return_status varchar2(30);
3097 l_hlq_count NUMBER := 0;
3098 --Header Level Qualifier Count
3099 l_llq_count NUMBER := 0;
3100 --Line Level Qualifier Count
3101 l_list_type_code VARCHAR2(30);
3102 l_denormalize_qual varchar2(1) := nvl(fnd_profile.value('QP_DENORMALIZE_QUALIFIERS'),'Y');
3103 --7120399
3104
3105 BEGIN
3106
3107 oe_debug_pub.Add('Entering OE_QUALIFIERS_Util.pre_write_process');
3108 oe_debug_pub.Add('mkarya - p_QUALIFIERS_rec.operation = ' ||p_QUALIFIERS_rec.operation);
3109
3110
3111 x_QUALIFIERS_rec := l_QUALIFIERS_rec;
3112
3113 IF ( p_QUALIFIERS_rec.operation IN (QP_GLOBALS.G_OPR_CREATE,
3114 QP_GLOBALS.G_OPR_DELETE) ) THEN
3115 -- Get the List Type Code
3116 BEGIN
3117 SELECT list_type_code
3118 INTO l_list_type_code
3119 FROM qp_list_headers_vl
3120 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id;
3121 EXCEPTION
3122 WHEN OTHERS THEN
3123 NULL;
3124 END;
3125
3126 -- Get the List Header Level Qualifier count
3127 IF l_list_type_code IN ('PRL', 'AGR') THEN
3128 BEGIN
3129 /*SELECT 1
3130 INTO l_hlq_count
3131 FROM DUAL
3132 WHERE EXISTS (SELECT 'X'
3133 FROM qp_qualifiers
3134 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id
3135 AND list_line_id = -1
3136 AND NOT (qualifier_context = 'MODLIST' AND
3137 qualifier_attribute = 'QUALIFIER_ATTRIBUTE4'));*/
3138
3139 /* changed the sql query from where exists to 'and rownum=1'*/
3140
3141 SELECT count(1) into l_hlq_count
3142 FROM qp_qualifiers
3143 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id
3144 AND list_line_id = -1
3145 AND NOT (qualifier_context = 'MODLIST' AND qualifier_attribute = 'QUALIFIER_ATTRIBUTE4');
3146 -- and rownum=1;
3147 --Do not consider qualifiers corresponding to Primary PL as
3148 --qualifier for Secondary PL
3149 EXCEPTION
3150 WHEN NO_DATA_FOUND THEN
3151 l_hlq_count := 0;
3152 END;
3153
3154 ELSE -- All other list type codes
3155 BEGIN
3156 /*SELECT 1
3157 INTO l_hlq_count
3158 FROM DUAL
3159 WHERE EXISTS (SELECT 'X'
3160 FROM qp_qualifiers
3161 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id
3162 AND list_line_id = -1); */
3163
3164 /* changed the sql query from where exists to 'and rownum=1'*/
3165 SELECT 1 into l_hlq_count
3166 FROM qp_qualifiers
3167 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id
3168 AND list_line_id = -1
3169 and rownum = 1;
3170 EXCEPTION
3171 WHEN NO_DATA_FOUND THEN
3172 l_hlq_count := 0;
3173 END;
3174
3175 END IF; -- list type code is PRL or AGR
3176
3177
3178 -- Get the List Line Level Qualifier count
3179 BEGIN
3180 /* SELECT 1 INTO l_llq_count
3181 FROM DUAL
3182 WHERE EXISTS ( SELECT 'X'
3183 FROM qp_qualifiers
3184 WHERE list_line_id = p_QUALIFIERS_rec.list_line_id);*/
3185
3186 /* changed the sql query from where exists to 'and rownum=1'*/
3187 SELECT 1 into l_llq_count
3188 FROM qp_qualifiers
3189 WHERE list_line_id = p_QUALIFIERS_rec.list_line_id
3190 and rownum=1;
3191 EXCEPTION
3192 WHEN NO_DATA_FOUND THEN
3193 l_llq_count := 0;
3194 END;
3195
3196 --Submit a Header Level Delayed Request to update qualification_ind
3197 --while creating the first or deleting the last header level qualifier.
3198 IF (p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_CREATE AND
3199 p_QUALIFIERS_rec.list_line_id = -1 AND
3200 l_hlq_count = 0) OR
3201 (p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE AND
3202 p_QUALIFIERS_rec.list_line_id = -1 AND
3203 l_hlq_count = 1)
3204 THEN
3205
3206 /* Bug 4191955 No need to log delayed request to update header qualification indicator
3207 for secondary price list */
3208
3209 IF NOT (l_list_type_code = 'PRL' and p_QUALIFIERS_rec.qualifier_context='MODLIST'
3210 and p_QUALIFIERS_rec.qualifier_attribute='QUALIFIER_ATTRIBUTE4') THEN
3211
3212 qp_delayed_requests_PVT.log_request(
3213 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3214 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3215 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3216 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3217 p_request_type =>QP_GLOBALS.G_UPDATE_LIST_QUAL_IND,
3218 x_return_status => l_return_status);
3219 END IF;
3220
3221 IF l_list_type_code NOT IN ('PRL', 'AGR') THEN
3222
3223 oe_debug_pub.add('log delayed request------------');
3224
3225 qp_delayed_requests_PVT.log_request(
3226 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3227 p_param1 => p_QUALIFIERS_rec.list_header_id,
3228 p_entity_id => p_QUALIFIERS_rec.qualifier_id,
3229 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3230 p_requesting_entity_id => p_QUALIFIERS_rec.qualifier_id,
3231 p_request_type =>QP_GLOBALS.G_MAINTAIN_LIST_HEADER_PHASES,
3232 x_return_status => l_return_status);
3233
3234 END IF;
3235
3236 --Submit a Line Level Delayed Request to update qualification_ind
3237 --while creating the first or deleting the last line level qualifier.
3238 ELSIF (p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_CREATE AND
3239 p_QUALIFIERS_rec.list_line_id <> -1 AND
3240 l_llq_count = 0) OR
3241 (p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE AND
3242 p_QUALIFIERS_rec.list_line_id <> -1 AND
3243 l_llq_count = 1)
3244 THEN
3245 qp_delayed_requests_PVT.log_request(
3246 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3247 p_entity_id => p_QUALIFIERS_rec.list_line_id,
3248 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3249 p_requesting_entity_id => p_QUALIFIERS_rec.list_line_id,
3250 p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
3251 x_return_status => l_return_status);
3252
3253 -- mkarya for bug1769955 - log the MAINTAIN_LIST_HEADER_PHASES request for line qualifier
3254 IF l_list_type_code NOT IN ('PRL', 'AGR') THEN
3255 qp_delayed_requests_PVT.log_request(
3256 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3257 p_param1 => p_QUALIFIERS_rec.list_header_id,
3258 p_entity_id => p_QUALIFIERS_rec.qualifier_id,
3259 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3260 p_requesting_entity_id => p_QUALIFIERS_rec.qualifier_id,
3261 p_request_type =>QP_GLOBALS.G_MAINTAIN_LIST_HEADER_PHASES,
3262 x_return_status => l_return_status);
3263 END IF;
3264
3265 END IF;
3266
3267 END IF; -- If operation is create or delete.
3268
3269 /* Added for 7120399 */
3270 if p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE then
3271
3272 BEGIN
3273 SELECT list_type_code
3274 INTO l_list_type_code
3275 FROM qp_list_headers_vl
3276 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id;
3277 EXCEPTION
3278 WHEN OTHERS THEN
3279 NULL;
3280 END;
3281 end if;
3282
3283 IF p_QUALIFIERS_rec.operation IN (QP_GLOBALS.G_OPR_CREATE,
3284 QP_GLOBALS.G_OPR_UPDATE,
3285 QP_GLOBALS.G_OPR_DELETE) THEN
3286 IF (l_list_type_code in ('PRL','AGR')) OR ((l_list_type_code NOT IN ('PRL','AGR')) AND (l_denormalize_qual= 'Y')) then --7120399
3287
3288 qp_delayed_requests_PVT.log_request(
3289 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3290 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3291 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3292 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3293 p_request_type => QP_GLOBALS.G_MAINTAIN_QUALIFIER_DEN_COLS,
3294 x_return_status => l_return_status);
3295 END IF;
3296 --Added following delayed request for Attributes Manager
3297 qp_delayed_requests_PVT.log_request(
3298 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3299 p_entity_id => p_QUALIFIERS_rec.qualifier_id,
3300 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3301 p_requesting_entity_id => p_QUALIFIERS_rec.qualifier_id,
3302 p_request_type => QP_GLOBALS.G_MIXED_QUAL_SEG_LEVELS,
3303 p_param1 => p_QUALIFIERS_rec.qualifier_rule_id,
3304 x_return_status => l_return_status);
3305
3306 END IF;
3307
3308 /*
3309 IF (p_QUALIFIERS_rec.operation IN
3310 (QP_GLOBALS.G_OPR_CREATE, QP_GLOBALS.G_OPR_UPDATE)) THEN
3311
3312 oe_debug_pub.add('log delayed request--------warn_same_qual_grp');
3313
3314 qp_delayed_requests_PVT.log_request(
3315 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3316 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3317 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3318 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3319 p_request_type =>QP_GLOBALS.G_WARN_SAME_QUALIFIER_GROUP,
3320 p_param1 => p_QUALIFIERS_rec.list_line_id,
3321 p_param2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3322 p_param3 => p_QUALIFIERS_rec.qualifier_context,
3323 p_param4 => p_QUALIFIERS_rec.qualifier_attribute,
3324 x_return_status => l_return_status);
3325
3326 END IF;
3327 */
3328
3329 -- Attribute Manager Change BEGIN - required for modifiers
3330 -- Logging the request here instead of apply_attribute_changes because list_line_id is -1 even
3331 -- if qualifier is LINE level in apply_attribute_changes
3332 --IF ( p_QUALIFIERS_rec.operation IN (QP_GLOBALS.G_OPR_CREATE,
3333 -- QP_GLOBALS.G_OPR_UPDATE) ) THEN
3334 IF qp_util.attrmgr_installed = 'Y' THEN
3335 IF (NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_attribute,
3336 p_old_QUALIFIERS_rec.qualifier_attribute))
3337 OR
3338 (NOT QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
3339 p_old_QUALIFIERS_rec.qualifier_grouping_no))
3340 OR (p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE) THEN
3341 -- Get the List Type Code
3342 BEGIN
3343 SELECT list_type_code
3344 INTO l_list_type_code
3345 FROM qp_list_headers_vl
3346 WHERE list_header_id = p_QUALIFIERS_rec.list_header_id;
3347 EXCEPTION
3348 WHEN OTHERS THEN
3349 NULL;
3350 END;
3351 IF l_list_type_code NOT IN ('PRL', 'AGR') THEN
3352 oe_debug_pub.add('list_header_id = ' || p_qualifiers_rec.list_header_id);
3353 oe_debug_pub.add('list_line_id = ' || p_qualifiers_rec.list_line_id);
3354 oe_debug_pub.add('qualifier_grouping_no = ' || p_qualifiers_rec.qualifier_grouping_no);
3355 qp_delayed_requests_PVT.log_request(
3356 p_entity_code => QP_GLOBALS.G_ENTITY_QUALIFIERS,
3357 p_request_unique_key1 => p_qualifiers_rec.list_header_id,
3358 p_request_unique_key2 => p_qualifiers_rec.qualifier_grouping_no,
3359 p_entity_id => p_qualifiers_rec.list_line_id,
3360 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_QUALIFIERS,
3361 p_requesting_entity_id => p_qualifiers_rec.list_line_id,
3362 p_request_type =>QP_GLOBALS.G_CHECK_SEGMENT_LEVEL_IN_GROUP,
3363 x_return_status => l_return_status);
3364
3365 -- mkarya for attribute manager
3366 -- Log a delayed request to validate that if header level qualifier exist then at least
3367 -- one qualifier should exist for any existence of modifier line of modifier level
3368 -- 'LINE' or 'ORDER'
3369 if p_qualifiers_rec.list_line_id = -1 then
3370 qp_delayed_requests_PVT.log_request(
3371 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3372 p_entity_id => l_qualifiers_rec.list_header_id,
3373 p_request_unique_key1 => -1,
3374 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
3375 p_requesting_entity_id => l_qualifiers_rec.list_header_id,
3376 p_request_type =>QP_GLOBALS.G_CHECK_LINE_FOR_HEADER_QUAL,
3377 x_return_status => l_return_status);
3378 end if;
3379
3380 -- if qualifier_grouping_no is updated to -1 then log the request for all other
3381 -- qualifier_grouping_no for the given list_header_id and list_line_id
3382 if p_qualifiers_rec.qualifier_grouping_no = -1
3383 and p_qualifiers_rec.operation = QP_GLOBALS.G_OPR_UPDATE then
3384 declare
3385 cursor c_qual_grp is
3386 select distinct qualifier_grouping_no qualifier_grouping_no
3387 from qp_qualifiers
3388 where list_header_id = p_qualifiers_rec.list_header_id
3389 and list_line_id = p_qualifiers_rec.list_line_id
3390 and qualifier_grouping_no <> -1;
3391 begin
3392
3393 for l_rec in c_qual_grp
3394 LOOP
3395 oe_debug_pub.add('In LOOP - update of qualifier grp to -1');
3396 oe_debug_pub.add('list_header_id = ' || p_qualifiers_rec.list_header_id);
3397 oe_debug_pub.add('list_line_id = ' || p_qualifiers_rec.list_line_id);
3398 oe_debug_pub.add('qualifier_grouping_no = ' || l_rec.qualifier_grouping_no);
3399 qp_delayed_requests_PVT.log_request(
3400 p_entity_code => QP_GLOBALS.G_ENTITY_QUALIFIERS,
3401 p_request_unique_key1 => p_qualifiers_rec.list_header_id,
3402 p_request_unique_key2 => l_rec.qualifier_grouping_no,
3403 p_entity_id => p_qualifiers_rec.list_line_id,
3404 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_QUALIFIERS,
3405 p_requesting_entity_id => p_qualifiers_rec.list_line_id,
3406 p_request_type =>QP_GLOBALS.G_CHECK_SEGMENT_LEVEL_IN_GROUP,
3407 x_return_status => l_return_status);
3408
3409 END LOOP;
3410
3411 end;
3412 end if; -- grp_no is -1 and operation is update
3413 end if; -- list_type_code is for modifiers
3414 END IF; -- Change in either qualifier_grouping_no or qualifier_attribute
3415 END IF; -- Attribute Manager Installed
3416 --END IF; -- operation is insert or update
3417 -- Attribute Manager change end
3418
3419 --pattern
3420
3421 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
3422
3423 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_CREATE AND
3424 p_QUALIFIERS_rec.list_line_id = -1 THEN
3425 -- header qualifier is added to price list/modifier
3426 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3427 qp_delayed_requests_pvt.log_request(
3428 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3429 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3430 p_request_unique_key1 => NULL,
3431 p_request_unique_key2 => 'I',
3432 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3433 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3434 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3435 x_return_status => l_return_status);
3436 ELSE
3437 qp_delayed_requests_pvt.log_request(
3438 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3439 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3440 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3441 p_request_unique_key2 => 'I',
3442 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3443 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3444 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3445 x_return_status => l_return_status);
3446 END IF;
3447 END IF;
3448
3449 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE AND
3450 p_QUALIFIERS_rec.list_line_id = -1 THEN
3451 -- header qualifier is modified
3452 IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
3453 p_old_QUALIFIERS_rec.qualifier_grouping_no) THEN
3454 -- updated other than qualifier grouping number
3455 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3456 qp_delayed_requests_pvt.log_request(
3457 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3458 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3459 p_request_unique_key1 => NULL,
3460 p_request_unique_key2 => 'U',
3461 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3462 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3463 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3464 x_return_status => l_return_status);
3465 ELSE
3466 qp_delayed_requests_pvt.log_request(
3467 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3468 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3469 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3470 p_request_unique_key2 => 'U',
3471 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3472 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3473 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3474 x_return_status => l_return_status);
3475 END IF;
3476
3477 ELSE
3478 -- qualifier grouping number is modified
3479 IF (p_QUALIFIERS_rec.qualifier_grouping_no = -1 or
3480 p_old_QUALIFIERS_rec.qualifier_grouping_no = -1) THEN
3481 qp_delayed_requests_pvt.log_request(
3482 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3483 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3484 p_request_unique_key1 => NULL,
3485 p_request_unique_key2 => 'U',
3486 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3487 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3488 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3489 x_return_status => l_return_status);
3490 ELSE
3491 qp_delayed_requests_pvt.log_request(
3492 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3493 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3494 p_request_unique_key1 => p_old_QUALIFIERS_rec.qualifier_grouping_no,
3495 p_request_unique_key2 => 'U',
3496 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3497 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3498 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3499 x_return_status => l_return_status);
3500 qp_delayed_requests_pvt.log_request(
3501 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3502 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3503 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3504 p_request_unique_key2 => 'U',
3505 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3506 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3507 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3508 x_return_status => l_return_status);
3509 END IF;
3510 END IF;
3511
3512 END IF;
3513
3514 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE AND
3515 p_QUALIFIERS_rec.list_line_id = -1 THEN
3516 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 then
3517 qp_delayed_requests_pvt.log_request(
3518 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3519 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3520 p_request_unique_key1 => NULL,
3521 p_request_unique_key2 => 'D',
3522 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3523 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3524 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3525 x_return_status => l_return_status);
3526 ELSE
3527 qp_delayed_requests_pvt.log_request(
3528 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3529 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3530 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3531 p_request_unique_key2 => 'D',
3532 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3533 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3534 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3535 x_return_status => l_return_status);
3536 END IF;
3537
3538 END IF;
3539 -- line pattern
3540 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_CREATE AND
3541 p_QUALIFIERS_rec.list_line_id <> -1 THEN
3542 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3543 qp_delayed_requests_pvt.log_request(
3544 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3545 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3546 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3547 p_request_unique_key2 => NULL,
3548 p_request_unique_key3 => 'I',
3549 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3550 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3551 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3552 x_return_status => l_return_status);
3553 ELSE
3554 qp_delayed_requests_pvt.log_request(
3555 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3556 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3557 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3558 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3559 p_request_unique_key3 => 'I',
3560 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3561 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3562 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3563 x_return_status => l_return_status);
3564 END IF;
3565 END IF;
3566
3567 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE AND
3568 p_QUALIFIERS_rec.list_line_id <> -1 THEN
3569 IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
3570 p_old_QUALIFIERS_rec.qualifier_grouping_no) THEN
3571 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3572 qp_delayed_requests_pvt.log_request(
3573 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3574 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3575 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3576 p_request_unique_key2 => NULL,
3577 p_request_unique_key3 => 'U',
3578 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3579 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3580 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3581 x_return_status => l_return_status);
3582 ELSE
3583 qp_delayed_requests_pvt.log_request(
3584 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3585 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3586 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3587 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3588 p_request_unique_key3 => 'U',
3589 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3590 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3591 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3592 x_return_status => l_return_status);
3593 END IF;
3594
3595 ELSE
3596 IF (p_QUALIFIERS_rec.qualifier_grouping_no = -1 or
3597 p_old_QUALIFIERS_rec.qualifier_grouping_no = -1) THEN
3598 qp_delayed_requests_pvt.log_request(
3599 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3600 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3601 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3602 p_request_unique_key2 => NULL,
3603 p_request_unique_key3 => 'U',
3604 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3605 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3606 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3607 x_return_status => l_return_status);
3608 ELSE
3609 qp_delayed_requests_pvt.log_request(
3610 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3611 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3612 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3613 p_request_unique_key2 => p_old_QUALIFIERS_rec.qualifier_grouping_no,
3614 p_request_unique_key3 => 'U',
3615 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3616 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3617 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3618 x_return_status => l_return_status);
3619 qp_delayed_requests_pvt.log_request(
3620 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3621 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3622 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3623 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3624 p_request_unique_key3 => 'U',
3625 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3626 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3627 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3628 x_return_status => l_return_status);
3629 END IF;
3630 END IF;
3631
3632 END IF;
3633
3634 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE AND
3635 p_QUALIFIERS_rec.list_line_id <> -1 THEN
3636 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3637 qp_delayed_requests_pvt.log_request(
3638 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3639 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3640 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3641 p_request_unique_key2 => NULL,
3642 p_request_unique_key3 => 'D',
3643 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3644 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3645 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3646 x_return_status => l_return_status);
3647 ELSE
3648 qp_delayed_requests_pvt.log_request(
3649 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3650 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3651 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3652 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3653 p_request_unique_key3 => 'D',
3654 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3655 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3656 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3657 x_return_status => l_return_status);
3658 END IF;
3659
3660 END IF;
3661
3662 END IF; --Java Engine Installed
3663 --pattern
3664 -- jagan's PL/SQL pattern
3665 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
3666 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' THEN
3667
3668 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_CREATE AND
3669 p_QUALIFIERS_rec.list_line_id = -1 THEN
3670 -- header qualifier is added to price list/modifier
3671 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3672 qp_delayed_requests_pvt.log_request(
3673 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3674 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3675 p_request_unique_key1 => NULL,
3676 p_request_unique_key2 => 'I',
3677 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3678 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3679 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3680 x_return_status => l_return_status);
3681 ELSE
3682 qp_delayed_requests_pvt.log_request(
3683 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3684 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3685 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3686 p_request_unique_key2 => 'I',
3687 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3688 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3689 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3690 x_return_status => l_return_status);
3691 END IF;
3692 END IF;
3693 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE AND
3694 p_QUALIFIERS_rec.list_line_id = -1 THEN
3695 -- header qualifier is modified
3696 IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
3697 p_old_QUALIFIERS_rec.qualifier_grouping_no) THEN
3698 -- updated other than qualifier grouping number
3699 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3700 qp_delayed_requests_pvt.log_request(
3701 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3702 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3703 p_request_unique_key1 => NULL,
3704 p_request_unique_key2 => 'U',
3705 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3706 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3707 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3708 x_return_status => l_return_status);
3709 ELSE
3710 qp_delayed_requests_pvt.log_request(
3711 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3712 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3713 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3714 p_request_unique_key2 => 'U',
3715 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3716 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3717 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3718 x_return_status => l_return_status);
3719 END IF;
3720 ELSE
3721 -- qualifier grouping number is modified
3722 IF (p_QUALIFIERS_rec.qualifier_grouping_no = -1 or
3723 p_old_QUALIFIERS_rec.qualifier_grouping_no = -1) THEN
3724 qp_delayed_requests_pvt.log_request(
3725 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3726 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3727 p_request_unique_key1 => NULL,
3728 p_request_unique_key2 => 'U',
3729 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3730 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3731 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3732 x_return_status => l_return_status);
3733 ELSE
3734 qp_delayed_requests_pvt.log_request(
3735 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3736 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3737 p_request_unique_key1 => p_old_QUALIFIERS_rec.qualifier_grouping_no,
3738 p_request_unique_key2 => 'U',
3739 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3740 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3741 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3742 x_return_status => l_return_status);
3743 qp_delayed_requests_pvt.log_request(
3744 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3745 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3746 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3747 p_request_unique_key2 => 'U',
3748 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3749 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3750 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3751 x_return_status => l_return_status);
3752 END IF;
3753 END IF;
3754
3755 END IF;
3756 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE AND
3757 p_QUALIFIERS_rec.list_line_id = -1 THEN
3758 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 then
3759 qp_delayed_requests_pvt.log_request(
3760 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3761 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3762 p_request_unique_key1 => NULL,
3763 p_request_unique_key2 => 'D',
3764 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3765 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3766 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3767 x_return_status => l_return_status);
3768 ELSE
3769 qp_delayed_requests_pvt.log_request(
3770 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3771 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3772 p_request_unique_key1 => p_QUALIFIERS_rec.qualifier_grouping_no,
3773 p_request_unique_key2 => 'D',
3774 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3775 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3776 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
3777 x_return_status => l_return_status);
3778 END IF;
3779 END IF;
3780 -- line pattern
3781 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_CREATE AND
3782 p_QUALIFIERS_rec.list_line_id <> -1 THEN
3783 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3784 qp_delayed_requests_pvt.log_request(
3785 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3786 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3787 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3788 p_request_unique_key2 => NULL,
3789 p_request_unique_key3 => 'I',
3790 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3791 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3792 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3793 x_return_status => l_return_status);
3794 ELSE
3795 qp_delayed_requests_pvt.log_request(
3796 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3797 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3798 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3799 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3800 p_request_unique_key3 => 'I',
3801 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3802 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3803 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3804 x_return_status => l_return_status);
3805 END IF;
3806 END IF;
3807 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE AND
3808 p_QUALIFIERS_rec.list_line_id <> -1 THEN
3809 IF QP_GLOBALS.Equal(p_QUALIFIERS_rec.qualifier_grouping_no,
3810 p_old_QUALIFIERS_rec.qualifier_grouping_no) THEN
3811 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3812 qp_delayed_requests_pvt.log_request(
3813 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3814 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3815 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3816 p_request_unique_key2 => NULL,
3817 p_request_unique_key3 => 'U',
3818 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3819 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3820 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3821 x_return_status => l_return_status);
3822 ELSE
3823 qp_delayed_requests_pvt.log_request(
3824 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3825 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3826 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3827 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3828 p_request_unique_key3 => 'U',
3829 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3830 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3831 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3832 x_return_status => l_return_status);
3833 END IF;
3834 ELSE
3835 IF (p_QUALIFIERS_rec.qualifier_grouping_no = -1 or
3836 p_old_QUALIFIERS_rec.qualifier_grouping_no = -1) THEN
3837 qp_delayed_requests_pvt.log_request(
3838 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3839 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3840 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3841 p_request_unique_key2 => NULL,
3842 p_request_unique_key3 => 'U',
3843 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3844 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3845 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3846 x_return_status => l_return_status);
3847 ELSE
3848 qp_delayed_requests_pvt.log_request(
3849 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3850 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3851 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3852 p_request_unique_key2 => p_old_QUALIFIERS_rec.qualifier_grouping_no,
3853 p_request_unique_key3 => 'U',
3854 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3855 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3856 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3857 x_return_status => l_return_status);
3858 qp_delayed_requests_pvt.log_request(
3859 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3860 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3861 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3862 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3863 p_request_unique_key3 => 'U',
3864 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3865 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3866 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3867 x_return_status => l_return_status);
3868 END IF;
3869 END IF;
3870
3871 END IF;
3872 IF p_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE AND
3873 p_QUALIFIERS_rec.list_line_id <> -1 THEN
3874 IF p_QUALIFIERS_rec.qualifier_grouping_no = -1 THEN
3875 qp_delayed_requests_pvt.log_request(
3876 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3877 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3878 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3879 p_request_unique_key2 => NULL,
3880 p_request_unique_key3 => 'D',
3881 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3882 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3883 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3884 x_return_status => l_return_status);
3885 ELSE
3886 qp_delayed_requests_pvt.log_request(
3887 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3888 p_entity_id => p_QUALIFIERS_rec.list_header_id,
3889 p_request_unique_key1 => p_QUALIFIERS_rec.list_line_id,
3890 p_request_unique_key2 => p_QUALIFIERS_rec.qualifier_grouping_no,
3891 p_request_unique_key3 => 'D',
3892 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
3893 p_requesting_entity_id => p_QUALIFIERS_rec.list_header_id,
3894 p_request_type => QP_GLOBALS.G_MAINTAIN_LINE_PATTERN,
3895 x_return_status => l_return_status);
3896 END IF;
3897
3898 END IF;
3899
3900 END IF; --Java Engine Installed
3901 END IF; -- PL/SQL pattern search enabled
3902
3903 EXCEPTION
3904 WHEN FND_API.G_EXC_ERROR THEN
3905 RAISE;
3906 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3907 RAISE;
3908 WHEN OTHERS THEN
3909 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
3910 THEN
3911 oe_msg_pub.Add_Exc_Msg
3912 ( G_PKG_NAME
3913 , 'Pre_Write_Process'
3914 );
3915 END IF;
3916 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3917 END Pre_Write_Process;
3918
3919 END QP_Qualifiers_Util;