DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_AEQS

Source


1 PACKAGE BODY IGS_AD_VAL_AEQS AS
2 /* $Header: IGSAD32B.pls 120.0 2005/06/01 16:59:41 appldev noship $ */
3   --
4   -- Check against the system adm entry qualification status closed ind.
5   FUNCTION admp_val_saeqs_clsd(
6   p_s_adm_entry_qual_status IN VARCHAR2 ,
7   p_message_name OUT NOCOPY VARCHAR2 )
8   RETURN BOOLEAN AS
9   BEGIN	--AMDP_VAL_SADS_CLSD
10   	--Check if the s_adm_doc_status is closed
11   DECLARE
12   	v_closed_ind	VARCHAR(1);
13   	CURSOR c_saeqs IS
14   		SELECT	saeqs.closed_ind
15   		FROM	IGS_LOOKUP_VALUES saeqs
16   		WHERE   saeqs.lookup_type = 'ADM_ENTRY_QUAL_STATUS' AND
17 		        saeqs.lookup_code = p_s_adm_entry_qual_status;
18   BEGIN
19   	--- Set the default message number
20   	p_message_name := NULL;
21   	OPEN c_saeqs;
22   	FETCH c_saeqs INTO v_closed_ind;
23   	IF (c_saeqs%FOUND) THEN
24   		IF (v_closed_ind = 'Y') THEN
25   			p_message_name := 'IGS_AD_SYSADM_ENTRYSTATUS_CLS';
26   			CLOSE c_saeqs;
27   			RETURN FALSE;
28   		END IF;
29   	END IF;
30   	CLOSE c_saeqs;
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_AEQS.admp_val_saeqs_clsd');
37 	    IGS_GE_MSG_STACK.ADD;
38 	    App_Exception.Raise_Exception;
39   END admp_val_saeqs_clsd;
40   --
41   -- Process AEQS rowids in a PL/SQL TABLE for the current commit.
42 
43   -- Validate the admission entry qualification status system default ind.
44   FUNCTION admp_val_aeqs_dflt(
45   p_adm_entry_qual_status IN VARCHAR2 ,
46   p_s_adm_entry_qual_status IN VARCHAR2 ,
47   p_message_name OUT NOCOPY VARCHAR2 )
48   RETURN BOOLEAN AS
49   BEGIN   -- ADMP_VAL_AEQS_DFLT
50   	-- Check if another adm_entry_qual_status record exists with the system
51   	-- default indicator set to 'Y'
52   DECLARE
53   	v_count_rec		NUMBER;
54   	v_sys_def_ind		IGS_AD_ENT_QF_STAT.system_default_ind%TYPE;
55   	CURSOR c_count IS
56   		SELECT	count(*),
57   			system_default_ind
58   		FROM	IGS_AD_ENT_QF_STAT aeqs
59   		WHERE	aeqs.adm_entry_qual_status <> p_adm_entry_qual_status AND
60   			aeqs.s_adm_entry_qual_status = p_s_adm_entry_qual_status AND
61   			aeqs.system_default_ind = 'Y'
62   		GROUP BY system_default_ind;
63   BEGIN
64   	--- Set the default message number
65   	p_message_name := NULL;
66   	OPEN c_count;
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 = 'Y') THEN
71   				p_message_name := 'IGS_AD_SYSADM_ENTRY_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_AEQS.admp_val_aeqs_dflt');
83 	    IGS_GE_MSG_STACK.ADD;
84 	    App_Exception.Raise_Exception;
85   END admp_val_aeqs_dflt;
86   --
87   -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
88 
89 
90 END IGS_AD_VAL_AEQS;