DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_ACOS

Source


1 PACKAGE BODY IGS_AD_VAL_ACOS AS
2 /* $Header: IGSAD30B.pls 120.1 2005/09/08 14:50:23 appldev noship $ */
3   --
4   -- Validate against the system adm conditional offer status closed ind.
5   FUNCTION admp_val_sacoos_clsd(
6   p_s_adm_cndtnl_offer_status IN VARCHAR2 ,
7   p_message_name OUT NOCOPY VARCHAR2 )
8   RETURN BOOLEAN AS
9   BEGIN	--AMDP_VAL_SACOOS_CLSD
10   	--Check if the s_adm_cndtnl_offer_status is closed
11   DECLARE
12   	v_closed_ind	VARCHAR(1);
13   	CURSOR c_sacos IS
14   		SELECT	sacos.closed_ind
15   		FROM	IGS_LOOKUP_VALUES sacos
16   		WHERE   sacos.lookup_type = 'ADM_CNDTNL_OFFER_STATUS' AND
17 		        sacos.lookup_code = p_s_adm_cndtnl_offer_status;
18   BEGIN
19   	--- Set the default message number
20   	p_message_name := NULL;
21   	OPEN c_sacos;
22   	FETCH c_sacos INTO v_closed_ind;
23   	IF (c_sacos%FOUND) THEN
24   		IF (v_closed_ind = 'Y') THEN
25   			p_message_name := 'IGS_AD_SYSADM_COND_STATUS_CLS';
26   			CLOSE c_sacos;
27   			RETURN FALSE;
28   		END IF;
29   	END IF;
30   	CLOSE c_sacos;
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_ACOS.admp_val_sacoos_clsd');
37 	    IGS_GE_MSG_STACK.ADD;
38 	    App_Exception.Raise_Exception;
39   END admp_val_sacoos_clsd;
40 
41   -- Validate the admission conditional offer status system default ind.
42   FUNCTION admp_val_acos_dflt(
43   p_adm_cndtnl_offer_status IN VARCHAR2 ,
44   p_s_adm_cndtnl_offer_status IN VARCHAR2 ,
45   p_message_name OUT NOCOPY VARCHAR2 )
46   RETURN BOOLEAN AS
47   BEGIN   -- ADMP_VAL_ACOS_DFLT
48   	-- Check if another adm_cndtnl_offer_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_CNDNL_OFRSTAT.system_default_ind%TYPE;
53   	CURSOR c_count IS
54   		SELECT	count(*),
55   			system_default_ind
56   		FROM	IGS_AD_CNDNL_OFRSTAT acos
57   		WHERE	acos.adm_cndtnl_offer_status <> p_adm_cndtnl_offer_status AND
58   			acos.s_adm_cndtnl_offer_status = p_s_adm_cndtnl_offer_status AND
59   			acos.system_default_ind = 'Y'
60   		GROUP BY system_default_ind;
61   BEGIN
62   	--- Set the default message number
63   	p_message_name := NULL;
64   	OPEN c_count;
65   	FETCH c_count INTO v_count_rec,
66   			   v_sys_def_ind;
67   	IF (c_count%FOUND) THEN
68   		IF (v_count_rec > 0) AND (v_sys_def_ind = 'Y') THEN
69   				p_message_name := 'IGS_AD_SYSADM_CNDOFR_ONLY_ONE';
70   				CLOSE c_count;
71   				RETURN FALSE;
72   		END IF;
73   	END IF;
74   	CLOSE c_count;
75   	RETURN TRUE;
76   END;
77   EXCEPTION
78   	WHEN OTHERS THEN
79 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
80 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_ACOS.admp_val_acos_dflt');
81 	    IGS_GE_MSG_STACK.ADD;
82 	    App_Exception.Raise_Exception;
83   END admp_val_acos_dflt;
84   --
85   -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
86 
87 END IGS_AD_VAL_ACOS;