DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PR_VAL_SCAAE

Source


1 PACKAGE BODY IGS_PR_VAL_SCAAE AS
2 /* $Header: IGSPR09B.pls 115.5 2002/11/29 02:45:53 nsidana ship $ */
3   -------------------------------------------------------------------------------------------
4   --Change History:
5   --Who         When            What
6   --smadathi    25-AUG-2001     Bug No. 1956374 .The function GENP_VAL_SDTT_SESS removed.
7   --avenkatr    29-AUG-2001    Bug Id : 1956374. Removed procedure "crsp_val_crv_exists"
8   --avenkatr    29-AUG-2001    Bug Id : 1956374. Removed procedure "crsp_val_crv_active"
9   -------------------------------------------------------------------------------------------
10   -- Validate the Student IGS_PS_COURSE Attempt Status for completion purposes.
11   FUNCTION prgp_val_sca_cmplt(
12   p_person_id IN NUMBER ,
13   p_course_cd IN VARCHAR2 ,
14   p_message_name OUT NOCOPY VARCHAR2 )
15   RETURN BOOLEAN AS
16   	gv_other_detail		VARCHAR2(255);
17   BEGIN	-- prgp_val_sca_cmplt
18   	-- Validate IGS_EN_STDNT_PS_ATT.course_attempt_status when setting the
19   	--student_course_attepmt.course_rqrmnt_complete_ind or the
20   	--IGS_PS_STDNT_APV_ALT.rqrmnts_complete_ind.
21   	-- Cannot be set if course_attempt_status is 'DISCONTIN', 'INTERMIT' or
22   	-- 'UNCONFIRM'.
23   DECLARE
24   	cst_discontinued		CONSTANT
25   						IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE := 'DISCONTIN';
26   	cst_intermit		CONSTANT
27   						IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE := 'INTERMIT';
28   	cst_lapsed		CONSTANT
29   						IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE := 'LAPSED';
30   	v_sca_course_attempt_status
31   						IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
32   	CURSOR c_sca IS
33   		SELECT	sca.course_attempt_status
34   		FROM	IGS_EN_STDNT_PS_ATT	sca
35   		WHERE	sca.person_id	= p_person_id And
36   			sca.course_cd	= p_course_cd And
37   			sca.course_attempt_status IN (
38   						cst_discontinued,
39   						cst_intermit,
40   						cst_lapsed);
41   BEGIN
42   	-- Set the default message name
43   	p_message_name := Null;
44   	--1. Check parameters :
45   	IF p_person_id IS NULL OR
46   				p_course_cd IS NULL THEN
47   		RETURN TRUE;
48   	END IF;
49   	--2. Get the IGS_PS_COURSE attempt status.
50   	OPEN c_sca;
51   	FETCH c_sca INTO v_sca_course_attempt_status;
52   	IF c_sca%FOUND THEN
53   		CLOSE c_sca;
54   		IF  v_sca_course_attempt_status = cst_discontinued THEN
55   			p_message_name := 'IGS_PR_DISCON_DT_BE_LIFTED';
56   		ELSIF v_sca_course_attempt_status = cst_intermit THEN
57   			p_message_name := 'IGS_PR_INTERMISSION_BE_LIFTED';
58   		ELSE
59   			p_message_name := 'IGS_PR_LAPSED_DT_BE_LIFTED';
60   		END IF;
61   		RETURN FALSE;
62   	END IF;
63   	CLOSE c_sca;
64   	-- Return the default value
65   	RETURN TRUE;
66   EXCEPTION
67   	WHEN OTHERS THEN
68   		IF c_sca%ISOPEN THEN
69   			CLOSE c_sca;
70   		END IF;
71   		RAISE;
72   END;
73   END prgp_val_sca_cmplt;
74   --
75   -- Validate the Student Crs Attempt Approved Alt Exit complete indicator.
76   FUNCTION prgp_val_scaae_cmplt(
77   p_rqrmnts_complete_ind IN VARCHAR2 DEFAULT 'N',
78   p_rqrmnts_complete_dt IN DATE ,
79   p_message_name OUT NOCOPY VARCHAR2 )
80   RETURN BOOLEAN AS
81   	gv_other_detail		VARCHAR2(255);
82   BEGIN	-- prgp_val_scaae_cmplt
83   	-- Validate IGS_PS_STDNT_APV_ALT.rqrmnts_complete_dt
84   	--	* Cannot be set if IGS_PS_STDNT_APV_ALT.rqrmnts_complete_ind
85   	--	  is not also set.
86   	--	* Must be set if IGS_PS_STDNT_APV_ALT.rqrmnts_complete_ind is set.
87   	--	* If required, IGS_PS_STDNT_APV_ALT.rqrmnts_complete_dt cannot
88   	--	  be futre dated.
89   BEGIN
90   	p_message_name := Null;
91   	-- Check parameters.
92   	IF p_rqrmnts_complete_ind IS NULL THEN
93   		RETURN TRUE;
94   	END IF;
95   	IF p_rqrmnts_complete_ind = 'Y' AND
96   			p_rqrmnts_complete_dt IS NULL THEN
97   		p_message_name := 'IGS_PR_SPECIFY_REQR_COMPL_DT';
98   		RETURN FALSE;
99   	END IF;
100   	IF p_rqrmnts_complete_ind = 'N' AND
101   			p_rqrmnts_complete_dt IS NOT NULL THEN
102   		p_message_name := 'IGS_PR_CANT_SPECIFY_REQR_COMP';
103   		RETURN FALSE;
104   	END IF;
105   	-- rqrmnts_complete_dt cannot be future dated;
106   	IF p_rqrmnts_complete_dt IS NOT NULL AND
107   			p_rqrmnts_complete_dt > TRUNC(SYSDATE) THEN
108   		p_message_name := 'IGS_PR_REQR_DT_LE_CURR_DT';
109   		RETURN FALSE;
110   	END IF;
111   	-- No error.
112   	RETURN TRUE;
113   END;
114   EXCEPTION
115   	WHEN OTHERS THEN
116    	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
117                 FND_MESSAGE.SET_TOKEN ('NAME', 'IGS_PR_VAL_SCAAE.PRGP_VAL_SCAAE_CMPLT');
118                 IGS_GE_MSG_STACK.ADD;
119 	    App_Exception.Raise_Exception;
120   END prgp_val_scaae_cmplt;
121 END IGS_PR_VAL_SCAAE;