DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AS_VAL_GSGT

Source


1 PACKAGE BODY IGS_AS_VAL_GSGT AS
2 /* $Header: IGSAS25B.pls 115.4 2002/11/28 22:45:45 nsidana ship $ */
3 
4   --
5 
6   -- Validate grade may not be translated against another grade in same ver
7   FUNCTION assp_val_gsgt_gs_gs(
8   p_grading_schema_cd IN VARCHAR2 ,
9   p_version_number IN NUMBER ,
10   p_to_grading_schema_cd IN VARCHAR2 ,
11   p_to_version_number IN NUMBER ,
12   p_message_name OUT NOCOPY varchar2 )
13   RETURN BOOLEAN IS
14   	gv_other_detail		VARCHAR2(255);
15   BEGIN	-- assp_val_gsgt_gs_gs
16    	-- This module validates that a grade may not be translated against another
17   	-- grade within the same version of the grading schema. It also provides a
18   	-- warning if it is translated against the same grading schema but a
19   	-- different version number.
20   DECLARE
21   BEGIN
22   	-- Set the default message number
23   	p_message_name := null;
24   	IF p_grading_schema_cd = p_to_grading_schema_cd THEN
25   		IF p_version_number = p_to_version_number THEN
26   			p_message_name := 'IGS_AS_GRD_NOT_TRANSLATED';
27   			RETURN FALSE;
28   		ELSE --version numbers are different
29   			p_message_name := 'IGS_AS_TRANS_GRD_ANOTHER_GRD';
30   			RETURN TRUE;
31   		END IF;
32   	END IF;
33   	-- Return the default value
34   	RETURN TRUE;
35   END;
36   EXCEPTION
37   	WHEN OTHERS THEN
38        Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
39        FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_GSGT.assp_val_gs_cur_fut');
40        IGS_GE_MSG_STACK.ADD;
41        App_Exception.Raise_Exception;
42   END assp_val_gsgt_gs_gs;
43   --
44   -- Validate grade may not be translated against more than 1 grade
45   FUNCTION assp_val_gsgt_multi(
46   p_grading_schema_cd IN VARCHAR2 ,
47   p_version_number IN NUMBER ,
48   p_grade IN VARCHAR2 ,
49   p_to_grading_schema_cd IN VARCHAR2 ,
50   p_to_version_number IN NUMBER ,
51   p_to_grade IN VARCHAR2 ,
52   p_message_name OUT NOCOPY varchar2 )
53   RETURN BOOLEAN IS
54   	gv_other_detail		VARCHAR2(255);
55   BEGIN	-- assp_val_gsgt_multi
56   DECLARE
57   	v_gsgt_exists		VARCHAR2(1);
58   	CURSOR c_gsgt IS
59   		SELECT 'x'
60   		FROM IGS_AS_GRD_SCH_TRN gsgt
61   		WHERE	gsgt.grading_schema_cd		= p_grading_schema_cd AND
62   			gsgt.version_number		= p_version_number AND
63   			gsgt.grade			= p_grade AND
64   			gsgt.to_grading_schema_cd	= p_to_grading_schema_cd AND
65   			gsgt.to_version_number 		= p_to_version_number AND
66   			gsgt.to_grade 			<> p_to_grade;
67   BEGIN
68   	-- Set the default message number
69   	p_message_name := null;
70   	-- Cursor handling
71   	--ie; Do not validate against record being passed in
72   	OPEN c_gsgt ;
73   	FETCH c_gsgt INTO v_gsgt_exists;
74   	IF c_gsgt %FOUND THEN
75   		CLOSE c_gsgt;
76   		p_message_name :='IGS_AS_GRD_MUSTBE_TRANSLATED';
77   		RETURN FALSE;
78   	END IF;
79   	CLOSE c_gsgt ;
80   	-- Return the default value
81   	RETURN TRUE;
82   EXCEPTION
83   	WHEN OTHERS THEN
84   		IF c_gsgt %ISOPEN THEN
85   			CLOSE c_gsgt;
86   		END IF;
87   		RAISE;
88   END;
89   EXCEPTION
90   	WHEN OTHERS THEN
91 	       Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
92 	       FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_GSGT.assp_val_gsgt_multi');
93 	       IGS_GE_MSG_STACK.ADD;
94        	       App_Exception.Raise_Exception;
95   END assp_val_gsgt_multi;
96   --
97   -- Validate rslt type for grade is same as rslt type for xlation grade
98   FUNCTION assp_val_gsgt_result(
99   p_grading_schema_cd IN VARCHAR2 ,
100   p_version_number IN NUMBER ,
101   p_grade IN VARCHAR2 ,
102   p_to_grading_schema_cd IN VARCHAR2 ,
103   p_to_version_number IN NUMBER ,
104   p_to_grade IN VARCHAR2 ,
105   p_message_name OUT NOCOPY varchar2 )
106   RETURN BOOLEAN IS
107   	gv_other_detail		VARCHAR2(255);
108   BEGIN	-- assp_val_gsgt_result
109   DECLARE
110   	v_gsg_s_result_type		IGS_AS_GRD_SCH_GRADE.s_result_type%TYPE;
111   	v_gsg_s_result_type_to		IGS_AS_GRD_SCH_GRADE.s_result_type%TYPE;
112   BEGIN
113   	-- Set the default message number
114   	p_message_name := null;
115   	--2. Main Body
116   	v_gsg_s_result_type := IGS_AS_GEN_002.ASSP_GET_GSG_RESULT(
117   						p_grading_schema_cd,
118   						p_version_number,
119   						p_grade);
120   	v_gsg_s_result_type_to := IGS_AS_GEN_002.ASSP_GET_GSG_RESULT(
121   						p_to_grading_schema_cd,
122   						p_to_version_number,
123   						p_to_grade);
124   	IF v_gsg_s_result_type <> v_gsg_s_result_type_to THEN
125   		p_message_name := 'IGS_AS_FROM_TO_GRADES_SYS';
126   		RETURN FALSE;
127   	END IF;
128   	-- Return the default value
129   	RETURN TRUE;
130   END;
131   EXCEPTION
132   	WHEN OTHERS THEN
133 	       Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
134 	       FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_GSGT.assp_val_gsgt_multi');
135 	       IGS_GE_MSG_STACK.ADD;
136        		App_Exception.Raise_Exception;
137   END assp_val_gsgt_result;
138   --
139   -- Validate is SUAO exist when changing/deleting translations
140   FUNCTION assp_val_gsgt_suao(
141   p_grading_schema_cd IN VARCHAR2 ,
142   p_version_number IN NUMBER ,
143   p_grade IN VARCHAR2 ,
144   p_to_grading_schema_cd IN VARCHAR2 ,
145   p_to_version_number IN NUMBER ,
146   p_to_grade IN VARCHAR2 ,
147   p_message_name OUT NOCOPY varchar2 )
148   RETURN BOOLEAN IS
149   	gv_other_detail		VARCHAR2(255);
150   BEGIN	-- assp_val_gsgt_suao
151   DECLARE
152   	v_suao_exists		VARCHAR2(1);
153   	CURSOR c_suao IS
154   		SELECT	'x'
155   		FROM	IGS_AS_SU_STMPTOUT	suao
156   		WHERE	suao.grading_schema_cd			= p_grading_schema_cd		AND
157   			suao.version_number			= p_version_number		AND
158   			suao.grade				= p_grade			AND
159   			suao.translated_grading_schema_cd	= p_to_grading_schema_cd	AND
160   			suao.translated_version_number		= p_to_version_number		AND
161   			suao.translated_grade			= p_to_grade			AND
162   			suao.finalised_outcome_ind		= 'Y';
163   BEGIN
164   	-- Set the default message number
165   	p_message_name := null;
166   	--2. Main Body
167   	OPEN c_suao;
168   	FETCH c_suao INTO v_suao_exists;
169   	IF c_suao%FOUND THEN
170   		CLOSE c_suao;
171   		p_message_name := 'IGS_AS_FINAL_SUA_OUTCOMES';
172   		RETURN FALSE;
173   	END IF;
174   	CLOSE c_suao;
175   	-- Return the default value
176   	RETURN TRUE;
177   EXCEPTION
178   	WHEN OTHERS THEN
179   		IF c_suao%ISOPEN THEN
180   			CLOSE c_suao;
181   		END IF;
182   		RAISE;
183   END;
184   EXCEPTION
185   	WHEN OTHERS THEN
186 	       Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
187 	       FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_GSGT.assp_val_gsgt_suao');
188 	       IGS_GE_MSG_STACK.ADD;
189        	      App_Exception.Raise_Exception;
190   END assp_val_gsgt_suao;
191   --
192   -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
193 END IGS_AS_VAL_GSGT;