DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_VAL_TRO

Source


1 PACKAGE BODY IGS_PS_VAL_TRo AS
2 /* $Header: IGSPS58B.pls 115.4 2002/11/29 03:08:10 nsidana ship $ */
3   --
4   -- Validate teaching responsibility override percentages = 100%
5   FUNCTION CRSP_VAL_TRO_PERC(
6   p_unit_cd IN VARCHAR2 ,
7   p_version_number IN NUMBER ,
8   p_cal_type IN VARCHAR2 ,
9   p_ci_sequence_number IN NUMBER ,
10   p_location_cd IN VARCHAR2 ,
11   p_unit_class IN VARCHAR2 ,
12   p_message_name OUT NOCOPY VARCHAR2 )
13   RETURN BOOLEAN AS
14   BEGIN 	-- crsp_val_tro_perc
15   	-- This module validates the IGS_PS_TCH_RESP_OVRD table such that
16   	-- the sum of percentages for a IGS_PS_UNIT offering option total 100%.
17   DECLARE
18   	v_sum_percentages		IGS_PS_TCH_RESP_OVRD.percentage%TYPE;
19   	CURSOR c_tro IS
20   		SELECT	SUM(tro.percentage)
21   		FROM	IGS_PS_TCH_RESP_OVRD tro
22   		WHERE	tro.unit_cd		= p_unit_cd AND
23   			tro.version_number	= p_version_number AND
24   			tro.cal_type		= p_cal_type AND
25   			tro.ci_sequence_number	= p_ci_sequence_number AND
26   			tro.location_cd		= p_location_cd AND
27   			tro.unit_class		= p_unit_class;
28   BEGIN
29   	p_message_name := NULL;
30   	OPEN c_tro;
31   	FETCH c_tro INTO v_sum_percentages;
32   	IF (c_tro%FOUND) THEN
33   		IF v_sum_percentages <> 100.00 THEN
34   			CLOSE c_tro;
35   			p_message_name := 'IGS_PS_PRCALLOC_TEACH_RESP';
36   			RETURN FALSE;
37   		END IF;
38   	END IF;
39   	CLOSE c_tro;
40   	RETURN TRUE;
41   EXCEPTION
42   	WHEN OTHERS THEN
43   		IF (c_tro%ISOPEN) THEN
44   			CLOSE c_tro;
45   		END IF;
46   		App_Exception.Raise_Exception;
47   END;
48   EXCEPTION
49   	WHEN OTHERS THEN
50 			Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
51 			Fnd_Message.Set_Token('NAME','IGS_PS_VAL_TRo.crsp_val_tro_perc');
52 			IGS_GE_MSG_STACK.ADD;
53 			App_Exception.Raise_Exception;
54   END crsp_val_tro_perc;
55 END IGS_PS_VAL_TRo;