DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_DEFAULT_QUALIFIERS

Source


1 PACKAGE BODY QP_Default_Qualifiers AS
2 /* $Header: QPXDQPQB.pls 120.3 2005/08/31 17:51:43 srashmi ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Default_Qualifiers';
7 
8 --  Package global used within the package.
9 
10 g_QUALIFIERS_rec              QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
11 g_p_QUALIFIERS_rec            QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
12 
13 --  Get functions.
14 
15 FUNCTION Get_Comparison_Operator
16 RETURN VARCHAR2
17 IS
18 BEGIN
19 
20     RETURN '=';
21 
22 END Get_Comparison_Operator;
23 
24 FUNCTION Get_Created_From_Rule
25 RETURN NUMBER
26 IS
27 BEGIN
28 
29     RETURN NULL;
30 
31 END Get_Created_From_Rule;
32 
33 FUNCTION Get_End_Date_Active
34 RETURN DATE
35 IS
36 BEGIN
37 
38     RETURN NULL;
39 
40 END Get_End_Date_Active;
41 
42 FUNCTION Get_Excluder
43 RETURN VARCHAR2
44 IS
45 BEGIN
46 
47     RETURN 'N';
48 
49 END Get_Excluder;
50 
51 FUNCTION Get_List_Header
52 RETURN NUMBER
53 IS
54 BEGIN
55 
56     RETURN NULL;
57 
58 END Get_List_Header;
59 
60 FUNCTION Get_List_Line
61 RETURN NUMBER
62 IS
63 BEGIN
64 
65     RETURN -1;
66 
67 END Get_List_Line;
68 
69 FUNCTION Get_Qualifier_Attribute
70 RETURN VARCHAR2
71 IS
72 BEGIN
73 
74     RETURN NULL;
75 
76 END Get_Qualifier_Attribute;
77 
78 FUNCTION Get_Qualifier_Attr_Value
79 RETURN VARCHAR2
80 IS
81 BEGIN
82 
83     RETURN NULL;
84 
85 END Get_Qualifier_Attr_Value;
86 
87 FUNCTION Get_Qualifier_Attr_Value_To
88 RETURN VARCHAR2
89 IS
90 BEGIN
91 
92     RETURN NULL;
93 
94 END Get_Qualifier_Attr_Value_To;
95 
96 
97 FUNCTION Get_Qualifier_Context
98 RETURN VARCHAR2
99 IS
100 BEGIN
101 
102     RETURN NULL;
103 
104 END Get_Qualifier_Context;
105 
106 FUNCTION Get_Qualifier_Datatype(p_qualifier_context IN VARCHAR2,
107 						    p_qualifier_attribute IN VARCHAR2,
108                                   p_qualifier_attribute_value IN VARCHAR2
109 						    )
110 RETURN VARCHAR2
111 IS
112 l_context_error VARCHAR2(1);
113 l_attribute_error VARCHAR2(1);
114 l_value_error VARCHAR2(1);
115 l_datatype VARCHAR2(1);
116 l_precedence NUMBER;
117 l_error_code NUMBER;
118 
119 BEGIN
120 
121 
122     QP_UTIL.validate_qp_flexfield(flexfield_name         =>'QP_ATTR_DEFNS_QUALIFIER'
123 			 ,context                        =>p_qualifier_context
124 			 ,attribute                      =>p_qualifier_attribute
125 			 ,value                          =>p_qualifier_attribute_value
126                 ,application_short_name         => 'QP'
127 			 ,context_flag                   =>l_context_error
128 			 ,attribute_flag                 =>l_attribute_error
129 			 ,value_flag                     =>l_value_error
130 			 ,datatype                       =>l_datatype
131 			 ,precedence                      =>l_precedence
132 			 ,error_code                     =>l_error_code
133 			 );
134 
135     If l_error_code = 0 Then
136 
137 	  RETURN  l_datatype;
138     Else
139 	  RETURN  NULL;
140     End If;
141 
142 END Get_Qualifier_Datatype;
143 
144 /*FUNCTION Get_Qualifier_Date_Format
145 RETURN VARCHAR2
146 IS
147 BEGIN
148 
149     RETURN NULL;
150 
151 END Get_Qualifier_Date_Format;*/
152 
153 FUNCTION Get_Qualifier_Grouping_No
154 RETURN NUMBER
155 IS
156 BEGIN
157 
158     RETURN -1;
159 
160 END Get_Qualifier_Grouping_No;
161 
162 FUNCTION Get_Qualifier
163 RETURN NUMBER
164 IS
165 l_qualifier_id  NUMBER;
166 BEGIN
167 
168    SELECT QP_QUALIFIERS_S.NEXTVAL
169    INTO   l_qualifier_id
170    FROM  DUAL;
171    RETURN l_qualifier_id;
172 
173 END Get_Qualifier;
174 
175 /*FUNCTION Get_Qualifier_Number_Format
176 RETURN VARCHAR2
177 IS
178 BEGIN
179 
180     RETURN NULL;
181 
182 END Get_Qualifier_Number_Format;*/
183 
184 FUNCTION Get_Qualifier_Precedence(p_qualifier_context IN VARCHAR2,
185 						    p_qualifier_attribute IN VARCHAR2,
186                                   p_qualifier_attribute_value IN VARCHAR2
187                                  )
188 RETURN NUMBER
189 IS
190 
191 l_context_error VARCHAR2(1);
192 l_attribute_error VARCHAR2(1);
193 l_value_error VARCHAR2(1);
194 l_datatype VARCHAR2(1);
195 l_precedence NUMBER;
196 l_error_code NUMBER;
197 
198 BEGIN
199 
200 
201     QP_UTIL.validate_qp_flexfield(flexfield_name         =>'QP_ATTR_DEFNS_QUALIFIER'
202 			 ,context                        =>p_qualifier_context
203 			 ,attribute                      =>p_qualifier_attribute
204 			 ,value                          =>p_qualifier_attribute_value
205                 ,application_short_name         => 'QP'
206 			 ,context_flag                   =>l_context_error
207 			 ,attribute_flag                 =>l_attribute_error
208 			 ,value_flag                     =>l_value_error
209 			 ,datatype                       =>l_datatype
210 			 ,precedence                      =>l_precedence
211 			 ,error_code                     =>l_error_code
212 			 );
213 
214     If l_error_code = 0 Then
215 
216 	  RETURN  l_precedence;
217 
218     Else
219        RETURN NULL;
220 
221     End If;
222 
223 END Get_Qualifier_Precedence;
224 
225 FUNCTION Get_Qualifier_Rule
226 RETURN NUMBER
227 IS
228 BEGIN
229 
230     RETURN NULL;
231 
232 END Get_Qualifier_Rule;
233 
234 FUNCTION Get_Start_Date_Active
235 RETURN DATE
236 IS
237 BEGIN
238 
239     RETURN NULL;
240 
241 END Get_Start_Date_Active;
242 
243 --Added for TCA
244 FUNCTION Get_Qualify_Hier_Descendents
245 RETURN VARCHAR2
246 IS
247 BEGIN
248 
249     RETURN NULL;
250 
251 END Get_Qualify_Hier_Descendents;
252 
253 PROCEDURE Get_Flex_Qualifiers
254 IS
255 BEGIN
256 
257     --  In the future call Flex APIs for defaults
258 
259     IF g_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
260         g_QUALIFIERS_rec.attribute1    := NULL;
261     END IF;
262 
263     IF g_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
264         g_QUALIFIERS_rec.attribute10   := NULL;
265     END IF;
266 
267     IF g_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
268         g_QUALIFIERS_rec.attribute11   := NULL;
269     END IF;
270 
271     IF g_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
272         g_QUALIFIERS_rec.attribute12   := NULL;
273     END IF;
274 
275     IF g_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
276         g_QUALIFIERS_rec.attribute13   := NULL;
277     END IF;
278 
279     IF g_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
280         g_QUALIFIERS_rec.attribute14   := NULL;
281     END IF;
282 
283     IF g_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
284         g_QUALIFIERS_rec.attribute15   := NULL;
285     END IF;
286 
287     IF g_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
288         g_QUALIFIERS_rec.attribute2    := NULL;
289     END IF;
290 
291     IF g_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
292         g_QUALIFIERS_rec.attribute3    := NULL;
293     END IF;
294 
295     IF g_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
296         g_QUALIFIERS_rec.attribute4    := NULL;
297     END IF;
298 
299     IF g_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
300         g_QUALIFIERS_rec.attribute5    := NULL;
301     END IF;
302 
303     IF g_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
304         g_QUALIFIERS_rec.attribute6    := NULL;
305     END IF;
306 
307     IF g_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
308         g_QUALIFIERS_rec.attribute7    := NULL;
309     END IF;
310 
311     IF g_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
312         g_QUALIFIERS_rec.attribute8    := NULL;
313     END IF;
314 
315     IF g_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
316         g_QUALIFIERS_rec.attribute9    := NULL;
317     END IF;
318 
319     IF g_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
320         g_QUALIFIERS_rec.context       := NULL;
321     END IF;
322 
323 END Get_Flex_Qualifiers;
324 
325 --  Procedure Attributes
326 
327 PROCEDURE Attributes
328 (   p_QUALIFIERS_rec                IN  QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type :=
329                                         QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC
330 ,   p_iteration                     IN  NUMBER := 1
331 ,   x_QUALIFIERS_rec                OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
332 )
333 IS
334 BEGIN
335 
336 
337       --dbms_output.put_line('entering default attributes');
338 
339 
340     --  Check number of iterations.
341 
342     IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
343 
344         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
345         THEN
346 
347             FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
348             OE_MSG_PUB.Add;
349 
350         END IF;
351 
352         RAISE FND_API.G_EXC_ERROR;
353 
354     END IF;
355 
356     --  Initialize g_QUALIFIERS_rec
357 
358     g_QUALIFIERS_rec := p_QUALIFIERS_rec;
359 
360     --  Default missing attributes.
361 
362     IF g_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR THEN
363 
364         g_QUALIFIERS_rec.comparison_operator_code := Get_Comparison_Operator;
365 
366         IF g_QUALIFIERS_rec.comparison_operator_code IS NOT NULL THEN
367 
368             IF QP_Validate.Comparison_Operator(g_QUALIFIERS_rec.comparison_operator_code)
369             THEN
370                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
371                 QP_Qualifiers_Util.Clear_Dependent_Attr
372                 (   p_attr_id                     => QP_Qualifiers_Util.G_COMPARISON_OPERATOR
373                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
374                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
375                 );
376             ELSE
377                 g_QUALIFIERS_rec.comparison_operator_code := NULL;
378             END IF;
379 
380         END IF;
381 
382     END IF;
383 
384     IF g_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM THEN
385 
386         g_QUALIFIERS_rec.created_from_rule_id := Get_Created_From_Rule;
387 
388         IF g_QUALIFIERS_rec.created_from_rule_id IS NOT NULL THEN
389 
390             IF QP_Validate.Created_From_Rule(g_QUALIFIERS_rec.created_from_rule_id)
391             THEN
392                  g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
393                 QP_Qualifiers_Util.Clear_Dependent_Attr
394                 (   p_attr_id                     => QP_Qualifiers_Util.G_CREATED_FROM_RULE
395                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
396                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
397                 );
398             ELSE
399                 g_QUALIFIERS_rec.created_from_rule_id := NULL;
400             END IF;
401 
402         END IF;
403 
404     END IF;
405 
406     IF g_QUALIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
407 
408         g_QUALIFIERS_rec.end_date_active := Get_End_Date_Active;
409 
410         IF g_QUALIFIERS_rec.end_date_active IS NOT NULL THEN
411 
412             IF QP_Validate.End_Date_Active(g_QUALIFIERS_rec.end_date_active)
413             THEN
414                  g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
415                 QP_Qualifiers_Util.Clear_Dependent_Attr
416                 (   p_attr_id                     => QP_Qualifiers_Util.G_END_DATE_ACTIVE
417                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
418                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
419                 );
420             ELSE
421                 g_QUALIFIERS_rec.end_date_active := NULL;
422             END IF;
423 
424         END IF;
425 
426     END IF;
427 
428     IF g_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR THEN
429 
430         g_QUALIFIERS_rec.excluder_flag := Get_Excluder;
431 
432         IF g_QUALIFIERS_rec.excluder_flag IS NOT NULL THEN
433 
434             IF QP_Validate.Excluder(g_QUALIFIERS_rec.excluder_flag)
435             THEN
436                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
437                 QP_Qualifiers_Util.Clear_Dependent_Attr
438                 (   p_attr_id                     => QP_Qualifiers_Util.G_EXCLUDER
439                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
440                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
441                 );
442             ELSE
443                 g_QUALIFIERS_rec.excluder_flag := NULL;
444             END IF;
445 
446         END IF;
447 
448     END IF;
449 
450     IF g_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
451 
452         g_QUALIFIERS_rec.list_header_id := Get_List_Header;
453 
454         IF g_QUALIFIERS_rec.list_header_id IS NOT NULL THEN
455 
456             IF QP_Validate.List_Header(g_QUALIFIERS_rec.list_header_id)
457             THEN
458                  g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
459                 QP_Qualifiers_Util.Clear_Dependent_Attr
460                 (   p_attr_id                     => QP_Qualifiers_Util.G_LIST_HEADER
461                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
462                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
463                 );
464             ELSE
465                 g_QUALIFIERS_rec.list_header_id := NULL;
466             END IF;
467 
468         END IF;
469 
470     END IF;
471 
472     IF g_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
473 
474         g_QUALIFIERS_rec.list_line_id := Get_List_Line;
475 
476         IF g_QUALIFIERS_rec.list_line_id IS NOT NULL THEN
477 
478             IF QP_Validate.List_Line(g_QUALIFIERS_rec.list_line_id)
479             THEN
480                  g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
481                 QP_Qualifiers_Util.Clear_Dependent_Attr
482                 (   p_attr_id                     => QP_Qualifiers_Util.G_LIST_LINE
483                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
484                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
485                 );
486             ELSE
487                 g_QUALIFIERS_rec.list_line_id := NULL;
488             END IF;
489 
490         END IF;
491 
492     END IF;
493 
494     IF g_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR THEN
495 
496         g_QUALIFIERS_rec.qualifier_attribute := Get_Qualifier_Attribute;
497 
498         IF g_QUALIFIERS_rec.qualifier_attribute IS NOT NULL THEN
499 
500             IF QP_Validate.Qualifier_Attribute(g_QUALIFIERS_rec.qualifier_attribute)
501             THEN
502                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
506                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
503                 QP_Qualifiers_Util.Clear_Dependent_Attr
504                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_ATTRIBUTE
505                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
507                 );
508             ELSE
509                 g_QUALIFIERS_rec.qualifier_attribute := NULL;
510             END IF;
511 
512         END IF;
513 
514     END IF;
515 
516     IF g_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR THEN
517 
518         g_QUALIFIERS_rec.qualifier_attr_value := Get_Qualifier_Attr_Value;
519 
520         IF g_QUALIFIERS_rec.qualifier_attr_value IS NOT NULL THEN
521 
522             IF QP_Validate.Qualifier_Attr_Value(g_QUALIFIERS_rec.qualifier_attr_value)
523             THEN
524                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
525                 QP_Qualifiers_Util.Clear_Dependent_Attr
526                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_ATTR_VALUE
527                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
528                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
529                 );
530             ELSE
531                 g_QUALIFIERS_rec.qualifier_attr_value := NULL;
532             END IF;
533 
534         END IF;
535 
536     END IF;
537 
538     IF g_QUALIFIERS_rec.qualifier_attr_value_to = FND_API.G_MISS_CHAR THEN
539 
540        g_QUALIFIERS_rec.qualifier_attr_value_to := Get_Qualifier_Attr_Value_to;
541 
542         IF g_QUALIFIERS_rec.qualifier_attr_value_to IS NOT NULL THEN
543 
544             IF QP_Validate.Qualifier_Attr_Value_to(g_QUALIFIERS_rec.qualifier_attr_value_to)
545             THEN
546                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
547                 QP_Qualifiers_Util.Clear_Dependent_Attr
548                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_ATTR_VALUE_TO
549                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
550                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
551                 );
552             ELSE
553                 g_QUALIFIERS_rec.qualifier_attr_value_to := NULL;
554             END IF;
555 		  --null;
556 
557         END IF;
558 
559     END IF;
560 
561     IF g_QUALIFIERS_rec.qualifier_context = FND_API.G_MISS_CHAR THEN
562 
563         g_QUALIFIERS_rec.qualifier_context := Get_Qualifier_Context;
564 
565         IF g_QUALIFIERS_rec.qualifier_context IS NOT NULL THEN
566 
567             IF QP_Validate.Qualifier_Context(g_QUALIFIERS_rec.qualifier_context)
568             THEN
569                   g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
570                 QP_Qualifiers_Util.Clear_Dependent_Attr
571                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_CONTEXT
572                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
573                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
574                 );
575             ELSE
576                 g_QUALIFIERS_rec.qualifier_context := NULL;
577             END IF;
578 
579         END IF;
580 
581     END IF;
582 
583     IF g_QUALIFIERS_rec.qualifier_datatype = FND_API.G_MISS_CHAR THEN
584 
585         g_QUALIFIERS_rec.qualifier_datatype := Get_Qualifier_Datatype(
586 											p_QUALIFIERS_rec.qualifier_context
587                                                      , p_QUALIFIERS_rec.qualifier_attribute
588 										   ,p_QUALIFIERS_rec.qualifier_attr_value
589 										   );
590 
591         IF g_QUALIFIERS_rec.qualifier_datatype IS NOT NULL THEN
592 
593             IF QP_Validate.Qualifier_Datatype(g_QUALIFIERS_rec.qualifier_datatype)
594             THEN
595                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
596                 QP_Qualifiers_Util.Clear_Dependent_Attr
597                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_DATATYPE
598                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
599                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
600                 );
601             ELSE
602                 g_QUALIFIERS_rec.qualifier_datatype := NULL;
603             END IF;
604 
605         END IF;
606 
607     END IF;
608 
609     /*IF g_QUALIFIERS_rec.qualifier_date_format = FND_API.G_MISS_CHAR THEN
610 
611         g_QUALIFIERS_rec.qualifier_date_format := Get_Qualifier_Date_Format;
612 
613         IF g_QUALIFIERS_rec.qualifier_date_format IS NOT NULL THEN
614 
615             IF QP_Validate.Qualifier_Date_Format(g_QUALIFIERS_rec.qualifier_date_format)
616             THEN
617                    g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
618                 QP_Qualifiers_Util.Clear_Dependent_Attr
619                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_DATE_FORMAT
620                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
621                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
622                 );
623             ELSE
624                 g_QUALIFIERS_rec.qualifier_date_format := NULL;
625             END IF;
626 
630 
627         END IF;
628 
629     END IF;*/
631     IF g_QUALIFIERS_rec.qualifier_grouping_no = FND_API.G_MISS_NUM THEN
632 
633         g_QUALIFIERS_rec.qualifier_grouping_no := Get_Qualifier_Grouping_No;
634 
635         IF g_QUALIFIERS_rec.qualifier_grouping_no IS NOT NULL THEN
636 
637             IF QP_Validate.Qualifier_Grouping_No(g_QUALIFIERS_rec.qualifier_grouping_no)
638             THEN
639                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
640                 QP_Qualifiers_Util.Clear_Dependent_Attr
641                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_GROUPING_NO
642                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
643                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
644                 );
645             ELSE
646                 g_QUALIFIERS_rec.qualifier_grouping_no := NULL;
647             END IF;
648 
649         END IF;
650 
651     END IF;
652 
653     IF g_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM THEN
654 
655         g_QUALIFIERS_rec.qualifier_id := Get_Qualifier;
656 
657         IF g_QUALIFIERS_rec.qualifier_id IS NOT NULL THEN
658 
659             IF QP_Validate.Qualifier(g_QUALIFIERS_rec.qualifier_id)
660             THEN
661                    g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
662                 QP_Qualifiers_Util.Clear_Dependent_Attr
663                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER
664                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
665                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
666                 );
667             ELSE
668                 g_QUALIFIERS_rec.qualifier_id := NULL;
669             END IF;
670 
671         END IF;
672 
673     END IF;
674 
675     /*IF g_QUALIFIERS_rec.qualifier_number_format = FND_API.G_MISS_CHAR THEN
676 
677         g_QUALIFIERS_rec.qualifier_number_format := Get_Qualifier_Number_Format;
678 
679         IF g_QUALIFIERS_rec.qualifier_number_format IS NOT NULL THEN
680 
681             IF QP_Validate.Qualifier_Number_Format(g_QUALIFIERS_rec.qualifier_number_format)
682             THEN
683                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
684                 QP_Qualifiers_Util.Clear_Dependent_Attr
685                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_NUMBER_FORMAT
686                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
687                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
688                 );
689             ELSE
690                 g_QUALIFIERS_rec.qualifier_number_format := NULL;
691             END IF;
692 
693         END IF;
694 
695     END IF;*/
696 
697     --dbms_output.put_line('chekcing for precedence');
698 
699     IF g_QUALIFIERS_rec.qualifier_precedence = FND_API.G_MISS_NUM THEN
700 
701         g_QUALIFIERS_rec.qualifier_precedence := Get_Qualifier_Precedence(
702 											p_QUALIFIERS_rec.qualifier_context
703                                                      , p_QUALIFIERS_rec.qualifier_attribute
704 										   ,p_QUALIFIERS_rec.qualifier_attr_value
705 										   );
706 
707         IF g_QUALIFIERS_rec.qualifier_precedence IS NOT NULL THEN
708 
709             IF QP_Validate.Qualifier_Precedence(g_QUALIFIERS_rec.qualifier_precedence)
710             THEN
711                   g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
712                 QP_Qualifiers_Util.Clear_Dependent_Attr
713                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_PRECEDENCE
714                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
715                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
716                 );
717             ELSE
718                 g_QUALIFIERS_rec.qualifier_precedence := NULL;
719             END IF;
720 
721         END IF;
722 
723     END IF;
724 
725 
726  oe_debug_pub.add('checking qualifier rule id in QPXDQPQB '|| g_QUALIFIERS_rec.qualifier_rule_id);
727 
728 
729     IF g_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
730 
731         oe_debug_pub.add('atteching qualifier rule id by calling get_qualifier_rule');
732 
733         g_QUALIFIERS_rec.qualifier_rule_id := Get_Qualifier_Rule;
734 
735         IF g_QUALIFIERS_rec.qualifier_rule_id IS NOT NULL THEN
736 
737             IF QP_Validate.Qualifier_Rule(g_QUALIFIERS_rec.qualifier_rule_id)
738             THEN
739                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
740                 QP_Qualifiers_Util.Clear_Dependent_Attr
741                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFIER_RULE
742                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
743                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
744                 );
745             ELSE
746                 g_QUALIFIERS_rec.qualifier_rule_id := NULL;
747             END IF;
748 
749         END IF;
750 
751     END IF;
752 
753     IF g_QUALIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
754 
758 
755         g_QUALIFIERS_rec.start_date_active := Get_Start_Date_Active;
756 
757         IF g_QUALIFIERS_rec.start_date_active IS NOT NULL THEN
759             IF QP_Validate.Start_Date_Active(g_QUALIFIERS_rec.start_date_active)
760             THEN
761                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec; -- added for nocopy hint
762                 QP_Qualifiers_Util.Clear_Dependent_Attr
763                 (   p_attr_id                     => QP_Qualifiers_Util.G_START_DATE_ACTIVE
764                 ,   p_QUALIFIERS_rec              => g_p_QUALIFIERS_rec
765                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
766                 );
767             ELSE
768                 g_QUALIFIERS_rec.start_date_active := NULL;
769             END IF;
770 
771         END IF;
772 
773     END IF;
774 
775 -- Added for TCA
776 
777      IF g_QUALIFIERS_rec.qualify_hier_descendent_flag = FND_API.G_MISS_CHAR THEN
778 
779         g_QUALIFIERS_rec.qualify_hier_descendent_flag := Get_Qualify_Hier_Descendents;
780 
781         IF g_QUALIFIERS_rec.qualify_hier_descendent_flag IS NOT NULL THEN
782 
783             IF QP_Validate.Qualify_Hier_Descendent_Flag(g_QUALIFIERS_rec.qualify_hier_descendent_flag)
784             THEN
785                 g_p_QUALIFIERS_rec := g_QUALIFIERS_rec;
786                 QP_Qualifiers_Util.Clear_Dependent_Attr
787                 (   p_attr_id                     => QP_Qualifiers_Util.G_QUALIFY_HIER_DESCENDENT_FLAG
788                 ,   p_QUALIFIERS_rec              => g_QUALIFIERS_rec
789                 ,   x_QUALIFIERS_rec              => g_QUALIFIERS_rec
790                 );
791             ELSE
792                 g_QUALIFIERS_rec.qualify_hier_descendent_flag := NULL;
793             END IF;
794 
795         END IF;
796 
797     END IF;
798 
799     IF g_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR
800     OR  g_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR
801     OR  g_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR
802     OR  g_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR
803     OR  g_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR
804     OR  g_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR
805     OR  g_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR
806     OR  g_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR
807     OR  g_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR
808     OR  g_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR
809     OR  g_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR
810     OR  g_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR
811     OR  g_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR
812     OR  g_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR
813     OR  g_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR
814     OR  g_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR
815     THEN
816 
817         Get_Flex_Qualifiers;
818 
819     END IF;
820 
821     IF g_QUALIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
822 
823         g_QUALIFIERS_rec.created_by := NULL;
824 
825     END IF;
826 
827     IF g_QUALIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
828 
829         g_QUALIFIERS_rec.creation_date := NULL;
830 
831     END IF;
832 
833     IF g_QUALIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
834 
835         g_QUALIFIERS_rec.last_updated_by := NULL;
836 
837     END IF;
838 
839     IF g_QUALIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
840 
841         g_QUALIFIERS_rec.last_update_date := NULL;
842 
843     END IF;
844 
845     IF g_QUALIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
846 
847         g_QUALIFIERS_rec.last_update_login := NULL;
848 
849     END IF;
850 
851     IF g_QUALIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
852 
853         g_QUALIFIERS_rec.program_application_id := NULL;
854 
855     END IF;
856 
857     IF g_QUALIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
858 
859         g_QUALIFIERS_rec.program_id := NULL;
860 
861     END IF;
862 
863     IF g_QUALIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
864 
865         g_QUALIFIERS_rec.program_update_date := NULL;
866 
867     END IF;
868 
869     IF g_QUALIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
870 
871         g_QUALIFIERS_rec.request_id := NULL;
872 
873     END IF;
874 
875     --  Redefault if there are any missing attributes.
876 
877     IF  g_QUALIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR
878     OR  g_QUALIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR
879     OR  g_QUALIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR
880     OR  g_QUALIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR
881     OR  g_QUALIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR
882     OR  g_QUALIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR
883     OR  g_QUALIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR
884     OR  g_QUALIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR
885     OR  g_QUALIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR
886     OR  g_QUALIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR
887     OR  g_QUALIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR
888     OR  g_QUALIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR
889     OR  g_QUALIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR
890     OR  g_QUALIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR
891     OR  g_QUALIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR
892     OR  g_QUALIFIERS_rec.comparison_operator_code = FND_API.G_MISS_CHAR
893     OR  g_QUALIFIERS_rec.context = FND_API.G_MISS_CHAR
894     OR  g_QUALIFIERS_rec.created_by = FND_API.G_MISS_NUM
895     OR  g_QUALIFIERS_rec.created_from_rule_id = FND_API.G_MISS_NUM
896     OR  g_QUALIFIERS_rec.creation_date = FND_API.G_MISS_DATE
897     OR  g_QUALIFIERS_rec.end_date_active = FND_API.G_MISS_DATE
898     OR  g_QUALIFIERS_rec.excluder_flag = FND_API.G_MISS_CHAR
899     OR  g_QUALIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM
900     OR  g_QUALIFIERS_rec.last_update_date = FND_API.G_MISS_DATE
901     OR  g_QUALIFIERS_rec.last_update_login = FND_API.G_MISS_NUM
902     OR  g_QUALIFIERS_rec.list_header_id = FND_API.G_MISS_NUM
903     OR  g_QUALIFIERS_rec.list_line_id = FND_API.G_MISS_NUM
904     OR  g_QUALIFIERS_rec.program_application_id = FND_API.G_MISS_NUM
905     OR  g_QUALIFIERS_rec.program_id = FND_API.G_MISS_NUM
906     OR  g_QUALIFIERS_rec.program_update_date = FND_API.G_MISS_DATE
907     OR  g_QUALIFIERS_rec.qualifier_attribute = FND_API.G_MISS_CHAR
908     OR  g_QUALIFIERS_rec.qualifier_attr_value = FND_API.G_MISS_CHAR
909     OR  g_QUALIFIERS_rec.qualifier_attr_value_to = FND_API.G_MISS_CHAR
910     OR  g_QUALIFIERS_rec.qualifier_context = FND_API.G_MISS_CHAR
911     OR  g_QUALIFIERS_rec.qualifier_datatype = FND_API.G_MISS_CHAR
912     --OR  g_QUALIFIERS_rec.qualifier_date_format = FND_API.G_MISS_CHAR
913     OR  g_QUALIFIERS_rec.qualifier_grouping_no = FND_API.G_MISS_NUM
914     OR  g_QUALIFIERS_rec.qualifier_id = FND_API.G_MISS_NUM
915     --OR  g_QUALIFIERS_rec.qualifier_number_format = FND_API.G_MISS_CHAR
916     OR  g_QUALIFIERS_rec.qualifier_precedence = FND_API.G_MISS_NUM
917     OR  g_QUALIFIERS_rec.qualifier_rule_id = FND_API.G_MISS_NUM
918     OR  g_QUALIFIERS_rec.request_id = FND_API.G_MISS_NUM
919     OR  g_QUALIFIERS_rec.start_date_active = FND_API.G_MISS_DATE
920     -- Added for TCA
921     OR  g_QUALIFIERS_rec.qualify_hier_descendent_flag = FND_API.G_MISS_CHAR
922     THEN
923 
924         QP_Default_Qualifiers.Attributes
925         (   p_QUALIFIERS_rec              => g_QUALIFIERS_rec
926         ,   p_iteration                   => p_iteration + 1
927         ,   x_QUALIFIERS_rec              => x_QUALIFIERS_rec
928         );
929 
930     ELSE
931 
932         --  Done defaulting attributes
933 
934         x_QUALIFIERS_rec := g_QUALIFIERS_rec;
935 
936     END IF;
937 
938 END Attributes;
939 
940 END QP_Default_Qualifiers;