1 PACKAGE BODY IGS_FI_VAL_FLS AS
2 /* $Header: IGSFI30B.pls 115.6 2002/11/29 00:21:22 nsidana ship $ */
3 /* bug 1956374
4 Duplicate code removal Removed proc finp_val_fls_pps,finp_val_fss_closed1,finp_upd_pps_spnsr
5 bug 2170429
6 Removed functions finp_val_fls_scafs,finp_val_fls_status,finp_val_fls_status2,finp_val_fls_del along with pragmas
7 */
8 -- Validate the Fee Cat Fee Liability is active
9 FUNCTION finp_val_fls_fcfl(
10 p_fee_cat IN IGS_FI_F_CAT_FEE_LBL_ALL.FEE_CAT%TYPE ,
11 p_fee_cal_type IN IGS_FI_F_CAT_FEE_LBL_ALL.fee_cal_type%TYPE ,
12 p_fee_ci_sequence_number IN NUMBER ,
13 p_fee_type IN IGS_FI_F_CAT_FEE_LBL_ALL.fee_type%TYPE ,
14 p_message_name OUT NOCOPY VARCHAR2 )
15 RETURN BOOLEAN AS
16 gv_other_detail VARCHAR2(255);
17 BEGIN -- finp_val_fls_fcfl
18 -- Validate if the IGS_FI_FEE_LBL_SPNSR is related to a
19 -- IGS_FI_F_CAT_FEE_LBL which is ACTIVE.
20 DECLARE
21 cst_active CONSTANT VARCHAR2(6) := 'ACTIVE';
22 v_s_fee_structure_status IGS_FI_FEE_STR_STAT.s_fee_structure_status%TYPE;
23 CURSOR c_fss IS
24 SELECT s_fee_structure_status
25 FROM IGS_FI_FEE_STR_STAT fss,
26 IGS_FI_F_CAT_FEE_LBL fcfl
27 WHERE fcfl.fee_cat = p_fee_cat AND
28 fcfl.fee_cal_type = p_fee_cal_type AND
29 fcfl.fee_ci_sequence_number = p_fee_ci_sequence_number AND
30 fcfl.fee_type = p_fee_type AND
31 fcfl.fee_liability_status = fss.fee_structure_status;
32 BEGIN
33 -- Set the default message number
34 p_message_name := NULL;
35 -- 1. Check parameters
36 IF (
37 p_fee_cat IS NULL OR
38 p_fee_cal_type IS NULL OR
39 p_fee_ci_sequence_number IS NULL OR
40 p_fee_type IS NULL) THEN
41 RETURN TRUE;
42 END IF;
43 -- 2. Validation
44 OPEN c_fss;
45 FETCH c_fss INTO v_s_fee_structure_status;
46 IF c_fss%FOUND THEN
47 IF (v_s_fee_structure_status <> cst_active) THEN
48 CLOSE c_fss;
49 p_message_name := 'IGS_FI_FEECATFEE_LIAB_NOTACTI';
50 RETURN FALSE;
51 END IF;
52 END IF;
53 CLOSE c_fss;
54 RETURN TRUE;
55 END;
56 END finp_val_fls_fcfl;
57 --
58
59 END IGS_FI_VAL_FLS;