DBA Data[Home] [Help]

PACKAGE BODY: APPS.QA_QLTRSLTR_XMLP_PKG

Source


1 PACKAGE BODY QA_QLTRSLTR_XMLP_PKG AS
2 /* $Header: QLTRSLTRB.pls 120.0 2007/12/24 10:38:28 krreddy noship $ */
3   FUNCTION AFTERPFORM RETURN BOOLEAN IS
4   BEGIN
5     DECLARE
6       V_DEFAULT_SELECT VARCHAR2(32767);
7       V_DEFAULT_WHERE VARCHAR2(32767);
8       V_DEFAULT_PROMPTS VARCHAR2(32767);
9       V_DEFAULT_LENGTH VARCHAR2(32767);
10       V_SUM VARCHAR2(32767);
11       V_TITLE VARCHAR2(50);
12       V_DESCRIPTION VARCHAR2(240);
13     BEGIN
14       IF P_CRITERIA_ID IS NOT NULL THEN
15         MAKE_SQL(P_CRITERIA_ID
16                 ,V_DEFAULT_SELECT
17                 ,V_DEFAULT_WHERE
18                 ,V_DEFAULT_PROMPTS
19                 ,V_DEFAULT_LENGTH
20                 ,V_SUM
21                 ,V_TITLE
22                 ,V_DESCRIPTION);
23         P_DEFAULT_SEL := V_DEFAULT_SELECT;
24         P_DEFAULT_WHERE := V_DEFAULT_WHERE;
25         P_DEFAULT_PROMPTS := V_DEFAULT_PROMPTS;
26         P_DEFAULT_LENGTH := V_DEFAULT_LENGTH;
27         P_DEFAULT_SUMS := V_SUM;
28         P_TITLE := V_TITLE;
29         P_DESC := V_DESCRIPTION;
30       ELSE
31         P_DEFAULT_SEL := P_SELECT_1 || P_SELECT_2 || P_SELECT_3 || P_SELECT_4 || P_SELECT_5 || P_SELECT_6 ||
32 	P_SELECT_7 || P_SELECT_8 || P_SELECT_9 || P_SELECT_10 || P_SELECT_11 || P_SELECT_12 || P_SELECT_13 ||
33 	P_SELECT_14 || P_SELECT_15 || P_SELECT_16 || P_SELECT_17 || P_SELECT_18 || P_SELECT_19 || P_SELECT_20 || P_SELECT_21 || P_SELECT_22 || P_SELECT_23 || P_SELECT_24 || P_SELECT_25;
34         P_DEFAULT_WHERE := P_WHERE_1 || P_WHERE_2 || P_WHERE_3 || P_WHERE_4 || P_WHERE_5 ||
35 	P_WHERE_6 || P_WHERE_7 || P_WHERE_8 || P_WHERE_9 || P_WHERE_10 || P_WHERE_11 ||
36 	P_WHERE_12 || P_WHERE_13 || P_WHERE_14 || P_WHERE_15 || P_WHERE_16 || P_WHERE_17 || P_WHERE_18 || P_WHERE_19 || P_WHERE_20 || P_WHERE_21 || P_WHERE_22 || P_WHERE_23 || P_WHERE_24 || P_WHERE_25;
37         P_DEFAULT_PROMPTS := P_PROMPTS_1 || P_PROMPTS_2 || P_PROMPTS_3 || P_PROMPTS_4 || P_PROMPTS_5 || P_PROMPTS_6;
38         P_DEFAULT_LENGTH := P_LENGTH_1 || P_LENGTH_2 || P_LENGTH_3 || P_LENGTH_4 || P_LENGTH_5 || P_LENGTH_6;
39         P_DEFAULT_SUMS := P_SUMS_1 || P_SUMS_2 || P_SUMS_3 || P_SUMS_4 || P_SUMS_5 || P_SUMS_6;
40         P_DEFAULT_SEL := REPLACE(P_DEFAULT_SEL
41                                 ,'@@'
42                                 ,' ');
43         P_DEFAULT_WHERE := REPLACE(P_DEFAULT_WHERE
44                                   ,'@@'
45                                   ,' ');
46         P_DEFAULT_PROMPTS := REPLACE(P_DEFAULT_PROMPTS
47                                     ,'@@'
48                                     ,' ');
49         P_DEFAULT_LENGTH := REPLACE(P_DEFAULT_LENGTH
50                                    ,'@@'
51                                    ,' ');
52         P_DEFAULT_SUMS := REPLACE(P_DEFAULT_SUMS
53                                  ,'@@'
54                                  ,' ');
55       END IF;
56     END;
57     RETURN (TRUE);
58   END AFTERPFORM;
59 
60   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
61   BEGIN
62     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
63     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
64     EXECUTE IMMEDIATE
65       P_DEFAULT_PROMPTS
66       INTO P_1, P_2, P_3, P_4, P_5, P_6, P_7, P_8, P_9, P_10, P_11, P_12, P_13, P_14, P_15, P_16, P_17, P_18, P_19, P_20, P_21, P_22, P_23, P_24, P_25, P_26, P_27, P_28, P_29, P_30;
67     EXECUTE IMMEDIATE
68       P_DEFAULT_LENGTH
69       INTO P_Len_1, P_Len_2, P_Len_3, P_Len_4, P_Len_5, P_Len_6, P_Len_7, P_Len_8, P_Len_9, P_Len_10, P_Len_11, P_Len_12, P_Len_13, P_Len_14, P_Len_15, P_Len_16, P_Len_17, P_Len_18, P_Len_19,
70 P_Len_20, P_Len_21, P_Len_22, P_Len_23, P_Len_24, P_Len_25, P_Len_26, P_Len_27, P_Len_28, P_Len_29, P_Len_30;
71     EXECUTE IMMEDIATE
72       P_DEFAULT_SUMS
73       INTO P_Sum_1, P_Sum_2, P_Sum_3, P_Sum_4, P_Sum_5, P_Sum_6, P_Sum_7, P_Sum_8, P_Sum_9, P_Sum_10, P_Sum_11, P_Sum_12, P_Sum_13, P_Sum_14, P_Sum_15, P_Sum_16, P_Sum_17, P_Sum_18, P_Sum_19,
74 P_Sum_20, P_Sum_21, P_Sum_22, P_Sum_23, P_Sum_24, P_Sum_25, P_Sum_26, P_Sum_27, P_Sum_28, P_Sum_29, P_Sum_30;
75     /*SRW.MESSAGE(001
76                ,'before report trigger')*/NULL;
77     RETURN (TRUE);
78   END BEFOREREPORT;
79 
80   FUNCTION C_DASH_1FORMULA RETURN VARCHAR2 IS
81   BEGIN
82     RETURN (RPAD('-'
83                ,P_LEN_1
84                ,'-'));
85   END C_DASH_1FORMULA;
86 
87   FUNCTION C_DASH_2FORMULA RETURN VARCHAR2 IS
88   BEGIN
89     RETURN (RPAD('-'
90                ,P_LEN_2
91                ,'-'));
92   END C_DASH_2FORMULA;
93 
94   FUNCTION C_DASH_3FORMULA RETURN VARCHAR2 IS
95   BEGIN
96     RETURN (RPAD('-'
97                ,P_LEN_3
98                ,'-'));
99   END C_DASH_3FORMULA;
100 
101   FUNCTION C_DASH_4FORMULA RETURN VARCHAR2 IS
102   BEGIN
103     RETURN (RPAD('-'
104                ,P_LEN_4
105                ,'-'));
106   END C_DASH_4FORMULA;
107 
108   FUNCTION C_DASH_5FORMULA RETURN VARCHAR2 IS
109   BEGIN
110     RETURN (RPAD('-'
111                ,P_LEN_5
112                ,'-'));
113   END C_DASH_5FORMULA;
114 
115   FUNCTION C_DASH_6FORMULA RETURN VARCHAR2 IS
116   BEGIN
117     RETURN (RPAD('-'
118                ,P_LEN_6
119                ,'-'));
120   END C_DASH_6FORMULA;
121 
122   FUNCTION C_DASH_7FORMULA RETURN VARCHAR2 IS
123   BEGIN
124     RETURN (RPAD('-'
125                ,P_LEN_7
126                ,'-'));
127   END C_DASH_7FORMULA;
128 
129   FUNCTION C_DASH_8FORMULA RETURN VARCHAR2 IS
130   BEGIN
131     RETURN (RPAD('-'
132                ,P_LEN_8
133                ,'-'));
134   END C_DASH_8FORMULA;
135 
136   FUNCTION C_DASH_9FORMULA RETURN VARCHAR2 IS
137   BEGIN
138     RETURN (RPAD('-'
139                ,P_LEN_9
140                ,'-'));
141   END C_DASH_9FORMULA;
142 
143   FUNCTION C_DASH_10FORMULA RETURN VARCHAR2 IS
144   BEGIN
145     RETURN (RPAD('-'
146                ,P_LEN_10
147                ,'-'));
148   END C_DASH_10FORMULA;
149 
150   FUNCTION C_DASH_11FORMULA RETURN VARCHAR2 IS
151   BEGIN
152     RETURN (RPAD('-'
153                ,P_LEN_11
154                ,'-'));
155   END C_DASH_11FORMULA;
156 
157   FUNCTION C_DASH_12FORMULA RETURN VARCHAR2 IS
158   BEGIN
159     RETURN (RPAD('-'
160                ,P_LEN_12
161                ,'-'));
162   END C_DASH_12FORMULA;
163 
164   FUNCTION C_DASH_13FORMULA RETURN VARCHAR2 IS
165   BEGIN
166     RETURN (RPAD('-'
167                ,P_LEN_13
168                ,'-'));
169   END C_DASH_13FORMULA;
170 
171   FUNCTION C_DASH_14FORMULA RETURN VARCHAR2 IS
172   BEGIN
173     RETURN (RPAD('-'
174                ,P_LEN_14
175                ,'-'));
176   END C_DASH_14FORMULA;
177 
178   FUNCTION C_DASH_15FORMULA RETURN VARCHAR2 IS
179   BEGIN
180     RETURN (RPAD('-'
181                ,P_LEN_15
182                ,'-'));
183   END C_DASH_15FORMULA;
184 
185   FUNCTION C_DASH_16FORMULA RETURN VARCHAR2 IS
186   BEGIN
187     RETURN (RPAD('-'
188                ,P_LEN_16
189                ,'-'));
190   END C_DASH_16FORMULA;
191 
192   FUNCTION C_DASH_17FORMULA RETURN VARCHAR2 IS
193   BEGIN
194     RETURN (RPAD('-'
195                ,P_LEN_17
196                ,'-'));
197   END C_DASH_17FORMULA;
198 
199   FUNCTION C_DASH_18FORMULA RETURN VARCHAR2 IS
200   BEGIN
201     RETURN (RPAD('-'
202                ,P_LEN_18
203                ,'-'));
204   END C_DASH_18FORMULA;
205 
206   FUNCTION C_DASH_19FORMULA RETURN VARCHAR2 IS
207   BEGIN
208     RETURN (RPAD('-'
209                ,P_LEN_19
210                ,'-'));
211   END C_DASH_19FORMULA;
212 
213   FUNCTION C_DASH_20FORMULA RETURN VARCHAR2 IS
214   BEGIN
215     RETURN (RPAD('-'
216                ,P_LEN_20
217                ,'-'));
218   END C_DASH_20FORMULA;
219 
220   FUNCTION C_DASH_21FORMULA RETURN VARCHAR2 IS
221   BEGIN
222     RETURN (RPAD('-'
223                ,P_LEN_21
224                ,'-'));
225   END C_DASH_21FORMULA;
226 
227   FUNCTION C_DASH_22FORMULA RETURN VARCHAR2 IS
228   BEGIN
229     RETURN (RPAD('-'
230                ,P_LEN_22
231                ,'-'));
232   END C_DASH_22FORMULA;
233 
234   FUNCTION C_DASH_23FORMULA RETURN VARCHAR2 IS
235   BEGIN
236     RETURN (RPAD('-'
237                ,P_LEN_23
238                ,'-'));
239   END C_DASH_23FORMULA;
240 
241   FUNCTION C_DASH_24FORMULA RETURN VARCHAR2 IS
242   BEGIN
243     RETURN (RPAD('-'
244                ,P_LEN_24
245                ,'-'));
246   END C_DASH_24FORMULA;
247 
248   FUNCTION C_DASH_25FORMULA RETURN VARCHAR2 IS
249   BEGIN
250     RETURN (RPAD('-'
251                ,P_LEN_25
252                ,'-'));
253   END C_DASH_25FORMULA;
254 
255   FUNCTION C_DASH_26FORMULA RETURN VARCHAR2 IS
256   BEGIN
257     RETURN (RPAD('-'
258                ,P_LEN_26
259                ,'-'));
260   END C_DASH_26FORMULA;
261 
262   FUNCTION C_DASH_27FORMULA RETURN VARCHAR2 IS
263   BEGIN
264     RETURN (RPAD('-'
265                ,P_LEN_27
266                ,'-'));
267   END C_DASH_27FORMULA;
268 
269   FUNCTION C_DASH_28FORMULA RETURN VARCHAR2 IS
270   BEGIN
271     RETURN (RPAD('-'
272                ,P_LEN_28
273                ,'-'));
274   END C_DASH_28FORMULA;
275 
276   FUNCTION C_DASH_29FORMULA RETURN VARCHAR2 IS
277   BEGIN
278     RETURN (RPAD('-'
279                ,P_LEN_29
280                ,'-'));
281   END C_DASH_29FORMULA;
282 
283   FUNCTION C_DASH_30FORMULA RETURN VARCHAR2 IS
284   BEGIN
285     RETURN (RPAD('-'
286                ,P_LEN_30
287                ,'-'));
288   END C_DASH_30FORMULA;
289 
290   FUNCTION C_MAY_DASH_1FORMULA RETURN VARCHAR2 IS
291   BEGIN
292     IF P_SUM_1 IS NOT NULL THEN
293       RETURN (RPAD('-'
294                  ,P_LEN_1
295                  ,'-'));
296     ELSE
297       RETURN (RPAD(' '
298                  ,P_LEN_1
299                  ,' '));
300     END IF;
301     RETURN NULL;
302   END C_MAY_DASH_1FORMULA;
303 
304   FUNCTION C_MAY_DASH_2FORMULA RETURN VARCHAR2 IS
305   BEGIN
306     IF P_SUM_2 IS NOT NULL THEN
307       RETURN (RPAD('-'
308                  ,P_LEN_2
309                  ,'-'));
310     ELSE
311       RETURN (RPAD(' '
312                  ,P_LEN_2
313                  ,' '));
314     END IF;
315     RETURN NULL;
316   END C_MAY_DASH_2FORMULA;
317 
318   FUNCTION C_MAY_DASH_3FORMULA RETURN VARCHAR2 IS
319   BEGIN
320     IF P_SUM_3 IS NOT NULL THEN
321       RETURN (RPAD('-'
322                  ,P_LEN_3
323                  ,'-'));
324     ELSE
325       RETURN (RPAD(' '
326                  ,P_LEN_3
327                  ,' '));
328     END IF;
329     RETURN NULL;
330   END C_MAY_DASH_3FORMULA;
331 
332   FUNCTION C_MAY_DASH_4FORMULA RETURN VARCHAR2 IS
333   BEGIN
334     IF P_SUM_4 IS NOT NULL THEN
335       RETURN (RPAD('-'
336                  ,P_LEN_4
337                  ,'-'));
338     ELSE
339       RETURN (RPAD(' '
340                  ,P_LEN_4
341                  ,' '));
342     END IF;
343     RETURN NULL;
344   END C_MAY_DASH_4FORMULA;
345 
346   FUNCTION C_MAY_DASH_5FORMULA RETURN VARCHAR2 IS
347   BEGIN
348     IF P_SUM_5 IS NOT NULL THEN
349       RETURN (RPAD('-'
350                  ,P_LEN_5
351                  ,'-'));
352     ELSE
353       RETURN (RPAD(' '
354                  ,P_LEN_5
355                  ,' '));
356     END IF;
357     RETURN NULL;
358   END C_MAY_DASH_5FORMULA;
359 
360   FUNCTION C_MAY_DASH_6FORMULA RETURN VARCHAR2 IS
361   BEGIN
362     IF P_SUM_6 IS NOT NULL THEN
363       RETURN (RPAD('-'
364                  ,P_LEN_6
365                  ,'-'));
366     ELSE
367       RETURN (RPAD(' '
368                  ,P_LEN_6
369                  ,' '));
370     END IF;
371     RETURN NULL;
372   END C_MAY_DASH_6FORMULA;
373 
374   FUNCTION C_MAY_DASH_7FORMULA RETURN VARCHAR2 IS
375   BEGIN
376     IF P_SUM_7 IS NOT NULL THEN
377       RETURN (RPAD('-'
378                  ,P_LEN_7
379                  ,'-'));
380     ELSE
381       RETURN (RPAD(' '
382                  ,P_LEN_7
383                  ,' '));
384     END IF;
385     RETURN NULL;
386   END C_MAY_DASH_7FORMULA;
387 
388   FUNCTION C_MAY_DASH_8FORMULA RETURN VARCHAR2 IS
389   BEGIN
390     IF P_SUM_8 IS NOT NULL THEN
391       RETURN (RPAD('-'
392                  ,P_LEN_8
393                  ,'-'));
394     ELSE
395       RETURN (RPAD(' '
396                  ,P_LEN_8
397                  ,' '));
398     END IF;
399     RETURN NULL;
400   END C_MAY_DASH_8FORMULA;
401 
402   FUNCTION C_MAY_DASH_9FORMULA RETURN VARCHAR2 IS
403   BEGIN
404     IF P_SUM_9 IS NOT NULL THEN
405       RETURN (RPAD('-'
406                  ,P_LEN_9
407                  ,'-'));
408     ELSE
409       RETURN (RPAD(' '
410                  ,P_LEN_9
411                  ,' '));
412     END IF;
413     RETURN NULL;
414   END C_MAY_DASH_9FORMULA;
415 
416   FUNCTION C_MAY_DASH_10FORMULA RETURN VARCHAR2 IS
417   BEGIN
418     IF P_SUM_10 IS NOT NULL THEN
419       RETURN (RPAD('-'
420                  ,P_LEN_10
421                  ,'-'));
422     ELSE
423       RETURN (RPAD(' '
424                  ,P_LEN_10
425                  ,' '));
426     END IF;
427     RETURN NULL;
428   END C_MAY_DASH_10FORMULA;
429 
430   FUNCTION C_MAY_DASH_11FORMULA RETURN VARCHAR2 IS
431   BEGIN
432     IF P_SUM_11 IS NOT NULL THEN
433       RETURN (RPAD('-'
434                  ,P_LEN_11
435                  ,'-'));
436     ELSE
437       RETURN (RPAD(' '
438                  ,P_LEN_11
439                  ,' '));
440     END IF;
441     RETURN NULL;
442   END C_MAY_DASH_11FORMULA;
443 
444   FUNCTION C_MAY_DASH_12FORMULA RETURN VARCHAR2 IS
445   BEGIN
446     IF P_SUM_12 IS NOT NULL THEN
447       RETURN (RPAD('-'
448                  ,P_LEN_12
449                  ,'-'));
450     ELSE
451       RETURN (RPAD(' '
452                  ,P_LEN_12
453                  ,' '));
454     END IF;
455     RETURN NULL;
456   END C_MAY_DASH_12FORMULA;
457 
458   FUNCTION C_MAY_DASH_13FORMULA RETURN VARCHAR2 IS
459   BEGIN
460     IF P_SUM_13 IS NOT NULL THEN
461       RETURN (RPAD('-'
462                  ,P_LEN_13
463                  ,'-'));
464     ELSE
465       RETURN (RPAD(' '
466                  ,P_LEN_13
467                  ,' '));
468     END IF;
469     RETURN NULL;
470   END C_MAY_DASH_13FORMULA;
471 
472   FUNCTION C_MAY_DASH_14FORMULA RETURN VARCHAR2 IS
473   BEGIN
474     IF P_SUM_14 IS NOT NULL THEN
475       RETURN (RPAD('-'
476                  ,P_LEN_14
477                  ,'-'));
478     ELSE
479       RETURN (RPAD(' '
480                  ,P_LEN_14
481                  ,' '));
482     END IF;
483     RETURN NULL;
484   END C_MAY_DASH_14FORMULA;
485 
486   FUNCTION C_MAY_DASH_15FORMULA RETURN VARCHAR2 IS
487   BEGIN
488     IF P_SUM_15 IS NOT NULL THEN
489       RETURN (RPAD('-'
490                  ,P_LEN_15
491                  ,'-'));
492     ELSE
493       RETURN (RPAD(' '
494                  ,P_LEN_15
495                  ,' '));
496     END IF;
497     RETURN NULL;
498   END C_MAY_DASH_15FORMULA;
499 
500   FUNCTION C_MAY_DASH_16FORMULA RETURN VARCHAR2 IS
501   BEGIN
502     IF P_SUM_16 IS NOT NULL THEN
503       RETURN (RPAD('-'
504                  ,P_LEN_16
505                  ,'-'));
506     ELSE
507       RETURN (RPAD(' '
508                  ,P_LEN_16
509                  ,' '));
510     END IF;
511     RETURN NULL;
512   END C_MAY_DASH_16FORMULA;
513 
514   FUNCTION C_MAY_DASH_17FORMULA RETURN VARCHAR2 IS
515   BEGIN
516     IF P_SUM_17 IS NOT NULL THEN
517       RETURN (RPAD('-'
518                  ,P_LEN_17
519                  ,'-'));
520     ELSE
521       RETURN (RPAD(' '
522                  ,P_LEN_17
523                  ,' '));
524     END IF;
525     RETURN NULL;
526   END C_MAY_DASH_17FORMULA;
527 
528   FUNCTION C_MAY_DASH_18FORMULA RETURN VARCHAR2 IS
529   BEGIN
530     IF P_SUM_18 IS NOT NULL THEN
531       RETURN (RPAD('-'
532                  ,P_LEN_18
533                  ,'-'));
534     ELSE
535       RETURN (RPAD(' '
536                  ,P_LEN_18
537                  ,' '));
538     END IF;
539     RETURN NULL;
540   END C_MAY_DASH_18FORMULA;
541 
542   FUNCTION C_MAY_DASH_19FORMULA RETURN VARCHAR2 IS
543   BEGIN
544     IF P_SUM_19 IS NOT NULL THEN
545       RETURN (RPAD('-'
546                  ,P_LEN_19
547                  ,'-'));
548     ELSE
549       RETURN (RPAD(' '
550                  ,P_LEN_19
551                  ,' '));
552     END IF;
553     RETURN NULL;
554   END C_MAY_DASH_19FORMULA;
555 
556   FUNCTION C_MAY_DASH_20FORMULA RETURN VARCHAR2 IS
557   BEGIN
558     IF P_SUM_20 IS NOT NULL THEN
559       RETURN (RPAD('-'
560                  ,P_LEN_20
561                  ,'-'));
562     ELSE
563       RETURN (RPAD(' '
564                  ,P_LEN_20
565                  ,' '));
566     END IF;
567     RETURN NULL;
568   END C_MAY_DASH_20FORMULA;
569 
570   FUNCTION C_MAY_DASH_21FORMULA RETURN VARCHAR2 IS
571   BEGIN
572     IF P_SUM_21 IS NOT NULL THEN
573       RETURN (RPAD('-'
574                  ,P_LEN_21
575                  ,'-'));
576     ELSE
577       RETURN (RPAD(' '
578                  ,P_LEN_21
579                  ,' '));
580     END IF;
581     RETURN NULL;
582   END C_MAY_DASH_21FORMULA;
583 
584   FUNCTION C_MAY_DASH_22FORMULA RETURN VARCHAR2 IS
585   BEGIN
586     IF P_SUM_22 IS NOT NULL THEN
587       RETURN (RPAD('-'
588                  ,P_LEN_22
589                  ,'-'));
590     ELSE
591       RETURN (RPAD(' '
592                  ,P_LEN_22
593                  ,' '));
594     END IF;
595     RETURN NULL;
596   END C_MAY_DASH_22FORMULA;
597 
598   FUNCTION C_MAY_DASH_23FORMULA RETURN VARCHAR2 IS
599   BEGIN
600     IF P_SUM_23 IS NOT NULL THEN
601       RETURN (RPAD('-'
602                  ,P_LEN_23
603                  ,'-'));
604     ELSE
605       RETURN (RPAD(' '
606                  ,P_LEN_23
607                  ,' '));
608     END IF;
609     RETURN NULL;
610   END C_MAY_DASH_23FORMULA;
611 
612   FUNCTION C_MAY_DASH_24FORMULA RETURN VARCHAR2 IS
613   BEGIN
614     IF P_SUM_24 IS NOT NULL THEN
615       RETURN (RPAD('-'
616                  ,P_LEN_24
617                  ,'-'));
618     ELSE
619       RETURN (RPAD(' '
620                  ,P_LEN_24
621                  ,' '));
622     END IF;
623     RETURN NULL;
624   END C_MAY_DASH_24FORMULA;
625 
626   FUNCTION C_MAY_DASH_25FORMULA RETURN VARCHAR2 IS
627   BEGIN
628     IF P_SUM_25 IS NOT NULL THEN
629       RETURN (RPAD('-'
630                  ,P_LEN_25
631                  ,'-'));
632     ELSE
633       RETURN (RPAD(' '
634                  ,P_LEN_25
635                  ,' '));
636     END IF;
637     RETURN NULL;
638   END C_MAY_DASH_25FORMULA;
639 
640   FUNCTION C_MAY_DASH_26FORMULA RETURN VARCHAR2 IS
641   BEGIN
642     IF P_SUM_26 IS NOT NULL THEN
643       RETURN (RPAD('-'
644                  ,P_LEN_26
645                  ,'-'));
646     ELSE
647       RETURN (RPAD(' '
648                  ,P_LEN_26
649                  ,' '));
650     END IF;
651     RETURN NULL;
652   END C_MAY_DASH_26FORMULA;
653 
654   FUNCTION C_MAY_DASH_27FORMULA RETURN VARCHAR2 IS
655   BEGIN
656     IF P_SUM_27 IS NOT NULL THEN
657       RETURN (RPAD('-'
658                  ,P_LEN_27
659                  ,'-'));
660     ELSE
661       RETURN (RPAD(' '
662                  ,P_LEN_27
663                  ,' '));
664     END IF;
665     RETURN NULL;
666   END C_MAY_DASH_27FORMULA;
667 
668   FUNCTION C_MAY_DASH_28FORMULA RETURN VARCHAR2 IS
669   BEGIN
670     IF P_SUM_28 IS NOT NULL THEN
671       RETURN (RPAD('-'
672                  ,P_LEN_28
673                  ,'-'));
674     ELSE
675       RETURN (RPAD(' '
676                  ,P_LEN_28
677                  ,' '));
678     END IF;
679     RETURN NULL;
680   END C_MAY_DASH_28FORMULA;
681 
682   FUNCTION C_MAY_DASH_29FORMULA RETURN VARCHAR2 IS
683   BEGIN
684     IF P_SUM_29 IS NOT NULL THEN
685       RETURN (RPAD('-'
686                  ,P_LEN_29
687                  ,'-'));
688     ELSE
689       RETURN (RPAD(' '
690                  ,P_LEN_29
691                  ,' '));
692     END IF;
693     RETURN NULL;
694   END C_MAY_DASH_29FORMULA;
695 
696   FUNCTION C_MAY_DASH_30FORMULA RETURN VARCHAR2 IS
697   BEGIN
698     IF P_SUM_30 IS NOT NULL THEN
699       RETURN (RPAD('-'
700                  ,P_LEN_30
701                  ,'-'));
702     ELSE
703       RETURN (RPAD(' '
704                  ,P_LEN_30
705                  ,' '));
706     END IF;
707     RETURN NULL;
708   END C_MAY_DASH_30FORMULA;
709 
710   FUNCTION C_FINAL_SUM_1FORMULA(SUM_1 IN NUMBER) RETURN VARCHAR2 IS
711   BEGIN
712     IF P_SUM_1 IS NULL THEN
713       RETURN (RPAD(' '
714                  ,P_LEN_1
715                  ,' '));
716     ELSE
717       IF NVL(LENGTH(TO_CHAR(SUM_1))
718          ,0) > P_LEN_1 THEN
719         RETURN (RPAD('*'
720                    ,P_LEN_1
721                    ,'*'));
722       ELSE
723         RETURN (LPAD(TO_CHAR(SUM_1)
724                    ,P_LEN_1
725                    ,' '));
726       END IF;
727     END IF;
728     RETURN NULL;
729   END C_FINAL_SUM_1FORMULA;
730 
731   FUNCTION C_FINAL_SUM_2FORMULA(SUM_2 IN NUMBER) RETURN VARCHAR2 IS
732   BEGIN
733     IF P_SUM_2 IS NULL THEN
734       RETURN (RPAD(' '
735                  ,P_LEN_2
736                  ,' '));
737     ELSE
738       IF NVL(LENGTH(TO_CHAR(SUM_2))
739          ,0) > P_LEN_2 THEN
740         RETURN (RPAD('*'
741                    ,P_LEN_2
742                    ,'*'));
743       ELSE
744         RETURN (LPAD(TO_CHAR(SUM_2)
745                    ,P_LEN_2
746                    ,' '));
747       END IF;
748     END IF;
749     RETURN NULL;
750   END C_FINAL_SUM_2FORMULA;
751 
752   FUNCTION C_FINAL_SUM_3FORMULA(SUM_3 IN NUMBER) RETURN VARCHAR2 IS
753   BEGIN
754     IF P_SUM_3 IS NULL THEN
755       RETURN (RPAD(' '
756                  ,P_LEN_3
757                  ,' '));
758     ELSE
759       IF NVL(LENGTH(TO_CHAR(SUM_3))
760          ,0) > P_LEN_3 THEN
761         RETURN (RPAD('*'
762                    ,P_LEN_3
763                    ,'*'));
764       ELSE
765         RETURN (LPAD(TO_CHAR(SUM_3)
766                    ,P_LEN_3
767                    ,' '));
768       END IF;
769     END IF;
770     RETURN NULL;
771   END C_FINAL_SUM_3FORMULA;
772 
773   FUNCTION C_FINAL_SUM_4FORMULA(SUM_4 IN NUMBER) RETURN VARCHAR2 IS
774   BEGIN
775     IF P_SUM_4 IS NULL THEN
776       RETURN (RPAD(' '
777                  ,P_LEN_4
778                  ,' '));
779     ELSE
780       IF NVL(LENGTH(TO_CHAR(SUM_4))
781          ,0) > P_LEN_4 THEN
782         RETURN (RPAD('*'
783                    ,P_LEN_4
784                    ,'*'));
785       ELSE
786         RETURN (LPAD(TO_CHAR(SUM_4)
787                    ,P_LEN_4
788                    ,' '));
789       END IF;
790     END IF;
791     RETURN NULL;
792   END C_FINAL_SUM_4FORMULA;
793 
794   FUNCTION C_FINAL_SUM_5FORMULA(SUM_5 IN NUMBER) RETURN VARCHAR2 IS
795   BEGIN
796     IF P_SUM_5 IS NULL THEN
797       RETURN (RPAD(' '
798                  ,P_LEN_5
799                  ,' '));
800     ELSE
801       IF NVL(LENGTH(TO_CHAR(SUM_5))
802          ,0) > P_LEN_5 THEN
803         RETURN (RPAD('*'
804                    ,P_LEN_5
805                    ,'*'));
806       ELSE
807         RETURN (LPAD(TO_CHAR(SUM_5)
808                    ,P_LEN_5
809                    ,' '));
810       END IF;
811     END IF;
812     RETURN NULL;
813   END C_FINAL_SUM_5FORMULA;
814 
815   FUNCTION C_FINAL_SUM_6FORMULA(SUM_6 IN NUMBER) RETURN VARCHAR2 IS
816   BEGIN
817     IF P_SUM_6 IS NULL THEN
818       RETURN (RPAD(' '
819                  ,P_LEN_6
820                  ,' '));
821     ELSE
822       IF NVL(LENGTH(TO_CHAR(SUM_6))
823          ,0) > P_LEN_6 THEN
824         RETURN (RPAD('*'
825                    ,P_LEN_6
826                    ,'*'));
827       ELSE
828         RETURN (LPAD(TO_CHAR(SUM_6)
829                    ,P_LEN_6
830                    ,' '));
831       END IF;
832     END IF;
833     RETURN NULL;
834   END C_FINAL_SUM_6FORMULA;
835 
836   FUNCTION C_FINAL_SUM_7FORMULA(SUM_7 IN NUMBER) RETURN VARCHAR2 IS
837   BEGIN
838     IF P_SUM_7 IS NULL THEN
839       RETURN (RPAD(' '
840                  ,P_LEN_7
841                  ,' '));
842     ELSE
843       IF NVL(LENGTH(TO_CHAR(SUM_7))
844          ,0) > P_LEN_7 THEN
845         RETURN (RPAD('*'
846                    ,P_LEN_7
847                    ,'*'));
848       ELSE
849         RETURN (LPAD(TO_CHAR(SUM_7)
850                    ,P_LEN_7
851                    ,' '));
852       END IF;
853     END IF;
854     RETURN NULL;
855   END C_FINAL_SUM_7FORMULA;
856 
857   FUNCTION C_FINAL_SUM_8FORMULA(SUM_8 IN NUMBER) RETURN VARCHAR2 IS
858   BEGIN
859     IF P_SUM_8 IS NULL THEN
860       RETURN (RPAD(' '
861                  ,P_LEN_8
862                  ,' '));
863     ELSE
864       IF NVL(LENGTH(TO_CHAR(SUM_8))
865          ,0) > P_LEN_8 THEN
866         RETURN (RPAD('*'
867                    ,P_LEN_8
868                    ,'*'));
869       ELSE
870         RETURN (LPAD(TO_CHAR(SUM_8)
871                    ,P_LEN_8
872                    ,' '));
873       END IF;
874     END IF;
875     RETURN NULL;
876   END C_FINAL_SUM_8FORMULA;
877 
878   FUNCTION C_FINAL_SUM_9FORMULA(SUM_9 IN NUMBER) RETURN VARCHAR2 IS
879   BEGIN
880     IF P_SUM_9 IS NULL THEN
881       RETURN (RPAD(' '
882                  ,P_LEN_9
883                  ,' '));
884     ELSE
885       IF NVL(LENGTH(TO_CHAR(SUM_9))
886          ,0) > P_LEN_9 THEN
887         RETURN (RPAD('*'
888                    ,P_LEN_9
889                    ,'*'));
890       ELSE
891         RETURN (LPAD(TO_CHAR(SUM_9)
892                    ,P_LEN_9
893                    ,' '));
894       END IF;
895     END IF;
896     RETURN NULL;
897   END C_FINAL_SUM_9FORMULA;
898 
899   FUNCTION C_FINAL_SUM_10FORMULA(SUM_10 IN NUMBER) RETURN VARCHAR2 IS
900   BEGIN
901     IF P_SUM_10 IS NULL THEN
902       RETURN (RPAD(' '
903                  ,P_LEN_10
904                  ,' '));
905     ELSE
906       IF NVL(LENGTH(TO_CHAR(SUM_10))
907          ,0) > P_LEN_10 THEN
908         RETURN (RPAD('*'
909                    ,P_LEN_10
910                    ,'*'));
911       ELSE
912         RETURN (LPAD(TO_CHAR(SUM_10)
913                    ,P_LEN_10
914                    ,' '));
915       END IF;
916     END IF;
917     RETURN NULL;
918   END C_FINAL_SUM_10FORMULA;
919 
920   FUNCTION C_FINAL_SUM_11FORMULA(SUM_11 IN NUMBER) RETURN VARCHAR2 IS
921   BEGIN
922     IF P_SUM_11 IS NULL THEN
923       RETURN (RPAD(' '
924                  ,P_LEN_11
925                  ,' '));
926     ELSE
927       IF NVL(LENGTH(TO_CHAR(SUM_11))
928          ,0) > P_LEN_11 THEN
929         RETURN (RPAD('*'
930                    ,P_LEN_11
931                    ,'*'));
932       ELSE
933         RETURN (LPAD(TO_CHAR(SUM_11)
934                    ,P_LEN_11
935                    ,' '));
936       END IF;
937     END IF;
938     RETURN NULL;
939   END C_FINAL_SUM_11FORMULA;
940 
941   FUNCTION C_FINAL_SUM_12FORMULA(SUM_12 IN NUMBER) RETURN VARCHAR2 IS
942   BEGIN
943     IF P_SUM_12 IS NULL THEN
944       RETURN (RPAD(' '
945                  ,P_LEN_12
946                  ,' '));
947     ELSE
948       IF NVL(LENGTH(TO_CHAR(SUM_12))
949          ,0) > P_LEN_12 THEN
950         RETURN (RPAD('*'
951                    ,P_LEN_12
952                    ,'*'));
953       ELSE
954         RETURN (LPAD(TO_CHAR(SUM_12)
955                    ,P_LEN_12
956                    ,' '));
957       END IF;
958     END IF;
959     RETURN NULL;
960   END C_FINAL_SUM_12FORMULA;
961 
962   FUNCTION C_FINAL_SUM_13FORMULA(SUM_13 IN NUMBER) RETURN VARCHAR2 IS
963   BEGIN
964     IF P_SUM_13 IS NULL THEN
965       RETURN (RPAD(' '
966                  ,P_LEN_13
967                  ,' '));
968     ELSE
969       IF NVL(LENGTH(TO_CHAR(SUM_13))
970          ,0) > P_LEN_13 THEN
971         RETURN (RPAD('*'
972                    ,P_LEN_13
973                    ,'*'));
974       ELSE
975         RETURN (LPAD(TO_CHAR(SUM_13)
976                    ,P_LEN_13
977                    ,' '));
978       END IF;
979     END IF;
980     RETURN NULL;
981   END C_FINAL_SUM_13FORMULA;
982 
983   FUNCTION C_FINAL_SUM_14FORMULA(SUM_14 IN NUMBER) RETURN VARCHAR2 IS
984   BEGIN
985     IF P_SUM_14 IS NULL THEN
986       RETURN (RPAD(' '
987                  ,P_LEN_14
988                  ,' '));
989     ELSE
990       IF NVL(LENGTH(TO_CHAR(SUM_14))
991          ,0) > P_LEN_14 THEN
992         RETURN (RPAD('*'
993                    ,P_LEN_14
994                    ,'*'));
995       ELSE
996         RETURN (LPAD(TO_CHAR(SUM_14)
997                    ,P_LEN_14
998                    ,' '));
999       END IF;
1000     END IF;
1001     RETURN NULL;
1002   END C_FINAL_SUM_14FORMULA;
1003 
1004   FUNCTION C_FINAL_SUM_15FORMULA(SUM_15 IN NUMBER) RETURN VARCHAR2 IS
1005   BEGIN
1006     IF P_SUM_15 IS NULL THEN
1007       RETURN (RPAD(' '
1008                  ,P_LEN_15
1009                  ,' '));
1010     ELSE
1011       IF NVL(LENGTH(TO_CHAR(SUM_15))
1012          ,0) > P_LEN_15 THEN
1013         RETURN (RPAD('*'
1014                    ,P_LEN_15
1015                    ,'*'));
1016       ELSE
1017         RETURN (LPAD(TO_CHAR(SUM_15)
1018                    ,P_LEN_15
1019                    ,' '));
1020       END IF;
1021     END IF;
1022     RETURN NULL;
1023   END C_FINAL_SUM_15FORMULA;
1024 
1025   FUNCTION C_FINAL_SUM_16FORMULA(SUM_16 IN NUMBER) RETURN VARCHAR2 IS
1026   BEGIN
1027     IF P_SUM_16 IS NULL THEN
1028       RETURN (RPAD(' '
1029                  ,P_LEN_16
1030                  ,' '));
1031     ELSE
1032       IF NVL(LENGTH(TO_CHAR(SUM_16))
1033          ,0) > P_LEN_16 THEN
1034         RETURN (RPAD('*'
1035                    ,P_LEN_16
1036                    ,'*'));
1037       ELSE
1038         RETURN (LPAD(TO_CHAR(SUM_16)
1039                    ,P_LEN_16
1040                    ,' '));
1041       END IF;
1042     END IF;
1043     RETURN NULL;
1044   END C_FINAL_SUM_16FORMULA;
1045 
1046   FUNCTION C_FINAL_SUM_17FORMULA(SUM_17 IN NUMBER) RETURN VARCHAR2 IS
1047   BEGIN
1048     IF P_SUM_17 IS NULL THEN
1049       RETURN (RPAD(' '
1050                  ,P_LEN_17
1051                  ,' '));
1052     ELSE
1053       IF NVL(LENGTH(TO_CHAR(SUM_17))
1054          ,0) > P_LEN_17 THEN
1055         RETURN (RPAD('*'
1056                    ,P_LEN_17
1057                    ,'*'));
1058       ELSE
1059         RETURN (LPAD(TO_CHAR(SUM_17)
1060                    ,P_LEN_17
1061                    ,' '));
1062       END IF;
1063     END IF;
1064     RETURN NULL;
1065   END C_FINAL_SUM_17FORMULA;
1066 
1067   FUNCTION C_FINAL_SUM_18FORMULA(SUM_18 IN NUMBER) RETURN VARCHAR2 IS
1068   BEGIN
1069     IF P_SUM_18 IS NULL THEN
1070       RETURN (RPAD(' '
1071                  ,P_LEN_18
1072                  ,' '));
1073     ELSE
1074       IF NVL(LENGTH(TO_CHAR(SUM_18))
1075          ,0) > P_LEN_18 THEN
1076         RETURN (RPAD('*'
1077                    ,P_LEN_18
1078                    ,'*'));
1079       ELSE
1080         RETURN (LPAD(TO_CHAR(SUM_18)
1081                    ,P_LEN_18
1082                    ,' '));
1083       END IF;
1084     END IF;
1085     RETURN NULL;
1086   END C_FINAL_SUM_18FORMULA;
1087 
1088   FUNCTION C_FINAL_SUM_19FORMULA(SUM_19 IN NUMBER) RETURN VARCHAR2 IS
1089   BEGIN
1090     IF P_SUM_19 IS NULL THEN
1091       RETURN (RPAD(' '
1092                  ,P_LEN_19
1093                  ,' '));
1094     ELSE
1095       IF NVL(LENGTH(TO_CHAR(SUM_19))
1096          ,0) > P_LEN_19 THEN
1097         RETURN (RPAD('*'
1098                    ,P_LEN_19
1099                    ,'*'));
1100       ELSE
1101         RETURN (LPAD(TO_CHAR(SUM_19)
1102                    ,P_LEN_19
1103                    ,' '));
1104       END IF;
1105     END IF;
1106     RETURN NULL;
1107   END C_FINAL_SUM_19FORMULA;
1108 
1109   FUNCTION C_FINAL_SUM_20FORMULA(SUM_20 IN NUMBER) RETURN VARCHAR2 IS
1110   BEGIN
1111     IF P_SUM_20 IS NULL THEN
1112       RETURN (RPAD(' '
1113                  ,P_LEN_20
1114                  ,' '));
1115     ELSE
1116       IF NVL(LENGTH(TO_CHAR(SUM_20))
1117          ,0) > P_LEN_20 THEN
1118         RETURN (RPAD('*'
1119                    ,P_LEN_20
1120                    ,'*'));
1121       ELSE
1122         RETURN (LPAD(TO_CHAR(SUM_20)
1123                    ,P_LEN_20
1124                    ,' '));
1125       END IF;
1126     END IF;
1127     RETURN NULL;
1128   END C_FINAL_SUM_20FORMULA;
1129 
1130   FUNCTION C_FINAL_SUM_21FORMULA(SUM_21 IN NUMBER) RETURN VARCHAR2 IS
1131   BEGIN
1132     IF P_SUM_21 IS NULL THEN
1133       RETURN (RPAD(' '
1134                  ,P_LEN_21
1135                  ,' '));
1136     ELSE
1137       IF NVL(LENGTH(TO_CHAR(SUM_21))
1138          ,0) > P_LEN_21 THEN
1139         RETURN (RPAD('*'
1140                    ,P_LEN_21
1141                    ,'*'));
1142       ELSE
1143         RETURN (LPAD(TO_CHAR(SUM_21)
1144                    ,P_LEN_21
1145                    ,' '));
1146       END IF;
1147     END IF;
1148     RETURN NULL;
1149   END C_FINAL_SUM_21FORMULA;
1150 
1151   FUNCTION C_FINAL_SUM_22FORMULA(SUM_22 IN NUMBER) RETURN VARCHAR2 IS
1152   BEGIN
1153     IF P_SUM_22 IS NULL THEN
1154       RETURN (RPAD(' '
1155                  ,P_LEN_22
1156                  ,' '));
1157     ELSE
1158       IF NVL(LENGTH(TO_CHAR(SUM_22))
1159          ,0) > P_LEN_22 THEN
1160         RETURN (RPAD('*'
1161                    ,P_LEN_22
1162                    ,'*'));
1163       ELSE
1164         RETURN (LPAD(TO_CHAR(SUM_22)
1165                    ,P_LEN_22
1166                    ,' '));
1167       END IF;
1168     END IF;
1169     RETURN NULL;
1170   END C_FINAL_SUM_22FORMULA;
1171 
1172   FUNCTION C_FINAL_SUM_23FORMULA(SUM_23 IN NUMBER) RETURN VARCHAR2 IS
1173   BEGIN
1174     IF P_SUM_23 IS NULL THEN
1175       RETURN (RPAD(' '
1176                  ,P_LEN_23
1177                  ,' '));
1178     ELSE
1179       IF NVL(LENGTH(TO_CHAR(SUM_23))
1180          ,0) > P_LEN_23 THEN
1181         RETURN (RPAD('*'
1182                    ,P_LEN_23
1183                    ,'*'));
1184       ELSE
1185         RETURN (LPAD(TO_CHAR(SUM_23)
1186                    ,P_LEN_23
1187                    ,' '));
1188       END IF;
1189     END IF;
1190     RETURN NULL;
1191   END C_FINAL_SUM_23FORMULA;
1192 
1193   FUNCTION C_FINAL_SUM_24FORMULA(SUM_24 IN NUMBER) RETURN VARCHAR2 IS
1194   BEGIN
1195     IF P_SUM_24 IS NULL THEN
1196       RETURN (RPAD(' '
1197                  ,P_LEN_24
1198                  ,' '));
1199     ELSE
1200       IF NVL(LENGTH(TO_CHAR(SUM_24))
1201          ,0) > P_LEN_24 THEN
1202         RETURN (RPAD('*'
1203                    ,P_LEN_24
1204                    ,'*'));
1205       ELSE
1206         RETURN (LPAD(TO_CHAR(SUM_24)
1207                    ,P_LEN_24
1208                    ,' '));
1209       END IF;
1210     END IF;
1211     RETURN NULL;
1212   END C_FINAL_SUM_24FORMULA;
1213 
1214   FUNCTION C_FINAL_SUM_25FORMULA(SUM_25 IN NUMBER) RETURN VARCHAR2 IS
1215   BEGIN
1216     IF P_SUM_25 IS NULL THEN
1217       RETURN (RPAD(' '
1218                  ,P_LEN_25
1219                  ,' '));
1220     ELSE
1221       IF NVL(LENGTH(TO_CHAR(SUM_25))
1222          ,0) > P_LEN_25 THEN
1223         RETURN (RPAD('*'
1224                    ,P_LEN_25
1225                    ,'*'));
1226       ELSE
1227         RETURN (LPAD(TO_CHAR(SUM_25)
1228                    ,P_LEN_25
1229                    ,' '));
1230       END IF;
1231     END IF;
1232     RETURN NULL;
1233   END C_FINAL_SUM_25FORMULA;
1234 
1235   FUNCTION C_FINAL_SUM_26FORMULA(SUM_26 IN NUMBER) RETURN VARCHAR2 IS
1236   BEGIN
1237     IF P_SUM_26 IS NULL THEN
1238       RETURN (RPAD(' '
1239                  ,P_LEN_26
1240                  ,' '));
1241     ELSE
1242       IF NVL(LENGTH(TO_CHAR(SUM_26))
1243          ,0) > P_LEN_26 THEN
1244         RETURN (RPAD('*'
1245                    ,P_LEN_26
1246                    ,'*'));
1247       ELSE
1248         RETURN (LPAD(TO_CHAR(SUM_26)
1249                    ,P_LEN_26
1250                    ,' '));
1251       END IF;
1252     END IF;
1253     RETURN NULL;
1254   END C_FINAL_SUM_26FORMULA;
1255 
1256   FUNCTION C_FINAL_SUM_27FORMULA(SUM_27 IN NUMBER) RETURN VARCHAR2 IS
1257   BEGIN
1258     IF P_SUM_27 IS NULL THEN
1259       RETURN (RPAD(' '
1260                  ,P_LEN_27
1261                  ,' '));
1262     ELSE
1263       IF NVL(LENGTH(TO_CHAR(SUM_27))
1264          ,0) > P_LEN_27 THEN
1265         RETURN (RPAD('*'
1266                    ,P_LEN_27
1267                    ,'*'));
1268       ELSE
1269         RETURN (LPAD(TO_CHAR(SUM_27)
1270                    ,P_LEN_27
1271                    ,' '));
1272       END IF;
1273     END IF;
1274     RETURN NULL;
1275   END C_FINAL_SUM_27FORMULA;
1276 
1277   FUNCTION C_FINAL_SUM_28FORMULA(SUM_28 IN NUMBER) RETURN VARCHAR2 IS
1278   BEGIN
1279     IF P_SUM_28 IS NULL THEN
1280       RETURN (RPAD(' '
1281                  ,P_LEN_28
1282                  ,' '));
1283     ELSE
1284       IF NVL(LENGTH(TO_CHAR(SUM_28))
1285          ,0) > P_LEN_28 THEN
1286         RETURN (RPAD('*'
1287                    ,P_LEN_28
1288                    ,'*'));
1289       ELSE
1290         RETURN (LPAD(TO_CHAR(SUM_28)
1291                    ,P_LEN_28
1292                    ,' '));
1293       END IF;
1294     END IF;
1295     RETURN NULL;
1296   END C_FINAL_SUM_28FORMULA;
1297 
1298   FUNCTION C_FINAL_SUM_29FORMULA(SUM_29 IN NUMBER) RETURN VARCHAR2 IS
1299   BEGIN
1300     IF P_SUM_29 IS NULL THEN
1301       RETURN (RPAD(' '
1302                  ,P_LEN_29
1303                  ,' '));
1304     ELSE
1305       IF NVL(LENGTH(TO_CHAR(SUM_29))
1306          ,0) > P_LEN_29 THEN
1307         RETURN (RPAD('*'
1308                    ,P_LEN_29
1309                    ,'*'));
1310       ELSE
1311         RETURN (LPAD(TO_CHAR(SUM_29)
1312                    ,P_LEN_29
1313                    ,' '));
1314       END IF;
1315     END IF;
1316     RETURN NULL;
1317   END C_FINAL_SUM_29FORMULA;
1318 
1319   FUNCTION C_FINAL_SUM_30FORMULA(SUM_30 IN NUMBER) RETURN VARCHAR2 IS
1320   BEGIN
1321     IF P_SUM_30 IS NULL THEN
1322       RETURN (RPAD(' '
1323                  ,P_LEN_30
1324                  ,' '));
1325     ELSE
1326       IF NVL(LENGTH(TO_CHAR(SUM_30))
1327          ,0) > P_LEN_30 THEN
1328         RETURN (RPAD('*'
1329                    ,P_LEN_30
1330                    ,'*'));
1331       ELSE
1332         RETURN (LPAD(TO_CHAR(SUM_30)
1333                    ,P_LEN_30
1334                    ,' '));
1335       END IF;
1336     END IF;
1337     RETURN NULL;
1338   END C_FINAL_SUM_30FORMULA;
1339 
1340   FUNCTION C_AST_2FORMULA(NUM_2 IN NUMBER
1341                          ,COL_2 IN VARCHAR2) RETURN VARCHAR2 IS
1342   BEGIN
1343     IF NVL(LENGTH(TO_CHAR(NUM_2))
1344        ,0) > P_LEN_2 THEN
1345       RETURN (RPAD('*'
1346                  ,P_LEN_2
1347                  ,'*'));
1348     ELSE
1349       RETURN (COL_2);
1350     END IF;
1351     RETURN NULL;
1352   END C_AST_2FORMULA;
1353 
1354   FUNCTION C_AST_3FORMULA(NUM_3 IN NUMBER
1355                          ,COL_3 IN VARCHAR2) RETURN VARCHAR2 IS
1356   BEGIN
1357     IF NVL(LENGTH(TO_CHAR(NUM_3))
1358        ,0) > P_LEN_3 THEN
1359       RETURN (RPAD('*'
1360                  ,P_LEN_3
1361                  ,'*'));
1362     ELSE
1363       RETURN (COL_3);
1364     END IF;
1365     RETURN NULL;
1366   END C_AST_3FORMULA;
1367 
1368   FUNCTION C_AST_1FORMULA(NUM_1 IN NUMBER
1369                          ,COL_1 IN VARCHAR2) RETURN VARCHAR2 IS
1370   BEGIN
1371     IF NVL(LENGTH(TO_CHAR(NUM_1))
1372        ,0) > P_LEN_1 THEN
1373       RETURN (RPAD('*'
1374                  ,P_LEN_1
1375                  ,'*'));
1376     ELSE
1377       RETURN (COL_1);
1378     END IF;
1379     RETURN NULL;
1380   END C_AST_1FORMULA;
1381 
1382   FUNCTION C_AST_4FORMULA(NUM_4 IN NUMBER
1383                          ,COL_4 IN VARCHAR2) RETURN VARCHAR2 IS
1384   BEGIN
1385     IF NVL(LENGTH(TO_CHAR(NUM_4))
1386        ,0) > P_LEN_4 THEN
1387       RETURN (RPAD('*'
1388                  ,P_LEN_4
1389                  ,'*'));
1390     ELSE
1391       RETURN (COL_4);
1392     END IF;
1393     RETURN NULL;
1394   END C_AST_4FORMULA;
1395 
1396   FUNCTION C_AST_5FORMULA(NUM_5 IN NUMBER
1397                          ,COL_5 IN VARCHAR2) RETURN VARCHAR2 IS
1398   BEGIN
1399     IF NVL(LENGTH(TO_CHAR(NUM_5))
1400        ,0) > P_LEN_5 THEN
1401       RETURN (RPAD('*'
1402                  ,P_LEN_5
1403                  ,'*'));
1404     ELSE
1405       RETURN (COL_5);
1406     END IF;
1407     RETURN NULL;
1408   END C_AST_5FORMULA;
1409 
1410   FUNCTION C_AST_6FORMULA(NUM_6 IN NUMBER
1411                          ,COL_6 IN VARCHAR2) RETURN VARCHAR2 IS
1412   BEGIN
1413     IF NVL(LENGTH(TO_CHAR(NUM_6))
1414        ,0) > P_LEN_6 THEN
1415       RETURN (RPAD('*'
1416                  ,P_LEN_6
1417                  ,'*'));
1418     ELSE
1419       RETURN (COL_6);
1420     END IF;
1421     RETURN NULL;
1422   END C_AST_6FORMULA;
1423 
1424   FUNCTION C_AST_7FORMULA(NUM_7 IN NUMBER
1425                          ,COL_7 IN VARCHAR2) RETURN VARCHAR2 IS
1426   BEGIN
1427     IF NVL(LENGTH(TO_CHAR(NUM_7))
1428        ,0) > P_LEN_7 THEN
1429       RETURN (RPAD('*'
1430                  ,P_LEN_7
1431                  ,'*'));
1432     ELSE
1433       RETURN (COL_7);
1434     END IF;
1435     RETURN NULL;
1436   END C_AST_7FORMULA;
1437 
1438   FUNCTION C_AST_8FORMULA(NUM_8 IN NUMBER
1439                          ,COL_8 IN VARCHAR2) RETURN VARCHAR2 IS
1440   BEGIN
1441     IF NVL(LENGTH(TO_CHAR(NUM_8))
1442        ,0) > P_LEN_8 THEN
1443       RETURN (RPAD('*'
1444                  ,P_LEN_8
1445                  ,'*'));
1446     ELSE
1447       RETURN (COL_8);
1448     END IF;
1449     RETURN NULL;
1450   END C_AST_8FORMULA;
1451 
1452   FUNCTION C_AST_9FORMULA(NUM_9 IN NUMBER
1453                          ,COL_9 IN VARCHAR2) RETURN VARCHAR2 IS
1454   BEGIN
1455     IF NVL(LENGTH(TO_CHAR(NUM_9))
1456        ,0) > P_LEN_9 THEN
1457       RETURN (RPAD('*'
1458                  ,P_LEN_9
1459                  ,'*'));
1460     ELSE
1461       RETURN (COL_9);
1462     END IF;
1463     RETURN NULL;
1464   END C_AST_9FORMULA;
1465 
1466   FUNCTION C_AST_10FORMULA(NUM_10 IN NUMBER
1467                           ,COL_10 IN VARCHAR2) RETURN VARCHAR2 IS
1468   BEGIN
1469     IF NVL(LENGTH(TO_CHAR(NUM_10))
1470        ,0) > P_LEN_10 THEN
1471       RETURN (RPAD('*'
1472                  ,P_LEN_10
1473                  ,'*'));
1474     ELSE
1475       RETURN (COL_10);
1476     END IF;
1477     RETURN NULL;
1478   END C_AST_10FORMULA;
1479 
1480   FUNCTION C_AST_15FORMULA(NUM_15 IN NUMBER
1481                           ,COL_15 IN VARCHAR2) RETURN VARCHAR2 IS
1482   BEGIN
1483     IF NVL(LENGTH(TO_CHAR(NUM_15))
1484        ,0) > P_LEN_15 THEN
1485       RETURN (RPAD('*'
1486                  ,P_LEN_15
1487                  ,'*'));
1488     ELSE
1489       RETURN (COL_15);
1490     END IF;
1491     RETURN NULL;
1492   END C_AST_15FORMULA;
1493 
1494   FUNCTION C_AST_14FORMULA(NUM_14 IN NUMBER
1495                           ,COL_14 IN VARCHAR2) RETURN VARCHAR2 IS
1496   BEGIN
1497     IF NVL(LENGTH(TO_CHAR(NUM_14))
1498        ,0) > P_LEN_14 THEN
1499       RETURN (RPAD('*'
1500                  ,P_LEN_14
1501                  ,'*'));
1502     ELSE
1503       RETURN (COL_14);
1504     END IF;
1505     RETURN NULL;
1506   END C_AST_14FORMULA;
1507 
1508   FUNCTION C_AST_13FORMULA(NUM_13 IN NUMBER
1509                           ,COL_13 IN VARCHAR2) RETURN VARCHAR2 IS
1510   BEGIN
1511     IF NVL(LENGTH(TO_CHAR(NUM_13))
1512        ,0) > P_LEN_13 THEN
1513       RETURN (RPAD('*'
1514                  ,P_LEN_13
1515                  ,'*'));
1516     ELSE
1517       RETURN (COL_13);
1518     END IF;
1519     RETURN NULL;
1520   END C_AST_13FORMULA;
1521 
1522   FUNCTION C_AST_12FORMULA(NUM_12 IN NUMBER
1523                           ,COL_12 IN VARCHAR2) RETURN VARCHAR2 IS
1524   BEGIN
1525     IF NVL(LENGTH(TO_CHAR(NUM_12))
1526        ,0) > P_LEN_12 THEN
1527       RETURN (RPAD('*'
1528                  ,P_LEN_12
1529                  ,'*'));
1530     ELSE
1531       RETURN (COL_12);
1532     END IF;
1533     RETURN NULL;
1534   END C_AST_12FORMULA;
1535 
1536   FUNCTION C_AST_11FORMULA(NUM_11 IN NUMBER
1537                           ,COL_11 IN VARCHAR2) RETURN VARCHAR2 IS
1538   BEGIN
1539     IF NVL(LENGTH(TO_CHAR(NUM_11))
1540        ,0) > P_LEN_11 THEN
1541       RETURN (RPAD('*'
1542                  ,P_LEN_11
1543                  ,'*'));
1544     ELSE
1545       RETURN (COL_11);
1546     END IF;
1547     RETURN NULL;
1548   END C_AST_11FORMULA;
1549 
1550   FUNCTION C_AST_18FORMULA(NUM_18 IN NUMBER
1551                           ,COL_18 IN VARCHAR2) RETURN VARCHAR2 IS
1552   BEGIN
1553     IF NVL(LENGTH(TO_CHAR(NUM_18))
1554        ,0) > P_LEN_18 THEN
1555       RETURN (RPAD('*'
1556                  ,P_LEN_18
1557                  ,'*'));
1558     ELSE
1559       RETURN (COL_18);
1560     END IF;
1561     RETURN NULL;
1562   END C_AST_18FORMULA;
1563 
1564   FUNCTION C_AST_17FORMULA(NUM_17 IN NUMBER
1565                           ,COL_17 IN VARCHAR2) RETURN VARCHAR2 IS
1566   BEGIN
1567     IF NVL(LENGTH(TO_CHAR(NUM_17))
1568        ,0) > P_LEN_17 THEN
1569       RETURN (RPAD('*'
1570                  ,P_LEN_17
1571                  ,'*'));
1572     ELSE
1573       RETURN (COL_17);
1574     END IF;
1575     RETURN NULL;
1576   END C_AST_17FORMULA;
1577 
1578   FUNCTION C_AST_16FORMULA(NUM_16 IN NUMBER
1579                           ,COL_16 IN VARCHAR2) RETURN VARCHAR2 IS
1580   BEGIN
1581     IF NVL(LENGTH(TO_CHAR(NUM_16))
1582        ,0) > P_LEN_16 THEN
1583       RETURN (RPAD('*'
1584                  ,P_LEN_16
1585                  ,'*'));
1586     ELSE
1587       RETURN (COL_16);
1588     END IF;
1589     RETURN NULL;
1590   END C_AST_16FORMULA;
1591 
1592   FUNCTION C_AST_19FORMULA(NUM_19 IN NUMBER
1593                           ,COL_19 IN VARCHAR2) RETURN VARCHAR2 IS
1594   BEGIN
1595     IF NVL(LENGTH(TO_CHAR(NUM_19))
1596        ,0) > P_LEN_19 THEN
1597       RETURN (RPAD('*'
1598                  ,P_LEN_19
1599                  ,'*'));
1600     ELSE
1601       RETURN (COL_19);
1602     END IF;
1603     RETURN NULL;
1604   END C_AST_19FORMULA;
1605 
1606   FUNCTION C_AST_20FORMULA(NUM_20 IN NUMBER
1607                           ,COL_20 IN VARCHAR2) RETURN VARCHAR2 IS
1608   BEGIN
1609     IF NVL(LENGTH(TO_CHAR(NUM_20))
1610        ,0) > P_LEN_20 THEN
1611       RETURN (RPAD('*'
1612                  ,P_LEN_20
1613                  ,'*'));
1614     ELSE
1615       RETURN (COL_20);
1616     END IF;
1617     RETURN NULL;
1618   END C_AST_20FORMULA;
1619 
1620   FUNCTION C_AST_25FORMULA(NUM_25 IN NUMBER
1621                           ,COL_25 IN VARCHAR2) RETURN VARCHAR2 IS
1622   BEGIN
1623     IF NVL(LENGTH(TO_CHAR(NUM_25))
1624        ,0) > P_LEN_25 THEN
1625       RETURN (RPAD('*'
1626                  ,P_LEN_25
1627                  ,'*'));
1628     ELSE
1629       RETURN (COL_25);
1630     END IF;
1631     RETURN NULL;
1632   END C_AST_25FORMULA;
1633 
1634   FUNCTION C_AST_24FORMULA(NUM_24 IN NUMBER
1635                           ,COL_24 IN VARCHAR2) RETURN VARCHAR2 IS
1636   BEGIN
1637     IF NVL(LENGTH(TO_CHAR(NUM_24))
1638        ,0) > P_LEN_24 THEN
1639       RETURN (RPAD('*'
1640                  ,P_LEN_24
1641                  ,'*'));
1642     ELSE
1643       RETURN (COL_24);
1644     END IF;
1645     RETURN NULL;
1646   END C_AST_24FORMULA;
1647 
1648   FUNCTION C_AST_23FORMULA(NUM_23 IN NUMBER
1649                           ,COL_23 IN VARCHAR2) RETURN VARCHAR2 IS
1650   BEGIN
1651     IF NVL(LENGTH(TO_CHAR(NUM_23))
1652        ,0) > P_LEN_23 THEN
1653       RETURN (RPAD('*'
1654                  ,P_LEN_23
1655                  ,'*'));
1656     ELSE
1657       RETURN (COL_23);
1658     END IF;
1659     RETURN NULL;
1660   END C_AST_23FORMULA;
1661 
1662   FUNCTION C_AST_22FORMULA(NUM_22 IN NUMBER
1663                           ,COL_22 IN VARCHAR2) RETURN VARCHAR2 IS
1664   BEGIN
1665     IF NVL(LENGTH(TO_CHAR(NUM_22))
1666        ,0) > P_LEN_22 THEN
1667       RETURN (RPAD('*'
1668                  ,P_LEN_22
1669                  ,'*'));
1670     ELSE
1671       RETURN (COL_22);
1672     END IF;
1673     RETURN NULL;
1674   END C_AST_22FORMULA;
1675 
1676   FUNCTION C_AST_21FORMULA(NUM_21 IN NUMBER
1677                           ,COL_21 IN VARCHAR2) RETURN VARCHAR2 IS
1678   BEGIN
1679     IF NVL(LENGTH(TO_CHAR(NUM_21))
1680        ,0) > P_LEN_21 THEN
1681       RETURN (RPAD('*'
1682                  ,P_LEN_21
1683                  ,'*'));
1684     ELSE
1685       RETURN (COL_21);
1686     END IF;
1687     RETURN NULL;
1688   END C_AST_21FORMULA;
1689 
1690   FUNCTION C_AST_30FORMULA(NUM_30 IN NUMBER
1691                           ,COL_30 IN VARCHAR2) RETURN VARCHAR2 IS
1692   BEGIN
1693     IF NVL(LENGTH(TO_CHAR(NUM_30))
1694        ,0) > P_LEN_30 THEN
1695       RETURN (RPAD('*'
1696                  ,P_LEN_30
1697                  ,'*'));
1698     ELSE
1699       RETURN (COL_30);
1700     END IF;
1701     RETURN NULL;
1702   END C_AST_30FORMULA;
1703 
1704   FUNCTION C_AST_29FORMULA(NUM_29 IN NUMBER
1705                           ,COL_29 IN VARCHAR2) RETURN VARCHAR2 IS
1706   BEGIN
1707     IF NVL(LENGTH(TO_CHAR(NUM_29))
1708        ,0) > P_LEN_29 THEN
1709       RETURN (RPAD('*'
1710                  ,P_LEN_29
1711                  ,'*'));
1712     ELSE
1713       RETURN (COL_29);
1714     END IF;
1715     RETURN NULL;
1716   END C_AST_29FORMULA;
1717 
1718   FUNCTION C_AST_28FORMULA(NUM_28 IN NUMBER
1719                           ,COL_28 IN VARCHAR2) RETURN VARCHAR2 IS
1720   BEGIN
1721     IF NVL(LENGTH(TO_CHAR(NUM_28))
1722        ,0) > P_LEN_28 THEN
1723       RETURN (RPAD('*'
1724                  ,P_LEN_28
1725                  ,'*'));
1726     ELSE
1727       RETURN (COL_28);
1728     END IF;
1729     RETURN NULL;
1730   END C_AST_28FORMULA;
1731 
1732   FUNCTION C_AST_27FORMULA(NUM_27 IN NUMBER
1733                           ,COL_27 IN VARCHAR2) RETURN VARCHAR2 IS
1734   BEGIN
1735     IF NVL(LENGTH(TO_CHAR(NUM_27))
1736        ,0) > P_LEN_27 THEN
1737       RETURN (RPAD('*'
1738                  ,P_LEN_27
1739                  ,'*'));
1740     ELSE
1741       RETURN (COL_27);
1742     END IF;
1743     RETURN NULL;
1744   END C_AST_27FORMULA;
1745 
1746   FUNCTION C_AST_26FORMULA(NUM_26 IN NUMBER
1747                           ,COL_26 IN VARCHAR2) RETURN VARCHAR2 IS
1748   BEGIN
1749     IF NVL(LENGTH(TO_CHAR(NUM_26))
1750        ,0) > P_LEN_26 THEN
1751       RETURN (RPAD('*'
1752                  ,P_LEN_26
1753                  ,'*'));
1754     ELSE
1755       RETURN (COL_26);
1756     END IF;
1757     RETURN NULL;
1758   END C_AST_26FORMULA;
1759 
1760   FUNCTION AFTERREPORT RETURN BOOLEAN IS
1761   BEGIN
1762     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
1763     RETURN (TRUE);
1764   END AFTERREPORT;
1765 
1766   PROCEDURE MAKE_SQL(X_CRITERIA_ID IN NUMBER
1767                     ,X_SELECT OUT NOCOPY VARCHAR2
1768                     ,X_WHERE OUT NOCOPY VARCHAR2
1769                     ,X_PROMPTS OUT NOCOPY VARCHAR2
1770                     ,X_LENGTH OUT NOCOPY VARCHAR2
1771                     ,X_SUM OUT NOCOPY VARCHAR2
1772                     ,X_TITLE OUT NOCOPY VARCHAR2
1773                     ,X_DESCRIPTION OUT NOCOPY VARCHAR2) IS
1774     CURSOR PCURSOR IS
1775       SELECT
1776         PLAN_ID,
1777         TITLE,
1778         DESCRIPTION
1779       FROM
1780         QA_CRITERIA_HEADERS
1781       WHERE CRITERIA_ID = X_CRITERIA_ID;
1782     V_PLAN_ID NUMBER;
1783     V_TITLE VARCHAR2(50);
1784     V_DESCRIPTION VARCHAR2(240);
1785     V_RET_VAL VARCHAR2(10);
1786     V_CUSTID NUMBER;
1787   BEGIN
1788     OPEN PCURSOR;
1789     FETCH PCURSOR
1790      INTO V_PLAN_ID,V_TITLE,V_DESCRIPTION;
1791     CLOSE PCURSOR;
1792     V_CRITERIA_ID := X_CRITERIA_ID;
1793     QLTSTORB.MAKE_REC_GROUP;
1794     LOOP_THROUGH_RECORDS;
1795     LAUNCH_PRODUCT(V_PLAN_ID);
1796     IF (P_SECURITY_PROFILE = 1) THEN
1797       SELECT
1798         NVL(PERSON_PARTY_ID
1799            ,-1)
1800       INTO V_CUSTID
1801       FROM
1802         FND_USER
1803       WHERE USER_ID = P_USER_ID;
1804       IF (V_CUSTID <> -1) THEN
1805         V_RET_VAL := FND_DATA_SECURITY.CHECK_FUNCTION(P_API_VERSION => 1.0
1806                                                      ,P_FUNCTION => 'QA_RESULTS_VIEW'
1807                                                      ,P_OBJECT_NAME => 'QA_PLANS'
1808                                                      ,P_INSTANCE_PK1_VALUE => TO_CHAR(V_PLAN_ID)
1809                                                      ,P_INSTANCE_PK2_VALUE => NULL
1810                                                      ,P_INSTANCE_PK3_VALUE => NULL
1811                                                      ,P_INSTANCE_PK4_VALUE => NULL
1812                                                      ,P_INSTANCE_PK5_VALUE => NULL);
1813       ELSE
1814         V_RET_VAL := 'F';
1815       END IF;
1816       IF (V_RET_VAL <> 'T') THEN
1817         V_WHERE := V_WHERE || ' AND 1 = 2';
1818       END IF;
1819     END IF;
1820     X_SELECT := V_SELECT;
1821     X_WHERE := V_WHERE;
1822     X_PROMPTS := V_PROMPTS;
1823     X_LENGTH := V_LENGTH;
1824     X_SUM := V_SUM;
1825     X_TITLE := V_TITLE;
1826     X_DESCRIPTION := V_DESCRIPTION;
1827   END MAKE_SQL;
1828 
1829   PROCEDURE LAUNCH_PRODUCT(X_PLAN_ID IN NUMBER) IS
1830     ROW_COUNT NUMBER;
1831     V_NAME VARCHAR2(1000);
1832     Y_NAME VARCHAR2(100);
1833     V_SELECT VARCHAR2(5000) := NULL;
1834     V_FROM VARCHAR2(5000);
1835     V_WHERE VARCHAR2(5000);
1836     V_GROUP_BY VARCHAR2(5000);
1837     V_ORDER_BY VARCHAR2(5000);
1838     V_LENGTHS  VARCHAR2(5000) := NULL;
1839     V_LENGTHS_1 VARCHAR2(5000) := NULL;
1840     V_SUMS VARCHAR2(5000) := NULL;
1841     V_SUMS_1 VARCHAR2(5000) := NULL;
1842     V_PROMPTS VARCHAR2(5000) := NULL;
1843     V_PROMPTS_1 VARCHAR2(5000) := NULL;
1844     V_COUNTER NUMBER := 1;
1845     V_PROMPT VARCHAR2(100);
1846     V_LENGTH NUMBER;
1847     V_SUM NUMBER;
1848     V_FXN_PROMPT VARCHAR2(10);
1849     V_GROUP_FLAG BOOLEAN := FALSE;
1850     TOTAL_ROWS_IN_REPORT NUMBER := 30;
1851   BEGIN
1852     ROW_COUNT := QLTSTORB.ROWS_IN_REC_GROUP;
1853     QLTSTORB.MAKE_FROM_REC_GRP;
1854     QLTSTORB.MAKE_WHERE_REC_GRP;
1855     QLTSTORB.ADD_ROW_TO_FROM_REC_GROUP('QA_RESULTS QR');
1856     QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP('qr.plan_id = ''' || TO_CHAR(X_PLAN_ID) || '''');
1857     FOR i IN 1 .. ROW_COUNT LOOP
1858       IF QLTSTORB.GET_NUMBER('sel'
1859                          ,I) = 1 THEN
1860         Y_NAME := FKEY_RESOLVER(I);
1861         V_NAME := ADD_FXN_RPT(I
1862                              ,Y_NAME);
1863         V_SELECT := V_SELECT || ', ' || V_NAME || ' col_' || TO_CHAR(V_COUNTER);
1864         IF QLTSTORB.GET_NUMBER('datatype'
1865                            ,I) = 2 THEN
1866           IF QLTSTORB.GET_CHAR('hardcoded_column'
1867                            ,I) IS NULL THEN
1868             Y_NAME := 'to_number(' || Y_NAME || ')';
1869           END IF;
1870           Y_NAME := ADD_FXN(I
1871                            ,Y_NAME);
1872           IF QLTSTORB.GET_NUMBER('function'
1873                              ,I) = 3 THEN
1874             Y_NAME := 'ROUND(' || Y_NAME || ', ' || TO_CHAR(QLTSTORB.GET_NUMBER('precision'
1875                                                  ,I) + 5) || ')';
1876           END IF;
1877           V_SELECT := V_SELECT || ', ' || Y_NAME || ' num_' || TO_CHAR(V_COUNTER);
1878           V_SELECT := V_SELECT || ', '|| 'QA_QLTRSLTR_XMLP_PKG.C_AST_'||TO_CHAR(V_COUNTER)||'FORMULA(' ||Y_NAME||','||V_NAME||')'||' C_AST_'||TO_CHAR(V_COUNTER) ;
1879  ELSE
1880           V_SELECT := V_SELECT || ', 999 num_' || TO_CHAR(V_COUNTER);
1881 	  V_SELECT := V_SELECT || ', '|| 'QA_QLTRSLTR_XMLP_PKG.C_AST_'||TO_CHAR(V_COUNTER)||'FORMULA(' ||999 ||','||V_NAME||')'||' C_AST_'||TO_CHAR(V_COUNTER) ;
1882 
1883         END IF;
1884         V_COUNTER := V_COUNTER + 1;
1885         V_PROMPT := QLTSTORB.GET_CHAR('prompt'
1886                                      ,I);
1887         V_FXN_PROMPT := QLTSTORB.GET_CHAR('fxn_prompt'
1888                                          ,I);
1889         IF V_FXN_PROMPT IS NOT NULL THEN
1890           V_PROMPT := V_PROMPT || '(' || V_FXN_PROMPT || ')';
1891           V_GROUP_FLAG := TRUE;
1892         ELSE
1893           V_GROUP_BY := V_GROUP_BY || ', ' || V_NAME;
1894           IF QLTSTORB.GET_NUMBER('datatype'
1895                              ,I) = 2 THEN
1896             V_GROUP_BY := V_GROUP_BY || ', ' || Y_NAME;
1897           END IF;
1898         END IF;
1899         V_PROMPT := REPLACE(V_PROMPT
1900                            ,''''
1901                            ,'''''''''');
1902         V_PROMPT := '''' || V_PROMPT || '''';
1903         IF QLTSTORB.GET_NUMBER('datatype'
1904                            ,I) = 2 THEN
1905           V_PROMPT := 'lpad(' || V_PROMPT || ', ' || TO_CHAR(QLTSTORB.GET_NUMBER('disp_length'
1906                                                  ,I)) || ')';
1907         ELSE
1908           V_PROMPT := 'rpad(' || V_PROMPT || ', ' || TO_CHAR(QLTSTORB.GET_NUMBER('disp_length'
1909                                                  ,I)) || ')';
1910         END IF;
1911         V_PROMPTS := V_PROMPTS || ', ' || V_PROMPT;
1912         V_LENGTH := QLTSTORB.GET_NUMBER('disp_length'
1913                                        ,I);
1914         V_LENGTHS := V_LENGTHS || ', ' || TO_CHAR(V_LENGTH);
1915         V_SUM := QLTSTORB.GET_NUMBER('total',I);
1916 
1917         IF V_SUM = 2 OR V_SUM IS NULL THEN
1918           V_SUMS := V_SUMS || ', null';
1919         ELSE
1920           V_SUMS := V_SUMS || ', ' || TO_CHAR(V_SUM);
1921         END IF;
1922       ELSE
1923         CREATE_WHERE(I);
1924       END IF;
1925     END LOOP;
1926     V_FROM := QLTSTORB.CREATE_FROM_CLAUSE;
1927     V_WHERE := QLTSTORB.CREATE_WHERE_CLAUSE;
1928     FOR i IN V_COUNTER .. TOTAL_ROWS_IN_REPORT LOOP
1929       V_SELECT := V_SELECT || ', null col_' || TO_CHAR(I) || ', 999 num_' || TO_CHAR(I);
1930       V_PROMPTS := V_PROMPTS || ', null';
1931       V_LENGTHS := V_LENGTHS || ', null';
1932       V_SUMS := V_SUMS || ', null';
1933     END LOOP;
1934     --V_PROMPTS_1 := V_PROMPTS_1 || ' INTO :P_1';
1935     --V_LENGTHS_1 := V_LENGTHS_1 || ' INTO :P_Len_1';
1936     --V_SUMS_1 := V_SUMS_1 || ' INTO :P_Sum_1';
1937    /* FOR i IN 2 .. TOTAL_ROWS_IN_REPORT LOOP
1938       V_PROMPTS_1 := V_PROMPTS_1 || ', :P_' || TO_CHAR(I);
1939       V_LENGTHS_1 := V_LENGTHS_1 || ', :P_Len_' || TO_CHAR(I);
1940       V_SUMS_1 := V_SUMS_1 || ', :P_Sum_' || TO_CHAR(I);
1941     END LOOP;*/
1942     V_SELECT := 'SELECT ' || SUBSTR(V_SELECT,3);
1943     V_PROMPTS := 'SELECT ' || SUBSTR(V_PROMPTS,3) || ' FROM SYS.DUAL';
1944     V_LENGTHS := 'SELECT ' || SUBSTR(V_LENGTHS,3)|| ' FROM SYS.DUAL';
1945     V_SUMS := 'SELECT ' || SUBSTR(V_SUMS,3)|| ' FROM SYS.DUAL';
1946 
1947 	IF V_GROUP_FLAG = TRUE AND V_GROUP_BY IS NOT NULL THEN
1948 
1949       V_GROUP_BY := 'GROUP BY ' || SUBSTR(V_GROUP_BY
1950                           ,3);
1951     ELSE
1952       V_GROUP_BY := NULL;
1953     END IF;
1954     QLTSTORB.KILL_REC_GROUP;
1955     QA_QLTRSLTR_XMLP_PKG.V_SELECT := V_SELECT ||' '|| ' ' || V_FROM;
1956     QA_QLTRSLTR_XMLP_PKG.V_WHERE := V_WHERE || ' ' || V_ORDER_BY || ' ' || V_GROUP_BY;
1957     QA_QLTRSLTR_XMLP_PKG.V_PROMPTS := V_PROMPTS;
1958     QA_QLTRSLTR_XMLP_PKG.V_LENGTH := V_LENGTHS;
1959     QA_QLTRSLTR_XMLP_PKG.V_SUM := V_SUMS;
1960   END LAUNCH_PRODUCT;
1961 
1962   PROCEDURE CREATE_WHERE(X_ROW IN NUMBER) IS
1963     V_NAME VARCHAR2(100);
1964     V_WHERE VARCHAR2(2000);
1965     V_OPER VARCHAR2(15);
1966     V_LOW VARCHAR2(80);
1967     V_HIGH VARCHAR2(80);
1968     V_DATATYPE NUMBER;
1969     V_IN_ARG VARCHAR2(150);
1970     V_PARENT_BLOCK_NAME VARCHAR2(30);
1971     V_LIST_ID NUMBER;
1972     DONE BOOLEAN := FALSE;
1973     CURSOR C IS
1974       SELECT
1975         VALUE
1976       FROM
1977         QA_IN_LISTS
1978       WHERE PARENT_BLOCK_NAME = V_PARENT_BLOCK_NAME
1979         AND LIST_ID = V_LIST_ID;
1980   BEGIN
1981     V_DATATYPE := QLTSTORB.GET_NUMBER('datatype'
1982                                      ,X_ROW);
1983     V_NAME := FKEY_RESOLVER(X_ROW);
1984     V_NAME := RESOLVE_TYPE(X_ROW
1985                           ,V_NAME);
1986     V_OPER := QLTSTORB.GET_CHAR('op'
1987                                ,X_ROW);
1988     V_LOW := QLTSTORB.GET_CHAR('low'
1989                               ,X_ROW);
1990     V_HIGH := QLTSTORB.GET_CHAR('high'
1991                                ,X_ROW);
1992     IF ((V_OPER = 'IN') OR (V_OPER = 'NOT IN')) THEN
1993       V_PARENT_BLOCK_NAME := QLTSTORB.GET_CHAR('parent_block_name'
1994                                               ,X_ROW);
1995       V_LIST_ID := QLTSTORB.GET_NUMBER('list_id'
1996                                       ,X_ROW);
1997       OPEN C;
1998       WHILE (NOT DONE) LOOP
1999 
2000         FETCH C
2001          INTO V_IN_ARG;
2002         IF (C%FOUND) THEN
2003           V_IN_ARG := '''' || V_IN_ARG || '''';
2004           IF (V_DATATYPE = 3) THEN
2005             V_IN_ARG := 'to_date(' || V_IN_ARG || ', ''YYYY/MM/DD'')';
2006           ELSIF (V_DATATYPE = 6) THEN
2007             V_IN_ARG := 'to_date(' || V_IN_ARG || ', ''YYYY/MM/DD HH24:MI:SS'')';
2008           ELSIF V_DATATYPE = 2 THEN
2009             V_IN_ARG := 'qltdate.any_to_number(' || V_IN_ARG || ')';
2010           END IF;
2011           V_WHERE := V_WHERE || ', ' || V_IN_ARG;
2012         ELSE
2013           DONE := TRUE;
2014         END IF;
2015       END LOOP;
2016       CLOSE C;
2017       IF (V_IN_ARG IS NULL) THEN
2018         V_WHERE := '1 = 2';
2019       ELSE
2020         V_WHERE := V_NAME || ' ' || V_OPER || ' (' || SUBSTR(V_WHERE
2021                          ,3) || ')';
2022       END IF;
2023     ELSIF V_OPER = 'OUTSIDE' THEN
2024       V_LOW := '''' || V_LOW || '''';
2025       V_HIGH := '''' || V_HIGH || '''';
2026       IF V_DATATYPE = 3 THEN
2027         V_LOW := 'to_date(' || V_LOW || ', ''YYYY/MM/DD'')';
2028         V_HIGH := 'to_date(' || V_HIGH || ', ''YYYY/MM/DD'')';
2029       ELSIF V_DATATYPE = 6 THEN
2030         V_LOW := 'to_date(' || V_LOW || ', ''YYYY/MM/DD HH24:MI:SS'')';
2031         V_HIGH := 'to_date(' || V_HIGH || ', ''YYYY/MM/DD HH24:MI:SS'')';
2032       ELSIF V_DATATYPE = 2 THEN
2033         V_LOW := 'qltdate.any_to_number(' || V_LOW || ')';
2034         V_HIGH := 'qltdate.any_to_number(' || V_HIGH || ')';
2035       END IF;
2036       V_WHERE := '(' || V_NAME || ' < ' || V_LOW || ' OR ' || V_NAME || ' > ' || V_HIGH || ')';
2037     ELSE
2038       V_WHERE := V_NAME || ' ' || V_OPER;
2039       IF V_LOW IS NOT NULL THEN
2040         V_LOW := '''' || V_LOW || '''';
2041         IF V_DATATYPE = 3 THEN
2042           V_LOW := 'to_date(' || V_LOW || ', ''YYYY/MM/DD'')';
2043         ELSIF V_DATATYPE = 6 THEN
2044           V_LOW := 'to_date(' || V_LOW || ', ''YYYY/MM/DD HH24:MI:SS'')';
2045         ELSIF V_DATATYPE = 2 THEN
2046           V_LOW := 'qltdate.any_to_number(' || V_LOW || ')';
2047         END IF;
2048         V_WHERE := V_WHERE || ' ' || V_LOW;
2049         IF V_HIGH IS NOT NULL THEN
2050           V_HIGH := '''' || V_HIGH || '''';
2051           IF V_DATATYPE = 3 THEN
2052             V_HIGH := 'to_date(' || V_HIGH || ', ''YYYY/MM/DD'')';
2053           ELSIF V_DATATYPE = 6 THEN
2054             V_HIGH := 'to_date(' || V_HIGH || ', ''YYYY/MM/DD HH24:MI:SS'')';
2055           ELSIF V_DATATYPE = 2 THEN
2056             V_HIGH := 'qltdate.any_to_number(' || V_HIGH || ')';
2057           END IF;
2058           V_WHERE := V_WHERE || ' AND ' || V_HIGH;
2059         END IF;
2060       END IF;
2061     END IF;
2062     QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP(V_WHERE);
2063   END CREATE_WHERE;
2064 
2065   FUNCTION FKEY_RESOLVER(X_ROW IN NUMBER) RETURN VARCHAR2 IS
2066     X_NAME VARCHAR2(100);
2067     X_LOOKUP NUMBER;
2068     X_WHERE VARCHAR2(2000);
2069     V_FROM VARCHAR2(100);
2070     V_TABLE_SH_NAME VARCHAR2(5);
2071     V_CATEGORY_SET_ID NUMBER;
2072   BEGIN
2073     X_LOOKUP := QLTSTORB.GET_NUMBER('fk_lookup_type'
2074                                    ,X_ROW);
2075     X_NAME := QLTSTORB.GET_CHAR('hardcoded_column'
2076                                ,X_ROW);
2077     IF X_NAME IS NULL THEN
2078       X_NAME := 'qr.' || QLTSTORB.GET_CHAR('result_column_name'
2079                                  ,X_ROW);
2080     ELSE
2081       X_NAME := 'qr.' || X_NAME;
2082     END IF;
2083     IF (X_LOOKUP = 1) OR (X_LOOKUP = 3) OR (X_LOOKUP = 0) THEN
2084       V_TABLE_SH_NAME := QLTSTORB.GET_CHAR('fk_table_short_name'
2085                                           ,X_ROW);
2086       V_FROM := QLTSTORB.GET_CHAR('fk_table_name'
2087                                  ,X_ROW);
2088       QLTSTORB.ADD_ROW_TO_FROM_REC_GROUP(V_FROM || ' ' || V_TABLE_SH_NAME);
2089       V_FROM := QLTSTORB.GET_CHAR('pk_id'
2090                                  ,X_ROW);
2091       X_WHERE := X_NAME || ' = ' || V_TABLE_SH_NAME || '.' || V_FROM || ' (+)';
2092       QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP(X_WHERE);
2093       V_FROM := QLTSTORB.GET_CHAR('pk_id2'
2094                                  ,X_ROW);
2095       IF V_FROM IS NOT NULL THEN
2096         V_FROM := V_TABLE_SH_NAME || '.' || V_FROM;
2097         X_WHERE := 'qr.' || QLTSTORB.GET_CHAR('fk_id2'
2098                                     ,X_ROW) || ' = ' || V_FROM || ' (+)';
2099         QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP(X_WHERE);
2100         V_FROM := QLTSTORB.GET_CHAR('pk_id3'
2101                                    ,X_ROW);
2102         IF V_FROM IS NOT NULL THEN
2103           V_FROM := V_TABLE_SH_NAME || '.' || V_FROM;
2104           X_WHERE := 'qr.' || QLTSTORB.GET_CHAR('fk_id3'
2105                                       ,X_ROW) || ' = ' || V_FROM || ' (+)';
2106           QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP(X_WHERE);
2107         END IF;
2108       END IF;
2109       X_WHERE := QLTSTORB.GET_CHAR('fk_add_where'
2110                                   ,X_ROW);
2111       IF X_WHERE IS NOT NULL THEN
2112         QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP(X_WHERE);
2113       END IF;
2114       X_NAME := QLTSTORB.GET_CHAR('fk_meaning'
2115                                  ,X_ROW);
2116       X_NAME := V_TABLE_SH_NAME || '.' || X_NAME;
2117       IF X_NAME = 'SH.ORDER_NUMBER' THEN
2118         X_NAME := 'NVL(MSO1.SEGMENT1,TO_CHAR(SH.ORDER_NUMBER))';
2119         QLTSTORB.ADD_ROW_TO_FROM_REC_GROUP('MTL_SALES_ORDERS MSO1');
2120         QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP('QR.SO_HEADER_ID=MSO1.SALES_ORDER_ID(+)');
2121       END IF;
2122     END IF;
2123     IF (X_LOOKUP = 3) THEN
2124       V_CATEGORY_SET_ID := FND_PROFILE.VALUE('QA_CATEGORY_SET');
2125       IF V_CATEGORY_SET_ID IS NULL THEN
2126         FND_MESSAGE.SET_NAME('QA'
2127                             ,'QA_PROFILE_NOT_SET');
2128         QLTSTORB.KILL_REC_GROUP;
2129         QLTSTORB.KILL_FROM_REC_GRP;
2130         QLTSTORB.KILL_WHERE_REC_GRP;
2131       END IF;
2132       X_WHERE := 'micsv.CATEGORY_SET_ID = ' || TO_CHAR(V_CATEGORY_SET_ID);
2133       QLTSTORB.ADD_ROW_TO_WHERE_REC_GROUP(X_WHERE);
2134     END IF;
2135     RETURN (X_NAME);
2136   END FKEY_RESOLVER;
2137 
2138   FUNCTION RESOLVE_TYPE(X_ROW IN NUMBER
2139                        ,X_NAME IN VARCHAR2) RETURN VARCHAR2 IS
2140     V_DATATYPE NUMBER;
2141     V_NAME VARCHAR2(100);
2142     V_HARDCODED VARCHAR2(100);
2143   BEGIN
2144     V_HARDCODED := QLTSTORB.GET_CHAR('hardcoded_column'
2145                                     ,X_ROW);
2146     V_DATATYPE := QLTSTORB.GET_NUMBER('datatype'
2147                                      ,X_ROW);
2148     IF V_HARDCODED IS NULL THEN
2149       IF V_DATATYPE = 2 THEN
2150         V_NAME := 'qltdate.any_to_number(' || X_NAME || ')';
2151       ELSIF V_DATATYPE = 3 THEN
2152         V_NAME := 'to_date(' || X_NAME || ', ''YYYY/MM/DD'')';
2153       ELSIF V_DATATYPE = 6 THEN
2154         V_NAME := 'to_date(' || X_NAME || ', ''YYYY/MM/DD HH24:MI:SS'')';
2155       ELSE
2156         V_NAME := X_NAME;
2157       END IF;
2158     ELSE
2159       IF V_DATATYPE = 3 THEN
2160         V_NAME := 'trunc(' || X_NAME || ')';
2161       ELSE
2162         V_NAME := X_NAME;
2163       END IF;
2164     END IF;
2165     RETURN (V_NAME);
2166   END RESOLVE_TYPE;
2167 
2168   FUNCTION ADD_FXN(X_ROW IN NUMBER
2169                   ,X_NAME IN VARCHAR2) RETURN VARCHAR2 IS
2170     V_FUNCTION NUMBER;
2171     V_NAME VARCHAR2(100);
2172   BEGIN
2173     V_FUNCTION := QLTSTORB.GET_NUMBER('function'
2174                                      ,X_ROW);
2175     IF V_FUNCTION = 1 THEN
2176       V_NAME := 'SUM(' || X_NAME || ')';
2177     ELSIF V_FUNCTION = 2 THEN
2178       V_NAME := 'COUNT(' || X_NAME || ')';
2179     ELSIF V_FUNCTION = 3 THEN
2180       V_NAME := 'AVG(' || X_NAME || ')';
2181     ELSIF V_FUNCTION = 5 THEN
2182       V_NAME := 'MAX(' || X_NAME || ')';
2183     ELSIF V_FUNCTION = 4 THEN
2184       V_NAME := 'MIN(' || X_NAME || ')';
2185     ELSE
2186       V_NAME := X_NAME;
2187     END IF;
2188     RETURN (V_NAME);
2189   END ADD_FXN;
2190 
2191   FUNCTION ADD_FXN_RPT(X_ROW IN NUMBER
2192                       ,X_NAME IN VARCHAR2) RETURN VARCHAR2 IS
2193     V_NAME VARCHAR2(1000);
2194     V_HARDCODED VARCHAR2(100);
2195     V_FUNCTION NUMBER;
2196     V_DATATYPE NUMBER;
2197     V_DISP_LEN NUMBER;
2198   BEGIN
2199     V_HARDCODED := QLTSTORB.GET_CHAR('hardcoded_column'
2200                                     ,X_ROW);
2201     V_FUNCTION := QLTSTORB.GET_NUMBER('function'
2202                                      ,X_ROW);
2203     V_DATATYPE := QLTSTORB.GET_NUMBER('datatype'
2204                                      ,X_ROW);
2205     V_DISP_LEN := QLTSTORB.GET_NUMBER('disp_length'
2206                                      ,X_ROW);
2207     IF V_FUNCTION IS NULL THEN
2208       IF V_DATATYPE = 2 THEN
2209         V_NAME := 'qltdate.number_canon_to_user(' || X_NAME || ')';
2210       ELSIF V_DATATYPE = 3 THEN
2211         V_NAME := 'qltdate.any_to_user(' || X_NAME || ')';
2212       ELSIF V_DATATYPE = 6 THEN
2213         IF V_HARDCODED IS NOT NULL THEN
2214           V_NAME := 'qltdate.canon_to_user(qltdate.date_to_canon_dt(' || X_NAME || '))';
2215         ELSE
2216           V_NAME := 'qltdate.canon_to_user(' || X_NAME || ')';
2217         END IF;
2218       ELSE
2219         V_NAME := X_NAME;
2220       END IF;
2221     ELSE
2222       IF V_HARDCODED IS NULL THEN
2223         IF V_FUNCTION <> 2 THEN
2224           V_NAME := 'qltdate.any_to_number(' || X_NAME || ')';
2225         ELSE
2226           V_NAME := X_NAME;
2227         END IF;
2228       ELSE
2229         V_NAME := X_NAME;
2230       END IF;
2231       V_NAME := ADD_FXN(X_ROW
2232                        ,V_NAME);
2233       V_NAME := 'to_char(' || V_NAME || ')';
2234     END IF;
2235     V_NAME := 'NVL(' || V_NAME || ', '' '')';
2236     IF V_DATATYPE = 2 THEN
2237       V_NAME := 'lpad(' || V_NAME || ', ' || TO_CHAR(V_DISP_LEN) || ')';
2238     ELSE
2239       V_NAME := 'rpad(' || V_NAME || ', ' || TO_CHAR(V_DISP_LEN) || ')';
2240     END IF;
2241     RETURN (V_NAME);
2242   END ADD_FXN_RPT;
2243 
2244   FUNCTION DECODE_FXN(FXNNUM IN NUMBER) RETURN VARCHAR2 IS
2245     FXNNAME VARCHAR2(30);
2246   BEGIN
2247     IF (FXNNUM = 1) THEN
2248       FXNNAME := 'SUM';
2249     ELSIF (FXNNUM = 2) THEN
2250       FXNNAME := 'COUNT';
2251     ELSIF (FXNNUM = 3) THEN
2252       FXNNAME := 'AVG';
2253     ELSIF (FXNNUM = 4) THEN
2254       FXNNAME := 'MIN';
2255     ELSIF (FXNNUM = 5) THEN
2256       FXNNAME := 'MAX';
2257     ELSE
2258       FXNNAME := NULL;
2259     END IF;
2260     RETURN (FXNNAME);
2261   END DECODE_FXN;
2262 
2263   FUNCTION DECODE_OPERATOR(OPNUM IN NUMBER
2264                           ,X_DATATYPE IN NUMBER) RETURN VARCHAR2 IS
2265     OPNAME VARCHAR2(30);
2266   BEGIN
2267     IF (OPNUM = 1) THEN
2268       IF ((X_DATATYPE = 1) OR (X_DATATYPE = 3) OR (X_DATATYPE = 6)) THEN
2269         OPNAME := 'LIKE';
2270       ELSE
2271         OPNAME := '=';
2272       END IF;
2273     ELSIF (OPNUM = 2) THEN
2274       IF ((X_DATATYPE = 1) OR (X_DATATYPE = 3) OR (X_DATATYPE = 6)) THEN
2275         OPNAME := 'NOT LIKE';
2276       ELSE
2277         OPNAME := '<>';
2278       END IF;
2279     ELSIF (OPNUM = 3) THEN
2280       OPNAME := '>=';
2281     ELSIF (OPNUM = 4) THEN
2282       OPNAME := '<=';
2283     ELSIF (OPNUM = 5) THEN
2284       OPNAME := '>';
2285     ELSIF (OPNUM = 6) THEN
2286       OPNAME := '<';
2287     ELSIF (OPNUM = 7) THEN
2288       OPNAME := 'IS NOT NULL';
2289     ELSIF (OPNUM = 8) THEN
2290       OPNAME := 'IS NULL';
2291     ELSIF (OPNUM = 9) THEN
2292       OPNAME := 'BETWEEN';
2293     ELSIF (OPNUM = 10) THEN
2294       OPNAME := 'OUTSIDE';
2295     ELSIF (OPNUM = 11) THEN
2296       OPNAME := 'IN';
2297     END IF;
2298     RETURN (OPNAME);
2299   END DECODE_OPERATOR;
2300 
2301   PROCEDURE LOOP_THROUGH_RECORDS IS
2302     CURSOR PCURSOR IS
2303       SELECT
2304         QCV.CHAR_ID,
2305         QCV.HARDCODED_COLUMN,
2306         QCV.RESULT_COLUMN_NAME,
2307         QCV.DATATYPE,
2308         QCV.OPERATOR,
2309         QCV.LOW_VALUE,
2310         QCV.HIGH_VALUE,
2311         QCV.SQL_TYPE,
2312         QCV.DISPLAY_LENGTH,
2313         QCV.PROMPT,
2314         QCV.ORDER_SEQUENCE,
2315         QCV.TOTAL,
2316         QCV.FXN,
2317         QCV.FXN_MEANING,
2318         QCV.DECIMAL_PRECISION,
2319         QCV.FK_LOOKUP_TYPE,
2320         QCV.FK_TABLE_NAME,
2321         QCV.FK_TABLE_SHORT_NAME,
2322         QCV.PK_ID,
2323         QCV.FK_ID,
2324         QCV.PK_ID2,
2325         QCV.FK_ID2,
2326         QCV.PK_ID3,
2327         QCV.FK_ID3,
2328         QCV.FK_MEANING,
2329         QCV.FK_DESCRIPTION,
2330         QCV.FK_ADD_WHERE,
2331         QIL.PARENT_BLOCK_NAME,
2332         QIL.LIST_ID
2333       FROM
2334         QA_CRITERIA_V QCV,
2335         QA_IN_LISTS QIL
2336       WHERE QCV.CRITERIA_ID = V_CRITERIA_ID
2337         AND qil.list_elem_id (+) = CRITERIA_SEQUENCE
2338       ORDER BY
2339         11;
2340     V_OPERATOR VARCHAR2(100);
2341   BEGIN
2342     FOR prec IN PCURSOR LOOP
2343       V_OPERATOR := DECODE_OPERATOR(PREC.OPERATOR
2344                                    ,PREC.DATATYPE);
2345       QLTSTORB.ADD_ROW_TO_REC_GROUP(PREC.CHAR_ID
2346                                    ,PREC.HARDCODED_COLUMN
2347                                    ,PREC.RESULT_COLUMN_NAME
2348                                    ,PREC.DATATYPE
2349                                    ,V_OPERATOR
2350                                    ,PREC.LOW_VALUE
2351                                    ,PREC.HIGH_VALUE
2352                                    ,PREC.SQL_TYPE
2353                                    ,PREC.DISPLAY_LENGTH
2354                                    ,PREC.PROMPT
2355                                    ,PREC.ORDER_SEQUENCE
2356                                    ,PREC.TOTAL
2357                                    ,PREC.FXN
2358                                    ,PREC.FXN_MEANING
2359                                    ,PREC.DECIMAL_PRECISION
2360                                    ,PREC.FK_LOOKUP_TYPE
2361                                    ,PREC.FK_TABLE_NAME
2362                                    ,PREC.FK_TABLE_SHORT_NAME
2363                                    ,PREC.PK_ID
2364                                    ,PREC.PK_ID2
2365                                    ,PREC.PK_ID3
2366                                    ,PREC.FK_ID
2367                                    ,PREC.FK_ID2
2368                                    ,PREC.FK_ID3
2369                                    ,PREC.FK_MEANING
2370                                    ,PREC.FK_DESCRIPTION
2371                                    ,PREC.FK_ADD_WHERE
2372                                    ,NULL
2373                                    ,PREC.PARENT_BLOCK_NAME
2374                                    ,PREC.LIST_ID);
2375     END LOOP;
2376   END LOOP_THROUGH_RECORDS;
2377 
2378 END QA_QLTRSLTR_XMLP_PKG;
2379 
2380