DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_VAL_CGFT

Source


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