[Home] [Help]
PACKAGE BODY: APPS.QP_DEFAULT_SOU
Source
1 PACKAGE BODY QP_Default_Sou AS
2 /* $Header: QPXDSOUB.pls 120.2 2005/07/06 04:25:48 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Default_Sou';
7
8 -- Package global used within the package.
9
10 g_SOU_rec QP_Attr_Map_PUB.Sou_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Attribute_Sourcing
15 RETURN NUMBER
16 IS
17 l_attribute_sourcing_id number(15);
18 BEGIN
19 oe_debug_pub.add('In QPXDSOUB.pls--at sequence' );
20 select qp_attribute_sourcing_s.nextval
21 into l_attribute_sourcing_id
22 from dual;
23 RETURN (l_attribute_sourcing_id);
24
25 END Get_Attribute_Sourcing;
26
27 FUNCTION Get_Attribute_Sourcing_Level
28 RETURN VARCHAR2
29 IS
30 BEGIN
31
32 RETURN NULL;
33
34 END Get_Attribute_Sourcing_Level;
35
36 FUNCTION Get_application_id
37 RETURN NUMBER
38 IS
39 BEGIN
40
41 RETURN NULL;
42
43 END Get_application_id;
44
45 FUNCTION Get_Enabled
46 RETURN VARCHAR2
47 IS
48 BEGIN
49
50 RETURN NULL;
51
52 END Get_Enabled;
53
54 FUNCTION Get_Request_Type
55 RETURN VARCHAR2
56 IS
57 BEGIN
58
59 RETURN NULL;
60
61 END Get_Request_Type;
62
63 FUNCTION Get_Seeded
64 RETURN VARCHAR2
65 IS
66 BEGIN
67
68 RETURN NULL;
69
70 END Get_Seeded;
71
72 FUNCTION Get_Seeded_Sourcing_Type
73 RETURN VARCHAR2
74 IS
75 BEGIN
76
77 RETURN NULL;
78
79 END Get_Seeded_Sourcing_Type;
80
81 FUNCTION Get_Seeded_Value_String
82 RETURN VARCHAR2
83 IS
84 BEGIN
85
86 RETURN NULL;
87
88 END Get_Seeded_Value_String;
89
90 FUNCTION Get_Segment
91 RETURN NUMBER
92 IS
93 BEGIN
94
95 RETURN NULL;
96
97 END Get_Segment;
98
99 FUNCTION Get_User_Sourcing_Type
100 RETURN VARCHAR2
101 IS
102 BEGIN
103
104 RETURN NULL;
105
106 END Get_User_Sourcing_Type;
107
108 FUNCTION Get_User_Value_String
109 RETURN VARCHAR2
110 IS
111 BEGIN
112
113 RETURN NULL;
114
115 END Get_User_Value_String;
116
117 PROCEDURE Get_Flex_Sou
118 IS
119 BEGIN
120
121 -- In the future call Flex APIs for defaults
122
123 IF g_SOU_rec.attribute1 = FND_API.G_MISS_CHAR THEN
124 g_SOU_rec.attribute1 := NULL;
125 END IF;
126
127 IF g_SOU_rec.attribute10 = FND_API.G_MISS_CHAR THEN
128 g_SOU_rec.attribute10 := NULL;
129 END IF;
130
131 IF g_SOU_rec.attribute11 = FND_API.G_MISS_CHAR THEN
132 g_SOU_rec.attribute11 := NULL;
133 END IF;
134
135 IF g_SOU_rec.attribute12 = FND_API.G_MISS_CHAR THEN
136 g_SOU_rec.attribute12 := NULL;
137 END IF;
138
139 IF g_SOU_rec.attribute13 = FND_API.G_MISS_CHAR THEN
140 g_SOU_rec.attribute13 := NULL;
141 END IF;
142
143 IF g_SOU_rec.attribute14 = FND_API.G_MISS_CHAR THEN
144 g_SOU_rec.attribute14 := NULL;
145 END IF;
146
147 IF g_SOU_rec.attribute15 = FND_API.G_MISS_CHAR THEN
148 g_SOU_rec.attribute15 := NULL;
149 END IF;
150
151 IF g_SOU_rec.attribute2 = FND_API.G_MISS_CHAR THEN
152 g_SOU_rec.attribute2 := NULL;
153 END IF;
154
155 IF g_SOU_rec.attribute3 = FND_API.G_MISS_CHAR THEN
156 g_SOU_rec.attribute3 := NULL;
157 END IF;
158
159 IF g_SOU_rec.attribute4 = FND_API.G_MISS_CHAR THEN
160 g_SOU_rec.attribute4 := NULL;
161 END IF;
162
163 IF g_SOU_rec.attribute5 = FND_API.G_MISS_CHAR THEN
164 g_SOU_rec.attribute5 := NULL;
165 END IF;
166
167 IF g_SOU_rec.attribute6 = FND_API.G_MISS_CHAR THEN
168 g_SOU_rec.attribute6 := NULL;
169 END IF;
170
171 IF g_SOU_rec.attribute7 = FND_API.G_MISS_CHAR THEN
172 g_SOU_rec.attribute7 := NULL;
173 END IF;
174
175 IF g_SOU_rec.attribute8 = FND_API.G_MISS_CHAR THEN
176 g_SOU_rec.attribute8 := NULL;
177 END IF;
178
179 IF g_SOU_rec.attribute9 = FND_API.G_MISS_CHAR THEN
180 g_SOU_rec.attribute9 := NULL;
181 END IF;
182
183 IF g_SOU_rec.context = FND_API.G_MISS_CHAR THEN
184 g_SOU_rec.context := NULL;
185 END IF;
186
187 END Get_Flex_Sou;
188
189 -- Procedure Attributes
190
191 PROCEDURE Attributes
192 ( p_SOU_rec IN QP_Attr_Map_PUB.Sou_Rec_Type :=
193 QP_Attr_Map_PUB.G_MISS_SOU_REC
194 , p_iteration IN NUMBER := 1
195 , x_SOU_rec OUT NOCOPY /* file.sql.39 change */ QP_Attr_Map_PUB.Sou_Rec_Type
196 )
197 IS
198 g_p_SOU_rec QP_Attr_Map_PUB.Sou_Rec_Type;
199 BEGIN
200
201 -- Check number of iterations.
202
203 IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
204
205 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
206 THEN
207
208 FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
209 OE_MSG_PUB.Add;
210
211 END IF;
212
213 RAISE FND_API.G_EXC_ERROR;
214
215 END IF;
216
217 -- Initialize g_SOU_rec
218
219 g_SOU_rec := p_SOU_rec;
220
221 -- Default missing attributes.
222
223 IF g_SOU_rec.attribute_sourcing_id = FND_API.G_MISS_NUM THEN
224
225 g_SOU_rec.attribute_sourcing_id := Get_Attribute_Sourcing;
226
227 IF g_SOU_rec.attribute_sourcing_id IS NOT NULL THEN
228
229 IF QP_Validate.Attribute_Sourcing(g_SOU_rec.attribute_sourcing_id)
230 THEN
231 g_p_SOU_rec := g_SOU_rec;
232 QP_Sou_Util.Clear_Dependent_Attr
233 ( p_attr_id => QP_Sou_Util.G_ATTRIBUTE_SOURCING
234 , p_SOU_rec => g_p_SOU_rec
235 , x_SOU_rec => g_SOU_rec
236 );
237 ELSE
238 g_SOU_rec.attribute_sourcing_id := NULL;
239 END IF;
240
241 END IF;
242
243 END IF;
244
245 IF g_SOU_rec.attribute_sourcing_level = FND_API.G_MISS_CHAR THEN
246
247 g_SOU_rec.attribute_sourcing_level := Get_Attribute_Sourcing_Level;
248
249 IF g_SOU_rec.attribute_sourcing_level IS NOT NULL THEN
250
251 IF QP_Validate.Attribute_Sourcing_Level(g_SOU_rec.attribute_sourcing_level)
252 THEN
253 g_p_SOU_rec := g_SOU_rec;
254 QP_Sou_Util.Clear_Dependent_Attr
255 ( p_attr_id => QP_Sou_Util.G_ATTRIBUTE_SOURCING_LEVEL
256 , p_SOU_rec => g_p_SOU_rec
257 , x_SOU_rec => g_SOU_rec
258 );
259 ELSE
260 g_SOU_rec.attribute_sourcing_level := NULL;
261 END IF;
262
263 END IF;
264
265 END IF;
266
267 IF g_SOU_rec.application_id = FND_API.G_MISS_NUM THEN
268
269 g_SOU_rec.application_id := Get_application_id;
270
271 IF g_SOU_rec.application_id IS NOT NULL THEN
272
273 IF QP_Validate.application_id(g_SOU_rec.application_id)
274 THEN
275 g_p_SOU_rec := g_SOU_rec;
276 QP_Sou_Util.Clear_Dependent_Attr
277 ( p_attr_id => QP_Sou_Util.G_APPLICATION_ID
278 , p_SOU_rec => g_p_SOU_rec
279 , x_SOU_rec => g_SOU_rec
280 );
281 ELSE
282 g_SOU_rec.application_id := NULL;
283 END IF;
284
285 END IF;
286
287 END IF;
288
289 IF g_SOU_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
290
291 g_SOU_rec.enabled_flag := Get_Enabled;
292
293 IF g_SOU_rec.enabled_flag IS NOT NULL THEN
294
295 IF QP_Validate.Enabled(g_SOU_rec.enabled_flag)
296 THEN
297 g_p_SOU_rec := g_SOU_rec;
298 QP_Sou_Util.Clear_Dependent_Attr
299 ( p_attr_id => QP_Sou_Util.G_ENABLED
300 , p_SOU_rec => g_p_SOU_rec
301 , x_SOU_rec => g_SOU_rec
302 );
303 ELSE
304 g_SOU_rec.enabled_flag := NULL;
305 END IF;
306
307 END IF;
308
309 END IF;
310
311 IF g_SOU_rec.request_type_code = FND_API.G_MISS_CHAR THEN
312
313 g_SOU_rec.request_type_code := Get_Request_Type;
314
315 IF g_SOU_rec.request_type_code IS NOT NULL THEN
316
317 IF QP_Validate.Request_Type(g_SOU_rec.request_type_code)
318 THEN
319 g_p_SOU_rec := g_SOU_rec;
320 QP_Sou_Util.Clear_Dependent_Attr
321 ( p_attr_id => QP_Sou_Util.G_REQUEST_TYPE
322 , p_SOU_rec => g_p_SOU_rec
323 , x_SOU_rec => g_SOU_rec
324 );
325 ELSE
326 g_SOU_rec.request_type_code := NULL;
327 END IF;
328
329 END IF;
330
331 END IF;
332
333 IF g_SOU_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
334
335 g_SOU_rec.seeded_flag := Get_Seeded;
336
337 IF g_SOU_rec.seeded_flag IS NOT NULL THEN
338
339 IF QP_Validate.Seeded(g_SOU_rec.seeded_flag)
340 THEN
341 g_p_SOU_rec := g_SOU_rec;
342 QP_Sou_Util.Clear_Dependent_Attr
343 ( p_attr_id => QP_Sou_Util.G_SEEDED
344 , p_SOU_rec => g_p_SOU_rec
345 , x_SOU_rec => g_SOU_rec
346 );
347 ELSE
348 g_SOU_rec.seeded_flag := NULL;
349 END IF;
350
351 END IF;
352
353 END IF;
354
355 IF g_SOU_rec.seeded_sourcing_type = FND_API.G_MISS_CHAR THEN
356
357 g_SOU_rec.seeded_sourcing_type := Get_Seeded_Sourcing_Type;
358
359 IF g_SOU_rec.seeded_sourcing_type IS NOT NULL THEN
360
361 IF QP_Validate.Seeded_Sourcing_Type(g_SOU_rec.seeded_sourcing_type)
362 THEN
363 g_p_SOU_rec := g_SOU_rec;
364 QP_Sou_Util.Clear_Dependent_Attr
365 ( p_attr_id => QP_Sou_Util.G_SEEDED_SOURCING_TYPE
366 , p_SOU_rec => g_p_SOU_rec
367 , x_SOU_rec => g_SOU_rec
368 );
369 ELSE
370 g_SOU_rec.seeded_sourcing_type := NULL;
371 END IF;
372
373 END IF;
374
375 END IF;
376
377 IF g_SOU_rec.seeded_value_string = FND_API.G_MISS_CHAR THEN
378
379 g_SOU_rec.seeded_value_string := Get_Seeded_Value_String;
380
381 IF g_SOU_rec.seeded_value_string IS NOT NULL THEN
382
383 IF QP_Validate.Seeded_Value_String(g_SOU_rec.seeded_value_string)
384 THEN
385 g_p_SOU_rec := g_SOU_rec;
386 QP_Sou_Util.Clear_Dependent_Attr
387 ( p_attr_id => QP_Sou_Util.G_SEEDED_VALUE_STRING
388 , p_SOU_rec => g_p_SOU_rec
389 , x_SOU_rec => g_SOU_rec
390 );
391 ELSE
392 g_SOU_rec.seeded_value_string := NULL;
393 END IF;
394
395 END IF;
396
397 END IF;
398
399 IF g_SOU_rec.segment_id = FND_API.G_MISS_NUM THEN
400
401 g_SOU_rec.segment_id := Get_Segment;
402
403 IF g_SOU_rec.segment_id IS NOT NULL THEN
404
405 IF QP_Validate.Segment(g_SOU_rec.segment_id)
406 THEN
407 g_p_SOU_rec := g_SOU_rec;
408 QP_Sou_Util.Clear_Dependent_Attr
409 ( p_attr_id => QP_Sou_Util.G_SEGMENT
410 , p_SOU_rec => g_p_SOU_rec
411 , x_SOU_rec => g_SOU_rec
412 );
413 ELSE
414 g_SOU_rec.segment_id := NULL;
415 END IF;
416
417 END IF;
418
419 END IF;
420
421 IF g_SOU_rec.user_sourcing_type = FND_API.G_MISS_CHAR THEN
422
423 g_SOU_rec.user_sourcing_type := Get_User_Sourcing_Type;
424
425 IF g_SOU_rec.user_sourcing_type IS NOT NULL THEN
426
427 IF QP_Validate.User_Sourcing_Type(g_SOU_rec.user_sourcing_type)
428 THEN
429 g_p_SOU_rec := g_SOU_rec;
430 QP_Sou_Util.Clear_Dependent_Attr
431 ( p_attr_id => QP_Sou_Util.G_USER_SOURCING_TYPE
432 , p_SOU_rec => g_p_SOU_rec
433 , x_SOU_rec => g_SOU_rec
434 );
435 ELSE
436 g_SOU_rec.user_sourcing_type := NULL;
437 END IF;
438
439 END IF;
440
441 END IF;
442
443 IF g_SOU_rec.user_value_string = FND_API.G_MISS_CHAR THEN
444
445 g_SOU_rec.user_value_string := Get_User_Value_String;
446
447 IF g_SOU_rec.user_value_string IS NOT NULL THEN
448
449 IF QP_Validate.User_Value_String(g_SOU_rec.user_value_string)
450 THEN
451 g_p_SOU_rec := g_SOU_rec;
452 QP_Sou_Util.Clear_Dependent_Attr
453 ( p_attr_id => QP_Sou_Util.G_USER_VALUE_STRING
454 , p_SOU_rec => g_p_SOU_rec
455 , x_SOU_rec => g_SOU_rec
456 );
457 ELSE
458 g_SOU_rec.user_value_string := NULL;
459 END IF;
460
461 END IF;
462
463 END IF;
464
465 IF g_SOU_rec.attribute1 = FND_API.G_MISS_CHAR
466 OR g_SOU_rec.attribute10 = FND_API.G_MISS_CHAR
467 OR g_SOU_rec.attribute11 = FND_API.G_MISS_CHAR
468 OR g_SOU_rec.attribute12 = FND_API.G_MISS_CHAR
469 OR g_SOU_rec.attribute13 = FND_API.G_MISS_CHAR
470 OR g_SOU_rec.attribute14 = FND_API.G_MISS_CHAR
471 OR g_SOU_rec.attribute15 = FND_API.G_MISS_CHAR
472 OR g_SOU_rec.attribute2 = FND_API.G_MISS_CHAR
473 OR g_SOU_rec.attribute3 = FND_API.G_MISS_CHAR
474 OR g_SOU_rec.attribute4 = FND_API.G_MISS_CHAR
475 OR g_SOU_rec.attribute5 = FND_API.G_MISS_CHAR
476 OR g_SOU_rec.attribute6 = FND_API.G_MISS_CHAR
477 OR g_SOU_rec.attribute7 = FND_API.G_MISS_CHAR
478 OR g_SOU_rec.attribute8 = FND_API.G_MISS_CHAR
479 OR g_SOU_rec.attribute9 = FND_API.G_MISS_CHAR
480 OR g_SOU_rec.context = FND_API.G_MISS_CHAR
481 THEN
482
483 Get_Flex_Sou;
484
485 END IF;
486
487 IF g_SOU_rec.created_by = FND_API.G_MISS_NUM THEN
488
489 g_SOU_rec.created_by := NULL;
490
491 END IF;
492
493 IF g_SOU_rec.creation_date = FND_API.G_MISS_DATE THEN
494
495 g_SOU_rec.creation_date := NULL;
496
497 END IF;
498
499 IF g_SOU_rec.last_updated_by = FND_API.G_MISS_NUM THEN
500
501 g_SOU_rec.last_updated_by := NULL;
502
503 END IF;
504
505 IF g_SOU_rec.last_update_date = FND_API.G_MISS_DATE THEN
506
507 g_SOU_rec.last_update_date := NULL;
508
509 END IF;
510
511 IF g_SOU_rec.last_update_login = FND_API.G_MISS_NUM THEN
512
513 g_SOU_rec.last_update_login := NULL;
514
515 END IF;
516
517 IF g_SOU_rec.program_application_id = FND_API.G_MISS_NUM THEN
518
519 g_SOU_rec.program_application_id := NULL;
520
521 END IF;
522
523 IF g_SOU_rec.program_id = FND_API.G_MISS_NUM THEN
524
525 g_SOU_rec.program_id := NULL;
526
527 END IF;
528
529 IF g_SOU_rec.program_update_date = FND_API.G_MISS_DATE THEN
530
531 g_SOU_rec.program_update_date := NULL;
532
533 END IF;
534
535 -- Redefault if there are any missing attributes.
536
537 IF g_SOU_rec.attribute1 = FND_API.G_MISS_CHAR
538 OR g_SOU_rec.attribute10 = FND_API.G_MISS_CHAR
539 OR g_SOU_rec.attribute11 = FND_API.G_MISS_CHAR
540 OR g_SOU_rec.attribute12 = FND_API.G_MISS_CHAR
541 OR g_SOU_rec.attribute13 = FND_API.G_MISS_CHAR
542 OR g_SOU_rec.attribute14 = FND_API.G_MISS_CHAR
543 OR g_SOU_rec.attribute15 = FND_API.G_MISS_CHAR
544 OR g_SOU_rec.attribute2 = FND_API.G_MISS_CHAR
545 OR g_SOU_rec.attribute3 = FND_API.G_MISS_CHAR
546 OR g_SOU_rec.attribute4 = FND_API.G_MISS_CHAR
547 OR g_SOU_rec.attribute5 = FND_API.G_MISS_CHAR
548 OR g_SOU_rec.attribute6 = FND_API.G_MISS_CHAR
549 OR g_SOU_rec.attribute7 = FND_API.G_MISS_CHAR
550 OR g_SOU_rec.attribute8 = FND_API.G_MISS_CHAR
551 OR g_SOU_rec.attribute9 = FND_API.G_MISS_CHAR
552 OR g_SOU_rec.attribute_sourcing_id = FND_API.G_MISS_NUM
553 OR g_SOU_rec.attribute_sourcing_level = FND_API.G_MISS_CHAR
554 OR g_SOU_rec.application_id = FND_API.G_MISS_NUM
555 OR g_SOU_rec.context = FND_API.G_MISS_CHAR
556 OR g_SOU_rec.created_by = FND_API.G_MISS_NUM
557 OR g_SOU_rec.creation_date = FND_API.G_MISS_DATE
558 OR g_SOU_rec.enabled_flag = FND_API.G_MISS_CHAR
559 OR g_SOU_rec.last_updated_by = FND_API.G_MISS_NUM
560 OR g_SOU_rec.last_update_date = FND_API.G_MISS_DATE
561 OR g_SOU_rec.last_update_login = FND_API.G_MISS_NUM
562 OR g_SOU_rec.program_application_id = FND_API.G_MISS_NUM
563 OR g_SOU_rec.program_id = FND_API.G_MISS_NUM
564 OR g_SOU_rec.program_update_date = FND_API.G_MISS_DATE
565 OR g_SOU_rec.request_type_code = FND_API.G_MISS_CHAR
566 OR g_SOU_rec.seeded_flag = FND_API.G_MISS_CHAR
567 OR g_SOU_rec.seeded_sourcing_type = FND_API.G_MISS_CHAR
568 OR g_SOU_rec.seeded_value_string = FND_API.G_MISS_CHAR
569 OR g_SOU_rec.segment_id = FND_API.G_MISS_NUM
570 OR g_SOU_rec.user_sourcing_type = FND_API.G_MISS_CHAR
571 OR g_SOU_rec.user_value_string = FND_API.G_MISS_CHAR
572 THEN
573
574 QP_Default_Sou.Attributes
575 ( p_SOU_rec => g_SOU_rec
576 , p_iteration => p_iteration + 1
577 , x_SOU_rec => x_SOU_rec
578 );
579
580 ELSE
581
582 -- Done defaulting attributes
583
584 x_SOU_rec := g_SOU_rec;
585
586 END IF;
587
588 END Attributes;
589
590 END QP_Default_Sou;