1 PACKAGE BODY IGS_AD_VAL_ACOS AS
2 /* $Header: IGSAD30B.pls 120.1 2005/09/08 14:50:23 appldev noship $ */
3 --
4 -- Validate against the system adm conditional offer status closed ind.
5 FUNCTION admp_val_sacoos_clsd(
6 p_s_adm_cndtnl_offer_status IN VARCHAR2 ,
7 p_message_name OUT NOCOPY VARCHAR2 )
8 RETURN BOOLEAN AS
9 BEGIN --AMDP_VAL_SACOOS_CLSD
10 --Check if the s_adm_cndtnl_offer_status is closed
11 DECLARE
12 v_closed_ind VARCHAR(1);
13 CURSOR c_sacos IS
14 SELECT sacos.closed_ind
15 FROM IGS_LOOKUP_VALUES sacos
16 WHERE sacos.lookup_type = 'ADM_CNDTNL_OFFER_STATUS' AND
17 sacos.lookup_code = p_s_adm_cndtnl_offer_status;
18 BEGIN
19 --- Set the default message number
20 p_message_name := NULL;
21 OPEN c_sacos;
22 FETCH c_sacos INTO v_closed_ind;
23 IF (c_sacos%FOUND) THEN
24 IF (v_closed_ind = 'Y') THEN
25 p_message_name := 'IGS_AD_SYSADM_COND_STATUS_CLS';
26 CLOSE c_sacos;
27 RETURN FALSE;
28 END IF;
29 END IF;
30 CLOSE c_sacos;
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_ACOS.admp_val_sacoos_clsd');
37 IGS_GE_MSG_STACK.ADD;
38 App_Exception.Raise_Exception;
39 END admp_val_sacoos_clsd;
40
41 -- Validate the admission conditional offer status system default ind.
42 FUNCTION admp_val_acos_dflt(
43 p_adm_cndtnl_offer_status IN VARCHAR2 ,
44 p_s_adm_cndtnl_offer_status IN VARCHAR2 ,
45 p_message_name OUT NOCOPY VARCHAR2 )
46 RETURN BOOLEAN AS
47 BEGIN -- ADMP_VAL_ACOS_DFLT
48 -- Check if another adm_cndtnl_offer_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_CNDNL_OFRSTAT.system_default_ind%TYPE;
53 CURSOR c_count IS
54 SELECT count(*),
55 system_default_ind
56 FROM IGS_AD_CNDNL_OFRSTAT acos
57 WHERE acos.adm_cndtnl_offer_status <> p_adm_cndtnl_offer_status AND
58 acos.s_adm_cndtnl_offer_status = p_s_adm_cndtnl_offer_status AND
59 acos.system_default_ind = 'Y'
60 GROUP BY system_default_ind;
61 BEGIN
62 --- Set the default message number
63 p_message_name := NULL;
64 OPEN c_count;
65 FETCH c_count INTO v_count_rec,
66 v_sys_def_ind;
67 IF (c_count%FOUND) THEN
68 IF (v_count_rec > 0) AND (v_sys_def_ind = 'Y') THEN
69 p_message_name := 'IGS_AD_SYSADM_CNDOFR_ONLY_ONE';
70 CLOSE c_count;
71 RETURN FALSE;
72 END IF;
73 END IF;
74 CLOSE c_count;
75 RETURN TRUE;
76 END;
77 EXCEPTION
78 WHEN OTHERS THEN
79 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
80 Fnd_Message.Set_Token('NAME','IGS_AD_VAL_ACOS.admp_val_acos_dflt');
81 IGS_GE_MSG_STACK.ADD;
82 App_Exception.Raise_Exception;
83 END admp_val_acos_dflt;
84 --
85 -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
86
87 END IGS_AD_VAL_ACOS;