DBA Data[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;