1 PACKAGE BODY IGS_AD_VAL_AEQS AS
2 /* $Header: IGSAD32B.pls 120.0 2005/06/01 16:59:41 appldev noship $ */
3 --
4 -- Check against the system adm entry qualification status closed ind.
5 FUNCTION admp_val_saeqs_clsd(
6 p_s_adm_entry_qual_status IN VARCHAR2 ,
7 p_message_name OUT NOCOPY VARCHAR2 )
8 RETURN BOOLEAN AS
9 BEGIN --AMDP_VAL_SADS_CLSD
10 --Check if the s_adm_doc_status is closed
11 DECLARE
12 v_closed_ind VARCHAR(1);
13 CURSOR c_saeqs IS
14 SELECT saeqs.closed_ind
15 FROM IGS_LOOKUP_VALUES saeqs
16 WHERE saeqs.lookup_type = 'ADM_ENTRY_QUAL_STATUS' AND
17 saeqs.lookup_code = p_s_adm_entry_qual_status;
18 BEGIN
19 --- Set the default message number
20 p_message_name := NULL;
21 OPEN c_saeqs;
22 FETCH c_saeqs INTO v_closed_ind;
23 IF (c_saeqs%FOUND) THEN
24 IF (v_closed_ind = 'Y') THEN
25 p_message_name := 'IGS_AD_SYSADM_ENTRYSTATUS_CLS';
26 CLOSE c_saeqs;
27 RETURN FALSE;
28 END IF;
29 END IF;
30 CLOSE c_saeqs;
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_AEQS.admp_val_saeqs_clsd');
37 IGS_GE_MSG_STACK.ADD;
38 App_Exception.Raise_Exception;
39 END admp_val_saeqs_clsd;
40 --
41 -- Process AEQS rowids in a PL/SQL TABLE for the current commit.
42
43 -- Validate the admission entry qualification status system default ind.
44 FUNCTION admp_val_aeqs_dflt(
45 p_adm_entry_qual_status IN VARCHAR2 ,
46 p_s_adm_entry_qual_status IN VARCHAR2 ,
47 p_message_name OUT NOCOPY VARCHAR2 )
48 RETURN BOOLEAN AS
49 BEGIN -- ADMP_VAL_AEQS_DFLT
50 -- Check if another adm_entry_qual_status record exists with the system
51 -- default indicator set to 'Y'
52 DECLARE
53 v_count_rec NUMBER;
54 v_sys_def_ind IGS_AD_ENT_QF_STAT.system_default_ind%TYPE;
55 CURSOR c_count IS
56 SELECT count(*),
57 system_default_ind
58 FROM IGS_AD_ENT_QF_STAT aeqs
59 WHERE aeqs.adm_entry_qual_status <> p_adm_entry_qual_status AND
60 aeqs.s_adm_entry_qual_status = p_s_adm_entry_qual_status AND
61 aeqs.system_default_ind = 'Y'
62 GROUP BY system_default_ind;
63 BEGIN
64 --- Set the default message number
65 p_message_name := NULL;
66 OPEN c_count;
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 = 'Y') THEN
71 p_message_name := 'IGS_AD_SYSADM_ENTRY_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_AEQS.admp_val_aeqs_dflt');
83 IGS_GE_MSG_STACK.ADD;
84 App_Exception.Raise_Exception;
85 END admp_val_aeqs_dflt;
86 --
87 -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
88
89
90 END IGS_AD_VAL_AEQS;