DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_ITT

Source


1 PACKAGE BODY IGS_AD_VAL_ITT AS
2 /* $Header: IGSAD63B.pls 115.4 2003/06/14 02:07:54 knag ship $ */
3 
4   --
5   -- Validate if system intake target type is closed.
6   FUNCTION admp_val_sitt_closed(
7   p_s_intake_target_type IN VARCHAR2 ,
8   p_message_name OUT NOCOPY VARCHAR2 )
9   RETURN BOOLEAN AS
10   BEGIN	-- admp_val_sitt_closed
11   	-- Validate if s_intake_target_type.s_intake_target_type is closed.
12   DECLARE
13   	v_closed_ind	IGS_LOOKUPS_VIEW.closed_ind%TYPE;
14   	CURSOR	c_sitt IS
15   		SELECT	closed_ind
16   		FROM	IGS_LOOKUP_VALUES
17   		WHERE	lookup_type = 'INTAKE_TARGET_TYPE'
18                 AND     lookup_code = p_s_intake_target_type;
19   BEGIN
20   	OPEN c_sitt;
21   	FETCH c_sitt INTO v_closed_ind;
22   	IF (c_sitt%FOUND) THEN
23   		IF (v_closed_ind = 'Y') THEN
24   			CLOSE c_sitt;
25 			p_message_name := 'IGS_AD_SYSINTAKE_TRGT_TYPECLS';
26   			RETURN FALSE;
27   		END IF;
28   	END IF;
29   	CLOSE c_sitt;
30   	p_message_name := null;
31   	RETURN TRUE;
32   EXCEPTION
33   	WHEN OTHERS THEN
34   		IF (c_sitt%ISOPEN) THEN
35   			CLOSE c_sitt;
36   		END IF;
37 		App_Exception.Raise_Exception;
38   END;
39   EXCEPTION
40   	WHEN OTHERS THEN
41 	     FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
42   	     FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_ITT.admp_val_sitt_closed');
43   	     IGS_GE_MSG_STACK.ADD;
44 		App_Exception.Raise_Exception;
45   END admp_val_sitt_closed;
46   --
47   -- Validate unique system values for intake target type.
48   FUNCTION admp_val_sitt_uniq(
49   p_intake_target_type IN VARCHAR2 ,
50   p_s_intake_target_type IN VARCHAR2 ,
51   p_s_amount_type IN VARCHAR2 ,
52   p_message_name OUT NOCOPY VARCHAR2 )
53   RETURN BOOLEAN AS
54   BEGIN	-- admp_val_sitt_uniq
55   	-- This module validates that the combination of s_intake_target_type and
56   	-- s_amount_type is unique within intake_target_type with the exception of
57   	-- records with a s_intake_target_type = 'USER-DEF'
58   DECLARE
59   	cst_user_def	CONSTANT	VARCHAR2(8) := 'USER-DEF';
60   	v_dummy		VARCHAR2(1);
61   	CURSOR	c_itt IS
62   		SELECT	'x'
63   		FROM	IGS_AD_INTAK_TRG_TYP itt
64   		WHERE	itt.intake_target_type 	<> p_intake_target_type 	AND
65   			itt.s_intake_target_type 	= p_s_intake_target_type 	AND
66   			itt.s_amount_type 		= p_s_amount_type	AND
67   			itt.closed_ind		= 'N';
68   BEGIN
69   	p_message_name := null;
70   	IF p_s_intake_target_type = cst_user_def THEN
71   		RETURN TRUE;
72   	END IF;
73   	OPEN c_itt;
74   	FETCH c_itt INTO v_dummy;
75   	IF c_itt%FOUND THEN
76   		CLOSE c_itt;
77 		p_message_name := 'IGS_AD_STUD_INTAKE_TRGT_TYPE';
78   		RETURN FALSE;
79   	END IF;
80   	CLOSE c_itt;
81   	RETURN TRUE;
82   EXCEPTION
83   	WHEN OTHERS THEN
84   		IF (c_itt%ISOPEN) THEN
85   			CLOSE c_itt;
86   		END IF;
87 		App_Exception.Raise_Exception;
88   END;
89   EXCEPTION
90   	WHEN OTHERS THEN
91 	     FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
92   	     FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_ITT.admp_val_sitt_uniq');
93   	     IGS_GE_MSG_STACK.ADD;
94 	     App_Exception.Raise_Exception;
95   END admp_val_sitt_uniq;
96   --
97 
98 END IGS_AD_VAL_ITT;