DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_VAL_FSR

Source


1 PACKAGE BODY IGS_PS_VAL_FSr AS
2  /* $Header: IGSPS43B.pls 115.3 2002/11/29 03:04:00 nsidana ship $ */
3 
4   --
5   -- Validate the funding source restriction restricted indicator.
6   FUNCTION CRSP_VAL_FSR_RSTRCT(
7   p_course_cd IN VARCHAR2 ,
8   p_version_number IN NUMBER ,
9   p_message_name OUT NOCOPY VARCHAR2 )
10   RETURN BOOLEAN AS
11   	CURSOR c_count_all_fs IS
12   		SELECT	COUNT(*)
13   		FROM	IGS_FI_FND_SRC_RSTN
14   		WHERE	course_cd = p_course_cd AND
15   			version_number = p_version_number;
16   	CURSOR c_count_restrct_fs IS
17   		SELECT	COUNT(*)
18   		FROM	IGS_FI_FND_SRC_RSTN
19   		WHERE	course_cd = p_course_cd AND
20   			version_number = p_version_number AND
21   			restricted_ind = 'Y';
22   BEGIN
23   	--- Set default message number
24   	p_message_name := NULL;
25   	--- Get count for total and restricted funding source records
26   	DECLARE
27   		v_total_fs_count	NUMBER;
28   		v_rstrct_fs_count	NUMBER;
29   	BEGIN
30   		OPEN c_count_all_fs;
31   		FETCH c_count_all_fs INTO v_total_fs_count;
32   		CLOSE c_count_all_fs;
33   		OPEN c_count_restrct_fs;
34   		FETCH c_count_restrct_fs INTO v_rstrct_fs_count;
35   		CLOSE c_count_restrct_fs;
36   		IF v_total_fs_count > 1 THEN
37   			IF v_total_fs_count = v_rstrct_fs_count THEN
38   				RETURN TRUE;
39   			ELSE
40   				p_message_name := 'IGS_PS_RESTIND_SET_FUNDSRC';
41   				RETURN FALSE;
42   			END IF;
43   		ELSE
44   			RETURN TRUE;
45   		END IF;
46   	END;
47   EXCEPTION
48   	WHEN OTHERS THEN
49 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
50 		Fnd_Message.Set_Token('NAME','IGS_PS_VAL_FSr.crsp_val_fsr_rstrct');
51 		IGS_GE_MSG_STACK.ADD;
52 		APP_EXCEPTION.RAISE_EXCEPTION;
53   END crsp_val_fsr_rstrct;
54   --
55   -- Validate the funding source restriction indicators.
56   FUNCTION crsp_val_fsr_inds(
57   p_dflt_ind IN VARCHAR2 DEFAULT 'N',
58   p_restricted_ind IN VARCHAR2 DEFAULT 'N',
59   p_message_name OUT NOCOPY VARCHAR2 )
60   RETURN BOOLEAN AS
61   BEGIN
62   BEGIN
63   	-- when both the default indicator and the
64   	-- restricted indicator are set to 'N'
65   	IF (p_dflt_ind = 'N' AND p_restricted_ind = 'N') THEN
66   		--CLOSE c_fsr_indicators;
67   		p_message_name := 'IGS_PS_FUNDSRC_REST_INDSET';
68   		RETURN FALSE;
69   	ELSE
70   	-- when the default indicator and the
71   	-- restricted indocator are both set to
72   	-- something other than 'N'
73   		p_message_name := NULL;
74   		RETURN TRUE;
75   	END IF;
76   EXCEPTION
77   	WHEN OTHERS THEN
78 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
79 		Fnd_Message.Set_Token('NAME','IGS_PS_VAL_FSr.crsp_val_fsr_inds');
80 		IGS_GE_MSG_STACK.ADD;
81 		APP_EXCEPTION.RAISE_EXCEPTION;
82   END;
83   END crsp_val_fsr_inds;
84   --
85   -- Validate the funding source restriction funding source.
86   FUNCTION crsp_val_fsr_fnd_src(
87   p_funding_source IN VARCHAR2 ,
88   p_message_name OUT NOCOPY VARCHAR2 )
89   RETURN BOOLEAN AS
90   	v_closed_ind		IGS_FI_FUND_SRC.closed_ind%TYPE;
91   	CURSOR	c_funding_source IS
92   		SELECT closed_ind
93   		FROM   IGS_FI_FUND_SRC
94   		WHERE  funding_source = p_funding_source;
95   BEGIN
96   	OPEN c_funding_source;
97   	FETCH c_funding_source INTO v_closed_ind;
98   	IF c_funding_source%NOTFOUND THEN
99   		p_message_name := NULL;
100   		CLOSE c_funding_source;
101   		RETURN TRUE;
102   	ELSIF (v_closed_ind = 'N') THEN
103   		p_message_name := NULL;
104   		CLOSE c_funding_source;
105   		RETURN TRUE;
106   	ELSE
107   		p_message_name := 'IGS_PS_FUND_SOURCE_CLOSED';
108   		CLOSE c_funding_source;
109   		RETURN FALSE;
110   	END IF;
111   EXCEPTION
112   	WHEN OTHERS THEN
113 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
114 		Fnd_Message.Set_Token('NAME','IGS_PS_VAL_FSr.crsp_val_fsr_fnd_src');
115 		IGS_GE_MSG_STACK.ADD;
116 		APP_EXCEPTION.RAISE_EXCEPTION;
117   END crsp_val_fsr_fnd_src;
118   --
119   -- Validate the funding source restriction default indicator.
120   FUNCTION crsp_val_fsr_default(
121   p_course_cd IN VARCHAR2 ,
122   p_version_number IN NUMBER ,
123   p_message_name OUT NOCOPY VARCHAR2 )
124   RETURN BOOLEAN AS
125   	v_funding_source_rest_rec	IGS_FI_FND_SRC_RSTN%ROWTYPE;
126   	CURSOR	c_funding_source_rest IS
127   		SELECT	*
128   		FROM	IGS_FI_FND_SRC_RSTN
129   		WHERE	course_cd 	= p_course_cd 		AND
130   			version_number 	= p_version_number 	AND
131   			dflt_ind 		= 'Y';
132   BEGIN
133   	OPEN c_funding_source_rest;
134   	LOOP
135   		FETCH c_funding_source_rest INTO v_funding_source_rest_rec;
136   		EXIT WHEN c_funding_source_rest%NOTFOUND;
137   	END LOOP;
138   	IF (c_funding_source_rest%ROWCOUNT <= 1) THEN
139   		-- none or one record is selected
140   		CLOSE c_funding_source_rest;
141   		p_message_name := NULL;
142   		RETURN TRUE;
143   	ELSE
144   		-- more than one record is selected
145   		CLOSE c_funding_source_rest;
146   		p_message_name := 'IGS_PS_ONE_FUNDSRC_RESCT_MARK';
147   		RETURN FALSE;
148   	END IF;
149   EXCEPTION
150   	WHEN OTHERS THEN
151 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
152 		Fnd_Message.Set_Token('NAME','IGS_PS_VAL_FSr.crsp_val_fsr_default');
153 		IGS_GE_MSG_STACK.ADD;
154 		APP_EXCEPTION.RAISE_EXCEPTION;
155   END crsp_val_fsr_default;
156 END IGS_PS_VAL_FSr;