DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PR_VAL_POC

Source


1 PACKAGE BODY igs_pr_val_poc AS
2 /* $Header: IGSPR16B.pls 115.5 2002/11/29 02:47:57 nsidana ship $ */
3   --
4   -- Warn if the course does not have an active course version
5   FUNCTION prgp_val_crv_active(
6   p_course_cd IN CHAR ,
7   p_message_name OUT NOCOPY VARCHAR2 )
8   RETURN BOOLEAN IS
9   	gv_other_detail		VARCHAR2(255);
10   BEGIN	-- PRGP_VAL_CRV_ACTIVE
11   	-- Purpose: Warn the user is the supplied course_cd has no ACTIVE
12   	--	course_version records.
13   DECLARE
14   	v_exists	VARCHAR2(1);
15   	CURSOR c_crv_cst IS
16   		SELECT	'x'
17   		FROM	IGS_PS_VER	crv,
18   			IGS_PS_STAT  	cst
19   		WHERE	crv.course_cd		= p_course_cd AND
20   			crv.course_status	= cst.course_status AND
21   			cst.s_course_status	= 'ACTIVE';
22   BEGIN
23   	-- Set the default message number
24   	p_message_name := null;
25   	IF p_course_cd IS NULL THEN
26   		RETURN TRUE;
27   	END IF;
28   	OPEN c_crv_cst;
29   	FETCH c_crv_cst INTO v_exists;
30   	IF c_crv_cst%NOTFOUND THEN
31   		CLOSE c_crv_cst;
32   		p_message_name := 'IGS_PR_WA_CRS_CON_NOACT_VER';
33   		RETURN TRUE;
34   	END IF;
35   	CLOSE c_crv_cst;
36   	-- Return the default value
37   	RETURN TRUE;
38   EXCEPTION
39   	WHEN OTHERS THEN
40   		IF c_crv_cst %ISOPEN THEN
41   			CLOSE c_crv_cst;
42   		END IF;
43   		RAISE;
44   END;
45   EXCEPTION
46   	WHEN OTHERS THEN
47   		Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
48    		IGS_GE_MSG_STACK.ADD;
49  	 App_Exception.Raise_Exception;
50   END; -- Function PRGP_VAL_CRV_ACTIVE
51   --
52   -- Validate that a prg_outcome_course record can be created
53   FUNCTION prgp_val_poc_pro(
54   p_progression_rule_cat IN VARCHAR2 ,
55   p_pra_sequence_number IN NUMBER ,
56   p_sequence_number IN NUMBER ,
57   p_message_name OUT NOCOPY VARCHAR2 )
58   RETURN BOOLEAN IS
59   	gv_other_detail                 VARCHAR2(255);
60   BEGIN	-- prgp_val_poc_pro
61   	-- When creating a Progression Outcome Course record validate that the record
62   	-- is related to a  progression_rule_outcome with a progression_outcome_type
63   	-- that relates to a s_encmb_effect_type of EXC_COURSE or SUS_COURSE
64   DECLARE
65   	cst_exc_course	CONSTANT	VARCHAR(10) := 'EXC_COURSE';
66   	cst_sus_course	CONSTANT	VARCHAR(10) := 'SUS_COURSE';
67   	v_dummy                         VARCHAR2(1);
68   	CURSOR c_pro_pot_etde IS
69   		SELECT 	'X'
70   		FROM		IGS_PR_RU_OU	pro,
71   				IGS_PR_OU_TYPE 	pot,
72   				IGS_FI_ENC_DFLT_EFT		etde
73   		WHERE		pro.progression_rule_cat	= p_progression_rule_cat AND
74   				pro.pra_sequence_number		= p_pra_sequence_number AND
75   				pro.sequence_number		= p_sequence_number AND
76   				pro.progression_outcome_type 	= pot.progression_outcome_type AND
77   				pot. encumbrance_type		= etde.encumbrance_type  AND
78   				etde.s_encmb_effect_type	IN (
79   								cst_exc_course,
80   								cst_sus_course);
81   BEGIN
82   	-- Set the default message number
83   	p_message_name := null;
84   	IF p_progression_rule_cat IS NULL OR
85   			p_pra_sequence_number IS NULL OR
86   				p_sequence_number IS NULL THEN
87   		RETURN TRUE;
88   	END IF;
89   	OPEN c_pro_pot_etde;
90   	FETCH c_pro_pot_etde INTO v_dummy;
91   	IF c_pro_pot_etde%NOTFOUND THEN
92   		CLOSE c_pro_pot_etde;
93                 --
94 		-- kdande; 19-Jul-2002; Bug#2462120
95 		-- Created a new message IGS_PR_OUT_ENCTY_EXC_SUS_PR for message number 5102.
96 		--
97   		p_message_name := 'IGS_PR_OUT_ENCTY_EXC_SUS_PR';
98   		RETURN FALSE;
99   	END IF;
100   	CLOSE c_pro_pot_etde;
101   	RETURN TRUE;
102   EXCEPTION
103   	WHEN OTHERS THEN
104   		IF c_pro_pot_etde%ISOPEN THEN
105   			CLOSE c_pro_pot_etde;
106   		END IF;
107   		RAISE;
108   END;
109   EXCEPTION
110   	WHEN OTHERS THEN
111    		Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
112    		IGS_GE_MSG_STACK.ADD;
113  	 App_Exception.Raise_Exception;
114   END prgp_val_poc_pro;
115 END igs_pr_val_poc;