1 PACKAGE BODY IGS_AD_VAL_ADS AS
2 /* $Header: IGSAD31B.pls 120.0 2005/06/02 03:40:56 appldev noship $ */
3 -- Check against the system adm documentatio status closed indcator.
4 FUNCTION admp_val_sads_clsd(
5 p_s_adm_doc_status IN VARCHAR2 ,
6 p_message_name OUT NOCOPY VARCHAR2 )
7 RETURN BOOLEAN AS
8 BEGIN --AMDP_VAL_SADS_CLSD
9 --Check if the s_adm_doc_status is closed
10 DECLARE
11 v_closed_ind VARCHAR(1);
12 CURSOR c_sads IS
13 SELECT sads.closed_ind
14 FROM IGS_LOOKUP_VALUES sads
15 WHERE sads.lookup_type = 'ADM_DOC_STATUS' AND
16 sads.lookup_code = p_s_adm_doc_status;
17 BEGIN
18 --- Set the default message number
19 p_message_name := NULL;
20 OPEN c_sads;
21 FETCH c_sads INTO v_closed_ind;
22 IF (c_sads%FOUND) THEN
23 IF (v_closed_ind = 'Y') THEN
24 p_message_name := 'IGS_AD_SYSADM_DOC_STATUS_CLS';
25 CLOSE c_sads;
26 RETURN FALSE;
27 END IF;
28 END IF;
29 CLOSE c_sads;
30 RETURN TRUE;
31 END;
32 EXCEPTION
33 WHEN OTHERS THEN
34 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
35 App_Exception.Raise_Exception;
36 END admp_val_sads_clsd;
37 --
38
39 --
40 -- Validate the admission documentation status system default indicator.
41 FUNCTION admp_val_ads_dflt(
42 p_adm_doc_status IN VARCHAR2 ,
43 p_s_adm_doc_status IN VARCHAR2 ,
44 p_message_name OUT NOCOPY VARCHAR2 )
45 RETURN BOOLEAN AS
46 BEGIN -- ADMP_VAL_ADS_DFLT
47 -- Check if another adm_doc_status record exists with the system
48 -- default indicator set to 'Y'
49 DECLARE
50 v_count_rec NUMBER;
51 v_sys_def_ind IGS_AD_DOC_STAT.system_default_ind%TYPE;
52 CURSOR c_count IS
53 SELECT count(*),
54 system_default_ind
55 FROM IGS_AD_DOC_STAT ads
56 WHERE ads.adm_doc_status <> p_adm_doc_status AND
57 ads.s_adm_doc_status = p_s_adm_doc_status AND
58 ads.system_default_ind = 'Y'
59 GROUP BY system_default_ind;
60 BEGIN
61 --- Set the default message number
62 p_message_name := NULL;
63 OPEN c_count;
64 FETCH c_count INTO v_count_rec,
65 v_sys_def_ind;
66 IF (c_count%FOUND) THEN
67 IF (v_count_rec > 0) AND (v_sys_def_ind = 'Y') THEN
68 p_message_name := 'IGS_AD_SYSADM_DOCST_ONLY_ONE';
69 CLOSE c_count;
70 RETURN FALSE;
71 END IF;
72 END IF;
73 CLOSE c_count;
74 RETURN TRUE;
75 END;
76 EXCEPTION
77 WHEN OTHERS THEN
78 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
79 App_Exception.Raise_Exception;
80 END admp_val_ads_dflt;
81 --
82
83 END IGS_AD_VAL_ADS;