1 PACKAGE BODY IGS_AD_VAL_AAS AS
2 /* $Header: IGSAD19B.pls 120.0 2005/06/02 00:05:25 appldev noship $ */
3
4 --
5 -- Validate against the system adm application status closed indicator.
6 FUNCTION admp_val_saas_clsd(
7 p_s_adm_appl_status IN VARCHAR2 ,
8 p_message_name OUT NOCOPY VARCHAR2 )
9 RETURN BOOLEAN IS
10 BEGIN --AMDP_VAL_SAAS_CLSD
11 --Check if the s_adm_appl_status is closed
12 DECLARE
13 v_closed_ind VARCHAR(1);
14 CURSOR c_saas IS
15 SELECT slv.closed_ind
16 FROM IGS_LOOKUP_VALUES slv
17 WHERE slv.lookup_type = 'ADM_APPL_STATUS' AND
18 slv.Lookup_code = p_s_adm_appl_status;
19 BEGIN
20 --- Set the default message number
21 p_message_name := null;
22 OPEN c_saas;
23 FETCH c_saas INTO v_closed_ind;
24 IF (c_saas%FOUND) THEN
25 IF (v_closed_ind = 'Y') THEN
26 p_message_name := 'IGS_AD_SYSADM_APPL_STATUS_CLS';
27 CLOSE c_saas;
28 RETURN FALSE;
29 END IF;
30 END IF;
31 CLOSE c_saas;
32 RETURN TRUE;
33 END;
34 EXCEPTION
35 WHEN OTHERS THEN
36 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
37 Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AAS.admp_val_saas_clsd');
38 IGS_GE_MSG_STACK.ADD;
39 App_Exception.Raise_Exception;
40 END admp_val_saas_clsd;
41 --
42 -- Process AAS rowids in a PL/SQL TABLE for the current commit.
43 --
44 -- Validate the admission application status system default indicator.
45 FUNCTION admp_val_aas_dflt(
46 p_adm_appl_status IN VARCHAR2 ,
47 p_s_adm_appl_status IN VARCHAR2 ,
48 p_message_name OUT NOCOPY VARCHAR2 )
49 RETURN BOOLEAN IS
50 BEGIN -- ADMP_VAL_AAS_DFLT
51 -- Check if another adm_appl_status record exists with the system
52 -- default indicator set to 'Y'
53 DECLARE
54 v_count_rec NUMBER;
55 v_sys_def_ind IGS_AD_APPL_STAT.system_default_ind%TYPE;
56 cst_yes CONSTANT CHAR := 'Y';
57 CURSOR c_count(cp_adm_appl_status IGS_AD_APPL_STAT.adm_appl_status%TYPE,
58 cp_s_adm_appl_status IGS_AD_APPL_STAT.s_adm_appl_status%TYPE)IS
59 SELECT count(*),
60 system_default_ind
61 FROM IGS_AD_APPL_STAT aas
62 WHERE aas.adm_appl_status <> cp_adm_appl_status AND
63 aas.s_adm_appl_status = cp_s_adm_appl_status AND
64 aas.system_default_ind = cst_yes
65 GROUP BY system_default_ind;
66 BEGIN
67 --- Set the default message number
68 p_message_name := null;
69 OPEN c_count(p_adm_appl_status, p_s_adm_appl_status);
70 FETCH c_count INTO v_count_rec,
71 v_sys_def_ind;
72 IF (c_count%FOUND) THEN
73 IF (v_count_rec > 0) AND (v_sys_def_ind = cst_yes) THEN
74 p_message_name := 'IGS_AD_SYSADM_APPLST_ONLY_ONE';
75 CLOSE c_count;
76 RETURN FALSE;
77 END IF;
78 END IF;
79 CLOSE c_count;
80 RETURN TRUE;
81 END;
82 EXCEPTION
83 WHEN OTHERS THEN
84 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
85 Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AAS.admp_val_aas_dflt');
86 IGS_GE_MSG_STACK.ADD;
87 App_Exception.Raise_Exception;
88 END admp_val_aas_dflt;
89 --
90 -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
91
92 END IGS_AD_VAL_AAS;