DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_VAL_CST

Source


1 PACKAGE BODY IGS_PS_VAL_CST AS
2  /* $Header: IGSPS36B.pls 115.4 2002/11/29 03:02:26 nsidana ship $ */
3 
4   ----------------------------------------------------------------------------
5   --  Change History :
6   --  Who             When            What
7   -- avenkatr    30-AUG-2001   Bug Id 1956374. Removed procedure "crsp_val_iud_crv_dtl"
8   ----------------------------------------------------------------------------
9 
10   -- Validate if the IGS_PS_COURSE stage type is unique for this IGS_PS_COURSE version
11   FUNCTION crsp_val_cst_cstt(
12   p_course_cd IN IGS_PS_STAGE.course_cd%TYPE ,
13   p_version_number IN IGS_PS_STAGE.version_number%TYPE ,
14   p_sequence_number IN IGS_PS_STAGE.sequence_number%TYPE ,
15   p_course_stage_type IN IGS_PS_STAGE.course_stage_type%TYPE ,
16   p_message_name OUT NOCOPY VARCHAR2 )
17   RETURN BOOLEAN AS
18   BEGIN	-- crsp_val_cst_cstt
19   	-- Validate that the IGS_PS_STAGE_TYPE is unique for
20   	-- IGS_PS_STAGE records for the same IGS_PS_VER.
21   DECLARE
22   	CURSOR	c_cst IS
23   		SELECT	'x'
24   		FROM	IGS_PS_STAGE
25   		WHERE	course_cd		= p_course_cd AND
26   			version_number		= p_version_number AND
27   			sequence_number		<> NVL(p_sequence_number, -1) AND
28   			course_stage_type	= p_course_stage_type;
29   	v_c_cst_exists		VARCHAR2(1) DEFAULT NULL;
30   BEGIN
31   	p_message_name := NULL;
32   	-- Check parameters
33   	IF p_course_cd IS NULL OR
34   			p_version_number IS NULL OR
35   			p_course_stage_type IS NULL THEN
36   		--parameters are invalid
37   		RETURN TRUE;
38   	END IF;
39   	-- Check that no record exists for the same IGS_PS_VER
40   	-- with the same course_cd.
41   	OPEN c_cst;
42   	FETCH c_cst INTO v_c_cst_exists;
43   	IF (c_cst%FOUND) THEN
44   		CLOSE c_cst;
45   		p_message_name := 'IGS_PS_PRG_STAGETYOE_UNIQUE';
46   		RETURN FALSE;
47   	END IF;
48   	CLOSE c_cst;
49   	RETURN TRUE;
50   EXCEPTION
51   	WHEN OTHERS THEN
52   		IF (c_cst%ISOPEN) THEN
53   			CLOSE c_cst;
54   		END IF;
55   		APP_EXCEPTION.RAISE_EXCEPTION;
56   END;
57   EXCEPTION
58   	WHEN OTHERS THEN
59 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
60 		Fnd_Message.Set_Token('NAME','IGS_PS_VAL_CST.crsp_val_cst_cstt');
61 		IGS_GE_MSG_STACK.ADD;
62 		APP_EXCEPTION.RAISE_EXCEPTION;
63 END crsp_val_cst_cstt;
64   --
65   -- Validate the IGS_PS_COURSE stage type closed indicator.
66   FUNCTION crsp_val_cstt_closed(
67   p_course_stage_type IN IGS_PS_STAGE_TYPE.course_stage_type%TYPE ,
68   p_message_name OUT NOCOPY VARCHAR2 )
69   RETURN BOOLEAN AS
70   BEGIN	-- crsp_val_cstt_closed
71   	-- Validate the IGS_PS_COURSE stage type closed indicator
72   DECLARE
73   	v_closed_ind		IGS_PS_STAGE_TYPE.closed_ind%TYPE;
74   	CURSOR c_cstt IS
75   		SELECT	closed_ind
76   		FROM	IGS_PS_STAGE_TYPE
77   		WHERE	course_stage_type = p_course_stage_type;
78   BEGIN
79   	OPEN c_cstt;
80   	FETCH c_cstt INTO v_closed_ind;
81   	IF (c_cstt%NOTFOUND) THEN
82   		CLOSE c_cstt;
83   		p_message_name := NULL;
84   		RETURN TRUE;
85   	END IF;
86   	CLOSE c_cstt;
87   	IF (v_closed_ind = 'Y') THEN
88   		p_message_name := 'IGS_PS_STAGE_TYPE_STATUS_CLOS';
89   		RETURN FALSE;
90   	END IF;
91   	p_message_name := NULL;
92   	RETURN TRUE;
93   EXCEPTION
94   	WHEN OTHERS THEN
95   		IF (c_cstt%ISOPEN) THEN
96   			CLOSE c_cstt;
97   		END IF;
98   		RAISE;
99   END;
100   EXCEPTION
101   	WHEN OTHERS THEN
102 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXCEPTION');
103 		Fnd_Message.Set_Token('NAME','IGS_PS_VAL_CST.crsp_val_cstt_closed');
104 		IGS_GE_MSG_STACK.ADD;
105 		APP_EXCEPTION.RAISE_EXCEPTION;
106   END crsp_val_cstt_closed;
107 
108 END IGS_PS_VAL_CST;