DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_GR_VAL_ACUS

Source


1 PACKAGE BODY IGS_GR_VAL_ACUS AS
2 /* $Header: IGSGR03B.pls 115.4 2002/11/29 00:39:50 nsidana ship $ */
3   --
4   -- Validate if the award ceremony unit set group is closed
5   FUNCTION grdp_val_acusg_close(
6   p_grd_cal_type  IGS_GR_AWD_CRM_US_GP.grd_cal_type%TYPE ,
7   p_grd_ci_sequence_number  IGS_GR_AWD_CRM_US_GP.grd_ci_sequence_number%TYPE ,
8   p_ceremony_number  IGS_GR_AWD_CRM_US_GP.ceremony_number%TYPE ,
9   p_award_course_cd  IGS_GR_AWD_CRM_US_GP.award_course_cd%TYPE ,
10   p_award_crs_version_number  IGS_GR_AWD_CRM_US_GP.award_crs_version_number%TYPE ,
11   p_award_cd  IGS_GR_AWD_CRM_US_GP.award_cd%TYPE ,
12   p_us_group_number  IGS_GR_AWD_CRM_US_GP.us_group_number%TYPE ,
13   p_message_name OUT NOCOPY VARCHAR2 )
14   RETURN BOOLEAN AS
15   BEGIN	-- grdp_val_acusg_close
16   	-- Description: Validate if the award ceremony unit set group is closed
17   DECLARE
18   	v_acusg_rec		IGS_GR_AWD_CRM_US_GP.closed_ind%TYPE;
19   	CURSOR	c_acusg IS
20   		SELECT	acusg.closed_ind
21   		FROM	IGS_GR_AWD_CRM_US_GP 	acusg
22   		WHERE	acusg.grd_cal_type		= p_grd_cal_type and
23   			acusg.grd_ci_sequence_number 	= p_grd_ci_sequence_number and
24   			acusg.ceremony_number 		= p_ceremony_number and
25   			acusg.award_course_cd 		= p_award_course_cd and
26   			acusg.award_crs_version_number 	=p_award_crs_version_number and
27   			acusg.award_cd			= p_award_cd and
28   			acusg.us_group_number 		= p_us_group_number and
29   			acusg.closed_ind 		='Y';
30   BEGIN
31   	p_message_name := NULL;
32   	IF p_grd_cal_type IS NULL OR
33     			p_grd_ci_sequence_number IS NULL OR
34     			p_ceremony_number IS NULL OR
35      			p_award_course_cd IS NULL OR
36   	 		p_award_crs_version_number IS NULL OR
37      			p_award_cd IS NULL OR
38      			p_us_group_number iS NULL THEN
39   		RETURN TRUE;
40   	END IF;
41   	OPEN c_acusg;
42   	FETCH c_acusg INTO v_acusg_rec;
43   	IF (c_acusg%FOUND) THEN
44   		CLOSE c_acusg;
45   		p_message_name := 'IGS_GR_AWD_CERM_GRP_CLOSED';
46   		RETURN FALSE;
47   	END IF;
48   	CLOSE c_acusg;
49   	RETURN TRUE;
50   EXCEPTION
51   	WHEN OTHERS THEN
52   		IF (c_acusg%ISOPEN) THEN
53   			CLOSE c_acusg;
54   		END IF;
55   	RAISE;
56   END;
57   EXCEPTION
58   	WHEN OTHERS THEN
59        		Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
60        		IGS_GE_MSG_STACK.ADD;
61        		App_Exception.Raise_Exception;
62   END grdp_val_acusg_close;
63   --
64   -- Validate the award ceremony unit set has related unit set attempts
65   FUNCTION grdp_val_acus_susa(
66   p_unit_set_cd IN VARCHAR2 ,
67   p_us_version_number IN NUMBER ,
68   p_message_name OUT NOCOPY VARCHAR2 )
69   RETURN BOOLEAN AS
70   BEGIN	-- grdp_val_acus_susa
71   	-- Description: Warn the user if no primary student_unit_set_attempt records
72   	-- exist for the specified unit_set_cd and us_version_number.  WARNING ONLY
73   DECLARE
74   	v_dummy		VARCHAR2(1);
75   	CURSOR	c_susa IS
76   		SELECT	'X'
77   		FROM	IGS_AS_SU_SETATMPT	susa
78   		WHERE	susa.unit_set_cd		= p_unit_set_cd AND
79   			susa.us_version_number		= p_us_version_number AND
80   			susa.primary_set_ind		= 'Y';
81   BEGIN
82   	p_message_name := NULL;
83   	IF p_unit_set_cd IS NULL OR
84   			p_us_version_number IS NULL THEN
85   		RETURN TRUE;
86   	END IF;
87   	OPEN c_susa;
88   	FETCH c_susa INTO v_dummy;
89   	IF (c_susa%NOTFOUND) THEN
90   		CLOSE c_susa;
91   		p_message_name := 'IGS_GR_NO_STUD_UNIT_EXISTS';
92   		RETURN TRUE;
93   	END IF;
94   	CLOSE c_susa;
95   	RETURN TRUE;
96   END;
97   EXCEPTION
98   	WHEN OTHERS THEN
99        		Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
100        		IGS_GE_MSG_STACK.ADD;
101        		App_Exception.Raise_Exception;
102   END grdp_val_acus_susa;
103   --
104   -- Validate if the award ceremony is closed.
105   FUNCTION grdp_val_awc_closed(
106   p_grd_cal_type  IGS_GR_AWD_CEREMONY_ALL.grd_cal_type%TYPE ,
107   p_grd_ci_sequence_number  IGS_GR_AWD_CEREMONY_ALL.grd_ci_sequence_number%TYPE ,
108   p_ceremony_number  IGS_GR_AWD_CEREMONY_ALL.ceremony_number%TYPE ,
109   p_award_course_cd  IGS_GR_AWD_CEREMONY_ALL.award_course_cd%TYPE ,
110   p_award_crs_version_number  IGS_GR_AWD_CEREMONY_ALL.award_crs_version_number%TYPE ,
111   p_award_cd  IGS_GR_AWD_CEREMONY_ALL.award_cd%TYPE ,
112   p_message_name OUT NOCOPY VARCHAR2 )
113   RETURN BOOLEAN AS
114   BEGIN	-- grdp_val_awc_closed
115   	-- Description: Validate if the award ceremony is closed
116   DECLARE
117   	v_awc_rec		IGS_GR_AWD_CEREMONY.closed_ind%TYPE;
118   	CURSOR	c_awc IS
119   		SELECT	'X'
120   		FROM	IGS_GR_AWD_CEREMONY			awc
121   		WHERE	awc.grd_cal_type		= p_grd_cal_type 	AND
122   			awc.grd_ci_sequence_number 	= p_grd_ci_sequence_number AND
123   			awc.ceremony_number 		= p_ceremony_number AND
124   			NVL(awc.award_course_cd, 'NULL')= NVL(p_award_course_cd, 'NULL') AND
125   			NVL(awc.award_crs_version_number, 0) =
126   					NVL(p_award_crs_version_number, 0) AND
127   			awc.award_cd			= p_award_cd AND
128   			awc.closed_ind			= 'Y';
129   BEGIN
130   	p_message_name := NULL;
131   	IF p_grd_cal_type IS NULL OR
132      			p_grd_ci_sequence_number IS NULL OR
133      			p_ceremony_number IS NULL OR
134      			p_award_cd IS NULL THEN
135   		RETURN TRUE;
136   	END IF;
137   	OPEN c_awc;
138   	FETCH c_awc INTO v_awc_rec;
139   	IF (c_awc%FOUND) THEN
140   		CLOSE c_awc;
141   		p_message_name := 'IGS_GR_AWD_CERM_CLOSED';
142   		RETURN FALSE;
143   	END IF;
144   	CLOSE c_awc;
145   	RETURN TRUE;
146   EXCEPTION
147   	WHEN OTHERS THEN
148   		IF (c_awc%ISOPEN) THEN
149   			CLOSE c_awc;
150   		END IF;
151   		RAISE;
152   END;
153   EXCEPTION
154   	WHEN OTHERS THEN
155        		Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
156        		IGS_GE_MSG_STACK.ADD;
157        		App_Exception.Raise_Exception;
158   END grdp_val_awc_closed;
159   --
160   -- Validate the unit set has related course offering unit set records
161   FUNCTION grdp_val_crv_us(
162   p_award_course_cd IN VARCHAR2 ,
163   p_award_crs_version_number IN NUMBER ,
164   p_unit_set_cd IN VARCHAR2 ,
165   p_us_version_number IN NUMBER ,
166   p_message_name OUT NOCOPY VARCHAR2 )
167   RETURN BOOLEAN AS
168   BEGIN	-- grdp_val_crv_us
169   	-- Check if that the award_ceremony_unit_set.unit_set_cd and
170   	--us_version_number is related to the award_ceremony.award_course_cd and
171   	--award_crs_version_number.
172   DECLARE
173   	v_exists		VARCHAR2(1);
174   	CURSOR c_us IS
175   		SELECT	'x'
176   		FROM	IGS_EN_UNIT_SET			us
177   		WHERE	us.unit_set_cd		= p_unit_set_cd AND
178   			us.version_number		= p_us_version_number AND
179   			us.administrative_ind	= 'N';
180   	CURSOR c_cous IS
181   		SELECT	'x'
182   		FROM	IGS_PS_OFR_UNIT_SET	cous
183   		WHERE	cous.course_cd		= p_award_course_cd		AND
184   			cous.crv_version_number	= p_award_crs_version_number	AND
185   			cous.unit_set_cd	= p_unit_set_cd			AND
186   			cous.us_version_number	= p_us_version_number;
187   BEGIN
188   	-- Set the default message number
189   	p_message_name := NULL;
190   	--1. Check parameters :
191   	If p_award_course_cd IS NULL OR
192   			p_award_crs_version_number	IS NULL OR
193   			p_unit_set_cd			IS NULL OR
194   			p_us_version_number		IS NULL THEN
195   		RETURN TRUE;
196   	END IF;
197   	--2. Check that the unit_set is not an adminidtraive unit set.
198   	OPEN c_us;
199   	FETCH c_us INTO v_exists;
200   	IF c_us%NOTFOUND THEN
201   		CLOSE c_us;
202   		p_message_name := 'IGS_GR_ADM_UNIT_SET_NOT_ALLOW';
203   		RETURN FALSE;
204   	END IF;
205   	CLOSE c_us;
206   	--3. Check that a course_offering_unit_set record exists for the supplied
207   	--award_course_cd, award_crs_version_number, unit_set_cd and
208   	--us_version_number.
209   	OPEN c_cous;
210   	FETCH c_cous INTO v_exists;
211   	IF c_cous%NOTFOUND THEN
212   		CLOSE c_cous;
213   		p_message_name := 'IGS_GR_UNIT_SET_NOT_OFFERED';
214   		RETURN FALSE;
215   	END IF;
216   	CLOSE c_cous;
217   	-- Return the default value
218   	RETURN TRUE;
219   EXCEPTION
220   	WHEN OTHERS THEN
221   		IF c_us%ISOPEN THEN
222   			CLOSE c_us;
223   		END IF;
224   		IF c_cous%ISOPEN THEN
225   			CLOSE c_cous;
226   		END IF;
227   		RAISE;
228   END;
229   EXCEPTION
230   	WHEN OTHERS THEN
231        		Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
232        		IGS_GE_MSG_STACK.ADD;
233        		App_Exception.Raise_Exception;
234   END grdp_val_crv_us;
235 END IGS_GR_VAL_ACUS;