DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_APCS

Source


1 PACKAGE BODY IGS_AD_VAL_APCS AS
2 /* $Header: IGSAD42B.pls 115.8 2002/11/28 21:32:21 nsidana ship $ */
3   -- Validate the IGS_AD_PRCS_CAT_STEP.mandatory_step_ind.
4   FUNCTION admp_val_apcs_mndtry(
5   p_s_admission_step_type IN VARCHAR2 ,
6   p_mandatory_step_ind IN VARCHAR2 DEFAULT 'N',
7   p_message_name OUT NOCOPY VARCHAR2 )
8     RETURN BOOLEAN IS
9   	gv_other_detail		VARCHAR2(255);
10   BEGIN   -- admp_val_apcs_mndtry
11   	-- Validate the admission_process_cat_step.mandatory_step_ind
12   DECLARE
13   	cst_no				CONSTANT CHAR := 'N';
14   	v_step_order_applicable_ind
15   			IGS_LOOKUPS_view.step_order_applicable_ind%TYPE;
16   	CURSOR c_apcs (
17   		cp_s_admission_step_type	IGS_AD_PRCS_CAT_STEP.s_admission_step_type%TYPE) IS
18                   SELECT  sasgt.step_order_applicable_ind
19                   FROM    IGS_LOOKUPS_view sasgt,
20                           IGS_LOOKUPS_view sast
21                   WHERE   sasgt.lookup_code = sast.step_group_type AND
22                           sast.lookup_code = cp_s_admission_step_type AND
23                           sast.lookup_type = 'ADMISSION_STEP_TYPE' AND --2402377
24                           sasgt.lookup_Type = 'ADM_STEP_GROUP_TYPE'; --2402377
25   BEGIN
26   	-- Set the default message number
27   	p_message_name := Null;
28   	OPEN c_apcs(p_s_admission_step_type);
29   	FETCH c_apcs INTO v_step_order_applicable_ind;
30   	IF (c_apcs%FOUND) THEN
31   		IF (v_step_order_applicable_ind = cst_no) AND
32   			(p_mandatory_step_ind = cst_no) THEN
33   			p_message_name := 'IGS_AD_MAND_STEP_IND_SETTO_Y';
34   			CLOSE c_apcs;
35   			RETURN FALSE;
36   		END IF;
37   	END IF;
38   	CLOSE c_apcs;
39   	RETURN TRUE;
40   END;
41   EXCEPTION
42   	WHEN OTHERS THEN
43 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
44 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_APCS.admp_val_apcs_mndtry');
45 	    IGS_GE_MSG_STACK.ADD;
46 	    App_Exception.Raise_Exception;
47   END admp_val_apcs_mndtry;
48   --
49   -- Validate the IGS_AD_PRCS_CAT_STEP.step_order_num.
50   FUNCTION admp_val_apcs_order(
51   p_s_admission_step_type IN VARCHAR2 ,
52   p_step_order_num IN NUMBER ,
53   p_message_name OUT NOCOPY VARCHAR2 )
54   RETURN BOOLEAN IS
55   	gv_other_detail			VARCHAR2(255);
56   BEGIN   -- admp_val_apcs_order
57   	-- Validate the IGS_AD_PRCS_CAT_STEP.step_order_num
58   DECLARE
59   	cst_no				CONSTANT CHAR := 'N';
60   	cst_yes				CONSTANT CHAR := 'Y';
61   	v_step_order_num		IGS_LOOKUPS_view.step_type_restriction_num_ind%TYPE;
62   	CURSOR c_order(
63   		cp_s_admission_step_type	IGS_AD_PRCS_CAT_STEP.s_admission_step_type%TYPE) IS
64                   SELECT  sasgt.step_order_applicable_ind
65                   FROM    IGS_LOOKUPS_view sasgt,
66                           IGS_LOOKUPS_view sast
67                   WHERE   sasgt.lookup_code = sast.step_group_type AND
68                           sast.lookup_code = cp_s_admission_step_type AND
69                           sast.lookup_type = 'ADMISSION_STEP_TYPE' AND --2402377
70                           sasgt.lookup_Type = 'ADM_STEP_GROUP_TYPE'; --2402377
71 
72   BEGIN
73   	-- Set the default message number
74   	p_message_name := Null;
75   	OPEN c_order(p_s_admission_step_type);
76   	FETCH c_order INTO v_step_order_num;
77   	IF (c_order%FOUND) THEN
78   		IF (v_step_order_num = cst_yes) AND (p_step_order_num IS NULL) THEN
79   			p_message_name := 'IGS_AD_STEPORDER_MUST_VALUE';
80   			CLOSE c_order;
81   			RETURN FALSE;
82   		ELSIF (v_step_order_num = cst_no) AND (p_step_order_num IS NOT NULL) THEN
83   			p_message_name := 'IGS_AD_STEPORDER_MUSTNOT_VALU';
84   			CLOSE c_order;
85   			RETURN FALSE;
86   		END IF;
87   	END IF;
88   	CLOSE c_order;
89   	RETURN TRUE;
90   END;
91   EXCEPTION
92   	WHEN OTHERS THEN
93 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
94 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_APCS.admp_val_apcs_order');
95 	    IGS_GE_MSG_STACK.ADD;
96 	    App_Exception.Raise_Exception;
97   END admp_val_apcs_order;
98   --
99   -- Validate the IGS_AD_PRCS_CAT_STEP.step_type_restriction_num.
100   FUNCTION admp_val_apcs_rstrct(
101   p_s_admission_step_type IN VARCHAR2 ,
102   p_step_type_restriction_num IN NUMBER ,
103   p_message_name OUT NOCOPY VARCHAR2 )
104   RETURN BOOLEAN IS
105   	gv_other_detail		VARCHAR2(255);
106   BEGIN   -- admp_val_apcs_rstrct
107   	-- Validate the IGS_AD_PRCS_CAT_STEP.step_type_restriction_num
108   DECLARE
109   	cst_no					CONSTANT CHAR := 'N';
110   	cst_yes					CONSTANT CHAR := 'Y';
111   	v_step_type_rest_num_ind
112   			IGS_LOOKUPS_view.step_type_restriction_num_ind%TYPE;
113   	CURSOR c_rstrct(
114   		cp_s_admission_step_type	IGS_AD_PRCS_CAT_STEP.s_admission_step_type%TYPE) IS
115   		SELECT	sast.step_type_restriction_num_ind
116   		FROM	IGS_LOOKUPS_view sast
117   		WHERE	sast.lookup_code = cp_s_admission_step_type  AND
118   		        sast.lookup_Type = 'ADMISSION_STEP_TYPE';
119   BEGIN
120   	-- Set the default message number
121   	p_message_name := Null;
122   	OPEN c_rstrct(p_s_admission_step_type);
123   	FETCH c_rstrct INTO v_step_type_rest_num_ind;
124   	IF (c_rstrct%FOUND) THEN
125   		IF (v_step_type_rest_num_ind = cst_yes) AND
126   			(p_step_type_restriction_num IS NULL) THEN
127   			p_message_name := 'IGS_AD_NUMRES_MUST_HAVE_VALUE';
128   			CLOSE c_rstrct;
129   			RETURN FALSE;
130   		ELSIF (v_step_type_rest_num_ind = cst_no) AND
131   			(p_step_type_restriction_num IS NOT NULL) THEN
132   			p_message_name := 'IGS_AD_NUMRES_MUSTNOT_VALUE';
133   			CLOSE c_rstrct;
134   			RETURN FALSE;
135   		END IF;
136   	END IF;
137   	CLOSE c_rstrct;
138   	RETURN TRUE;
139   END;
140   EXCEPTION
141   	WHEN OTHERS THEN
142 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
143 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_APCS.admp_val_apcs_rstrct');
144 	    IGS_GE_MSG_STACK.ADD;
145 	    App_Exception.Raise_Exception;
146   END admp_val_apcs_rstrct;
147   --
148   -- Validate if IGS_AD_CAT.admission_cat is closed.
149 
150   --
151   -- Validate if s_admission_step_type.s_admission_step_type is closed.
152   FUNCTION admp_val_sasty_clsd(
153   p_s_admission_step_type IN VARCHAR2 ,
154   p_message_name OUT NOCOPY VARCHAR2 )
155   RETURN BOOLEAN IS
156   	gv_other_detail		VARCHAR2(255);
157   BEGIN   -- ADMP_VAL_SASTY_CLOSED
158   	-- Validate if s_admission_step_type.s_admission_step_type is closed.
159   DECLARE
160   	v_closed_ind		IGS_LOOKUPS_view.closed_ind%type;
161   	CURSOR c_sasty IS
162   		SELECT	sasty.closed_ind
163   		FROM	IGS_LOOKUPS_view sasty
164   		WHERE	sasty.lookup_code = p_s_admission_step_type AND
165   		        sasty.lookup_type = 'ADMISSION_STEP_TYPE';
166   BEGIN
167   	-- Set the default message number
168   	p_message_name := Null;
169   	OPEN c_sasty;
170   	FETCH c_sasty INTO v_closed_ind;
171   	IF (c_sasty%FOUND) THEN
172   		IF (v_closed_ind = 'Y') THEN
173   			p_message_name := 'IGS_AD_SYSADM_STEPTYPE_CLOSED';
174   			CLOSE c_sasty;
175   			RETURN FALSE;
176   		END IF;
177   	END IF;
178   	CLOSE c_sasty;
179   	RETURN TRUE;
180   END;
181   EXCEPTION
182   	WHEN OTHERS THEN
183 	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
184 	    Fnd_Message.Set_Token('NAME','IGS_AD_VAL_APCS.admp_val_sasty_clsd');
185 	    IGS_GE_MSG_STACK.ADD;
186 	    App_Exception.Raise_Exception;
187   END admp_val_sasty_clsd;
188 
189 END IGS_AD_VAL_APCS;