1 PACKAGE BODY IGS_AD_VAL_AFS AS
2 /* $Header: IGSAD33B.pls 120.0 2005/06/01 22:34:50 appldev noship $ */
3 --
4 -- Validate against the system admission fee status closed indicator.
5 FUNCTION admp_val_safs_clsd(
6 p_s_adm_fee_status IN VARCHAR2 ,
7 p_message_name OUT NOCOPY VARCHAR2)
8 RETURN BOOLEAN AS
9 BEGIN --AMDP_VAL_SAFS_CLSD
10 --Check if the s_adm_fee_status is closed
11 DECLARE
12 v_closed_ind VARCHAR(1);
13 CURSOR c_safs IS
14 SELECT safs.closed_ind
15 FROM IGS_LOOKUP_VALUES safs
16 WHERE safs.lookup_type = 'ADM_FEE_STATUS' AND
17 safs.lookup_code = p_s_adm_fee_status;
18 BEGIN
19 --- Set the default message number
20 p_message_name := NULL;
21 OPEN c_safs;
22 FETCH c_safs INTO v_closed_ind;
23 IF (c_safs%FOUND) THEN
24 IF (v_closed_ind = 'Y') THEN
25 p_message_name := 'IGS_AD_SYSADM_FEE_STATUS_CLS';
26 CLOSE c_safs;
27 RETURN FALSE;
28 END IF;
29 END IF;
30 CLOSE c_safs;
31 RETURN TRUE;
32 END;
33 EXCEPTION
34 WHEN OTHERS THEN
35 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
36 Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AFS.admp_val_safs_clsd');
37 IGS_GE_MSG_STACK.ADD;
38 App_Exception.Raise_Exception;
39 END admp_val_safs_clsd;
40
41 -- Validate the admission fee status system default indicator.
42 FUNCTION admp_val_afs_dflt(
43 p_adm_fee_status IN VARCHAR2 ,
44 p_s_adm_fee_status IN VARCHAR2 ,
45 p_message_name OUT NOCOPY VARCHAR2 )
46 RETURN BOOLEAN AS
47 BEGIN -- ADMP_VAL_AFS_DFLT
48 -- Check if another adm_fee_status record exists with the system
49 -- default indicator set to 'Y'
50 DECLARE
51 v_count_rec NUMBER;
52 v_sys_def_ind IGS_AD_FEE_STAT.system_default_ind%TYPE;
53 cst_yes CONSTANT CHAR := 'Y';
54 CURSOR c_count (cp_adm_fee_status IGS_AD_FEE_STAT.adm_fee_status%TYPE,
55 cp_s_adm_fee_status IGS_AD_FEE_STAT.s_adm_fee_status%TYPE)IS
56 SELECT count(*),
57 system_default_ind
58 FROM IGS_AD_FEE_STAT afs
59 WHERE afs.adm_fee_status <> cp_adm_fee_status AND
60 afs.s_adm_fee_status = cp_s_adm_fee_status AND
61 afs.system_default_ind = cst_yes
62 GROUP BY system_default_ind;
63 BEGIN
64 --- Set the default message number
65 p_message_name := NULL;
66 OPEN c_count(p_adm_fee_status, p_s_adm_fee_status);
67 FETCH c_count INTO v_count_rec,
68 v_sys_def_ind;
69 IF (c_count%FOUND) THEN
70 IF (v_count_rec > 0) AND (v_sys_def_ind = cst_yes) THEN
71 p_message_name := 'IGS_AD_SYSADM_FEEST_ONLY_ONE';
72 CLOSE c_count;
73 RETURN FALSE;
74 END IF;
75 END IF;
76 CLOSE c_count;
77 RETURN TRUE;
78 END;
79 EXCEPTION
80 WHEN OTHERS THEN
81 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
82 Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AFS.admp_val_afs_dflt');
83 IGS_GE_MSG_STACK.ADD;
84 App_Exception.Raise_Exception;
85 END admp_val_afs_dflt;
86 --
87 -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
88
89 END IGS_AD_VAL_AFS;