1 PACKAGE BODY IGS_AD_VAL_AUOS AS
2 /* $Header: IGSAD46B.pls 120.2 2006/05/29 11:06:56 apadegal noship $ */
3 -- Validate against the system admission outcome status closed indicator.
4 FUNCTION admp_val_saos_clsd(
5 p_s_adm_outcome_status IN VARCHAR2 ,
6 p_message_name OUT NOCOPY VARCHAR2 )
7 RETURN BOOLEAN IS
8 gv_other_detail VARCHAR2(255);
9 BEGIN --AMDP_VAL_SAOS_CLSD
10 --Check if the s_adm_outcome_status is closed
11 DECLARE
12 v_closed_ind VARCHAR(1);
13 CURSOR c_saos IS
14 SELECT saos.closed_ind
15 FROM IGS_LOOKUP_values saos
16 WHERE saos.lookup_code = p_s_adm_outcome_status
17 AND saos.lookup_type = 'ADM_OUTCOME_STATUS';
18 BEGIN
19 --- Set the default message number
20 p_message_name := Null;
21 OPEN c_saos;
22 FETCH c_saos INTO v_closed_ind;
23 IF (c_saos%FOUND) THEN
24 IF (v_closed_ind = 'Y') THEN
25 p_message_name := 'IGS_AD_SYSADM_OUTCOME_ST_CLS';
26 CLOSE c_saos;
27 RETURN FALSE;
28 END IF;
29 END IF;
30 CLOSE c_saos;
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_AUOS.admp_val_saos_clsd');
37 IGS_GE_MSG_STACK.ADD;
38 App_Exception.Raise_Exception;
39 END admp_val_saos_clsd;
40
41 --
42 -- Validate the system admission outcome status unit_outcome_ind is Y .
43 FUNCTION ADMP_VAL_SAOS_UNIOUT(
44 p_s_adm_outcome_status IN VARCHAR2 ,
45 p_message_name OUT NOCOPY VARCHAR2 )
46 RETURN BOOLEAN IS
47 gv_other_detail VARCHAR2(255);
48 BEGIN --admp_val_saos_uniout
49 --This module Checks if the s_adm_outcome_status.unit_outcome_ind is set to Yes
50 DECLARE
51 v_saos_exists VARCHAR2(1);
52 CURSOR c_saos IS
53 SELECT 'X'
54 FROM IGS_LOOKUPS_VIEW saos
55 WHERE saos.lookup_type = 'ADM_OUTCOME_STATUS' AND
56 saos.lookup_code = p_s_adm_outcome_status AND
57 saos.unit_outcome_ind <> 'Y';
58 BEGIN
59 --Set the default message number
60 p_message_name := Null;
61 OPEN c_saos;
62 FETCH c_saos INTO v_saos_exists;
63 IF (c_saos%FOUND) THEN
64 CLOSE c_saos;
65 p_message_name := 'IGS_AD_UNIT_IND_SETTO_YES';
66 RETURN FALSE;
67 END IF;
68 CLOSE c_saos;
69 RETURN TRUE;
70 EXCEPTION
71 WHEN OTHERS THEN
72 IF (c_saos%ISOPEN) THEN
73 CLOSE c_saos;
74 END IF;
75 RAISE;
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_AUOS.admp_val_saos_uniout');
81 IGS_GE_MSG_STACK.ADD;
82 App_Exception.Raise_Exception;
83 END admp_val_saos_uniout;
84
85 --
86 -- Validate the admission unit outcome status has only one system default
87 FUNCTION ADMP_VAL_AUOS_DFLT(
88 p_adm_unit_outcome_status IN VARCHAR2 ,
89 p_s_adm_outcome_status IN VARCHAR2 ,
90 p_message_name OUT NOCOPY VARCHAR2 )
91 RETURN BOOLEAN IS
92 gv_other_detail VARCHAR2(255);
93 BEGIN --admp_val_auos_dflt
94 --This module Checks if another IGS_AD_UNIT_OU_STAT record
95 --exists with the system default indicator set to 'Y'.
96 DECLARE
97 v_auos_exists VARCHAR2(1);
98 CURSOR c_auos IS
99 SELECT 'X'
100 FROM IGS_AD_UNIT_OU_STAT auos
101 WHERE auos.adm_unit_outcome_status <> p_adm_unit_outcome_status AND
102 auos.s_adm_outcome_status = p_s_adm_outcome_status AND
103 auos.system_default_ind = 'Y';
104 BEGIN
105 --Set the default message number
106 p_message_name := Null;
107 OPEN c_auos;
108 FETCH c_auos INTO v_auos_exists;
109 IF (c_auos%FOUND) THEN
110 CLOSE c_auos;
111 p_message_name := 'IGS_AD_ONLYONE_SYSADM_STATUS';
112 RETURN FALSE;
113 END IF;
114 CLOSE c_auos;
115 RETURN TRUE;
116 EXCEPTION
117 WHEN OTHERS THEN
118 IF (c_auos%ISOPEN) THEN
119 CLOSE c_auos;
120 END IF;
121 RAISE;
122 END;
123 EXCEPTION
124 WHEN OTHERS THEN
125 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
126 Fnd_Message.Set_Token('NAME','IGS_AD_VAL_AUOS.admp_val_auos_dflt');
127 IGS_GE_MSG_STACK.ADD;
128 App_Exception.Raise_Exception;
129 END admp_val_auos_dflt;
130
131 END IGS_AD_VAL_AUOS;