DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_VAL_CTFT

Source


1 PACKAGE BODY IGS_FI_VAL_CTFT AS
2 /* $Header: IGSFI16B.pls 115.5 2002/11/29 00:18:09 nsidana ship $ */
3   -------------------------------------------------------------------------------------------
4   --Change History:
5   --Who         When            What
6   --avenkatr    29-AUG-2001    Bug Id : 1956374. Removed procedure "crsp_val_cty_closed"
7   -------------------------------------------------------------------------------------------
8 
9   -- Ensure IGS_PS_COURSE group fee triggers can be created.
10   FUNCTION finp_val_ctft_ins(
11   p_fee_type IN VARCHAR2 ,
12   p_message_name OUT NOCOPY VARCHAR2 )
13   RETURN BOOLEAN AS
14   	gv_other_detail		VARCHAR2(255);
15   BEGIN	-- finp_val_ctft_ins
16   	-- Validate IGS_PS_TYPE_FEE_TRG.IGS_FI_FEE_TYPE.
17   	-- If IGS_FI_FEE_TYPE.s_fee_trigger_cat <> 'COURSE'
18   	--  then IGS_PS_COURSE type fee triggers cannot be defined.
19   DECLARE
20   	CURSOR c_ft(
21   			cp_fee_type		IGS_FI_FEE_TYPE.fee_type	%TYPE) IS
22   		SELECT	s_fee_trigger_cat
23   		FROM	IGS_FI_FEE_TYPE
24   		WHERE	fee_type = cp_fee_type;
25   	v_ft_rec		c_ft%ROWTYPE;
26   	cst_course		CONSTANT VARCHAR2(10) := 'COURSE';
27   BEGIN
28   	-- Set the default message number
29   	p_message_name := Null;
30   	-- Check parameters
31   	IF p_fee_type IS NULL THEN
32   		RETURN TRUE;
33   	END IF;
34   	-- Get the system fee trigger category of the IGS_FI_FEE_TYPE.
35   	OPEN c_ft (p_fee_type);
36   	FETCH c_ft INTO v_ft_rec;
37   	IF c_ft%NOTFOUND THEN
38   		CLOSE c_ft;
39   		RETURN TRUE;
40   	END IF;
41   	CLOSE c_ft;
42   	IF v_ft_rec.s_fee_trigger_cat <> cst_course THEN
43   		p_message_name := 'IGS_FI_PRGTYPE_TRG_COURSE';
44   		RETURN FALSE;
45   	END IF;
46   	-- Return the default value
47   	RETURN TRUE;
48   END;
49   END finp_val_ctft_ins;
50   --
51   -- Ensure only one open IGS_PS_TYPE_FEE_TRG record exists..
52   FUNCTION finp_val_ctft_open(
53   p_fee_cat IN VARCHAR2 ,
54   p_fee_cal_type IN VARCHAR2 ,
55   p_fee_ci_sequence_number IN NUMBER ,
56   p_fee_type IN VARCHAR2 ,
57   p_course_type IN VARCHAR2 ,
58   p_create_dt IN DATE ,
59   p_message_name OUT NOCOPY VARCHAR2 )
60   RETURN BOOLEAN AS
61   	gv_other_detail		VARCHAR2(255);
62   BEGIN	-- finp_val_ctft_open
63   	-- validate that there no other 'open-ended' IGS_PS_GRP_FEE_TRG records for
64   	-- the nominated IGS_PS_TYPE and the same parent IGS_FI_F_CAT_FEE_LBL
65   DECLARE
66   	CURSOR c_ctft IS
67   		SELECT	ctft.course_type
68   		FROM	IGS_PS_TYPE_FEE_TRG ctft
69   		WHERE	ctft.fee_cat		= p_fee_cat AND
70   			ctft.fee_cal_type 	= p_fee_cal_type AND
71   			ctft.fee_ci_sequence_number = p_fee_ci_sequence_number AND
72   			ctft.fee_type		= p_fee_type AND
73   			ctft.course_type	= p_course_type AND
74   			ctft.create_dt		<> p_create_dt AND
75   			ctft.logical_delete_dt IS NULL;
76   	v_course_type	IGS_PS_TYPE_FEE_TRG.course_type%TYPE;
77   BEGIN
78   	--- Set the default message number
79   	p_message_name := Null;
80   	IF p_fee_cat IS NULL OR
81   			p_fee_cal_type 		 IS NULL OR
82   			p_fee_ci_sequence_number IS NULL OR
83   			p_fee_type 		 IS NULL OR
84   			p_course_type 		 IS NULL OR
85   			p_create_dt 		 IS NULL 	THEN
86   		RETURN TRUE;
87   	END IF;
88   	OPEN c_ctft;
89   	FETCH c_ctft INTO v_course_type;
90   	IF (c_ctft%FOUND) THEN
91   		p_message_name := 'IGS_FI_PRGTYPE_FEETRG_OPEN';
92   		CLOSE c_ctft;
93   		RETURN FALSE;
94   	END IF;
95   	CLOSE c_ctft;
96   	RETURN TRUE;
97   END;
98   END finp_val_ctft_open;
99 
100 
101   --
102 END IGS_FI_VAL_CTFT;