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