DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_DEFAULT_SEG

Source


1 PACKAGE BODY QP_Default_Seg AS
2 /* $Header: QPXDSEGB.pls 120.3 2005/08/03 07:36:40 srashmi ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Default_Seg';
7 
8 --  Package global used within the package.
9 
10 g_SEG_rec                     QP_Attributes_PUB.Seg_Rec_Type;
11 
12 --  Get functions.
13 
14 FUNCTION Get_Availability_In_Basic
15 RETURN VARCHAR2
16 IS
17 BEGIN
18 
19     RETURN NULL;
20 
21 END Get_Availability_In_Basic;
22 
23 FUNCTION Get_Prc_Context
24 RETURN NUMBER
25 IS
26 BEGIN
27 
28     RETURN NULL;
29 
30 END Get_Prc_Context;
31 
32 FUNCTION Get_Seeded
33 RETURN VARCHAR2
34 IS
35 BEGIN
36 
37     RETURN NULL;
38 
39 END Get_Seeded;
40 
41 FUNCTION Get_Seeded_Format_Type
42 RETURN VARCHAR2
43 IS
44 BEGIN
45 
46     RETURN NULL;
47 
48 END Get_Seeded_Format_Type;
49 
50 FUNCTION Get_Seeded_Precedence
51 RETURN NUMBER
52 IS
53 BEGIN
54 
55     RETURN NULL;
56 
57 END Get_Seeded_Precedence;
58 
59 FUNCTION Get_Seeded_Segment_Name
60 RETURN VARCHAR2
61 IS
62 BEGIN
63 
64     RETURN NULL;
65 
66 END Get_Seeded_Segment_Name;
67 
68 FUNCTION Get_Seeded_Description
69 RETURN VARCHAR2
70 IS
71 BEGIN
72 
73     RETURN NULL;
74 
75 END Get_Seeded_Description;
76 
77 FUNCTION Get_User_Description
78 RETURN VARCHAR2
79 IS
80 BEGIN
81 
82     RETURN NULL;
83 
84 END Get_User_Description;
85 
86 FUNCTION Get_Seeded_Valueset
87 RETURN NUMBER
88 IS
89 BEGIN
90 
91     RETURN NULL;
92 
93 END Get_Seeded_Valueset;
94 
95 FUNCTION Get_Segment_code
96 RETURN VARCHAR2
97 IS
98 BEGIN
99 
100     RETURN NULL;
101 
102 END Get_Segment_code;
103 
104 FUNCTION Get_Segment
105 RETURN NUMBER
106 IS
107   l_segment_id   number(15);
108 BEGIN
109     select qp_segments_s.nextval
110     into l_segment_id
111     from dual;
112     RETURN (l_segment_id);
113 
114 END Get_Segment;
115 
116 FUNCTION Get_Application_Id
117 RETURN NUMBER
118 IS
119 BEGIN
120 
121     -- Id for Applicatin Mane "Oracle Pricing"
122     RETURN 661;
123 
124 END Get_Application_Id;
125 
126 FUNCTION Get_Segment_Mapping_Column
127 RETURN VARCHAR2
128 IS
129 BEGIN
130 
131     RETURN NULL;
132 
133 END Get_Segment_Mapping_Column;
134 
135 FUNCTION Get_User_Format_Type
136 RETURN VARCHAR2
137 IS
138 BEGIN
139 
140     RETURN NULL;
141 
142 END Get_User_Format_Type;
143 
144 FUNCTION Get_User_Precedence
145 RETURN NUMBER
146 IS
147 BEGIN
148 
149     RETURN NULL;
150 
151 END Get_User_Precedence;
152 
153 FUNCTION Get_User_Segment_Name
154 RETURN VARCHAR2
155 IS
156 BEGIN
157 
158     RETURN NULL;
159 
160 END Get_User_Segment_Name;
161 
162 FUNCTION Get_User_Valueset
163 RETURN NUMBER
164 IS
165 BEGIN
166 
167     RETURN NULL;
168 
169 END Get_User_Valueset;
170 
171 FUNCTION Get_Required_Flag
172 RETURN VARCHAR2
173 IS
174 BEGIN
175 
176     RETURN NULL;
177 END Get_Required_Flag;
178 
179 -- Added for TCA
180 FUNCTION Get_Party_Hierarchy_Enabled
181 RETURN VARCHAR2
182 IS
183 BEGIN
184 
185     RETURN NULL;
186 END Get_Party_Hierarchy_Enabled;
187 
188 PROCEDURE Get_Flex_Seg
189 IS
190 BEGIN
191 
192     --  In the future call Flex APIs for defaults
193 
194     IF g_SEG_rec.attribute1 = FND_API.G_MISS_CHAR THEN
195         g_SEG_rec.attribute1           := NULL;
196     END IF;
197 
198     IF g_SEG_rec.attribute10 = FND_API.G_MISS_CHAR THEN
199         g_SEG_rec.attribute10          := NULL;
200     END IF;
201 
202     IF g_SEG_rec.attribute11 = FND_API.G_MISS_CHAR THEN
203         g_SEG_rec.attribute11          := NULL;
204     END IF;
205 
206     IF g_SEG_rec.attribute12 = FND_API.G_MISS_CHAR THEN
207         g_SEG_rec.attribute12          := NULL;
208     END IF;
209 
210     IF g_SEG_rec.attribute13 = FND_API.G_MISS_CHAR THEN
211         g_SEG_rec.attribute13          := NULL;
212     END IF;
213 
214     IF g_SEG_rec.attribute14 = FND_API.G_MISS_CHAR THEN
215         g_SEG_rec.attribute14          := NULL;
216     END IF;
217 
218     IF g_SEG_rec.attribute15 = FND_API.G_MISS_CHAR THEN
219         g_SEG_rec.attribute15          := NULL;
220     END IF;
221 
222     IF g_SEG_rec.attribute2 = FND_API.G_MISS_CHAR THEN
223         g_SEG_rec.attribute2           := NULL;
224     END IF;
225 
226     IF g_SEG_rec.attribute3 = FND_API.G_MISS_CHAR THEN
227         g_SEG_rec.attribute3           := NULL;
228     END IF;
229 
230     IF g_SEG_rec.attribute4 = FND_API.G_MISS_CHAR THEN
231         g_SEG_rec.attribute4           := NULL;
232     END IF;
233 
234     IF g_SEG_rec.attribute5 = FND_API.G_MISS_CHAR THEN
235         g_SEG_rec.attribute5           := NULL;
236     END IF;
237 
238     IF g_SEG_rec.attribute6 = FND_API.G_MISS_CHAR THEN
239         g_SEG_rec.attribute6           := NULL;
240     END IF;
241 
242     IF g_SEG_rec.attribute7 = FND_API.G_MISS_CHAR THEN
243         g_SEG_rec.attribute7           := NULL;
244     END IF;
245 
246     IF g_SEG_rec.attribute8 = FND_API.G_MISS_CHAR THEN
247         g_SEG_rec.attribute8           := NULL;
248     END IF;
249 
250     IF g_SEG_rec.attribute9 = FND_API.G_MISS_CHAR THEN
251         g_SEG_rec.attribute9           := NULL;
252     END IF;
253 
254     IF g_SEG_rec.context = FND_API.G_MISS_CHAR THEN
255         g_SEG_rec.context              := NULL;
256     END IF;
257 
258 END Get_Flex_Seg;
259 
260 --  Procedure Attributes
261 
262 PROCEDURE Attributes
263 (   p_SEG_rec                       IN  QP_Attributes_PUB.Seg_Rec_Type :=
264                                         QP_Attributes_PUB.G_MISS_SEG_REC
265 ,   p_iteration                     IN  NUMBER := 1
266 ,   x_SEG_rec                       OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Seg_Rec_Type
267 )
268 IS
269  g_p_SEG_rec          QP_Attributes_PUB.Seg_Rec_Type;
270 BEGIN
271 
272     --  Check number of iterations.
273 
274     IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
275 
276         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
277         THEN
278 
279             FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
280             OE_MSG_PUB.Add;
281 
282         END IF;
283 
284         RAISE FND_API.G_EXC_ERROR;
285 
286     END IF;
287 
288     --  Initialize g_SEG_rec
289 
290     g_SEG_rec := p_SEG_rec;
291 
292     --  Default missing attributes.
293 
294     IF g_SEG_rec.availability_in_basic = FND_API.G_MISS_CHAR THEN
295 
296         g_SEG_rec.availability_in_basic := Get_Availability_In_Basic;
297 
298         IF g_SEG_rec.availability_in_basic IS NOT NULL THEN
299 
300             IF QP_Validate.Availability_In_Basic(g_SEG_rec.availability_in_basic)
301             THEN
302                g_p_SEG_rec := g_SEG_rec;
303                 QP_Seg_Util.Clear_Dependent_Attr
304                 (   p_attr_id                     => QP_Seg_Util.G_AVAILABILITY_IN_BASIC
305                 ,   p_SEG_rec                     => g_p_SEG_rec
306                 ,   x_SEG_rec                     => g_SEG_rec
307                 );
308             ELSE
309                 g_SEG_rec.availability_in_basic := NULL;
310             END IF;
311 
312         END IF;
313 
314     END IF;
315 
316     IF g_SEG_rec.prc_context_id = FND_API.G_MISS_NUM THEN
317 
318         g_SEG_rec.prc_context_id := Get_Prc_Context;
319 
320         IF g_SEG_rec.prc_context_id IS NOT NULL THEN
321 
322             IF QP_Validate.Prc_Context(g_SEG_rec.prc_context_id)
323             THEN
324                g_p_SEG_rec := g_SEG_rec;
325                 QP_Seg_Util.Clear_Dependent_Attr
326                 (   p_attr_id                     => QP_Seg_Util.G_PRC_CONTEXT
327                 ,   p_SEG_rec                     => g_p_SEG_rec
328                 ,   x_SEG_rec                     => g_SEG_rec
329                 );
330             ELSE
331                 g_SEG_rec.prc_context_id := NULL;
332             END IF;
333 
334         END IF;
335 
336     END IF;
337 
338     IF g_SEG_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
339 
340         g_SEG_rec.seeded_flag := Get_Seeded;
341 
342         IF g_SEG_rec.seeded_flag IS NOT NULL THEN
343 
344             IF QP_Validate.Seeded(g_SEG_rec.seeded_flag)
345             THEN
346                g_p_SEG_rec := g_SEG_rec;
347                 QP_Seg_Util.Clear_Dependent_Attr
348                 (   p_attr_id                     => QP_Seg_Util.G_SEEDED
349                 ,   p_SEG_rec                     => g_p_SEG_rec
350                 ,   x_SEG_rec                     => g_SEG_rec
351                 );
352             ELSE
353                 g_SEG_rec.seeded_flag := NULL;
354             END IF;
355 
356         END IF;
357 
358     END IF;
359 
360     IF g_SEG_rec.seeded_format_type = FND_API.G_MISS_CHAR THEN
361 
362         g_SEG_rec.seeded_format_type := Get_Seeded_Format_Type;
363 
364         IF g_SEG_rec.seeded_format_type IS NOT NULL THEN
365 
366             IF QP_Validate.Seeded_Format_Type(g_SEG_rec.seeded_format_type)
367             THEN
368                g_p_SEG_rec := g_SEG_rec;
369                 QP_Seg_Util.Clear_Dependent_Attr
370                 (   p_attr_id                     => QP_Seg_Util.G_SEEDED_FORMAT_TYPE
371                 ,   p_SEG_rec                     => g_p_SEG_rec
372                 ,   x_SEG_rec                     => g_SEG_rec
373                 );
374             ELSE
375                 g_SEG_rec.seeded_format_type := NULL;
376             END IF;
377 
378         END IF;
379 
380     END IF;
381 
382     IF g_SEG_rec.seeded_precedence = FND_API.G_MISS_NUM THEN
383 
384         g_SEG_rec.seeded_precedence := Get_Seeded_Precedence;
385 
386         IF g_SEG_rec.seeded_precedence IS NOT NULL THEN
387 
388             IF QP_Validate.Seeded_Precedence(g_SEG_rec.seeded_precedence)
389             THEN
390                g_p_SEG_rec := g_SEG_rec;
391                 QP_Seg_Util.Clear_Dependent_Attr
392                 (   p_attr_id                     => QP_Seg_Util.G_SEEDED_PRECEDENCE
393                 ,   p_SEG_rec                     => g_p_SEG_rec
394                 ,   x_SEG_rec                     => g_SEG_rec
395                 );
396             ELSE
397                 g_SEG_rec.seeded_precedence := NULL;
398             END IF;
399 
400         END IF;
401 
402     END IF;
403 
404     IF g_SEG_rec.seeded_segment_name = FND_API.G_MISS_CHAR THEN
405 
406         g_SEG_rec.seeded_segment_name := Get_Seeded_Segment_Name;
407 
408         IF g_SEG_rec.seeded_segment_name IS NOT NULL THEN
409 
410             IF QP_Validate.Seeded_Segment_Name(g_SEG_rec.seeded_segment_name)
411             THEN
412                g_p_SEG_rec := g_SEG_rec;
413                 QP_Seg_Util.Clear_Dependent_Attr
414                 (   p_attr_id                     => QP_Seg_Util.G_SEEDED_SEGMENT_NAME
415                 ,   p_SEG_rec                     => g_p_SEG_rec
416                 ,   x_SEG_rec                     => g_SEG_rec
417                 );
418             ELSE
419                 g_SEG_rec.seeded_segment_name := NULL;
420             END IF;
421 
422         END IF;
423 
424     END IF;
425 
426     IF g_SEG_rec.seeded_description = FND_API.G_MISS_CHAR THEN
427 
428         g_SEG_rec.seeded_description := Get_Seeded_Description;
429 
430         IF g_SEG_rec.seeded_description IS NOT NULL THEN
431 
432             IF QP_Validate.Seeded_Description_Seg(g_SEG_rec.seeded_description)
433             THEN
434                g_p_SEG_rec := g_SEG_rec;
435                 QP_Seg_Util.Clear_Dependent_Attr
436                 (   p_attr_id              => QP_Seg_Util.G_SEEDED_DESCRIPTION
437                 ,   p_SEG_rec                     => g_p_SEG_rec
438                 ,   x_SEG_rec                     => g_SEG_rec
439                 );
440             ELSE
441                 g_SEG_rec.seeded_description := NULL;
442             END IF;
443 
444         END IF;
445 
446      END IF;
447 
448 
449      IF g_SEG_rec.user_description = FND_API.G_MISS_CHAR THEN
450 
451         g_SEG_rec.user_description := Get_Seeded_Description;
452 
453         IF g_SEG_rec.user_description IS NOT NULL THEN
454 
455             IF QP_Validate.User_Description_Seg(g_SEG_rec.user_description)
456             THEN
457                g_p_SEG_rec := g_SEG_rec;
458                 QP_Seg_Util.Clear_Dependent_Attr
459                 (   p_attr_id            => QP_Seg_Util.G_USER_DESCRIPTION
460                 ,   p_SEG_rec                     => g_p_SEG_rec
461                 ,   x_SEG_rec                     => g_SEG_rec
462                 );
463             ELSE
464                 g_SEG_rec.user_description := NULL;
465             END IF;
466 
467         END IF;
468 
469     END IF;
470 
471 
472     IF g_SEG_rec.seeded_valueset_id = FND_API.G_MISS_NUM THEN
473 
474         g_SEG_rec.seeded_valueset_id := Get_Seeded_Valueset;
475 
476         IF g_SEG_rec.seeded_valueset_id IS NOT NULL THEN
477 
478             IF QP_Validate.Seeded_Valueset(g_SEG_rec.seeded_valueset_id)
479             THEN
480                g_p_SEG_rec := g_SEG_rec;
481                 QP_Seg_Util.Clear_Dependent_Attr
482                 (   p_attr_id                     => QP_Seg_Util.G_SEEDED_VALUESET
483                 ,   p_SEG_rec                     => g_p_SEG_rec
484                 ,   x_SEG_rec                     => g_SEG_rec
485                 );
486             ELSE
487                 g_SEG_rec.seeded_valueset_id := NULL;
488             END IF;
492     END IF;
489 
490         END IF;
491 
493 
494     IF g_SEG_rec.segment_code = FND_API.G_MISS_CHAR THEN
495 
496         g_SEG_rec.segment_code := Get_Segment_code;
497 
498         IF g_SEG_rec.segment_code IS NOT NULL THEN
499 
500             IF QP_Validate.Segment_code(g_SEG_rec.segment_code)
501             THEN
502                g_p_SEG_rec := g_SEG_rec;
503                 QP_Seg_Util.Clear_Dependent_Attr
504                 (   p_attr_id                     => QP_Seg_Util.G_SEGMENT_code
505                 ,   p_SEG_rec                     => g_p_SEG_rec
506                 ,   x_SEG_rec                     => g_SEG_rec
507                 );
508             ELSE
509                 g_SEG_rec.segment_code := NULL;
510             END IF;
511 
512         END IF;
513 
514     END IF;
515 
516     IF g_SEG_rec.segment_id = FND_API.G_MISS_NUM THEN
517 
518         g_SEG_rec.segment_id := Get_Segment;
519 
520         IF g_SEG_rec.segment_id IS NOT NULL THEN
521 
522             IF QP_Validate.Segment(g_SEG_rec.segment_id)
523             THEN
524                g_p_SEG_rec := g_SEG_rec;
525                 QP_Seg_Util.Clear_Dependent_Attr
526                 (   p_attr_id                     => QP_Seg_Util.G_SEGMENT
527                 ,   p_SEG_rec                     => g_p_SEG_rec
528                 ,   x_SEG_rec                     => g_SEG_rec
529                 );
530             ELSE
531                 g_SEG_rec.segment_id := NULL;
532             END IF;
533 
534         END IF;
535 
536     END IF;
537     -- Added Application_Id by Abhijit
538     IF g_SEG_rec.application_id = FND_API.G_MISS_NUM THEN
539 
540         g_SEG_rec.application_id := Get_application_id;
541 
542         IF g_SEG_rec.application_id IS NOT NULL THEN
543 
544             IF QP_Validate.application_id(g_SEG_rec.application_id)
545             THEN
546                g_p_SEG_rec := g_SEG_rec;
547                 QP_Seg_Util.Clear_Dependent_Attr
548                 (   p_attr_id                     => QP_Seg_Util.G_APPLICATION_ID
549                 ,   p_SEG_rec                     => g_p_SEG_rec
550                 ,   x_SEG_rec                     => g_SEG_rec
551                 );
552             ELSE
553                 g_SEG_rec.application_id := NULL;
554             END IF;
555 
556         END IF;
557 
558     END IF;
559 
560     IF g_SEG_rec.segment_mapping_column = FND_API.G_MISS_CHAR THEN
561 
562         g_SEG_rec.segment_mapping_column := Get_Segment_Mapping_Column;
563 
564         IF g_SEG_rec.segment_mapping_column IS NOT NULL THEN
565 
566             IF QP_Validate.Segment_Mapping_Column(g_SEG_rec.segment_mapping_column)
567             THEN
568                g_p_SEG_rec := g_SEG_rec;
569                 QP_Seg_Util.Clear_Dependent_Attr
570                 (   p_attr_id                     => QP_Seg_Util.G_SEGMENT_MAPPING_COLUMN
571                 ,   p_SEG_rec                     => g_p_SEG_rec
572                 ,   x_SEG_rec                     => g_SEG_rec
573                 );
574             ELSE
575                 g_SEG_rec.segment_mapping_column := NULL;
576             END IF;
577 
578         END IF;
579 
580     END IF;
581 
582     IF g_SEG_rec.user_format_type = FND_API.G_MISS_CHAR THEN
583 
584         g_SEG_rec.user_format_type := Get_User_Format_Type;
585 
586         IF g_SEG_rec.user_format_type IS NOT NULL THEN
587 
588             IF QP_Validate.User_Format_Type(g_SEG_rec.user_format_type)
589             THEN
590                g_p_SEG_rec := g_SEG_rec;
591                 QP_Seg_Util.Clear_Dependent_Attr
592                 (   p_attr_id                     => QP_Seg_Util.G_USER_FORMAT_TYPE
593                 ,   p_SEG_rec                     => g_p_SEG_rec
594                 ,   x_SEG_rec                     => g_SEG_rec
595                 );
596             ELSE
597                 g_SEG_rec.user_format_type := NULL;
598             END IF;
599 
600         END IF;
601 
602     END IF;
603 
604     IF g_SEG_rec.user_precedence = FND_API.G_MISS_NUM THEN
605 
606         g_SEG_rec.user_precedence := Get_User_Precedence;
607 
608         IF g_SEG_rec.user_precedence IS NOT NULL THEN
609 
610             IF QP_Validate.User_Precedence(g_SEG_rec.user_precedence)
611             THEN
612                g_p_SEG_rec := g_SEG_rec;
613                 QP_Seg_Util.Clear_Dependent_Attr
614                 (   p_attr_id                     => QP_Seg_Util.G_USER_PRECEDENCE
615                 ,   p_SEG_rec                     => g_p_SEG_rec
616                 ,   x_SEG_rec                     => g_SEG_rec
617                 );
618             ELSE
619                 g_SEG_rec.user_precedence := NULL;
620             END IF;
621 
622         END IF;
623 
624     END IF;
625 
626     IF g_SEG_rec.user_segment_name = FND_API.G_MISS_CHAR THEN
627 
628         g_SEG_rec.user_segment_name := Get_User_Segment_Name;
629 
630         IF g_SEG_rec.user_segment_name IS NOT NULL THEN
631 
632             IF QP_Validate.User_Segment_Name(g_SEG_rec.user_segment_name)
633             THEN
634                g_p_SEG_rec := g_SEG_rec;
635                 QP_Seg_Util.Clear_Dependent_Attr
636                 (   p_attr_id                     => QP_Seg_Util.G_USER_SEGMENT_NAME
637                 ,   p_SEG_rec                     => g_p_SEG_rec
638                 ,   x_SEG_rec                     => g_SEG_rec
639                 );
640             ELSE
641                 g_SEG_rec.user_segment_name := NULL;
642             END IF;
643 
644         END IF;
645 
646     END IF;
647 
648     IF g_SEG_rec.user_valueset_id = FND_API.G_MISS_NUM THEN
649 
650         g_SEG_rec.user_valueset_id := Get_User_Valueset;
651 
652         IF g_SEG_rec.user_valueset_id IS NOT NULL THEN
653 
654             IF QP_Validate.User_Valueset(g_SEG_rec.user_valueset_id)
655             THEN
656                g_p_SEG_rec := g_SEG_rec;
657                 QP_Seg_Util.Clear_Dependent_Attr
658                 (   p_attr_id                     => QP_Seg_Util.G_USER_VALUESET
659                 ,   p_SEG_rec                     => g_p_SEG_rec
660                 ,   x_SEG_rec                     => g_SEG_rec
661                 );
662             ELSE
663                 g_SEG_rec.user_valueset_id := NULL;
664             END IF;
665 
666         END IF;
667 
668     END IF;
669 
670     IF g_SEG_rec.required_flag = FND_API.G_MISS_CHAR THEN
671 
672         g_SEG_rec.required_flag := Get_Required_Flag;
673 
674         IF g_SEG_rec.required_flag IS NOT NULL THEN
675 
676             IF QP_Validate.required_flag(g_SEG_rec.user_valueset_id)
677             THEN
678                g_p_SEG_rec := g_SEG_rec;
679                 QP_Seg_Util.Clear_Dependent_Attr
680                 (   p_attr_id                     => QP_Seg_Util.G_REQUIRED_FLAG
681                 ,   p_SEG_rec                     => g_p_SEG_rec
682                 ,   x_SEG_rec                     => g_SEG_rec
683                 );
684             ELSE
685                 g_SEG_rec.required_flag := NULL;
686             END IF;
687 
688         END IF;
689 
690     END IF;
691 
692     -- Added for TCA
693     IF g_SEG_rec.party_hierarchy_enabled_flag = FND_API.G_MISS_CHAR THEN
694 
695         g_SEG_rec.party_hierarchy_enabled_flag := Get_Party_Hierarchy_Enabled;
696 
697         IF g_SEG_rec.party_hierarchy_enabled_flag IS NOT NULL THEN
698 
699             IF
700 QP_Validate.party_hierarchy_enabled_flag(g_SEG_rec.party_hierarchy_enabled_flag)
701             THEN
702                 g_p_SEG_rec := g_SEG_rec;
703                 QP_Seg_Util.Clear_Dependent_Attr
704                 (   p_attr_id                     => QP_Seg_Util.G_PARTY_HIERARCHY_ENABLED_FLAG
705                 ,   p_SEG_rec                     => g_p_SEG_rec
706                 ,   x_SEG_rec                     => g_SEG_rec
707                 );
708             ELSE
709                 g_SEG_rec.party_hierarchy_enabled_flag:= NULL;
710             END IF;
711 
712         END IF;
713 
714     END IF;
715 
716     IF g_SEG_rec.attribute1 = FND_API.G_MISS_CHAR
717     OR  g_SEG_rec.attribute10 = FND_API.G_MISS_CHAR
718     OR  g_SEG_rec.attribute11 = FND_API.G_MISS_CHAR
719     OR  g_SEG_rec.attribute12 = FND_API.G_MISS_CHAR
720     OR  g_SEG_rec.attribute13 = FND_API.G_MISS_CHAR
721     OR  g_SEG_rec.attribute14 = FND_API.G_MISS_CHAR
722     OR  g_SEG_rec.attribute15 = FND_API.G_MISS_CHAR
723     OR  g_SEG_rec.attribute2 = FND_API.G_MISS_CHAR
724     OR  g_SEG_rec.attribute3 = FND_API.G_MISS_CHAR
725     OR  g_SEG_rec.attribute4 = FND_API.G_MISS_CHAR
726     OR  g_SEG_rec.attribute5 = FND_API.G_MISS_CHAR
727     OR  g_SEG_rec.attribute6 = FND_API.G_MISS_CHAR
728     OR  g_SEG_rec.attribute7 = FND_API.G_MISS_CHAR
729     OR  g_SEG_rec.attribute8 = FND_API.G_MISS_CHAR
730     OR  g_SEG_rec.attribute9 = FND_API.G_MISS_CHAR
731     OR  g_SEG_rec.context = FND_API.G_MISS_CHAR
732     THEN
733 
734         Get_Flex_Seg;
735 
736     END IF;
737 
738     IF g_SEG_rec.created_by = FND_API.G_MISS_NUM THEN
739 
740         g_SEG_rec.created_by := NULL;
741 
742     END IF;
743 
744     IF g_SEG_rec.creation_date = FND_API.G_MISS_DATE THEN
745 
746         g_SEG_rec.creation_date := NULL;
747 
748     END IF;
749 
750     IF g_SEG_rec.last_updated_by = FND_API.G_MISS_NUM THEN
751 
752         g_SEG_rec.last_updated_by := NULL;
753 
754     END IF;
755 
756     IF g_SEG_rec.last_update_date = FND_API.G_MISS_DATE THEN
757 
758         g_SEG_rec.last_update_date := NULL;
759 
760     END IF;
761 
762     IF g_SEG_rec.last_update_login = FND_API.G_MISS_NUM THEN
763 
764         g_SEG_rec.last_update_login := NULL;
765 
766     END IF;
767 
768     IF g_SEG_rec.program_application_id = FND_API.G_MISS_NUM THEN
769 
770         g_SEG_rec.program_application_id := NULL;
771 
772     END IF;
773 
774     IF g_SEG_rec.program_id = FND_API.G_MISS_NUM THEN
775 
776         g_SEG_rec.program_id := NULL;
777 
778     END IF;
779 
780     IF g_SEG_rec.program_update_date = FND_API.G_MISS_DATE THEN
781 
782         g_SEG_rec.program_update_date := NULL;
783 
784     END IF;
785 
786     --  Redefault if there are any missing attributes.
787 
788     IF  g_SEG_rec.attribute1 = FND_API.G_MISS_CHAR
789     OR  g_SEG_rec.attribute10 = FND_API.G_MISS_CHAR
790     OR  g_SEG_rec.attribute11 = FND_API.G_MISS_CHAR
791     OR  g_SEG_rec.attribute12 = FND_API.G_MISS_CHAR
792     OR  g_SEG_rec.attribute13 = FND_API.G_MISS_CHAR
793     OR  g_SEG_rec.attribute14 = FND_API.G_MISS_CHAR
794     OR  g_SEG_rec.attribute15 = FND_API.G_MISS_CHAR
795     OR  g_SEG_rec.attribute2 = FND_API.G_MISS_CHAR
796     OR  g_SEG_rec.attribute3 = FND_API.G_MISS_CHAR
797     OR  g_SEG_rec.attribute4 = FND_API.G_MISS_CHAR
798     OR  g_SEG_rec.attribute5 = FND_API.G_MISS_CHAR
799     OR  g_SEG_rec.attribute6 = FND_API.G_MISS_CHAR
800     OR  g_SEG_rec.attribute7 = FND_API.G_MISS_CHAR
801     OR  g_SEG_rec.attribute8 = FND_API.G_MISS_CHAR
802     OR  g_SEG_rec.attribute9 = FND_API.G_MISS_CHAR
803     OR  g_SEG_rec.availability_in_basic = FND_API.G_MISS_CHAR
804     OR  g_SEG_rec.context = FND_API.G_MISS_CHAR
805     OR  g_SEG_rec.created_by = FND_API.G_MISS_NUM
806     OR  g_SEG_rec.creation_date = FND_API.G_MISS_DATE
807     OR  g_SEG_rec.last_updated_by = FND_API.G_MISS_NUM
808     OR  g_SEG_rec.last_update_date = FND_API.G_MISS_DATE
809     OR  g_SEG_rec.last_update_login = FND_API.G_MISS_NUM
810     OR  g_SEG_rec.prc_context_id = FND_API.G_MISS_NUM
811     OR  g_SEG_rec.program_application_id = FND_API.G_MISS_NUM
812     OR  g_SEG_rec.program_id = FND_API.G_MISS_NUM
813     OR  g_SEG_rec.program_update_date = FND_API.G_MISS_DATE
814     OR  g_SEG_rec.seeded_flag = FND_API.G_MISS_CHAR
815     OR  g_SEG_rec.seeded_format_type = FND_API.G_MISS_CHAR
816     OR  g_SEG_rec.seeded_precedence = FND_API.G_MISS_NUM
817     OR  g_SEG_rec.seeded_segment_name = FND_API.G_MISS_CHAR
818     OR  g_SEG_rec.seeded_valueset_id = FND_API.G_MISS_NUM
819     OR  g_SEG_rec.segment_code = FND_API.G_MISS_CHAR
820     OR  g_SEG_rec.segment_id = FND_API.G_MISS_NUM
821     -- Added Application_Id by Abhijit
822     OR  g_SEG_rec.application_id = FND_API.G_MISS_NUM
823     OR  g_SEG_rec.segment_mapping_column = FND_API.G_MISS_CHAR
824     OR  g_SEG_rec.user_format_type = FND_API.G_MISS_CHAR
825     OR  g_SEG_rec.user_precedence = FND_API.G_MISS_NUM
826     OR  g_SEG_rec.user_segment_name = FND_API.G_MISS_CHAR
827     OR  g_SEG_rec.required_flag = FND_API.G_MISS_CHAR
828     OR  g_SEG_rec.user_valueset_id = FND_API.G_MISS_NUM
829      -- Added for TCA
830     OR  g_SEG_rec.party_hierarchy_enabled_flag = FND_API.G_MISS_CHAR
831     THEN
832 
833         QP_Default_Seg.Attributes
834         (   p_SEG_rec                     => g_SEG_rec
835         ,   p_iteration                   => p_iteration + 1
836         ,   x_SEG_rec                     => x_SEG_rec
837         );
838 
839     ELSE
840 
841         --  Done defaulting attributes
842 
843         x_SEG_rec := g_SEG_rec;
844 
845     END IF;
846 
847 END Attributes;
848 
849 END QP_Default_Seg;