1 PACKAGE BODY IGS_ST_VAL_GSLC AS
2 /* $Header: IGSST11B.pls 115.6 2002/11/29 04:12:29 nsidana ship $ */
3 /*
4 || Bug ID 1956374 - Removal of Duplicate Program Units from OSS.
5 || Removed program unit (STAP_VAL_GSC_SDT_UPD) - from the spec and body. -- kdande
6 */
7 -- Validate the govt semester load calendar is type Load and is Active.
8 FUNCTION stap_val_gslc(
9 p_cal_type IN VARCHAR2 ,
10 p_ci_sequence_number IN NUMBER ,
11 p_message_name OUT NOCOPY VARCHAR2 )
12 RETURN BOOLEAN IS
13 gv_other_detail VARCHAR2(255);
14 BEGIN
15 DECLARE
16 cst_load CONSTANT VARCHAR2(4) := 'LOAD';
17 cst_active CONSTANT IGS_CA_STAT.s_cal_status%TYPE := 'ACTIVE';
18 v_s_cal_cat IGS_CA_TYPE.s_cal_cat%TYPE;
19 v_s_cal_status IGS_CA_STAT.s_cal_status%TYPE;
20 CURSOR c_ci IS
21 SELECT ct.s_cal_cat,
22 cs.s_cal_status
23 FROM IGS_CA_INST ci,
24 IGS_CA_STAT cs,
25 IGS_CA_TYPE ct
26 WHERE ci.cal_type = p_cal_type AND
27 ci.sequence_number = p_ci_sequence_number AND
28 cs.cal_status = ci.cal_status AND
29 ct.cal_type = ci.cal_type;
30 BEGIN
31 --Validate the government semester load calender. The calender must:
32 -- *be a load calender
33 -- *have a sustem status of active.
34 OPEN c_ci;
35 FETCH c_ci INTO v_s_cal_cat,
36 v_s_cal_status;
37 IF (c_ci%FOUND) THEN
38 --Validate the calender
39 CLOSE c_ci;
40 IF v_s_cal_cat <> cst_load THEN
41 p_message_name := 'IGS_ST_CAL_TYPE_MUST_BE_LOAD';
42 RETURN FALSE;
43 END IF;
44 IF v_s_cal_status <> cst_active THEN
45 p_message_name := 'IGS_CA_CAL_INST_MUST_BE_ACTIV';
46 RETURN FALSE;
47 END IF;
48 ELSE
49 CLOSE c_ci;
50 END IF;
51 --- Set the default message number
52 p_message_name := Null;
53 --- Return the default value
54 RETURN TRUE;
55 END;
56 EXCEPTION
57 WHEN OTHERS THEN
58 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
59 FND_MESSAGE.SET_TOKEN('NAME','IGS_ST_VAL_GSLC.stap_val_gslc');
60 IGS_GE_MSG_STACK.ADD;
61 App_Exception.Raise_Exception;
62 END stap_val_gslc;
63 END IGS_ST_VAL_GSLC;