DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_ST_VAL_ESS

Source


1 PACKAGE BODY IGS_ST_VAL_ESS AS
2 /* $Header: IGSST05B.pls 115.5 2002/11/29 04:11:10 nsidana ship $ */
3 
4   --
5   -- Validate no warnings exist for excluded pid,crs,unit records
6   FUNCTION stap_val_eswv_xandw(
7   p_snapshot_dt_time IN DATE ,
8   p_message_name OUT NOCOPY VARCHAR2)
9   RETURN BOOLEAN AS
10   	gv_other_detail		VARCHAR2(255);
11   BEGIN 	-- stap_val_eswv_xandw
12   	-- This module validates that no warning (ie.'W') records exist int the
13   	-- IGS_EN_ST_SNAPSHOT table for person_id, course_cd, unit_cd records
14   	-- which have been excluded (ie.'X').
15   DECLARE
16   	v_dummy			VARCHAR2(1);
17   	v_warning_found		BOOLEAN DEFAULT FALSE;
18   	CURSOR c_eswv_excluded IS
19   		SELECT	eswv_excluded.snapshot_dt_time,
20   			eswv_excluded.ci_cal_type,
21   			eswv_excluded.ci_sequence_number,
22   			eswv_excluded.person_id,
23   			eswv_excluded.course_version,
24   			eswv_excluded.unit_version
25   		FROM	IGS_EN_ST_SNAPSHOT_WARNING_V	eswv_excluded
26   		WHERE	eswv_excluded.snapshot_dt_time	= p_snapshot_dt_time AND
27   			eswv_excluded.govt_reportable_ind = 'X';
28   	CURSOR c_eswv_warning (
29   				cp_snapshot_dt_time
30 IGS_EN_ST_SNAPSHOT_WARNING_V.snapshot_dt_time%TYPE,
31   				cp_ci_cal_type		IGS_EN_ST_SNAPSHOT_WARNING_V.ci_cal_type%TYPE,
32   				cp_ci_sequence_number
33 IGS_EN_ST_SNAPSHOT_WARNING_V.ci_sequence_number%TYPE,
34   				cp_person_id		IGS_EN_ST_SNAPSHOT_WARNING_V.person_id%TYPE,
35   				cp_course_version
36 IGS_EN_ST_SNAPSHOT_WARNING_V.course_version%TYPE,
37   				cp_unit_version		IGS_EN_ST_SNAPSHOT_WARNING_V.unit_version%TYPE)
38 IS
39   		SELECT	'X'
40   		FROM	IGS_EN_ST_SNAPSHOT_WARNING_V	eswv_warning
41   		WHERE	eswv_warning.snapshot_dt_time 	= cp_snapshot_dt_time AND
42   			eswv_warning.ci_cal_type 	= cp_ci_cal_type AND
43   			eswv_warning.ci_sequence_number	= cp_ci_sequence_number AND
44   			eswv_warning.person_id 		= cp_person_id AND
45   			eswv_warning.course_version	= cp_course_version AND
46   			eswv_warning.unit_version	= cp_unit_version AND
47   			eswv_warning.govt_reportable_ind = 'W';
48   BEGIN
49   	-- Set the default message name
50     	p_message_name := null;
51   	FOR v_eswv_excluded IN c_eswv_excluded LOOP
52   		OPEN c_eswv_warning (
53   					v_eswv_excluded.snapshot_dt_time,
54   					v_eswv_excluded.ci_cal_type,
55   					v_eswv_excluded.ci_sequence_number,
56   					v_eswv_excluded.person_id,
57   					v_eswv_excluded.course_version,
58   					v_eswv_excluded.unit_version);
59   		FETCH c_eswv_warning INTO v_dummy;
60   		IF c_eswv_warning%FOUND THEN
61   			CLOSE c_eswv_warning;
62   			p_message_name := 'IGS_ST_WARN_RECORD_EXISTS';
63   			v_warning_found	:= TRUE;
64   			exit;
65   		END IF;
66   		CLOSE c_eswv_warning;
67   	END LOOP;
68   	IF v_warning_found THEN
69   		RETURN FALSE;
70   	END IF;
71   	RETURN TRUE ;
72   EXCEPTION
73   	WHEN OTHERS THEN
74   		IF c_eswv_excluded%ISOPEN THEN
75   			CLOSE c_eswv_excluded;
76   		END IF;
77   		IF c_eswv_warning%ISOPEN THEN
78   			CLOSE c_eswv_warning;
79   		END IF;
80   		RAISE;
81   END;
82   EXCEPTION
83   	WHEN OTHERS THEN
84 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
85 		FND_MESSAGE.SET_TOKEN('NAME','IGS_ST_VAL_ESS.stap_val_eswv_xandw');
86 		IGS_GE_MSG_STACK.ADD;
87 	       App_Exception.Raise_Exception;
88   END stap_val_eswv_xandw;
89 END IGS_ST_VAL_ESS;