1 PACKAGE BODY IGS_PS_VAL_CRS AS
2 /* $Header: IGSPS33B.pls 115.3 2002/11/29 03:01:52 nsidana ship $ */
3
4 --
5 -- Validate if inserts/updates/deletes can be made to IGS_PS_COURSE version dtls
6 FUNCTION crsp_val_iud_crv_dtl(
7 p_course_cd IN VARCHAR2 ,
8 p_version_number IN NUMBER ,
9 p_message_name OUT NOCOPY VARCHAR2 )
10 RETURN BOOLEAN AS
11 v_s_course_status IGS_PS_STAT.s_course_status%TYPE;
12 CURSOR c_get_s_course_status IS
13 SELECT s_course_status
14 FROM IGS_PS_VER,
15 IGS_PS_STAT
16 WHERE course_cd = p_course_cd AND
17 version_number = p_version_number AND
18 IGS_PS_VER.course_status = IGS_PS_STAT.course_status;
19 BEGIN
20 -- Validate the IGS_PS_COURSE version system status to determine if
21 -- updates or inserts can be made to IGS_PS_COURSE detail records.
22 p_message_name := NULL;
23 OPEN c_get_s_course_status;
24 FETCH c_get_s_course_status INTO v_s_course_status;
25 IF (c_get_s_course_status%NOTFOUND) THEN
26 CLOSE c_get_s_course_status;
27 RETURN TRUE;
28 END IF;
29 CLOSE c_get_s_course_status;
30 IF (v_s_course_status <> 'INACTIVE') THEN
31 RETURN TRUE;
32 END IF;
33 p_message_name := 'IGS_PS_CHG_CANNOT_BEMADE_PRG';
34 RETURN FALSE;
35 EXCEPTION
36 WHEN OTHERS THEN
37 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
38 Fnd_Message.Set_Token('NAME','IGS_PS_VAL_CRS.crsp_val_iud_crv_dtl');
39 IGS_GE_MSG_STACK.ADD;
40 APP_EXCEPTION.RAISE_EXCEPTION;
41 END crsp_val_iud_crv_dtl;
42 END IGS_PS_VAL_CRS;