DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_ECM

Source


1 PACKAGE BODY IGS_AD_VAL_ECM AS
2 /* $Header: IGSAD55B.pls 115.4 2002/11/28 21:36:15 nsidana ship $ */
3   -- Validate that default enr cat is not closed.
4   FUNCTION admp_val_ecm_dflt_2(
5   p_enrolment_cat IN VARCHAR2 ,
6   p_dflt_cat_ind IN VARCHAR2 DEFAULT 'N',
7   p_message_name	OUT NOCOPY VARCHAR2)
8   RETURN BOOLEAN IS
9   BEGIN   -- admp_val_ecm_dflt_2
10   	-- Validate if the enrolment category mapping default is not also
11   	-- closed
12   DECLARE
13   	v_message_name			VARCHAR2(30);
14   BEGIN
15   	p_message_name := null;
16   	IF (p_dflt_cat_ind = 'N') THEN
17   		RETURN TRUE;
18   	END IF;
19   	IF (IGS_AD_VAL_ECM.enrp_val_ec_closed(
20   			p_enrolment_cat,
21   			v_message_name) = FALSE) THEN
22 		p_message_name := 'IGS_AD_DFLTMAP_CANNOT_CLS_ENR';
23   		RETURN FALSE;
24   	END IF;
25   	RETURN TRUE;
26   END;
27   EXCEPTION
28   	WHEN OTHERS THEN
29 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
30 		FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_ECM.admp_val_ecm_dflt_2');
31 		IGS_GE_MSG_STACK.ADD;
32   END admp_val_ecm_dflt_2;
33   --
34   -- Validate that one enr cat is marked as the default for the adm cat.
35   FUNCTION admp_val_ecm_dflt_1(
36   p_admission_cat IN VARCHAR2 ,
37   p_message_name	OUT NOCOPY VARCHAR2,
38   p_return_type OUT NOCOPY VARCHAR2 )
39   RETURN BOOLEAN IS
40   BEGIN   -- ADMP_VAL_ECM_DFLT_1
41   	-- Validate that one enrolment category is marked as the default for the
42   	-- admission category
43   DECLARE
44   	cst_no			CONSTANT CHAR := 'N';
45   	cst_yes			CONSTANT CHAR := 'Y';
46   	cst_error		CONSTANT CHAR := 'E';
47   	cst_warn		CONSTANT CHAR := 'W';
48   	v_record_found		BOOLEAN DEFAULT FALSE;
49   	v_yes_found		BOOLEAN DEFAULT FALSE;
50   	CURSOR c_ecm(
51   		 cp_admission_cat	IGS_EN_CAT_MAPPING.admission_cat%TYPE)IS
52   		SELECT	ecm.dflt_cat_ind
53   		FROM	IGS_EN_CAT_MAPPING ecm
54   		WHERE	ecm.admission_cat = cp_admission_cat;
55   BEGIN
56   	--- Set the default message number
57   	p_message_name := null;
58   	FOR v_dflt_cat_ind IN c_ecm(
59   				p_admission_cat) LOOP
60   		v_record_found := TRUE;
61   		IF (v_dflt_cat_ind.dflt_cat_ind = cst_yes) THEN
62   			v_yes_found := TRUE;
63   			EXIT;
64   		END IF;
65   	END LOOP;
66   	IF v_record_found = FALSE THEN
67 		p_message_name := 'IGS_AD_NO_ENRCAT_MAPED_ADMCAT';
68   		p_return_type := cst_warn;
69   		RETURN FALSE;
70   	END IF;
71   	IF (v_yes_found = FALSE) THEN
72 		p_message_name := 'IGS_AD_ONLY_ONE_ENRCAT_MARKED';
73   		p_return_type := cst_error;
74   		RETURN FALSE;
75   	END IF;
76   	p_return_type := NULL;
77   	RETURN TRUE;
78   END;
79   EXCEPTION
80   	WHEN OTHERS THEN
81 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
82 		FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_ECM.admp_val_ecm_dflt_1');
83 		IGS_GE_MSG_STACK.ADD;
84   END admp_val_ecm_dflt_1;
85   --
86   -- Validate if the enr cat can be marked as the default for the adm cat.
87   FUNCTION admp_val_ecm_dflt(
88   p_admission_cat IN VARCHAR2 ,
89   p_enrolment_cat IN VARCHAR2 ,
90   p_message_name OUT NOCOPY VARCHAR2)
91   RETURN BOOLEAN IS
92   BEGIN   -- ADMP_VAL_ECM_DFLT
93   	-- Validate if the enrolment category can be marked as the default for the
94   	-- admission category
95   	-- (only one enrolment category can be marked as the default)
96   DECLARE
97   	v_dflt_cat_ind		IGS_EN_CAT_MAPPING.dflt_cat_ind%TYPE;
98   	cst_yes			CONSTANT CHAR := 'Y';
99   	CURSOR c_ecm(cp_admission_cat		IGS_EN_CAT_MAPPING.admission_cat%TYPE,
100   		     cp_enrolment_cat		IGS_EN_CAT_MAPPING.enrolment_cat%TYPE)IS
101   		SELECT	ecm.dflt_cat_ind
102   		FROM	IGS_EN_CAT_MAPPING ecm
103   		WHERE	ecm.admission_cat = cp_admission_cat AND
104   			ecm.enrolment_cat <> cp_enrolment_cat AND
105   			ecm.dflt_cat_ind = cst_yes;
106   BEGIN
107   	--- Set the default message number
108   	p_message_name := null;
109   	OPEN c_ecm(p_admission_cat,
110   		   p_enrolment_cat);
111   	FETCH c_ecm INTO v_dflt_cat_ind;
112   	IF (c_ecm%FOUND) THEN
113 		p_message_name := 'IGS_AD_ONLY_ONE_ENRCAT_MARKED';
114   		CLOSE c_ecm;
115   		RETURN FALSE;
116   	END IF;
117   	CLOSE c_ecm;
118   	RETURN TRUE;
119   END;
120   EXCEPTION
121   	WHEN OTHERS THEN
122 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
123 		FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_ECM.admp_val_ecm_dflt');
124 		IGS_GE_MSG_STACK.ADD;
125   END admp_val_ecm_dflt;
126   --
127   -- Validate the enrolment category closed indicator
128   FUNCTION enrp_val_ec_closed(
129   p_enrolment_cat IN VARCHAR2 ,
130   p_message_name	OUT NOCOPY VARCHAR2)
131   RETURN BOOLEAN IS
132   BEGIN
133   DECLARE
134   	v_closed_ind		IGS_EN_ENROLMENT_CAT.closed_ind%TYPE;
135   	CURSOR c_closed_ind IS
136   		SELECT 	closed_ind
137   		FROM		IGS_EN_ENROLMENT_CAT
138   		WHERE	enrolment_cat = p_enrolment_cat;
139   BEGIN
140   	-- This module validates whether the
141   	-- enrolment_cat is closed
142   	OPEN c_closed_ind;
143   	FETCH c_closed_ind INTO v_closed_ind;
144   	-- closed_ind is closed
145   	IF (v_closed_ind = 'Y') THEN
146   		CLOSE c_closed_ind;
147 		p_message_name := 'IGS_EN_ENR_CAT_CLOSED';
148   		RETURN FALSE;
149   	ELSE
150   		-- closed_ind is not closed
151   		CLOSE c_closed_ind;
152   		p_message_name := null;
153   		RETURN TRUE;
154   	END IF;
155   	CLOSE c_closed_ind;
156   EXCEPTION
157   	WHEN OTHERS THEN
158 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
159 		FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_ECM.enrp_val_ec_closed');
160 		IGS_GE_MSG_STACK.ADD;
161   END;
162   END enrp_val_ec_closed;
163   --
164   -- Validate if IGS_AD_CAT.admission_cat is closed.
165 
166 END IGS_AD_VAL_ECM;