1 PACKAGE BODY IGS_AD_VAL_COOAC AS
2 /* $Header: IGSAD50B.pls 115.4 2002/11/28 21:35:07 nsidana ship $ */
3 -- Validate if IGS_AD_CAT.admission_cat is closed.
4
5 --
6 -- Validates if the admission cat is in an admission cat course type
7 FUNCTION admp_val_ac_acct(
8 p_admission_cat IN VARCHAR2 ,
9 p_course_cd IN VARCHAR2 ,
10 p_version_number IN NUMBER ,
11 p_message_name OUT NOCOPY VARCHAR2)
12 RETURN BOOLEAN IS
13 BEGIN --admp_val_ac_acct
14 --This module checks if admission category course type records exist relating
15 --to a certain admission category. If the admission category course type
16 -- records
17 --do exist then check if the passed admission category is linked to the
18 --passed course versions course type
19 DECLARE
20 v_acct_exists VARCHAR2(1);
21 CURSOR c_acct IS
22 SELECT 'X'
23 FROM IGS_AD_CAT_PS_TYPE acct
24 WHERE acct.admission_cat = p_admission_cat;
25 CURSOR c_acct2 IS
26 SELECT 'X'
27 FROM IGS_AD_CAT_PS_TYPE acct,
28 IGS_PS_VER cv
29 WHERE acct.admission_cat = p_admission_cat AND
30 cv.course_cd = p_course_cd AND
31 cv.version_number = p_version_number AND
32 acct.course_type = cv.course_type;
33 BEGIN
34 -- Set the default message number
35 p_message_name := null;
36 --If no records are found then there is no restriction
37 OPEN c_acct;
38 FETCH c_acct INTO v_acct_exists;
39 IF (c_acct%NOTFOUND) THEN
40 CLOSE c_acct;
41 RETURN TRUE;
42 END IF;
43 CLOSE c_acct;
44 --Check if the cousre type is valid for this admission category,
45 -- if not set p_message_name
46 OPEN c_acct2;
47 FETCH c_acct2 INTO v_acct_exists;
48 IF (c_acct2%NOTFOUND) THEN
49 CLOSE c_acct2;
50 --p_message_num := 2809;
51 p_message_name := 'IGS_AD_ADMCAT_NOTVALID_PRGTYP';
52 RETURN FALSE;
53 END IF;
54 CLOSE c_acct2;
55 -- Return the default value
56 RETURN TRUE;
57 END;
58 EXCEPTION
59 WHEN OTHERS THEN
60 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
61 FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_COOAC.admp_val_ac_acct');
62 IGS_GE_MSG_STACK.ADD;
63 END admp_val_ac_acct;
64 END IGS_AD_VAL_COOAC;