DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_FCM

Source


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