DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AV_VAL_AS

Source


1 PACKAGE BODY IGS_AV_VAL_AS AS
2 /* $Header: IGSAV02B.pls 120.2 2006/03/27 01:32:59 shimitta noship $ */
3   -- To validate the advanced standing IGS_PS_COURSE code.
4   -- shimitta 7-Mar-2006 Modified as in Bug# 5068233
5   FUNCTION advp_val_as_crs(
6   p_person_id IN NUMBER ,
7   p_course_cd IN VARCHAR2 ,
8   p_version_number IN NUMBER ,
9   p_message_name OUT NOCOPY VARCHAR2 )
10   RETURN BOOLEAN IS
11   	gv_other_detail		VARCHAR2(255);
12   BEGIN
13   DECLARE
14   	CURSOR 	c_adv_stnd_v(
15   			cp_person_id IGS_AV_ADV_STANDING.person_id%TYPE,
16   			cp_course_cd IGS_AV_ADV_STANDING.course_cd%TYPE,
17   			cp_version_number IGS_AV_ADV_STANDING.version_number%TYPE) IS
18   		SELECT	spa.course_cd
19   		FROM	IGS_EN_STDNT_PS_ATT spa
20   		WHERE	spa.person_id = cp_person_id AND
21   			spa.course_cd = cp_course_cd AND
22   			spa.version_number = cp_version_number AND
23 			spa.course_attempt_status IN
24                    ('ENROLLED', 'INACTIVE', 'INTERMIT', 'UNCONFIRM', 'DISCONTIN','COMPLETED');
25 
26   BEGIN
27   	-- Validate that IGS_AV_ADV_STANDING.course_cd is valid for the purposes of
28   	-- Advanced Standing.
29   	-- It must be contained within a IGS_EN_STDNT_PS_ATT by the nominated
30   	-- person_id, with a status of 'enrolled', 'inactive', 'intermit' or
31   	-- 'unconfirm'.
32   	 p_message_name := null;
33   	-- Validate input parameters.
34   	IF(p_person_id IS NULL OR p_course_cd IS NULL) THEN
35   		RETURN TRUE;
36   	END IF;
37   	--  Validate that IGS_PS_COURSE code is valid.
38   	FOR v_adv_stnd_rec IN c_adv_stnd_v(
39   					p_person_id,
40   					p_course_cd,
41   					p_version_number) LOOP
42   		RETURN TRUE;
43   	END LOOP;
44   	 p_message_name  := 'IGS_GE_INVALID_VALUE';
45   	RETURN FALSE;
46   EXCEPTION
47   	WHEN OTHERS THEN
48   	 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
49          Fnd_Message.Set_Token('NAME','IGS_AV_VAL_AS.ADVP_VAL_AS_CRS');
50          Igs_Ge_Msg_Stack.Add;
51        App_Exception.Raise_Exception;
52   END;
53   END advp_val_as_crs;
54   --
55   -- To validate the advanced standing major exemption IGS_OR_INSTITUTION code.
56   FUNCTION advp_val_as_inst(
57   p_exempt_inst IN VARCHAR2 ,
58   p_message_name OUT NOCOPY VARCHAR2 )
59   RETURN BOOLEAN IS
60   	gv_other_detail		VARCHAR2(255);
61   BEGIN
62   DECLARE
63   	CURSOR 	c_exempt_inst_v(
64   			cp_exempt_inst IGS_AV_ADV_STANDING.exemption_institution_cd%TYPE) IS
65 		SELECT ihp.oss_org_unit_cd exemption_institution_cd
66 		FROM igs_pe_hz_parties ihp
67 		 where ihp.inst_org_ind = 'I'
68 		 AND ihp.oi_govt_institution_cd IS NOT NULL
69 		 AND ihp.oss_org_unit_cd = cp_exempt_inst
70 		UNION ALL
71 		SELECT lk.lookup_code exemption_institution_cd
72 		FROM igs_lookup_values lk
73 		WHERE lk.lookup_type = 'OR_INST_EXEMPTIONS'
74 		 AND lk.enabled_flag = 'Y'
75 		 AND lk.lookup_code = cp_exempt_inst;
76   BEGIN
77   	-- Validate that IGS_AV_ADV_STANDING.exemption_institution_cd) is valid.
78   	-- The status is not considered, as it is allowable to select an inactive
79   	-- IGS_OR_INSTITUTION for advanced standing basis details.
80   	 p_message_name := null;
81   	-- Validate input parameters.
82   	IF(p_exempt_inst IS NULL) THEN
83   		RETURN TRUE;
84   	END IF;
85   	--  Validate that exemption IGS_OR_INSTITUTION is valid.
86   	FOR v_exempt_inst_rec IN c_exempt_inst_v(
87   						p_exempt_inst) LOOP
88   		RETURN TRUE;
89   	END LOOP;
90   	 p_message_name := 'IGS_GE_INVALID_VALUE';
91   	RETURN FALSE;
92   EXCEPTION
93   	WHEN OTHERS THEN
94   	 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
95          Fnd_Message.Set_Token('NAME','IGS_AV_VAL_AS.ADVP_VAL_AS_INST');
96          Igs_Ge_Msg_Stack.Add;
97        App_Exception.Raise_Exception;
98   END;
99   END advp_val_as_inst;
100 END IGS_AV_VAL_AS;