1 PACKAGE BODY IGS_GR_VAL_GHL AS
2 /* $Header: IGSGR09B.pls 115.4 2002/11/29 00:41:10 nsidana ship $ */
3 --
4 -- Validate if government honours level is closed.
5 FUNCTION grdp_val_ghl_closed(
6 p_govt_honours_level IN VARCHAR2 ,
7 p_message_name OUT NOCOPY VARCHAR2 )
8 RETURN BOOLEAN AS
9 BEGIN --grdp_val_ghl_closed
10 --Validate if the government honours level is closed
11 DECLARE
12 v_closed_ind VARCHAR2(1);
13 CURSOR c_ghl IS
14 SELECT 'x'
15 FROM IGS_GR_GOVT_HNS_LVL
16 WHERE govt_honours_level = p_govt_honours_level AND
17 closed_ind = 'Y';
18 BEGIN
19 --set default message number
20 p_message_name := NULL;
21 OPEN c_ghl;
22 FETCH c_ghl INTO v_closed_ind;
23 IF c_ghl%FOUND THEN
24 CLOSE c_ghl;
25 p_message_name := 'IGS_GR_GOV_HNRS_CLOSED';
26 RETURN FALSE;
27 END IF;
28 CLOSE c_ghl;
29 RETURN TRUE;
30 EXCEPTION
31 WHEN OTHERS THEN
32 IF(c_ghl%ISOPEN) THEN
33 CLOSE c_ghl;
34 END IF;
35 RAISE;
36 END;
37 EXCEPTION
38 WHEN OTHERS THEN
39 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
40 App_Exception.Raise_Exception;
41 END grdp_val_ghl_closed;
42 --
43 -- Validate no open honours level using govt honours level to be closed.
44 FUNCTION grdp_val_ghl_upd(
45 p_govt_honours_level IN VARCHAR2 ,
46 p_closed_ind IN VARCHAR2 DEFAULT 'N',
47 p_message_name OUT NOCOPY VARCHAR2 )
48 RETURN BOOLEAN AS
49 BEGIN -- grdp_val_ghl_upd
50 -- This module validates that there are no open user defined honours level
51 -- records mapped to this government honours level.
52 DECLARE
53 v_hl IGS_GR_HONOURS_LEVEL.govt_honours_level%TYPE;
54 CURSOR c_hl IS
55 SELECT 'x'
56 FROM IGS_GR_HONOURS_LEVEL hl
57 WHERE hl.govt_honours_level = p_govt_honours_level AND
58 hl.closed_ind = 'N';
59 BEGIN
60 -- Set the default message number
61 p_message_name := NULL;
62 IF p_closed_ind = 'Y' THEN
63 OPEN c_hl;
64 FETCH c_hl INTO v_hl;
65 IF (c_hl%ROWCOUNT) > 0 THEN
66 CLOSE c_hl;
67 p_message_name := 'IGS_GR_GOV_HNRS_CANNOT_CLOSED';
68 RETURN FALSE;
69 END IF;
70 CLOSE c_hl;
71 END IF;
72 RETURN TRUE;
73 END;
74 EXCEPTION
75 WHEN OTHERS THEN
76 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
77 IGS_GE_MSG_STACK.ADD;
78 App_Exception.Raise_Exception;
79 END grdp_val_ghl_upd;
80 END IGS_GR_VAL_GHL;