DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PR_VAL_SOPCA

Source


1 PACKAGE BODY IGS_PR_VAL_SOPCA AS
2 /* $Header: IGSPR13B.pls 115.4 2002/11/29 02:47:05 nsidana ship $ */
3   -------------------------------------------------------------------------------------------
4   --Change History:
5   --Who         When            What
6   --smadathi    26-AUG-2001     Bug No. 1956374 .The function prgp_val_cfg_cat removed
7   -------------------------------------------------------------------------------------------
8   --
9   --
10   -- Validate the show cause period length of the s_ou_prg_cal record.
11   FUNCTION prgp_val_sopca_cause(
12   p_org_unit_cd IN VARCHAR2 ,
13   p_ou_start_dt IN DATE ,
14   p_show_cause_length IN NUMBER ,
15   p_message_name OUT NOCOPY VARCHAR2 )
16   RETURN BOOLEAN AS
17   	gv_other_detail			VARCHAR2(255);
18   BEGIN 	-- prgp_val_sopca_cause
19   	-- Validate the show cause period length of the s_ou_prg_cal record, checking
20   	-- for :
21   	-- * Cannot be set if s_ou_prg_conf.show_cause_ind is N
22   	-- * Warn if not set if s_ou_prg_conf.show_cause_ind is Y
23   DECLARE
24   	v_show_cause_ind		IGS_PR_S_OU_PRG_CONF.show_cause_ind%TYPE;
25   	CURSOR c_sopc IS
26   		SELECT	sopc.show_cause_ind
27   		FROM	IGS_PR_S_OU_PRG_CONF 		sopc
28   		WHERE	sopc.org_unit_cd	= p_org_unit_cd AND
29   			sopc.ou_start_dt	= p_ou_start_dt;
30   BEGIN
31   	-- Set the default message name
32   	p_message_name := Null;
33   	OPEN c_sopc;
34   	FETCH c_sopc INTO v_show_cause_ind;
35   	IF c_sopc%FOUND THEN
36   		CLOSE c_sopc;
37   		IF v_show_cause_ind = 'Y' AND
38   				p_show_cause_length IS NULL THEN
39   			p_message_name := 'IGS_PR_SET_SHOW_CAUSE_LEN';
40   			-- warning only
41   			RETURN TRUE;
42   		END IF;
43   		IF v_show_cause_ind = 'N' AND
44   				p_show_cause_length IS NOT NULL THEN
45   			p_message_name := 'IGS_PR_CANT_SET_SHOW_CAUS_LEN';
46   			RETURN FALSE;
47   		END IF;
48   	ELSE
49   		CLOSE c_sopc;
50   	END IF;
51   	RETURN TRUE;
52   EXCEPTION
53   	WHEN OTHERS THEN
54   		IF c_sopc%ISOPEN THEN
55   			CLOSE c_sopc;
56   		END IF;
57   		RAISE;
58   END;
59   EXCEPTION
60   	WHEN OTHERS THEN
61    	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
62                 FND_MESSAGE.SET_TOKEN ('NAME', 'IGS_PR_VAL_SOPCA.PRGP_VAL_SOPCA_CAUSE');
63                 IGS_GE_MSG_STACK.ADD;
64 	    App_Exception.Raise_Exception;
65   END prgp_val_sopca_cause;
66   --
67   -- Validate the appeal period length of the s_ou_prg_cal record.
68   FUNCTION prgp_val_sopca_apl(
69   p_org_unit_cd IN VARCHAR2 ,
70   p_ou_start_dt IN DATE ,
71   p_appeal_length IN NUMBER ,
72   p_message_name OUT NOCOPY VARCHAR2 )
73   RETURN BOOLEAN AS
74   	gv_other_detail			VARCHAR2(255);
75   BEGIN 	-- prgp_val_sopca_apl
76   	-- Validate the appeal period length of the s_ou_prg_cal record, checking for:
77   	-- * Cannot be set if s_ou_prg_conf.appeal_ind is N
78   	-- * Warn if not set if s_ou_prg_conf.appeal_ind is Y
79   DECLARE
80   	v_appeal_ind			IGS_PR_S_OU_PRG_CONF.appeal_ind%TYPE;
81   	CURSOR c_sopc IS
82   		SELECT	sopc.appeal_ind
83   		FROM	IGS_PR_S_OU_PRG_CONF 		sopc
84   		WHERE	sopc.org_unit_cd		= p_org_unit_cd AND
85   			sopc.ou_start_dt		= p_ou_start_dt;
86   BEGIN
87   	-- Set the default message name
88   	p_message_name := Null;
89   	OPEN c_sopc;
90   	FETCH c_sopc INTO v_appeal_ind;
91   	IF c_sopc%FOUND THEN
92   		CLOSE c_sopc;
93   		IF v_appeal_ind = 'Y' AND
94   				p_appeal_length IS NULL THEN
95   			p_message_name := 'IGS_PR_SET_APPEAL_LEN';
96   			-- warning only
97   			RETURN TRUE;
98   		END IF;
99   		IF v_appeal_ind = 'N' AND
100   				p_appeal_length IS NOT NULL THEN
101   			p_message_name := 'IGS_PR_CANT_SET_APPEAL_LEN';
102   			RETURN FALSE;
103   		END IF;
104   	ELSE
105   		CLOSE c_sopc;
106   	END IF;
107   	RETURN TRUE;
108   EXCEPTION
109   	WHEN OTHERS THEN
110   		IF c_sopc%ISOPEN THEN
111   			CLOSE c_sopc;
112   		END IF;
113   		RAISE;
114   END;
115   EXCEPTION
116   	WHEN OTHERS THEN
117    	    Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
118                 FND_MESSAGE.SET_TOKEN ('NAME', 'IGS_PR_VAL_SOPCA.PRGP_VAL_SOPCA_APL');
119                 IGS_GE_MSG_STACK.ADD;
120 	    App_Exception.Raise_Exception;
121   END prgp_val_sopca_apl;
122 END IGS_PR_VAL_SOPCA;