DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_TEST_INTERVAL_PLANS_GRP

Source


1 PACKAGE BODY GMD_TEST_INTERVAL_PLANS_GRP AS
2 /* $Header: GMDGTIPB.pls 115.1 2003/04/20 23:38:54 mchandak noship $ */
3 
4 FUNCTION Test_Interval_Plan_Exist(p_test_interval_plan_name IN VARCHAR2 )
5 RETURN BOOLEAN IS
6     CURSOR Cur_get_test_interval_plan IS
7       SELECT '1'
8       FROM  gmd_test_interval_plans_b
9       WHERE name = p_test_interval_plan_name;
10       l_temp	VARCHAR2(1);
11   BEGIN
12     IF (p_test_interval_plan_name IS NOT NULL) THEN
13       OPEN Cur_get_test_interval_plan;
14       FETCH Cur_get_test_interval_plan INTO l_temp;
15       IF (Cur_get_test_interval_plan%FOUND) THEN
16         CLOSE Cur_get_test_interval_plan;
17         RETURN TRUE;
18       ELSE
19         CLOSE Cur_get_test_interval_plan;
20         RETURN FALSE;
21       END IF;
22     ELSE
23     	RETURN FALSE;
24     END IF;
25   END test_interval_plan_exist;
26 
27 FUNCTION Test_Interval_Period_Exist
28 (
29   p_period IN VARCHAR2,
30   p_test_interval_plan_id  IN NUMBER ) RETURN BOOLEAN IS
31 
32   CURSOR Cur_test_interval_plan_period IS
33       SELECT '1'
34       FROM  gmd_test_interval_plan_periods
35       WHERE name = p_period
36       AND   test_interval_plan_id = p_test_interval_plan_id ;
37 
38       l_temp	VARCHAR2(1);
39 BEGIN
40     IF (p_period IS NOT NULL AND p_test_interval_plan_id IS NOT NULL) THEN
41       OPEN Cur_test_interval_plan_period;
42       FETCH Cur_test_interval_plan_period INTO l_temp;
43       IF (Cur_test_interval_plan_period%FOUND) THEN
44         CLOSE Cur_test_interval_plan_period;
45         RETURN TRUE;
46       ELSE
47         CLOSE Cur_test_interval_plan_period;
48         RETURN FALSE;
49       END IF;
50     ELSE
51     	RETURN FALSE;
52     END IF;
53 
54 
55 END Test_Interval_Period_Exist ;
56 
57 FUNCTION GET_TL_TEST_INT_PLAN_DURATION(p_test_interval_plan_id 	IN NUMBER,
58 				       p_year_desc		IN VARCHAR2	DEFAULT NULL,
59 				       p_month_desc		IN VARCHAR2	DEFAULT NULL,
60 				       p_week_desc		IN VARCHAR2	DEFAULT NULL,
61 				       p_day_desc		IN VARCHAR2	DEFAULT NULL,
62 				       p_hour_desc		IN VARCHAR2	DEFAULT NULL )
63 RETURN VARCHAR2  IS
64 
65 CURSOR cr_get_max_simulated_date IS
66 SELECT  YEARS_FROM_START ,   MONTHS_FROM_START      ,WEEKS_FROM_START,
67 	DAYS_FROM_START  ,   HOURS_FROM_START
68 FROM    GMD_TEST_INTERVAL_PLAN_PERIODS A
69 WHERE   TEST_INTERVAL_PLAN_ID = p_test_interval_plan_id
70 ORDER BY SIMULATED_DATE DESC ;
71 
72 CURSOR cr_get_period_unit_desc(l_lookup_code VARCHAR2) IS
73 SELECT meaning FROM GEM_LOOKUPS
74 WHERE  lookup_type = 'GMD_QC_FREQUENCY_PERIOD'
75 and    lookup_code = l_lookup_code ;
76 
77 l_years_from_start 	GMD_TEST_INTERVAL_PLAN_PERIODS.years_from_start%TYPE;
78 l_months_from_start	GMD_TEST_INTERVAL_PLAN_PERIODS.months_from_start%TYPE;
79 l_weeks_from_start	GMD_TEST_INTERVAL_PLAN_PERIODS.weeks_from_start%TYPE;
80 l_days_from_start	GMD_TEST_INTERVAL_PLAN_PERIODS.days_from_start%TYPE;
81 l_hours_from_start	GMD_TEST_INTERVAL_PLAN_PERIODS.hours_from_start%TYPE;
82 l_lookup_code		VARCHAR2(5);
83 
84 l_year_desc		VARCHAR2(25);
85 l_month_desc		VARCHAR2(25);
86 l_week_desc		VARCHAR2(25);
90 
87 l_day_desc		VARCHAR2(25);
88 l_hour_desc		VARCHAR2(25);
89 l_string        	VARCHAR2(255);
91 BEGIN
92       IF p_test_interval_plan_id IS NULL THEN
93       	 RETURN NULL;
94       END IF;
95 
96       l_year_desc	:= p_year_desc	;
97       l_month_desc	:= p_month_desc	;
98       l_week_desc	:= p_week_desc	;
99       l_day_desc	:= p_day_desc	;
100       l_hour_desc	:= p_hour_desc	;
101 
102 
103       OPEN  cr_get_max_simulated_date ;
104       FETCH cr_get_max_simulated_date INTO l_years_from_start , l_months_from_start      ,l_weeks_from_start,
105 	l_days_from_start  ,   l_hours_from_start   ;
106 
107       IF cr_get_max_simulated_date%NOTFOUND THEN
108       	 CLOSE cr_get_max_simulated_date;
109       	 RETURN NULL;
110       END IF;
111 
112       CLOSE cr_get_max_simulated_date ;
113 
114       IF l_years_from_start IS NOT NULL AND l_year_desc IS NULL THEN
115 	   OPEN   cr_get_period_unit_desc('TY');
116 	   FETCH  cr_get_period_unit_desc  INTO l_year_desc ;
117 	   CLOSE  cr_get_period_unit_desc ;
118       END IF;
119 
120       IF l_months_from_start IS NOT NULL AND l_month_desc IS NULL  THEN
121 	   OPEN   cr_get_period_unit_desc('TM');
122 	   FETCH  cr_get_period_unit_desc  INTO l_month_desc ;
123 	   CLOSE  cr_get_period_unit_desc ;
124       END IF;
125 
126       IF l_weeks_from_start IS NOT NULL AND l_week_desc IS NULL  THEN
127 	   OPEN   cr_get_period_unit_desc('TW');
128 	   FETCH  cr_get_period_unit_desc  INTO l_week_desc ;
129 	   CLOSE  cr_get_period_unit_desc ;
130       END IF;
131 
132       IF l_days_from_start IS NOT NULL AND l_day_desc IS NULL  THEN
133 	   OPEN   cr_get_period_unit_desc('TD');
134 	   FETCH  cr_get_period_unit_desc  INTO l_day_desc ;
135 	   CLOSE  cr_get_period_unit_desc ;
136       END IF;
137 
138       IF l_hours_from_start IS NOT NULL AND l_hour_desc IS NULL  THEN
139 	   OPEN   cr_get_period_unit_desc('TH');
140 	   FETCH  cr_get_period_unit_desc  INTO l_hour_desc ;
141 	   CLOSE  cr_get_period_unit_desc ;
142       END IF;
143 
144       SELECT DECODE(l_years_from_start,NULL,NULL,l_years_from_start||' '||l_year_desc||' ')||
145       		DECODE(l_months_from_start,NULL,NULL,l_months_from_start||' '||l_month_desc||' ')||
146       		DECODE(l_weeks_from_start,NULL,NULL,l_weeks_from_start||' '||l_week_desc||' ')||
147       		DECODE(l_days_from_start,NULL,NULL,l_days_from_start||' '||l_day_desc||' ')||
148       		DECODE(l_hours_from_start,NULL,NULL,l_hours_from_start||' '||l_hour_desc)
149       INTO l_string FROM DUAL ;
150 
151       RETURN (l_string);
152 
153 
154 END GET_TL_TEST_INT_PLAN_DURATION ;
155 
156 END GMD_TEST_INTERVAL_PLANS_GRP;