DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_EN_VAL_ETDE

Source


1 PACKAGE BODY IGS_EN_VAL_ETDE AS
2 /* $Header: IGSEN38B.pls 115.7 2002/11/28 23:58:30 nsidana ship $ */
3   --
4   -- Validate the encumbrance type closed indicator.
5   FUNCTION enrp_val_et_closed(
6   p_encumbrance_type IN VARCHAR2 ,
7   p_message_name OUT NOCOPY VARCHAR2)
8   RETURN BOOLEAN AS
9   BEGIN
10   DECLARE
11 
12   	v_closed_ind		IGS_FI_ENCMB_TYPE.closed_ind%TYPE;
13   	CURSOR c_encum_type_ind IS
14   		SELECT 	closed_ind
15   		FROM	IGS_FI_ENCMB_TYPE
16   		WHERE	encumbrance_type = p_encumbrance_type;
17   BEGIN
18   	-- This module checks if the IGS_FI_ENCMB_TYPE
19   	-- is closed
20   	p_message_name := null;
21   	OPEN  c_encum_type_ind;
22   	FETCH c_encum_type_ind INTO v_closed_ind;
23   	IF (c_encum_type_ind%NOTFOUND) THEN
24   		CLOSE c_encum_type_ind;
25   		RETURN TRUE;
26   	END IF;
27   	CLOSE c_encum_type_ind;
28   	IF (v_closed_ind = 'Y') THEN
29   		p_message_name := 'IGS_EN_ENCUMB_TYPE_CLOSED';
30   		RETURN FALSE;
31   	END IF;
32   	RETURN TRUE;
33   EXCEPTION
34   	WHEN OTHERS THEN
35 	       Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
36 		FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_ETDE.enrp_val_et_closed');
37 		IGS_GE_MSG_STACK.ADD;
38 	       App_Exception.Raise_Exception;
39 
40   END;
41   END enrp_val_et_closed;
42   --
43   -- Validate the system encumbrance effect type closed indicator.
44   FUNCTION enrp_val_seet_closed(
45   p_s_encmb_effect_type IN VARCHAR2 ,
46   p_message_name OUT NOCOPY VARCHAR2)
47   RETURN BOOLEAN AS
48   BEGIN
49   DECLARE
50 
51   	v_closed_ind		IGS_EN_ENCMB_EFCTTYP_V.closed_ind%TYPE;
52   	CURSOR c_s_encmb_type_ind IS
53   		SELECT 	closed_ind
54   		FROM	IGS_EN_ENCMB_EFCTTYP_V
55   		WHERE	s_encmb_effect_type = p_s_encmb_effect_type;
56   BEGIN
57   	-- This module checks if the IGS_FI_ENCMB_TYPE
58   	-- is closed
59   	p_message_name := null;
60   	OPEN  c_s_encmb_type_ind;
61   	FETCH c_s_encmb_type_ind INTO v_closed_ind;
62   	IF (c_s_encmb_type_ind%NOTFOUND) THEN
63   		CLOSE c_s_encmb_type_ind;
64   		RETURN TRUE;
65   	END IF;
66   	CLOSE c_s_encmb_type_ind;
67   	IF (v_closed_ind = 'Y') THEN
68   		p_message_name := 'IGS_EN_SYS_ENCUMB_EFTYPE_CLOS';
69   		RETURN FALSE;
70   	END IF;
71   	RETURN TRUE;
72   EXCEPTION
73   	WHEN OTHERS THEN
74 	        Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
75 		FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_ETDE.enrp_val_seet_closed');
76 		IGS_GE_MSG_STACK.ADD;
77       	        App_Exception.Raise_Exception;
78 
79 
80   END;
81   END enrp_val_seet_closed;
82     -- Validate the s_progression_outcome_type.
83   FUNCTION enrp_val_et_pot(
84   p_encumbrance_type IN VARCHAR2 ,
85   p_message_name1 OUT NOCOPY VARCHAR2 ,
86   p_message_name2 OUT NOCOPY VARCHAR2 )
87   RETURN BOOLEAN IS
88   	gv_other_detail			VARCHAR2(255);
89   BEGIN 	-- enrp_val_et_pot
90   	-- Validate the s_progression_outcome_type for an encumbrance_type which
91   	-- has been entered.
92   DECLARE
93   	v_message_name			fnd_new_messages.message_name%TYPE;
94   	v_validation_failed			BOOLEAN DEFAULT FALSE;
95   	CURSOR c_pot IS
96   		SELECT	pot.s_progression_outcome_type
97   		FROM	IGS_PR_OU_TYPE 	pot
98   		WHERE	NVL(pot.encumbrance_type,' ')	= p_encumbrance_type;
99   BEGIN
100   	-- Set the default message names
101   	p_message_name1 := NULL;
102   	p_message_name2 := NULL;
103   	FOR v_pot_rec IN c_pot LOOP
104   		IF NOT IGS_PR_VAL_POT.prgp_val_pot_et (
105   						v_pot_rec.s_progression_outcome_type,
106   						p_encumbrance_type,
107   						v_message_name) THEN
108   			v_validation_failed := TRUE;
109   			EXIT;
110   		END IF;
111   	END LOOP;
112   	IF v_validation_failed THEN
113   		p_message_name1 := 'IGS_PR_CHNG_CAUSED_ERR';
114   		p_message_name2 := v_message_name;
115   		RETURN FALSE;
116   	END IF;
117   	RETURN TRUE;
118   EXCEPTION
119   	WHEN OTHERS THEN
120   		IF c_pot%ISOPEN THEN
121   			CLOSE c_pot;
122   		END IF;
123   		RAISE;
124   END;
125   EXCEPTION
126   	WHEN OTHERS THEN
127 	       Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
128 		FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_ETDE.enrp_val_et_pot');
129 		IGS_GE_MSG_STACK.ADD;
130 	       App_Exception.Raise_Exception;
131   		RAISE;
132   END enrp_val_et_pot;
133 END IGS_EN_VAL_ETDE;