DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_AFS

Source


1 PACKAGE BODY IGS_AD_VAL_AFS AS
2 /* $Header: IGSAD33B.pls 120.0 2005/06/01 22:34:50 appldev noship $ */
3   --
4   -- Validate against the system admission fee status closed indicator.
5   FUNCTION admp_val_safs_clsd(
6   p_s_adm_fee_status IN VARCHAR2 ,
7   p_message_name OUT NOCOPY VARCHAR2)
8   RETURN BOOLEAN AS
9   BEGIN	--AMDP_VAL_SAFS_CLSD
10   	--Check if the s_adm_fee_status is closed
11   DECLARE
12   	v_closed_ind	VARCHAR(1);
13   	CURSOR c_safs IS
14   		SELECT	safs.closed_ind
15   		FROM	IGS_LOOKUP_VALUES safs
16   		WHERE   safs.lookup_type = 'ADM_FEE_STATUS' AND
17 		        safs.lookup_code = p_s_adm_fee_status;
18   BEGIN
19   	--- Set the default message number
20   	p_message_name := NULL;
21   	OPEN c_safs;
22   	FETCH c_safs INTO v_closed_ind;
23   	IF (c_safs%FOUND) THEN
24   		IF (v_closed_ind = 'Y') THEN
25   			p_message_name := 'IGS_AD_SYSADM_FEE_STATUS_CLS';
26   			CLOSE c_safs;
27   			RETURN FALSE;
28   		END IF;
29   	END IF;
30   	CLOSE c_safs;
31   	RETURN TRUE;
32   END;
33   EXCEPTION
34   	WHEN OTHERS THEN
35 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
36 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AFS.admp_val_safs_clsd');
37 	    IGS_GE_MSG_STACK.ADD;
38 	    App_Exception.Raise_Exception;
39   END admp_val_safs_clsd;
40 
41   -- Validate the admission fee status system default indicator.
42   FUNCTION admp_val_afs_dflt(
43   p_adm_fee_status IN VARCHAR2 ,
44   p_s_adm_fee_status IN VARCHAR2 ,
45   p_message_name OUT NOCOPY VARCHAR2 )
46   RETURN BOOLEAN AS
47   BEGIN   -- ADMP_VAL_AFS_DFLT
48   	-- Check if another adm_fee_status record exists with the system
49   	-- default indicator set to 'Y'
50   DECLARE
51   	v_count_rec		NUMBER;
52   	v_sys_def_ind		IGS_AD_FEE_STAT.system_default_ind%TYPE;
53   	cst_yes			CONSTANT CHAR := 'Y';
54   	CURSOR c_count (cp_adm_fee_status	IGS_AD_FEE_STAT.adm_fee_status%TYPE,
55   			cp_s_adm_fee_status IGS_AD_FEE_STAT.s_adm_fee_status%TYPE)IS
56   		SELECT	count(*),
57   			system_default_ind
58   		FROM	IGS_AD_FEE_STAT afs
59   		WHERE	afs.adm_fee_status <> cp_adm_fee_status AND
60   			afs.s_adm_fee_status = cp_s_adm_fee_status AND
61   			afs.system_default_ind = cst_yes
62   		GROUP BY system_default_ind;
63   BEGIN
64   	--- Set the default message number
65   	p_message_name := NULL;
66   	OPEN c_count(p_adm_fee_status, p_s_adm_fee_status);
67   	FETCH c_count INTO v_count_rec,
68   			   v_sys_def_ind;
69   	IF (c_count%FOUND) THEN
70   		IF (v_count_rec > 0) AND (v_sys_def_ind = cst_yes) THEN
71   				p_message_name := 'IGS_AD_SYSADM_FEEST_ONLY_ONE';
72   				CLOSE c_count;
73   				RETURN FALSE;
74   		END IF;
75   	END IF;
76   	CLOSE c_count;
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_AFS.admp_val_afs_dflt');
83 	    IGS_GE_MSG_STACK.ADD;
84 	    App_Exception.Raise_Exception;
85   END admp_val_afs_dflt;
86   --
87   -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
88 
89 END IGS_AD_VAL_AFS;