DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_AODS

Source


1 PACKAGE BODY IGS_AD_VAL_AODS AS
2  /* $Header: IGSAD34B.pls 120.0 2005/06/01 16:19:49 appldev noship $ */
3   --
4   -- Validate against system adm offer deferement status closed indicator.
5   FUNCTION admp_val_saods_clsd(
6   p_s_adm_offer_dfrmnt_status IN VARCHAR2 ,
7   p_message_name OUT NOCOPY VARCHAR2 )
8   RETURN BOOLEAN AS
9   BEGIN	--AMDP_VAL_SAODS_CLSD
10   	--Check if the s_adm_offer_dfrmnt_status is closed
11   DECLARE
12   	v_closed_ind	VARCHAR(1);
13   	CURSOR c_saods IS
14   		SELECT	saods.closed_ind
15   		FROM	IGS_LOOKUP_VALUES saods
16   		WHERE   saods.lookup_type = 'ADM_OFFER_DFRMNT_STATUS' AND
17 		        saods.lookup_code = p_s_adm_offer_dfrmnt_status ;
18   BEGIN
19   	--- Set the default message number
20   	p_message_name := NULL;
21   	OPEN c_saods;
22   	FETCH c_saods INTO v_closed_ind;
23   	IF (c_saods%FOUND) THEN
24   		IF (v_closed_ind = 'Y') THEN
25   			p_message_name := 'IGS_AD_SYSADM_OFFERDFR_ST_CLS';
26   			CLOSE c_saods;
27   			RETURN FALSE;
28   		END IF;
29   	END IF;
30   	CLOSE c_saods;
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_AODS.admp_val_saods_clsd');
37 	    IGS_GE_MSG_STACK.ADD;
38 	    App_Exception.Raise_Exception;
39   END admp_val_saods_clsd;
40 
41   --
42   -- Validate the admission offer deferement status system default ind.
43   FUNCTION admp_val_aods_dflt(
44   p_adm_offer_dfrmnt_status IN VARCHAR2 ,
45   p_s_adm_offer_dfrmnt_status IN VARCHAR2 ,
46   p_message_name OUT NOCOPY VARCHAR2 )
47   RETURN BOOLEAN AS
48   BEGIN   -- ADMP_VAL_AODS_DFLT
49   	-- Check if another IGS_AD_OFRDFRMT_STAT record exists with the system
50   	-- default indicator set to 'Y'
51   DECLARE
52   	v_count_rec		NUMBER;
53   	v_sys_def_ind		IGS_AD_OFRDFRMT_STAT.system_default_ind%TYPE;
54   	cst_yes			CONSTANT CHAR := 'Y';
55   	CURSOR c_count(cp_adm_offer_dfrmnt_status
56   			IGS_AD_OFRDFRMT_STAT.adm_offer_dfrmnt_status%TYPE,
57   			cp_s_adm_offer_dfrmnt_status
58   			IGS_AD_OFRDFRMT_STAT.s_adm_offer_dfrmnt_status%TYPE)IS
59   		SELECT	count(*),
60   			system_default_ind
61   		FROM	IGS_AD_OFRDFRMT_STAT aods
62   		WHERE	aods.adm_offer_dfrmnt_status <> cp_adm_offer_dfrmnt_status AND
63   			aods.s_adm_offer_dfrmnt_status = cp_s_adm_offer_dfrmnt_status AND
64   			aods.system_default_ind = cst_yes
65   		GROUP BY system_default_ind;
66   BEGIN
67   	--- Set the default message number
68   	p_message_name := NULL;
69   	OPEN c_count(p_adm_offer_dfrmnt_status, p_s_adm_offer_dfrmnt_status);
70   	FETCH c_count INTO v_count_rec,
71   			   v_sys_def_ind;
72   	IF (c_count%FOUND) THEN
73   		IF (v_count_rec > 0) AND (v_sys_def_ind = 'Y') THEN
74   				p_message_name := 'IGS_AD_SYSADM_OFRDFR_ONLY_ONE';
75   				CLOSE c_count;
76   				RETURN FALSE;
77   		END IF;
78   	END IF;
79   	CLOSE c_count;
80   	RETURN TRUE;
81   END;
82   EXCEPTION
83   	WHEN OTHERS THEN
84 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
85 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AODS.admp_val_aods_dflt');
86 	    IGS_GE_MSG_STACK.ADD;
87 	    App_Exception.Raise_Exception;
88   END admp_val_aods_dflt;
89 
90 
91 END IGS_AD_VAL_AODS;