DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_AAS

Source


1 PACKAGE BODY IGS_AD_VAL_AAS AS
2 /* $Header: IGSAD19B.pls 120.0 2005/06/02 00:05:25 appldev noship $ */
3 
4   --
5   -- Validate against the system adm application status closed indicator.
6   FUNCTION admp_val_saas_clsd(
7   p_s_adm_appl_status IN VARCHAR2 ,
8   p_message_name OUT NOCOPY VARCHAR2 )
9   RETURN BOOLEAN IS
10   BEGIN	--AMDP_VAL_SAAS_CLSD
11   	--Check if the s_adm_appl_status is closed
12   DECLARE
13   	v_closed_ind	VARCHAR(1);
14   	CURSOR c_saas IS
15   		SELECT	slv.closed_ind
16   		FROM	IGS_LOOKUP_VALUES slv
17   		WHERE   slv.lookup_type = 'ADM_APPL_STATUS' AND
18 		        slv.Lookup_code = p_s_adm_appl_status;
19   BEGIN
20   	--- Set the default message number
21   	p_message_name := null;
22   	OPEN c_saas;
23   	FETCH c_saas INTO v_closed_ind;
24   	IF (c_saas%FOUND) THEN
25   		IF (v_closed_ind = 'Y') THEN
26 			p_message_name := 'IGS_AD_SYSADM_APPL_STATUS_CLS';
27   			CLOSE c_saas;
28   			RETURN FALSE;
29   		END IF;
30   	END IF;
31   	CLOSE c_saas;
32   	RETURN TRUE;
33   END;
34   EXCEPTION
35   	WHEN OTHERS THEN
36 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
37 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AAS.admp_val_saas_clsd');
38 	    IGS_GE_MSG_STACK.ADD;
39 	    App_Exception.Raise_Exception;
40   END admp_val_saas_clsd;
41   --
42   -- Process AAS rowids in a PL/SQL TABLE for the current commit.
43   --
44   -- Validate the admission application status system default indicator.
45   FUNCTION admp_val_aas_dflt(
46   p_adm_appl_status IN VARCHAR2 ,
47   p_s_adm_appl_status IN VARCHAR2 ,
48   p_message_name OUT NOCOPY VARCHAR2 )
49   RETURN BOOLEAN IS
50   BEGIN   -- ADMP_VAL_AAS_DFLT
51   	-- Check if another adm_appl_status record exists with the system
52   	-- default indicator set to 'Y'
53   DECLARE
54   	v_count_rec		NUMBER;
55   	v_sys_def_ind		IGS_AD_APPL_STAT.system_default_ind%TYPE;
56   	cst_yes			CONSTANT CHAR := 'Y';
57   	CURSOR c_count(cp_adm_appl_status	IGS_AD_APPL_STAT.adm_appl_status%TYPE,
58   			cp_s_adm_appl_status IGS_AD_APPL_STAT.s_adm_appl_status%TYPE)IS
59   		SELECT	count(*),
60   			system_default_ind
61   		FROM	IGS_AD_APPL_STAT aas
62   		WHERE	aas.adm_appl_status <> cp_adm_appl_status AND
63   			aas.s_adm_appl_status = cp_s_adm_appl_status AND
64   			aas.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_appl_status, p_s_adm_appl_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 = cst_yes) THEN
74 				p_message_name := 'IGS_AD_SYSADM_APPLST_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_AAS.admp_val_aas_dflt');
86 	    IGS_GE_MSG_STACK.ADD;
87 	    App_Exception.Raise_Exception;
88   END admp_val_aas_dflt;
89   --
90   -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
91 
92 END IGS_AD_VAL_AAS;