1 PACKAGE BODY IGS_AD_VAL_AODS AS
2 /* $Header: IGSAD34B.pls 120.0 2005/06/01 16:19:49 appldev noship $ */
3 --
4 -- Validate against system adm offer deferement status closed indicator.
5 FUNCTION admp_val_saods_clsd(
6 p_s_adm_offer_dfrmnt_status IN VARCHAR2 ,
7 p_message_name OUT NOCOPY VARCHAR2 )
8 RETURN BOOLEAN AS
9 BEGIN --AMDP_VAL_SAODS_CLSD
10 --Check if the s_adm_offer_dfrmnt_status is closed
11 DECLARE
12 v_closed_ind VARCHAR(1);
13 CURSOR c_saods IS
14 SELECT saods.closed_ind
15 FROM IGS_LOOKUP_VALUES saods
16 WHERE saods.lookup_type = 'ADM_OFFER_DFRMNT_STATUS' AND
17 saods.lookup_code = p_s_adm_offer_dfrmnt_status ;
18 BEGIN
19 --- Set the default message number
20 p_message_name := NULL;
21 OPEN c_saods;
22 FETCH c_saods INTO v_closed_ind;
23 IF (c_saods%FOUND) THEN
24 IF (v_closed_ind = 'Y') THEN
25 p_message_name := 'IGS_AD_SYSADM_OFFERDFR_ST_CLS';
26 CLOSE c_saods;
27 RETURN FALSE;
28 END IF;
29 END IF;
30 CLOSE c_saods;
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_AODS.admp_val_saods_clsd');
37 IGS_GE_MSG_STACK.ADD;
38 App_Exception.Raise_Exception;
39 END admp_val_saods_clsd;
40
41 --
42 -- Validate the admission offer deferement status system default ind.
43 FUNCTION admp_val_aods_dflt(
44 p_adm_offer_dfrmnt_status IN VARCHAR2 ,
45 p_s_adm_offer_dfrmnt_status IN VARCHAR2 ,
46 p_message_name OUT NOCOPY VARCHAR2 )
47 RETURN BOOLEAN AS
48 BEGIN -- ADMP_VAL_AODS_DFLT
49 -- Check if another IGS_AD_OFRDFRMT_STAT record exists with the system
50 -- default indicator set to 'Y'
51 DECLARE
52 v_count_rec NUMBER;
53 v_sys_def_ind IGS_AD_OFRDFRMT_STAT.system_default_ind%TYPE;
54 cst_yes CONSTANT CHAR := 'Y';
55 CURSOR c_count(cp_adm_offer_dfrmnt_status
56 IGS_AD_OFRDFRMT_STAT.adm_offer_dfrmnt_status%TYPE,
57 cp_s_adm_offer_dfrmnt_status
58 IGS_AD_OFRDFRMT_STAT.s_adm_offer_dfrmnt_status%TYPE)IS
59 SELECT count(*),
60 system_default_ind
61 FROM IGS_AD_OFRDFRMT_STAT aods
62 WHERE aods.adm_offer_dfrmnt_status <> cp_adm_offer_dfrmnt_status AND
63 aods.s_adm_offer_dfrmnt_status = cp_s_adm_offer_dfrmnt_status AND
64 aods.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_offer_dfrmnt_status, p_s_adm_offer_dfrmnt_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 = 'Y') THEN
74 p_message_name := 'IGS_AD_SYSADM_OFRDFR_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_AODS.admp_val_aods_dflt');
86 IGS_GE_MSG_STACK.ADD;
87 App_Exception.Raise_Exception;
88 END admp_val_aods_dflt;
89
90
91 END IGS_AD_VAL_AODS;