DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AV_VAL_ASAU

Source


1 PACKAGE BODY IGS_AV_VAL_ASAU AS
2 /* $Header: IGSAV03B.pls 115.4 2002/11/28 22:52:45 nsidana ship $ */
3 
4   -- To validate the advanced standing alternate units.
5   FUNCTION advp_val_alt_unit(
6   p_person_id IN NUMBER ,
7   p_course_cd IN VARCHAR2 ,
8   p_course_version IN NUMBER ,
9   p_adv_stnd_type IN VARCHAR2 ,
10   p_unit_cd IN VARCHAR2 ,
11   p_unit_version IN NUMBER ,
12   p_message_name OUT NOCOPY VARCHAR2)
13   RETURN BOOLEAN IS
14   	gv_other_detail		VARCHAR2(255);
15   BEGIN
16       -- advp_val_alt_unit
17   	-- Validate that alternate units can only be specified if the
18   	-- s_adv_stnd_recognition_type of the parent IGS_AV_STND_UNIT record is 'PRECLUDE'
19   DECLARE
20   	v_ret_val	BOOLEAN DEFAULT TRUE;
21   	v_check		CHAR;
22   	CURSOR	c_chk_adv_stnd_recog_type IS
23   		SELECT	'x'
24   		FROM	IGS_AV_STND_UNIT
25   		WHERE	person_id	 		= p_person_id		AND
26   			as_course_cd		= p_course_cd		AND
27   			as_version_number 	= p_course_version	AND
28   			s_adv_stnd_type		= p_adv_stnd_type		AND
29   			unit_cd			= p_unit_cd			AND
30   			version_number		= p_unit_version		AND
31   			s_adv_stnd_recognition_type	= 'PRECLUSION';
32   BEGIN
33   	 p_message_name := null;
34   	-- Validate input parameters
35   	IF (p_person_id IS NULL OR
36   			p_course_cd		IS NULL OR
37   			p_course_version	IS NULL OR
38   			p_adv_stnd_type		IS NULL OR
39   			p_unit_cd		IS NULL OR
40   			p_unit_version		IS NULL) 	THEN
41   		RETURN TRUE;
42   	END IF;
43   	-- Determine the recognition type of the appropriate IGS_AV_STND_UNIT record
44   	OPEN c_chk_adv_stnd_recog_type;
45   	FETCH c_chk_adv_stnd_recog_type INTO v_check;
46   	IF (c_chk_adv_stnd_recog_type%NOTFOUND) THEN
47   		-- Alternate units cannot be recorded, report an error
48   		 p_message_name  := 'IGS_AV_CANREC_TYPE_PRECLUDE';
49   		v_ret_val := FALSE;
50   	END IF;
51   	CLOSE c_chk_adv_stnd_recog_type;
52   	RETURN v_ret_val;
53   END;
54   EXCEPTION
55   	WHEN OTHERS THEN
56   		Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
57                 Fnd_Message.Set_Token('NAME','IGS_AV_VAL_AS.ADVP_VAL_ALT_UNIT');
58                 Igs_Ge_Msg_Stack.Add;
59        App_Exception.Raise_Exception;
60   END advp_val_alt_unit;
61   --
62   -- To validate the precluded and alternate units.
63   FUNCTION advp_val_prclde_unit(
64   p_precluded_unit_cd IN VARCHAR2 ,
65   p_alternate_unit_cd IN VARCHAR2 ,
66   p_message_name OUT NOCOPY VARCHAR2)
67   RETURN BOOLEAN IS
68   	gv_other_detail		VARCHAR2(255);
69   BEGIN	-- advp_val_preclude_unit1
70   	-- Validate that the alternate units are different from the precluded
71   	-- IGS_PS_UNIT they are associated with
72   DECLARE
73   BEGIN
74    p_message_name := null;
75   	-- Validate input parameters
76   	IF (p_precluded_unit_cd IS NULL OR
77   			p_alternate_unit_cd IS NULL) THEN
78   		RETURN TRUE;
79   	END IF;
80   	-- Validate that the precluded and alternate units are different
81   	IF (p_precluded_unit_cd = p_alternate_unit_cd) THEN
82   		 p_message_name := 'IGS_AV_ALTUNIT_DIFF_UNITASSOC';
83   		RETURN FALSE;
84   	END IF;
85   	RETURN TRUE;
86   END;
87   EXCEPTION
88   	WHEN OTHERS THEN
89              Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
90              Fnd_Message.Set_Token('NAME','IGS_AV_VAL_AS.ADVP_VAL_PRCLDE_UNIT');
91              Igs_Ge_Msg_Stack.Add;
92        App_Exception.Raise_Exception;
93   END advp_val_prclde_unit;
94 END IGS_AV_VAL_ASAU;