1 PACKAGE BODY IGS_AS_VAL_EVSA AS
2 /* $Header: IGSAS22B.pls 115.5 2002/11/28 22:44:55 nsidana ship $ */
3 -------------------------------------------------------------------------------------------
4 --Change History:
5 --Who When What
6 --avenkatr 29-AUG-2001 Bug Id : 1956374. Removed procedure "assp_val_ve_closed"
7 -------------------------------------------------------------------------------------------
8
9 --
10 -- Validate delete of exam_venue_session_availability
11 FUNCTION ASSP_VAL_EVSA_DEL(
12 p_ese_id IN NUMBER ,
13 p_venue_cd IN VARCHAR2 ,
14 p_message_name OUT NOCOPY varchar2 )
15 RETURN boolean IS
16 gv_other_detail VARCHAR2(255);
17 BEGIN -- assp_val_evsa_del
18 -- Validate the deletion of an exam venue session availability record.
19 -- Check that the availability is not being removed where sessions
20 -- have already been timetabled.
21 DECLARE
22 v_x VARCHAR2(1) DEFAULT NULL;
23 CURSOR c_ei IS
24 SELECT 'x'
25 From IGS_AS_EXAM_INSTANCE
26 WHERE ese_id = p_ese_id AND
27 venue_cd = p_venue_cd;
28 BEGIN
29 -- 1. Check whether exam instance records exist.
30 OPEN c_ei;
31 FETCH c_ei INTO v_x;
32 IF (c_ei%FOUND) THEN
33 -- Warning only
34 CLOSE c_ei;
35 p_message_name := 'IGS_AS_VENUE_SCHEDULED';
36 RETURN TRUE;
37 END IF;
38 CLOSE c_ei;
39 p_message_name := null;
40 RETURN TRUE;
41 END;
42 EXCEPTION
43 WHEN OTHERS THEN
44 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
45 FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_EVSA.assp_val_evsa_del');
46 IGS_GE_MSG_STACK.ADD;
47 App_Exception.Raise_Exception;
48 END assp_val_evsa_del;
49 --
50 -- To validate the calendar instance system cal status is not 'INACTIVE'
51 FUNCTION ASSP_VAL_CI_STATUS(
52 p_cal_type IN IGS_CA_INST_ALL.cal_type%TYPE ,
53 p_sequence_number IN IGS_CA_INST_ALL.sequence_number%TYPE ,
54 p_message_name OUT NOCOPY varchar2 )
55 RETURN boolean IS
56 gv_other_detail VARCHAR2(255);
57 BEGIN -- assp_val_ci_status
58 -- Validate the ci s_cal_status
59 DECLARE
60 v_s_cal_status IGS_CA_STAT.s_cal_status%TYPE;
61 v_ret_val BOOLEAN DEFAULT TRUE;
62 CURSOR c_cics (cp_cal_type IGS_CA_INST.cal_type%TYPE,
63 cp_sequence_number IGS_CA_INST.sequence_number%TYPE) IS
64 SELECT s_cal_status
65 FROM IGS_CA_STAT cs,
66 IGS_CA_INST ci
67 WHERE cs.cal_status = ci.cal_status AND
68 ci.sequence_number = cp_sequence_number AND
69 ci.cal_type = cp_cal_type;
70 BEGIN
71 p_message_name := null;
72 OPEN c_cics ( p_cal_type,
73 p_sequence_number);
74 FETCH c_cics INTO v_s_cal_status;
75 IF (c_cics%FOUND) THEN
76 IF (v_s_cal_status = 'INACTIVE') THEN
77 p_message_name := 'IGS_AS_CALNST_INACTIVE';
78 v_ret_val := FALSE;
79 END IF;
80 END IF;
81 CLOSE c_cics;
82 RETURN v_ret_val;
83 END;
84 EXCEPTION
85 WHEN OTHERS THEN
86 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
87 FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_EVSA.assp_val_ci_status');
88 IGS_GE_MSG_STACK.ADD;
89 App_Exception.Raise_Exception;
90 END assp_val_ci_status;
91 END IGS_AS_VAL_EVSA;