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