[Home] [Help]
PACKAGE BODY: APPS.QP_CON_UTIL
Source
1 PACKAGE BODY QP_Con_Util AS
2 /* $Header: QPXUCONB.pls 120.2 2006/07/11 22:54:29 hwong noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Con_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_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
13 , p_old_CON_rec IN QP_Attributes_PUB.Con_Rec_Type :=
14 QP_Attributes_PUB.G_MISS_CON_REC
15 , x_CON_rec OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Con_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_CON_rec := p_CON_rec;
26
27 -- If attr_id is missing compare old and new records and for
28 -- every changed attribute clear its dependent fields.
29
30 IF p_attr_id = FND_API.G_MISS_NUM THEN
31
32 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute1,p_old_CON_rec.attribute1)
33 THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE1;
36 END IF;
37
38 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute10,p_old_CON_rec.attribute10)
39 THEN
40 l_index := l_index + 1;
41 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE10;
42 END IF;
43
44 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute11,p_old_CON_rec.attribute11)
45 THEN
46 l_index := l_index + 1;
47 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE11;
48 END IF;
49
50 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute12,p_old_CON_rec.attribute12)
51 THEN
52 l_index := l_index + 1;
53 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE12;
54 END IF;
55
56 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute13,p_old_CON_rec.attribute13)
57 THEN
58 l_index := l_index + 1;
59 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE13;
60 END IF;
61
62 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute14,p_old_CON_rec.attribute14)
63 THEN
64 l_index := l_index + 1;
65 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE14;
66 END IF;
67
68 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute15,p_old_CON_rec.attribute15)
69 THEN
70 l_index := l_index + 1;
71 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE15;
72 END IF;
73
74 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute2,p_old_CON_rec.attribute2)
75 THEN
76 l_index := l_index + 1;
77 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE2;
78 END IF;
79
80 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute3,p_old_CON_rec.attribute3)
81 THEN
82 l_index := l_index + 1;
83 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE3;
84 END IF;
85
86 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute4,p_old_CON_rec.attribute4)
87 THEN
88 l_index := l_index + 1;
89 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE4;
90 END IF;
91
92 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute5,p_old_CON_rec.attribute5)
93 THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE5;
96 END IF;
97
98 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute6,p_old_CON_rec.attribute6)
99 THEN
100 l_index := l_index + 1;
101 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE6;
102 END IF;
103
104 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute7,p_old_CON_rec.attribute7)
105 THEN
106 l_index := l_index + 1;
107 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE7;
108 END IF;
109
110 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute8,p_old_CON_rec.attribute8)
111 THEN
112 l_index := l_index + 1;
113 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE8;
114 END IF;
115
116 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute9,p_old_CON_rec.attribute9)
117 THEN
118 l_index := l_index + 1;
119 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE9;
120 END IF;
121
122 IF NOT QP_GLOBALS.Equal(p_CON_rec.context,p_old_CON_rec.context)
123 THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_CONTEXT;
126 END IF;
127
128 IF NOT QP_GLOBALS.Equal(p_CON_rec.created_by,p_old_CON_rec.created_by)
129 THEN
130 l_index := l_index + 1;
131 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_CREATED_BY;
132 END IF;
133
134 IF NOT QP_GLOBALS.Equal(p_CON_rec.creation_date,p_old_CON_rec.creation_date)
135 THEN
136 l_index := l_index + 1;
137 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_CREATION_DATE;
138 END IF;
139
140 IF NOT QP_GLOBALS.Equal(p_CON_rec.enabled_flag,p_old_CON_rec.enabled_flag)
141 THEN
142 l_index := l_index + 1;
143 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ENABLED;
144 END IF;
145
146 IF NOT QP_GLOBALS.Equal(p_CON_rec.last_updated_by,p_old_CON_rec.last_updated_by)
147 THEN
148 l_index := l_index + 1;
149 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_LAST_UPDATED_BY;
150 END IF;
151
152 IF NOT QP_GLOBALS.Equal(p_CON_rec.last_update_date,p_old_CON_rec.last_update_date)
153 THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_LAST_UPDATE_DATE;
156 END IF;
157
158 IF NOT QP_GLOBALS.Equal(p_CON_rec.last_update_login,p_old_CON_rec.last_update_login)
159 THEN
160 l_index := l_index + 1;
161 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_LAST_UPDATE_LOGIN;
162 END IF;
163
164 IF NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_code,p_old_CON_rec.prc_context_code)
165 THEN
166 l_index := l_index + 1;
167 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PRC_CONTEXT_code;
168 END IF;
169
170 IF NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_id,p_old_CON_rec.prc_context_id)
171 THEN
172 l_index := l_index + 1;
173 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PRC_CONTEXT;
174 END IF;
175
176 IF NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_type,p_old_CON_rec.prc_context_type)
177 THEN
178 l_index := l_index + 1;
179 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PRC_CONTEXT_TYPE;
180 END IF;
181
182 IF NOT QP_GLOBALS.Equal(p_CON_rec.program_application_id,p_old_CON_rec.program_application_id)
183 THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PROGRAM_APPLICATION;
186 END IF;
187
188 IF NOT QP_GLOBALS.Equal(p_CON_rec.program_id,p_old_CON_rec.program_id)
189 THEN
190 l_index := l_index + 1;
191 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PROGRAM;
192 END IF;
193
194 IF NOT QP_GLOBALS.Equal(p_CON_rec.program_update_date,p_old_CON_rec.program_update_date)
195 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PROGRAM_UPDATE_DATE;
198 END IF;
199
200 IF NOT QP_GLOBALS.Equal(p_CON_rec.seeded_description,p_old_CON_rec.seeded_description)
201 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_SEEDED_DESCRIPTION;
204 END IF;
205
206 IF NOT QP_GLOBALS.Equal(p_CON_rec.seeded_flag,p_old_CON_rec.seeded_flag)
207 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_SEEDED;
210 END IF;
211
212 IF NOT QP_GLOBALS.Equal(p_CON_rec.seeded_prc_context_name,p_old_CON_rec.seeded_prc_context_name)
213 THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_SEEDED_PRC_CONTEXT_NAME;
216 END IF;
217
218 IF NOT QP_GLOBALS.Equal(p_CON_rec.user_description,p_old_CON_rec.user_description)
219 THEN
220 l_index := l_index + 1;
221 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_USER_DESCRIPTION;
222 END IF;
223
224 IF NOT QP_GLOBALS.Equal(p_CON_rec.user_prc_context_name,p_old_CON_rec.user_prc_context_name)
225 THEN
226 l_index := l_index + 1;
227 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_USER_PRC_CONTEXT_NAME;
228 END IF;
229
230 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
231 l_index := l_index + 1;
232 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE1;
233 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
234 l_index := l_index + 1;
235 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE10;
236 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
237 l_index := l_index + 1;
238 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE11;
239 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
240 l_index := l_index + 1;
241 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE12;
242 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
243 l_index := l_index + 1;
244 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE13;
245 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
246 l_index := l_index + 1;
247 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE14;
248 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
249 l_index := l_index + 1;
250 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE15;
251 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
252 l_index := l_index + 1;
253 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE2;
254 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
255 l_index := l_index + 1;
256 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE3;
257 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
258 l_index := l_index + 1;
259 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE4;
260 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
261 l_index := l_index + 1;
262 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE5;
263 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
264 l_index := l_index + 1;
265 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE6;
266 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
267 l_index := l_index + 1;
268 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE7;
269 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
270 l_index := l_index + 1;
271 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE8;
272 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
273 l_index := l_index + 1;
274 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ATTRIBUTE9;
275 ELSIF p_attr_id = G_CONTEXT THEN
276 l_index := l_index + 1;
277 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_CONTEXT;
278 ELSIF p_attr_id = G_CREATED_BY THEN
279 l_index := l_index + 1;
280 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_CREATED_BY;
281 ELSIF p_attr_id = G_CREATION_DATE THEN
282 l_index := l_index + 1;
283 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_CREATION_DATE;
284 ELSIF p_attr_id = G_ENABLED THEN
285 l_index := l_index + 1;
286 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_ENABLED;
287 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
288 l_index := l_index + 1;
289 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_LAST_UPDATED_BY;
290 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
291 l_index := l_index + 1;
292 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_LAST_UPDATE_DATE;
293 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
294 l_index := l_index + 1;
295 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_LAST_UPDATE_LOGIN;
296 ELSIF p_attr_id = G_PRC_CONTEXT_code THEN
297 l_index := l_index + 1;
298 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PRC_CONTEXT_code;
299 ELSIF p_attr_id = G_PRC_CONTEXT THEN
300 l_index := l_index + 1;
301 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PRC_CONTEXT;
302 ELSIF p_attr_id = G_PRC_CONTEXT_TYPE THEN
303 l_index := l_index + 1;
304 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PRC_CONTEXT_TYPE;
305 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
306 l_index := l_index + 1;
307 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PROGRAM_APPLICATION;
308 ELSIF p_attr_id = G_PROGRAM THEN
309 l_index := l_index + 1;
310 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PROGRAM;
311 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
312 l_index := l_index + 1;
313 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_PROGRAM_UPDATE_DATE;
314 ELSIF p_attr_id = G_SEEDED_DESCRIPTION THEN
315 l_index := l_index + 1;
316 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_SEEDED_DESCRIPTION;
317 ELSIF p_attr_id = G_SEEDED THEN
318 l_index := l_index + 1;
319 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_SEEDED;
320 ELSIF p_attr_id = G_SEEDED_PRC_CONTEXT_NAME THEN
321 l_index := l_index + 1;
322 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_SEEDED_PRC_CONTEXT_NAME;
323 ELSIF p_attr_id = G_USER_DESCRIPTION THEN
324 l_index := l_index + 1;
325 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_USER_DESCRIPTION;
326 ELSIF p_attr_id = G_USER_PRC_CONTEXT_NAME THEN
327 l_index := l_index + 1;
328 l_src_attr_tbl(l_index) := QP_CON_UTIL.G_USER_PRC_CONTEXT_NAME;
329 END IF;
330
331 END Clear_Dependent_Attr;
332
333 -- Procedure Apply_Attribute_Changes
334
335 PROCEDURE Apply_Attribute_Changes
336 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
337 , p_old_CON_rec IN QP_Attributes_PUB.Con_Rec_Type :=
338 QP_Attributes_PUB.G_MISS_CON_REC
339 , x_CON_rec OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Con_Rec_Type
340 )
341 IS
342 BEGIN
343
344 -- Load out record
345
346 x_CON_rec := p_CON_rec;
347
348 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute1,p_old_CON_rec.attribute1)
349 THEN
350 NULL;
351 END IF;
352
353 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute10,p_old_CON_rec.attribute10)
354 THEN
355 NULL;
356 END IF;
357
358 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute11,p_old_CON_rec.attribute11)
359 THEN
360 NULL;
361 END IF;
362
363 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute12,p_old_CON_rec.attribute12)
364 THEN
365 NULL;
366 END IF;
367
368 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute13,p_old_CON_rec.attribute13)
369 THEN
370 NULL;
371 END IF;
372
373 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute14,p_old_CON_rec.attribute14)
374 THEN
375 NULL;
376 END IF;
377
378 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute15,p_old_CON_rec.attribute15)
379 THEN
380 NULL;
381 END IF;
382
383 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute2,p_old_CON_rec.attribute2)
384 THEN
385 NULL;
386 END IF;
387
388 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute3,p_old_CON_rec.attribute3)
389 THEN
390 NULL;
391 END IF;
392
393 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute4,p_old_CON_rec.attribute4)
394 THEN
395 NULL;
396 END IF;
397
398 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute5,p_old_CON_rec.attribute5)
399 THEN
400 NULL;
401 END IF;
402
403 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute6,p_old_CON_rec.attribute6)
404 THEN
405 NULL;
406 END IF;
407
408 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute7,p_old_CON_rec.attribute7)
409 THEN
410 NULL;
411 END IF;
412
413 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute8,p_old_CON_rec.attribute8)
414 THEN
415 NULL;
416 END IF;
417
418 IF NOT QP_GLOBALS.Equal(p_CON_rec.attribute9,p_old_CON_rec.attribute9)
419 THEN
420 NULL;
421 END IF;
422
423 IF NOT QP_GLOBALS.Equal(p_CON_rec.context,p_old_CON_rec.context)
424 THEN
425 NULL;
426 END IF;
427
428 IF NOT QP_GLOBALS.Equal(p_CON_rec.created_by,p_old_CON_rec.created_by)
429 THEN
430 NULL;
431 END IF;
432
433 IF NOT QP_GLOBALS.Equal(p_CON_rec.creation_date,p_old_CON_rec.creation_date)
434 THEN
435 NULL;
436 END IF;
437
438 IF NOT QP_GLOBALS.Equal(p_CON_rec.enabled_flag,p_old_CON_rec.enabled_flag)
439 THEN
440 NULL;
441 END IF;
442
443 IF NOT QP_GLOBALS.Equal(p_CON_rec.last_updated_by,p_old_CON_rec.last_updated_by)
444 THEN
445 NULL;
446 END IF;
447
448 IF NOT QP_GLOBALS.Equal(p_CON_rec.last_update_date,p_old_CON_rec.last_update_date)
449 THEN
450 NULL;
451 END IF;
452
453 IF NOT QP_GLOBALS.Equal(p_CON_rec.last_update_login,p_old_CON_rec.last_update_login)
454 THEN
455 NULL;
456 END IF;
457
458 IF NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_code,p_old_CON_rec.prc_context_code)
459 THEN
460 NULL;
461 END IF;
462
463 IF NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_id,p_old_CON_rec.prc_context_id)
464 THEN
465 NULL;
466 END IF;
467
468 IF NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_type,p_old_CON_rec.prc_context_type)
469 THEN
470 NULL;
471 END IF;
472
473 IF NOT QP_GLOBALS.Equal(p_CON_rec.program_application_id,p_old_CON_rec.program_application_id)
474 THEN
475 NULL;
476 END IF;
477
478 IF NOT QP_GLOBALS.Equal(p_CON_rec.program_id,p_old_CON_rec.program_id)
479 THEN
480 NULL;
481 END IF;
482
483 IF NOT QP_GLOBALS.Equal(p_CON_rec.program_update_date,p_old_CON_rec.program_update_date)
484 THEN
485 NULL;
486 END IF;
487
488 IF NOT QP_GLOBALS.Equal(p_CON_rec.seeded_description,p_old_CON_rec.seeded_description)
489 THEN
490 NULL;
491 END IF;
492
493 IF NOT QP_GLOBALS.Equal(p_CON_rec.seeded_flag,p_old_CON_rec.seeded_flag)
494 THEN
495 NULL;
496 END IF;
497
498 IF NOT QP_GLOBALS.Equal(p_CON_rec.seeded_prc_context_name,p_old_CON_rec.seeded_prc_context_name)
499 THEN
500 NULL;
501 END IF;
502
503 IF NOT QP_GLOBALS.Equal(p_CON_rec.user_description,p_old_CON_rec.user_description)
504 THEN
505 NULL;
506 END IF;
507
508 IF NOT QP_GLOBALS.Equal(p_CON_rec.user_prc_context_name,p_old_CON_rec.user_prc_context_name)
509 THEN
510 NULL;
511 END IF;
512
513 END Apply_Attribute_Changes;
514
515 -- Function Complete_Record
516
517 FUNCTION Complete_Record
518 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
519 , p_old_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
520 ) RETURN QP_Attributes_PUB.Con_Rec_Type
521 IS
522 l_CON_rec QP_Attributes_PUB.Con_Rec_Type := p_CON_rec;
523 BEGIN
524
525 IF l_CON_rec.attribute1 = FND_API.G_MISS_CHAR THEN
526 l_CON_rec.attribute1 := p_old_CON_rec.attribute1;
527 END IF;
528
529 IF l_CON_rec.attribute10 = FND_API.G_MISS_CHAR THEN
530 l_CON_rec.attribute10 := p_old_CON_rec.attribute10;
531 END IF;
532
533 IF l_CON_rec.attribute11 = FND_API.G_MISS_CHAR THEN
534 l_CON_rec.attribute11 := p_old_CON_rec.attribute11;
535 END IF;
536
537 IF l_CON_rec.attribute12 = FND_API.G_MISS_CHAR THEN
538 l_CON_rec.attribute12 := p_old_CON_rec.attribute12;
539 END IF;
540
541 IF l_CON_rec.attribute13 = FND_API.G_MISS_CHAR THEN
542 l_CON_rec.attribute13 := p_old_CON_rec.attribute13;
543 END IF;
544
545 IF l_CON_rec.attribute14 = FND_API.G_MISS_CHAR THEN
546 l_CON_rec.attribute14 := p_old_CON_rec.attribute14;
547 END IF;
548
549 IF l_CON_rec.attribute15 = FND_API.G_MISS_CHAR THEN
550 l_CON_rec.attribute15 := p_old_CON_rec.attribute15;
551 END IF;
552
553 IF l_CON_rec.attribute2 = FND_API.G_MISS_CHAR THEN
554 l_CON_rec.attribute2 := p_old_CON_rec.attribute2;
555 END IF;
556
557 IF l_CON_rec.attribute3 = FND_API.G_MISS_CHAR THEN
558 l_CON_rec.attribute3 := p_old_CON_rec.attribute3;
559 END IF;
560
561 IF l_CON_rec.attribute4 = FND_API.G_MISS_CHAR THEN
562 l_CON_rec.attribute4 := p_old_CON_rec.attribute4;
563 END IF;
564
565 IF l_CON_rec.attribute5 = FND_API.G_MISS_CHAR THEN
566 l_CON_rec.attribute5 := p_old_CON_rec.attribute5;
567 END IF;
568
569 IF l_CON_rec.attribute6 = FND_API.G_MISS_CHAR THEN
570 l_CON_rec.attribute6 := p_old_CON_rec.attribute6;
571 END IF;
572
573 IF l_CON_rec.attribute7 = FND_API.G_MISS_CHAR THEN
574 l_CON_rec.attribute7 := p_old_CON_rec.attribute7;
575 END IF;
576
577 IF l_CON_rec.attribute8 = FND_API.G_MISS_CHAR THEN
578 l_CON_rec.attribute8 := p_old_CON_rec.attribute8;
579 END IF;
580
581 IF l_CON_rec.attribute9 = FND_API.G_MISS_CHAR THEN
582 l_CON_rec.attribute9 := p_old_CON_rec.attribute9;
583 END IF;
584
585 IF l_CON_rec.context = FND_API.G_MISS_CHAR THEN
586 l_CON_rec.context := p_old_CON_rec.context;
587 END IF;
588
589 IF l_CON_rec.created_by = FND_API.G_MISS_NUM THEN
590 l_CON_rec.created_by := p_old_CON_rec.created_by;
591 END IF;
592
593 IF l_CON_rec.creation_date = FND_API.G_MISS_DATE THEN
594 l_CON_rec.creation_date := p_old_CON_rec.creation_date;
595 END IF;
596
597 IF l_CON_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
598 l_CON_rec.enabled_flag := p_old_CON_rec.enabled_flag;
599 END IF;
600
601 IF l_CON_rec.last_updated_by = FND_API.G_MISS_NUM THEN
602 l_CON_rec.last_updated_by := p_old_CON_rec.last_updated_by;
603 END IF;
604
605 IF l_CON_rec.last_update_date = FND_API.G_MISS_DATE THEN
606 l_CON_rec.last_update_date := p_old_CON_rec.last_update_date;
607 END IF;
608
609 IF l_CON_rec.last_update_login = FND_API.G_MISS_NUM THEN
610 l_CON_rec.last_update_login := p_old_CON_rec.last_update_login;
611 END IF;
612
613 IF l_CON_rec.prc_context_code = FND_API.G_MISS_CHAR THEN
614 l_CON_rec.prc_context_code := p_old_CON_rec.prc_context_code;
615 END IF;
616
617 IF l_CON_rec.prc_context_id = FND_API.G_MISS_NUM THEN
618 l_CON_rec.prc_context_id := p_old_CON_rec.prc_context_id;
619 END IF;
620
621 IF l_CON_rec.prc_context_type = FND_API.G_MISS_CHAR THEN
622 l_CON_rec.prc_context_type := p_old_CON_rec.prc_context_type;
623 END IF;
624
625 IF l_CON_rec.program_application_id = FND_API.G_MISS_NUM THEN
626 l_CON_rec.program_application_id := p_old_CON_rec.program_application_id;
627 END IF;
628
629 IF l_CON_rec.program_id = FND_API.G_MISS_NUM THEN
630 l_CON_rec.program_id := p_old_CON_rec.program_id;
631 END IF;
632
633 IF l_CON_rec.program_update_date = FND_API.G_MISS_DATE THEN
634 l_CON_rec.program_update_date := p_old_CON_rec.program_update_date;
635 END IF;
636
637 IF l_CON_rec.seeded_description = FND_API.G_MISS_CHAR THEN
638 l_CON_rec.seeded_description := p_old_CON_rec.seeded_description;
639 END IF;
640
641 IF l_CON_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
642 l_CON_rec.seeded_flag := p_old_CON_rec.seeded_flag;
643 END IF;
644
645 IF l_CON_rec.seeded_prc_context_name = FND_API.G_MISS_CHAR THEN
646 l_CON_rec.seeded_prc_context_name := p_old_CON_rec.seeded_prc_context_name;
647 END IF;
648
649 IF l_CON_rec.user_description = FND_API.G_MISS_CHAR THEN
650 l_CON_rec.user_description := p_old_CON_rec.user_description;
651 END IF;
652
653 IF l_CON_rec.user_prc_context_name = FND_API.G_MISS_CHAR THEN
654 l_CON_rec.user_prc_context_name := p_old_CON_rec.user_prc_context_name;
655 END IF;
656
657 RETURN l_CON_rec;
658
659 END Complete_Record;
660
661 -- Function Convert_Miss_To_Null
662
663 FUNCTION Convert_Miss_To_Null
664 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
665 ) RETURN QP_Attributes_PUB.Con_Rec_Type
666 IS
667 l_CON_rec QP_Attributes_PUB.Con_Rec_Type := p_CON_rec;
668 BEGIN
669
670 IF l_CON_rec.attribute1 = FND_API.G_MISS_CHAR THEN
671 l_CON_rec.attribute1 := NULL;
672 END IF;
673
674 IF l_CON_rec.attribute10 = FND_API.G_MISS_CHAR THEN
675 l_CON_rec.attribute10 := NULL;
676 END IF;
677
678 IF l_CON_rec.attribute11 = FND_API.G_MISS_CHAR THEN
679 l_CON_rec.attribute11 := NULL;
680 END IF;
681
682 IF l_CON_rec.attribute12 = FND_API.G_MISS_CHAR THEN
683 l_CON_rec.attribute12 := NULL;
684 END IF;
685
686 IF l_CON_rec.attribute13 = FND_API.G_MISS_CHAR THEN
687 l_CON_rec.attribute13 := NULL;
688 END IF;
689
690 IF l_CON_rec.attribute14 = FND_API.G_MISS_CHAR THEN
691 l_CON_rec.attribute14 := NULL;
692 END IF;
693
694 IF l_CON_rec.attribute15 = FND_API.G_MISS_CHAR THEN
695 l_CON_rec.attribute15 := NULL;
696 END IF;
697
698 IF l_CON_rec.attribute2 = FND_API.G_MISS_CHAR THEN
699 l_CON_rec.attribute2 := NULL;
700 END IF;
701
702 IF l_CON_rec.attribute3 = FND_API.G_MISS_CHAR THEN
703 l_CON_rec.attribute3 := NULL;
704 END IF;
705
706 IF l_CON_rec.attribute4 = FND_API.G_MISS_CHAR THEN
707 l_CON_rec.attribute4 := NULL;
708 END IF;
709
710 IF l_CON_rec.attribute5 = FND_API.G_MISS_CHAR THEN
711 l_CON_rec.attribute5 := NULL;
712 END IF;
713
714 IF l_CON_rec.attribute6 = FND_API.G_MISS_CHAR THEN
715 l_CON_rec.attribute6 := NULL;
716 END IF;
717
718 IF l_CON_rec.attribute7 = FND_API.G_MISS_CHAR THEN
719 l_CON_rec.attribute7 := NULL;
720 END IF;
721
722 IF l_CON_rec.attribute8 = FND_API.G_MISS_CHAR THEN
723 l_CON_rec.attribute8 := NULL;
724 END IF;
725
726 IF l_CON_rec.attribute9 = FND_API.G_MISS_CHAR THEN
727 l_CON_rec.attribute9 := NULL;
728 END IF;
729
730 IF l_CON_rec.context = FND_API.G_MISS_CHAR THEN
731 l_CON_rec.context := NULL;
732 END IF;
733
734 IF l_CON_rec.created_by = FND_API.G_MISS_NUM THEN
735 l_CON_rec.created_by := NULL;
736 END IF;
737
738 IF l_CON_rec.creation_date = FND_API.G_MISS_DATE THEN
739 l_CON_rec.creation_date := NULL;
740 END IF;
741
742 IF l_CON_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
743 l_CON_rec.enabled_flag := NULL;
744 END IF;
745
746 IF l_CON_rec.last_updated_by = FND_API.G_MISS_NUM THEN
747 l_CON_rec.last_updated_by := NULL;
748 END IF;
749
750 IF l_CON_rec.last_update_date = FND_API.G_MISS_DATE THEN
751 l_CON_rec.last_update_date := NULL;
752 END IF;
753
754 IF l_CON_rec.last_update_login = FND_API.G_MISS_NUM THEN
755 l_CON_rec.last_update_login := NULL;
756 END IF;
757
758 IF l_CON_rec.prc_context_code = FND_API.G_MISS_CHAR THEN
759 l_CON_rec.prc_context_code := NULL;
760 END IF;
761
762 IF l_CON_rec.prc_context_id = FND_API.G_MISS_NUM THEN
763 l_CON_rec.prc_context_id := NULL;
764 END IF;
765
766 IF l_CON_rec.prc_context_type = FND_API.G_MISS_CHAR THEN
767 l_CON_rec.prc_context_type := NULL;
768 END IF;
769
770 IF l_CON_rec.program_application_id = FND_API.G_MISS_NUM THEN
771 l_CON_rec.program_application_id := NULL;
772 END IF;
773
774 IF l_CON_rec.program_id = FND_API.G_MISS_NUM THEN
775 l_CON_rec.program_id := NULL;
776 END IF;
777
778 IF l_CON_rec.program_update_date = FND_API.G_MISS_DATE THEN
779 l_CON_rec.program_update_date := NULL;
780 END IF;
781
782 IF l_CON_rec.seeded_description = FND_API.G_MISS_CHAR THEN
783 l_CON_rec.seeded_description := NULL;
784 END IF;
785
786 IF l_CON_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
787 l_CON_rec.seeded_flag := NULL;
788 END IF;
789
790 IF l_CON_rec.seeded_prc_context_name = FND_API.G_MISS_CHAR THEN
791 l_CON_rec.seeded_prc_context_name := NULL;
792 END IF;
793
794 IF l_CON_rec.user_description = FND_API.G_MISS_CHAR THEN
795 l_CON_rec.user_description := NULL;
796 END IF;
797
798 IF l_CON_rec.user_prc_context_name = FND_API.G_MISS_CHAR THEN
799 l_CON_rec.user_prc_context_name := NULL;
800 END IF;
801
802 RETURN l_CON_rec;
803
804 END Convert_Miss_To_Null;
805
806 -- Procedure Update_Row
807
808 PROCEDURE Update_Row
809 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
810 )
811 IS
812 BEGIN
813
814 UPDATE QP_PRC_CONTEXTS_b
815 SET ATTRIBUTE1 = p_CON_rec.attribute1
816 , ATTRIBUTE10 = p_CON_rec.attribute10
817 , ATTRIBUTE11 = p_CON_rec.attribute11
818 , ATTRIBUTE12 = p_CON_rec.attribute12
819 , ATTRIBUTE13 = p_CON_rec.attribute13
820 , ATTRIBUTE14 = p_CON_rec.attribute14
821 , ATTRIBUTE15 = p_CON_rec.attribute15
822 , ATTRIBUTE2 = p_CON_rec.attribute2
823 , ATTRIBUTE3 = p_CON_rec.attribute3
824 , ATTRIBUTE4 = p_CON_rec.attribute4
825 , ATTRIBUTE5 = p_CON_rec.attribute5
826 , ATTRIBUTE6 = p_CON_rec.attribute6
827 , ATTRIBUTE7 = p_CON_rec.attribute7
828 , ATTRIBUTE8 = p_CON_rec.attribute8
829 , ATTRIBUTE9 = p_CON_rec.attribute9
830 , CONTEXT = p_CON_rec.context
831 , CREATED_BY = p_CON_rec.created_by
832 , CREATION_DATE = p_CON_rec.creation_date
833 , ENABLED_FLAG = p_CON_rec.enabled_flag
834 , LAST_UPDATED_BY = p_CON_rec.last_updated_by
835 , LAST_UPDATE_DATE = p_CON_rec.last_update_date
836 , LAST_UPDATE_LOGIN = p_CON_rec.last_update_login
837 , PRC_CONTEXT_CODE = p_CON_rec.prc_context_code
838 , PRC_CONTEXT_ID = p_CON_rec.prc_context_id
839 , PRC_CONTEXT_TYPE = p_CON_rec.prc_context_type
840 , PROGRAM_APPLICATION_ID = p_CON_rec.program_application_id
841 , PROGRAM_ID = p_CON_rec.program_id
842 , PROGRAM_UPDATE_DATE = p_CON_rec.program_update_date
843 , SEEDED_FLAG = p_CON_rec.seeded_flag
844 WHERE PRC_CONTEXT_ID = p_CON_rec.prc_context_id ;
845
846 update qp_prc_contexts_tl
847 set created_by = p_con_rec.created_by
848 , creation_date = p_con_rec.creation_date
849 , last_updated_by = p_con_rec.last_updated_by
850 , last_update_date = p_con_rec.last_update_date
851 , last_update_login = p_con_rec.last_update_login
852 , seeded_prc_context_name = p_con_rec.seeded_prc_context_name
853 , user_prc_context_name = p_con_rec.user_prc_context_name
854 , seeded_description = p_con_rec.seeded_description
855 , user_description = p_con_rec.user_description
856 , source_lang = userenv('LANG')
857 where prc_context_id = p_con_rec.prc_context_id and
858 source_lang = userenv('LANG');
859
860 -- Added by Abhijit. Create Pricing Contexts in Flex field
861 --
862 if p_CON_rec.prc_context_type = 'PRICING_ATTRIBUTE' then
863 FND_DESCR_FLEX_CONTEXTS_PKG.UPDATE_ROW(
864 X_APPLICATION_ID => 661, --:CONTEXT.APPLICATION_ID,
865 X_DESCRIPTIVE_FLEXFIELD_NAME => 'QP_ATTR_DEFNS_PRICING',
866 X_DESCRIPTIVE_FLEX_CONTEXT_COD => p_CON_rec.prc_context_code,
867 X_ENABLED_FLAG => p_CON_rec.ENABLED_FLAG,
868 X_GLOBAL_FLAG => 'N',
869 X_DESCRIPTION => substr(p_CON_rec.user_description,1,240),
870 X_DESCRIPTIVE_FLEX_CONTEXT_NAM => substr(p_CON_rec.user_prc_context_name,1,80),
871 X_LAST_UPDATE_DATE => p_CON_rec.LAST_UPDATE_DATE,
872 X_LAST_UPDATED_BY => p_CON_rec.LAST_UPDATED_BY,
873 X_LAST_UPDATE_LOGIN => p_CON_rec.LAST_UPDATE_LOGIN);
874 end if;
875
876 EXCEPTION
877
878 WHEN OTHERS THEN
879
880 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
881 THEN
882 OE_MSG_PUB.Add_Exc_Msg
883 ( G_PKG_NAME
884 , 'Update_Row'
885 );
886 END IF;
887
888 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
889
890 END Update_Row;
891
892 -- Procedure Insert_Row
893
894 PROCEDURE Insert_Row
895 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
896 )
897 IS
898 l_row_id varchar2(25);
899 BEGIN
900
901 /*
902 oe_debug_pub.add('reached here_b ......................................');
903 oe_debug_pub.add('prc_context_id=' || p_CON_rec.prc_context_id);
904 oe_debug_pub.add('prc_context_code=' || p_CON_rec.prc_context_code);
905 oe_debug_pub.add('prc_context_type=' || p_CON_rec.prc_context_type);
906 oe_debug_pub.add('seeded_flag=' || p_CON_rec.seeded_flag);
907 oe_debug_pub.add('enabled_flag=' || p_CON_rec.enabled_flag);
908 oe_debug_pub.add('created_by=' || p_CON_rec.created_by);
909 oe_debug_pub.add('creation_date=' || p_CON_rec.creation_date);
910 oe_debug_pub.add('last_update_date=' || p_CON_rec.last_update_date);
911 oe_debug_pub.add('last_updated_by=' || p_CON_rec.last_updated_by);
912 */
913
914 INSERT INTO QP_PRC_CONTEXTS_b
915 ( ATTRIBUTE1
916 , ATTRIBUTE10
917 , ATTRIBUTE11
918 , ATTRIBUTE12
919 , ATTRIBUTE13
920 , ATTRIBUTE14
921 , ATTRIBUTE15
922 , ATTRIBUTE2
923 , ATTRIBUTE3
924 , ATTRIBUTE4
925 , ATTRIBUTE5
926 , ATTRIBUTE6
927 , ATTRIBUTE7
928 , ATTRIBUTE8
929 , ATTRIBUTE9
930 , CONTEXT
931 , CREATED_BY
932 , CREATION_DATE
933 , ENABLED_FLAG
934 , LAST_UPDATED_BY
935 , LAST_UPDATE_DATE
936 , LAST_UPDATE_LOGIN
937 , PRC_CONTEXT_code
938 , PRC_CONTEXT_ID
939 , PRC_CONTEXT_TYPE
940 , PROGRAM_APPLICATION_ID
941 , PROGRAM_ID
942 , PROGRAM_UPDATE_DATE
943 , SEEDED_FLAG
944 )
945 VALUES
946 ( p_CON_rec.attribute1
947 , p_CON_rec.attribute10
948 , p_CON_rec.attribute11
949 , p_CON_rec.attribute12
950 , p_CON_rec.attribute13
951 , p_CON_rec.attribute14
952 , p_CON_rec.attribute15
953 , p_CON_rec.attribute2
954 , p_CON_rec.attribute3
955 , p_CON_rec.attribute4
956 , p_CON_rec.attribute5
957 , p_CON_rec.attribute6
958 , p_CON_rec.attribute7
959 , p_CON_rec.attribute8
960 , p_CON_rec.attribute9
961 , p_CON_rec.context
962 , p_CON_rec.created_by
963 , p_CON_rec.creation_date
964 , p_CON_rec.enabled_flag
965 , p_CON_rec.last_updated_by
966 , p_CON_rec.last_update_date
967 , p_CON_rec.last_update_login
968 , p_CON_rec.prc_context_code
969 , p_CON_rec.prc_context_id
970 , p_CON_rec.prc_context_type
971 , p_CON_rec.program_application_id
972 , p_CON_rec.program_id
973 , p_CON_rec.program_update_date
974 , p_CON_rec.seeded_flag
975 );
976
977 INSERT INTO qp_prc_contexts_tl
978 ( CREATED_BY
979 , CREATION_DATE
980 , LAST_UPDATED_BY
981 , LAST_UPDATE_DATE
982 , LAST_UPDATE_LOGIN
983 , prc_context_id
984 , seeded_prc_context_name
985 , user_prc_context_name
986 , seeded_description
987 , user_description
988 , language
989 , source_lang
990 )
991 SELECT p_CON_rec.created_by
992 , p_CON_rec.creation_date
993 , p_CON_rec.last_updated_by
994 , p_CON_rec.last_update_date
995 , p_CON_rec.last_update_login
996 , p_CON_rec.prc_context_id
997 , p_CON_rec.seeded_prc_context_name
998 , p_CON_rec.user_prc_context_name
999 , p_CON_rec.seeded_description
1000 , p_CON_rec.user_description
1001 , L.language_code
1002 , userenv('LANG')
1003 from FND_LANGUAGES L
1004 where L.INSTALLED_FLAG in ('I', 'B')
1005 and not exists
1006 ( select NULL
1007 from qp_prc_contexts_tl T
1008 where T.prc_context_id = p_CON_rec.prc_context_id
1009 and T.LANGUAGE = L.LANGUAGE_CODE );
1010
1011 -- Abhijit : Add Pricing Attribute type Context to flexfield.
1012 if p_CON_rec.prc_context_type = 'PRICING_ATTRIBUTE' then
1013 FND_DESCR_FLEX_CONTEXTS_PKG.INSERT_ROW(
1014 X_ROWID => l_row_id,
1015 X_APPLICATION_ID => 661, --:CONTEXT.APPLICATION_ID,
1016 X_DESCRIPTIVE_FLEXFIELD_NAME => 'QP_ATTR_DEFNS_PRICING',
1017 X_DESCRIPTIVE_FLEX_CONTEXT_COD => p_CON_rec.prc_context_code,
1018 X_ENABLED_FLAG => p_CON_rec.ENABLED_FLAG,
1019 X_GLOBAL_FLAG => 'N',
1020 X_DESCRIPTION => substr(p_CON_rec.user_description,1,240),
1021 X_DESCRIPTIVE_FLEX_CONTEXT_NAM => substr(p_CON_rec.user_prc_context_name,1,80),
1022 X_CREATION_DATE => p_CON_rec.CREATION_DATE,
1023 X_CREATED_BY => p_CON_rec.CREATED_BY,
1024 X_LAST_UPDATE_DATE => p_CON_rec.LAST_UPDATE_DATE,
1025 X_LAST_UPDATED_BY => p_CON_rec.LAST_UPDATED_BY,
1026 X_LAST_UPDATE_LOGIN => p_CON_rec.LAST_UPDATE_LOGIN);
1027 end if;
1028
1029 EXCEPTION
1030
1031 WHEN OTHERS THEN
1032
1033 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1034 THEN
1035 OE_MSG_PUB.Add_Exc_Msg
1036 ( G_PKG_NAME
1037 , 'Insert_Row'
1038 );
1039 END IF;
1040
1041 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042
1043 END Insert_Row;
1044
1045 -- Procedure Delete_Row
1046
1047 PROCEDURE Delete_Row
1048 ( p_prc_context_id IN NUMBER
1049 )
1050 IS
1051 l_qp_prc_contexts_rec qp_prc_contexts_b%rowtype;
1052 BEGIN
1053 select *
1054 into l_qp_prc_contexts_rec
1055 from qp_prc_contexts_b
1056 where prc_context_id = p_prc_context_id;
1057 --
1058 DELETE FROM QP_PRC_CONTEXTS_tl
1059 WHERE PRC_CONTEXT_ID = p_prc_context_id ;
1060 DELETE FROM QP_PRC_CONTEXTS_b
1061 WHERE PRC_CONTEXT_ID = p_prc_context_id ;
1062
1063 -- Added by Abhijit. Create Pricing Contexts in Flex field
1064 --
1065 if l_qp_prc_contexts_rec.prc_context_type = 'PRICING_ATTRIBUTE' and
1066 l_qp_prc_contexts_rec.seeded_flag = 'N' then
1067
1068 begin
1069 FND_DESCR_FLEX_CONTEXTS_PKG.DELETE_ROW(
1070 X_APPLICATION_ID => 661, --:CONTEXT.APPLICATION_ID,
1071 X_DESCRIPTIVE_FLEXFIELD_NAME => 'QP_ATTR_DEFNS_PRICING',
1072 X_DESCRIPTIVE_FLEX_CONTEXT_COD => l_qp_prc_contexts_rec.prc_context_code);
1073 exception
1074 when no_data_found then
1075 null;
1076 end;
1077 end if;
1078
1079 EXCEPTION
1080
1081 WHEN OTHERS THEN
1082
1083 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1084 THEN
1085 OE_MSG_PUB.Add_Exc_Msg
1086 ( G_PKG_NAME
1087 , 'Delete_Row'
1088 );
1089 END IF;
1090
1091 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1092
1093 END Delete_Row;
1094
1095 -- Function Query_Row
1096
1097 FUNCTION Query_Row
1098 ( p_prc_context_id IN NUMBER
1099 ) RETURN QP_Attributes_PUB.Con_Rec_Type
1100 IS
1101 l_CON_rec QP_Attributes_PUB.Con_Rec_Type;
1102 BEGIN
1103
1104 SELECT ATTRIBUTE1
1105 , ATTRIBUTE10
1106 , ATTRIBUTE11
1107 , ATTRIBUTE12
1108 , ATTRIBUTE13
1109 , ATTRIBUTE14
1110 , ATTRIBUTE15
1111 , ATTRIBUTE2
1112 , ATTRIBUTE3
1113 , ATTRIBUTE4
1114 , ATTRIBUTE5
1115 , ATTRIBUTE6
1116 , ATTRIBUTE7
1117 , ATTRIBUTE8
1118 , ATTRIBUTE9
1119 , CONTEXT
1120 , CREATED_BY
1121 , CREATION_DATE
1122 , ENABLED_FLAG
1123 , LAST_UPDATED_BY
1124 , LAST_UPDATE_DATE
1125 , LAST_UPDATE_LOGIN
1126 , PRC_CONTEXT_code
1127 , PRC_CONTEXT_ID
1128 , PRC_CONTEXT_TYPE
1129 , PROGRAM_APPLICATION_ID
1130 , PROGRAM_ID
1131 , PROGRAM_UPDATE_DATE
1132 , SEEDED_DESCRIPTION
1133 , SEEDED_FLAG
1134 , SEEDED_PRC_CONTEXT_NAME
1135 , USER_DESCRIPTION
1136 , USER_PRC_CONTEXT_NAME
1137 INTO l_CON_rec.attribute1
1138 , l_CON_rec.attribute10
1139 , l_CON_rec.attribute11
1140 , l_CON_rec.attribute12
1141 , l_CON_rec.attribute13
1142 , l_CON_rec.attribute14
1143 , l_CON_rec.attribute15
1144 , l_CON_rec.attribute2
1145 , l_CON_rec.attribute3
1146 , l_CON_rec.attribute4
1147 , l_CON_rec.attribute5
1148 , l_CON_rec.attribute6
1149 , l_CON_rec.attribute7
1150 , l_CON_rec.attribute8
1151 , l_CON_rec.attribute9
1152 , l_CON_rec.context
1153 , l_CON_rec.created_by
1154 , l_CON_rec.creation_date
1155 , l_CON_rec.enabled_flag
1156 , l_CON_rec.last_updated_by
1157 , l_CON_rec.last_update_date
1158 , l_CON_rec.last_update_login
1159 , l_CON_rec.prc_context_code
1160 , l_CON_rec.prc_context_id
1161 , l_CON_rec.prc_context_type
1162 , l_CON_rec.program_application_id
1163 , l_CON_rec.program_id
1164 , l_CON_rec.program_update_date
1165 , l_CON_rec.seeded_description
1166 , l_CON_rec.seeded_flag
1167 , l_CON_rec.seeded_prc_context_name
1168 , l_CON_rec.user_description
1169 , l_CON_rec.user_prc_context_name
1170 FROM QP_PRC_CONTEXTS_V
1171 WHERE PRC_CONTEXT_ID = p_prc_context_id
1172 ;
1173
1174 RETURN l_CON_rec;
1175
1176 EXCEPTION
1177
1178 WHEN OTHERS THEN
1179
1180 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1181 THEN
1182 OE_MSG_PUB.Add_Exc_Msg
1183 ( G_PKG_NAME
1184 , 'Query_Row'
1185 );
1186 END IF;
1187
1188 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1189
1190 END Query_Row;
1191
1192 -- Procedure lock_Row
1193 --
1194
1195 PROCEDURE Lock_Row
1196 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1197 , p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
1198 , x_CON_rec OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Con_Rec_Type
1199 )
1200 IS
1201 l_CON_rec QP_Attributes_PUB.Con_Rec_Type;
1202 BEGIN
1203
1204 SELECT ATTRIBUTE1
1205 , ATTRIBUTE10
1206 , ATTRIBUTE11
1207 , ATTRIBUTE12
1208 , ATTRIBUTE13
1209 , ATTRIBUTE14
1210 , ATTRIBUTE15
1211 , ATTRIBUTE2
1212 , ATTRIBUTE3
1213 , ATTRIBUTE4
1214 , ATTRIBUTE5
1215 , ATTRIBUTE6
1216 , ATTRIBUTE7
1217 , ATTRIBUTE8
1218 , ATTRIBUTE9
1219 , CONTEXT
1220 , CREATED_BY
1221 , CREATION_DATE
1222 , ENABLED_FLAG
1223 , LAST_UPDATED_BY
1224 , LAST_UPDATE_DATE
1225 , LAST_UPDATE_LOGIN
1226 , PRC_CONTEXT_code
1227 , PRC_CONTEXT_ID
1228 , PRC_CONTEXT_TYPE
1229 , PROGRAM_APPLICATION_ID
1230 , PROGRAM_ID
1231 , PROGRAM_UPDATE_DATE
1232 , SEEDED_DESCRIPTION
1233 , SEEDED_FLAG
1234 , SEEDED_PRC_CONTEXT_NAME
1235 , USER_DESCRIPTION
1236 , USER_PRC_CONTEXT_NAME
1237 INTO l_CON_rec.attribute1
1238 , l_CON_rec.attribute10
1239 , l_CON_rec.attribute11
1240 , l_CON_rec.attribute12
1241 , l_CON_rec.attribute13
1242 , l_CON_rec.attribute14
1243 , l_CON_rec.attribute15
1244 , l_CON_rec.attribute2
1245 , l_CON_rec.attribute3
1246 , l_CON_rec.attribute4
1247 , l_CON_rec.attribute5
1248 , l_CON_rec.attribute6
1249 , l_CON_rec.attribute7
1250 , l_CON_rec.attribute8
1251 , l_CON_rec.attribute9
1252 , l_CON_rec.context
1253 , l_CON_rec.created_by
1254 , l_CON_rec.creation_date
1255 , l_CON_rec.enabled_flag
1256 , l_CON_rec.last_updated_by
1257 , l_CON_rec.last_update_date
1258 , l_CON_rec.last_update_login
1259 , l_CON_rec.prc_context_code
1260 , l_CON_rec.prc_context_id
1261 , l_CON_rec.prc_context_type
1262 , l_CON_rec.program_application_id
1263 , l_CON_rec.program_id
1264 , l_CON_rec.program_update_date
1265 , l_CON_rec.seeded_description
1266 , l_CON_rec.seeded_flag
1267 , l_CON_rec.seeded_prc_context_name
1268 , l_CON_rec.user_description
1269 , l_CON_rec.user_prc_context_name
1270 FROM QP_PRC_CONTEXTS_V
1271 WHERE PRC_CONTEXT_ID = p_CON_rec.prc_context_id
1272 FOR UPDATE NOWAIT;
1273
1274 -- Row locked. Compare IN attributes to DB attributes.
1275
1276 IF QP_GLOBALS.Equal(p_CON_rec.attribute1,
1277 l_CON_rec.attribute1)
1278 AND QP_GLOBALS.Equal(p_CON_rec.attribute10,
1279 l_CON_rec.attribute10)
1280 AND QP_GLOBALS.Equal(p_CON_rec.attribute11,
1281 l_CON_rec.attribute11)
1282 AND QP_GLOBALS.Equal(p_CON_rec.attribute12,
1283 l_CON_rec.attribute12)
1284 AND QP_GLOBALS.Equal(p_CON_rec.attribute13,
1285 l_CON_rec.attribute13)
1286 AND QP_GLOBALS.Equal(p_CON_rec.attribute14,
1287 l_CON_rec.attribute14)
1288 AND QP_GLOBALS.Equal(p_CON_rec.attribute15,
1289 l_CON_rec.attribute15)
1290 AND QP_GLOBALS.Equal(p_CON_rec.attribute2,
1291 l_CON_rec.attribute2)
1292 AND QP_GLOBALS.Equal(p_CON_rec.attribute3,
1293 l_CON_rec.attribute3)
1294 AND QP_GLOBALS.Equal(p_CON_rec.attribute4,
1295 l_CON_rec.attribute4)
1296 AND QP_GLOBALS.Equal(p_CON_rec.attribute5,
1297 l_CON_rec.attribute5)
1298 AND QP_GLOBALS.Equal(p_CON_rec.attribute6,
1299 l_CON_rec.attribute6)
1300 AND QP_GLOBALS.Equal(p_CON_rec.attribute7,
1301 l_CON_rec.attribute7)
1302 AND QP_GLOBALS.Equal(p_CON_rec.attribute8,
1303 l_CON_rec.attribute8)
1304 AND QP_GLOBALS.Equal(p_CON_rec.attribute9,
1305 l_CON_rec.attribute9)
1306 AND QP_GLOBALS.Equal(p_CON_rec.context,
1307 l_CON_rec.context)
1308 AND QP_GLOBALS.Equal(p_CON_rec.created_by,
1309 l_CON_rec.created_by)
1310 AND QP_GLOBALS.Equal(p_CON_rec.creation_date,
1311 l_CON_rec.creation_date)
1312 AND QP_GLOBALS.Equal(p_CON_rec.enabled_flag,
1313 l_CON_rec.enabled_flag)
1314 AND QP_GLOBALS.Equal(p_CON_rec.last_updated_by,
1315 l_CON_rec.last_updated_by)
1316 AND QP_GLOBALS.Equal(p_CON_rec.last_update_date,
1317 l_CON_rec.last_update_date)
1318 AND QP_GLOBALS.Equal(p_CON_rec.last_update_login,
1319 l_CON_rec.last_update_login)
1320 AND QP_GLOBALS.Equal(p_CON_rec.prc_context_code,
1321 l_CON_rec.prc_context_code)
1322 AND QP_GLOBALS.Equal(p_CON_rec.prc_context_id,
1323 l_CON_rec.prc_context_id)
1324 AND QP_GLOBALS.Equal(p_CON_rec.prc_context_type,
1325 l_CON_rec.prc_context_type)
1326 AND QP_GLOBALS.Equal(p_CON_rec.program_application_id,
1327 l_CON_rec.program_application_id)
1328 AND QP_GLOBALS.Equal(p_CON_rec.program_id,
1329 l_CON_rec.program_id)
1330 AND QP_GLOBALS.Equal(p_CON_rec.program_update_date,
1331 l_CON_rec.program_update_date)
1332 AND QP_GLOBALS.Equal(p_CON_rec.seeded_description,
1333 l_CON_rec.seeded_description)
1334 AND QP_GLOBALS.Equal(p_CON_rec.seeded_flag,
1335 l_CON_rec.seeded_flag)
1336 AND QP_GLOBALS.Equal(p_CON_rec.seeded_prc_context_name,
1337 l_CON_rec.seeded_prc_context_name)
1338 AND QP_GLOBALS.Equal(p_CON_rec.user_description,
1339 l_CON_rec.user_description)
1340 AND QP_GLOBALS.Equal(p_CON_rec.user_prc_context_name,
1341 l_CON_rec.user_prc_context_name)
1342 THEN
1343
1344 -- Row has not changed. Set out parameter.
1345
1346 x_CON_rec := l_CON_rec;
1347
1348 -- Set return status
1349
1350 x_return_status := FND_API.G_RET_STS_SUCCESS;
1351 x_CON_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1352
1353 ELSE
1354
1355 -- Row has changed by another user.
1356
1357 x_return_status := FND_API.G_RET_STS_ERROR;
1358 x_CON_rec.return_status := FND_API.G_RET_STS_ERROR;
1359
1360 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1361 THEN
1362
1363 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
1364 OE_MSG_PUB.Add;
1365
1366 END IF;
1367
1368 END IF;
1369
1370 EXCEPTION
1371
1372 WHEN NO_DATA_FOUND THEN
1373
1374 x_return_status := FND_API.G_RET_STS_ERROR;
1375 x_CON_rec.return_status := FND_API.G_RET_STS_ERROR;
1376
1377 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1378 THEN
1379
1380 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
1381 OE_MSG_PUB.Add;
1382
1383 END IF;
1384 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1385
1386 x_return_status := FND_API.G_RET_STS_ERROR;
1387 x_CON_rec.return_status := FND_API.G_RET_STS_ERROR;
1388
1389 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1390 THEN
1391
1392 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
1393 OE_MSG_PUB.Add;
1394
1395 END IF;
1396 WHEN OTHERS THEN
1397
1398 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1399 x_CON_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1400
1401 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1402 THEN
1403 OE_MSG_PUB.Add_Exc_Msg
1404 ( G_PKG_NAME
1405 , 'Lock_Row'
1406 );
1407 END IF;
1408
1409 END Lock_Row;
1410
1411 -- Function Get_Values
1412
1413 FUNCTION Get_Values
1414 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
1415 , p_old_CON_rec IN QP_Attributes_PUB.Con_Rec_Type :=
1416 QP_Attributes_PUB.G_MISS_CON_REC
1417 ) RETURN QP_Attributes_PUB.Con_Val_Rec_Type
1418 IS
1419 l_CON_val_rec QP_Attributes_PUB.Con_Val_Rec_Type;
1420 BEGIN
1421
1422 IF p_CON_rec.enabled_flag IS NOT NULL AND
1423 p_CON_rec.enabled_flag <> FND_API.G_MISS_CHAR AND
1424 NOT QP_GLOBALS.Equal(p_CON_rec.enabled_flag,
1425 p_old_CON_rec.enabled_flag)
1426 THEN
1427 l_CON_val_rec.enabled := QP_Id_To_Value.Enabled
1428 ( p_enabled_flag => p_CON_rec.enabled_flag
1429 );
1430 END IF;
1431
1432 IF p_CON_rec.prc_context_id IS NOT NULL AND
1433 p_CON_rec.prc_context_id <> FND_API.G_MISS_NUM AND
1434 NOT QP_GLOBALS.Equal(p_CON_rec.prc_context_id,
1435 p_old_CON_rec.prc_context_id)
1436 THEN
1437 l_CON_val_rec.prc_context := QP_Id_To_Value.Prc_Context
1438 ( p_prc_context_id => p_CON_rec.prc_context_id
1439 );
1440 END IF;
1441
1442 IF p_CON_rec.seeded_flag IS NOT NULL AND
1443 p_CON_rec.seeded_flag <> FND_API.G_MISS_CHAR AND
1444 NOT QP_GLOBALS.Equal(p_CON_rec.seeded_flag,
1445 p_old_CON_rec.seeded_flag)
1446 THEN
1447 l_CON_val_rec.seeded := QP_Id_To_Value.Seeded
1448 ( p_seeded_flag => p_CON_rec.seeded_flag
1449 );
1450 END IF;
1451
1452 RETURN l_CON_val_rec;
1453
1454 END Get_Values;
1455
1456 -- Function Get_Ids
1457
1458 FUNCTION Get_Ids
1459 ( p_CON_rec IN QP_Attributes_PUB.Con_Rec_Type
1460 , p_CON_val_rec IN QP_Attributes_PUB.Con_Val_Rec_Type
1461 ) RETURN QP_Attributes_PUB.Con_Rec_Type
1462 IS
1463 l_CON_rec QP_Attributes_PUB.Con_Rec_Type;
1464 BEGIN
1465
1466 -- initialize return_status.
1467
1468 l_CON_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1469
1470 -- initialize l_CON_rec.
1471
1472 l_CON_rec := p_CON_rec;
1473
1474 IF p_CON_val_rec.enabled <> FND_API.G_MISS_CHAR
1475 THEN
1476
1477 IF p_CON_rec.enabled_flag <> FND_API.G_MISS_CHAR THEN
1478
1479 l_CON_rec.enabled_flag := p_CON_rec.enabled_flag;
1480
1481 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1482 THEN
1483
1484 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1485 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','enabled');
1486 OE_MSG_PUB.Add;
1487
1488 END IF;
1489
1490 ELSE
1491
1492 l_CON_rec.enabled_flag := QP_Value_To_Id.enabled
1493 ( p_enabled => p_CON_val_rec.enabled
1494 );
1495
1496 IF l_CON_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
1497 l_CON_rec.return_status := FND_API.G_RET_STS_ERROR;
1498 END IF;
1499
1500 END IF;
1501
1502 END IF;
1503
1504 IF p_CON_val_rec.prc_context <> FND_API.G_MISS_CHAR
1505 THEN
1506
1507 IF p_CON_rec.prc_context_id <> FND_API.G_MISS_NUM THEN
1508
1509 l_CON_rec.prc_context_id := p_CON_rec.prc_context_id;
1510
1511 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1512 THEN
1513
1514 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1515 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','prc_context');
1516 OE_MSG_PUB.Add;
1517
1518 END IF;
1519
1520 ELSE
1521
1522 l_CON_rec.prc_context_id := QP_Value_To_Id.prc_context
1523 ( p_prc_context => p_CON_val_rec.prc_context
1524 );
1525
1526 IF l_CON_rec.prc_context_id = FND_API.G_MISS_NUM THEN
1527 l_CON_rec.return_status := FND_API.G_RET_STS_ERROR;
1528 END IF;
1529
1530 END IF;
1531
1532 END IF;
1533
1534 IF p_CON_val_rec.seeded <> FND_API.G_MISS_CHAR
1535 THEN
1536
1537 IF p_CON_rec.seeded_flag <> FND_API.G_MISS_CHAR THEN
1538
1539 l_CON_rec.seeded_flag := p_CON_rec.seeded_flag;
1540
1541 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1542 THEN
1543
1544 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1545 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','seeded');
1546 OE_MSG_PUB.Add;
1547
1548 END IF;
1549
1550 ELSE
1551
1552 l_CON_rec.seeded_flag := QP_Value_To_Id.seeded
1553 ( p_seeded => p_CON_val_rec.seeded
1554 );
1555
1556 IF l_CON_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
1557 l_CON_rec.return_status := FND_API.G_RET_STS_ERROR;
1558 END IF;
1559
1560 END IF;
1561
1562 END IF;
1563
1564
1565 RETURN l_CON_rec;
1566
1567 END Get_Ids;
1568
1569 END QP_Con_Util;