DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_ST_VAL_GSC

Source


1 PACKAGE BODY IGS_ST_VAL_GSC AS
2  /* $Header: IGSST08B.pls 115.5 2002/11/29 04:12:00 nsidana ship $ */
3 --
4 
5   -- Validate the government snapshot control snapshot date time.
6   FUNCTION stap_val_gsc_sdt(
7   p_submission_yr IN NUMBER ,
8   p_snapshot_dt_time IN DATE ,
9   p_message_name OUT NOCOPY VARCHAR2 )
10   RETURN BOOLEAN AS
11   BEGIN
12   DECLARE
13   	v_delete_snapshot_ind	IGS_EN_ST_SPSHT_CTL.delete_snapshot_ind%TYPE;
14   	v_submission_yr		IGS_ST_GVT_SPSHT_CTL.submission_yr%TYPE;
15   	CURSOR 	c_essc(
16   			cp_snapshot_dt_time IGS_ST_GVT_SPSHT_CTL.ess_snapshot_dt_time%TYPE) IS
17   		SELECT	essc.delete_snapshot_ind
18   		FROM	IGS_EN_ST_SPSHT_CTL essc
19   		WHERE	essc.snapshot_dt_time = cp_snapshot_dt_time;
20   	CURSOR 	c_gsc(
21   			cp_snapshot_dt_time IGS_ST_GVT_SPSHT_CTL.ess_snapshot_dt_time%TYPE,
22   			cp_submission_yr IGS_ST_GVT_SPSHT_CTL.submission_yr%TYPE) IS
23   		SELECT	gsc.submission_yr
24   		FROM	IGS_ST_GVT_SPSHT_CTL gsc
25   		WHERE	gsc.ess_snapshot_dt_time = cp_snapshot_dt_time AND
26   			gsc.submission_yr <> cp_submission_yr;
27   BEGIN
28   	--  Validate the IGS_ST_GVT_SPSHT_CTL.snapshot_dt_time.
29   	--  An Enrolment Statistics Snapshot which is marked for delete cannot
30   	--  be used by a Government Snapshot.
31   	--  An Enrolment Statistics Snapshot which is used by another Government
32   	--  Snapshot submission in another year cannot be used by a Government
33   	--  Snapshot.
34   	p_message_name := NULL;
35   	-- Retrieve the Enrolment Statistics Snapshot Control data.
36   	OPEN	c_essc(
37   			p_snapshot_dt_time);
38   	FETCH	c_essc INTO v_delete_snapshot_ind;
39   	IF(c_essc%FOUND = TRUE) THEN
40   		-- Validate the Enrolment Statistics Snapshot.
41   		IF(v_delete_snapshot_ind = 'Y') THEN
42   			CLOSE c_essc;
43   			p_message_name := 'IGS_ST_CANT_USE_ENRL_STATIST';
44   			RETURN FALSE;
45   		END IF;
46   	END IF;
47   	CLOSE c_essc;
48   	-- Retrieve the Government Snapshot Control data.
49   	OPEN	c_gsc(
50   			p_snapshot_dt_time,
51   			p_submission_yr);
52   	FETCH	c_gsc INTO v_submission_yr;
53   	IF(c_gsc%FOUND = TRUE) THEN
54   		CLOSE c_gsc;
55   		p_message_name := 'IGS_ST_ENRL_STAT_SNAP_IN_USE';
56   		RETURN FALSE;
57   	END IF;
58   	CLOSE c_gsc;
59   	RETURN TRUE;
60   EXCEPTION
61   	WHEN OTHERS THEN
62 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
63 		FND_MESSAGE.SET_TOKEN('NAME','IGS_ST_VAL_GSC.stap_val_gsc_sdt');
64 		IGS_GE_MSG_STACK.ADD;
65                      App_Exception.Raise_Exception;
66   END;
67   END stap_val_gsc_sdt;
68   --
69   -- Validate the update of government snapshot control snapshot date time.
70   FUNCTION stap_val_gsc_sdt_upd(
71   p_submission_yr IN NUMBER ,
72   p_submission_number IN NUMBER ,
73   p_message_name OUT NOCOPY VARCHAR2 )
74   RETURN BOOLEAN AS
75   BEGIN
76   DECLARE
77   	v_submission_yr		IGS_ST_GVT_SPSHT_CTL.submission_yr%TYPE;
78   	CURSOR 	c_gsc(
79   			cp_submission_yr IGS_ST_GVT_SPSHT_CTL.submission_yr%TYPE,
80   			cp_submission_number IGS_ST_GVT_SPSHT_CTL.submission_number%TYPE) IS
81   		SELECT	gsc.submission_yr
82   		FROM	IGS_ST_GVT_SPSHT_CTL gsc
83   		WHERE	gsc.submission_yr = cp_submission_yr AND
84   			gsc.submission_number = cp_submission_number AND
85   			gsc.completion_dt IS NOT NULL;
86   BEGIN
87   	--  Validate update of the IGS_ST_GVT_SPSHT_CTL.ess_snapshot_dt_time.
88   	--  The IGS_ST_GVT_SPSHT_CTL.ess_snapshot_dt_time cannot be updated if the
89   	--  govt_snapshot_ctlcompletion_dt is set.
90   	p_message_name := NULL;
91   	-- Retrieve the Government Snapshot control data.
92   	OPEN	c_gsc(
93   			p_submission_yr,
94   			p_submission_number);
95   	FETCH	c_gsc INTO v_submission_yr;
96   	IF(c_gsc%FOUND = TRUE) THEN
97   		CLOSE c_gsc;
98   		p_message_name := 'IGS_ST_GOVT_SNAPSHOT_COMPLETE';
99   		RETURN FALSE;
100   	END IF;
101   	CLOSE c_gsc;
102   	RETURN TRUE;
103   EXCEPTION
104   	WHEN OTHERS THEN
105 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
106 		FND_MESSAGE.SET_TOKEN('NAME','IGS_ST_VAL_GSC.stap_val_gsc_sdt_upd');
107 		IGS_GE_MSG_STACK.ADD;
108                      App_Exception.Raise_Exception;
109   END;
110   END stap_val_gsc_sdt_upd;
111 END IGS_ST_VAL_GSC;