DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AS_VAL_AIA

Source


1 PACKAGE BODY IGS_AS_VAL_AIA AS
2 /* $Header: IGSAS12B.pls 115.8 2003/12/05 11:03:51 kdande ship $ */
3   --
4   --msrinivi    24-AUG-2001     Bug No. 1956374 .The function genp_val_prsn_id removed
5   --
6   -- Validate assessment assessor type closed indicator.
7   FUNCTION assp_val_asst_closed(
8   p_ass_assessor_type IN IGS_AS_ASSESSOR_TYPE.ass_assessor_type%TYPE ,
9   P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
10   RETURN BOOLEAN AS
11 
12   BEGIN 	-- assp_val_asst_closed
13   	-- Validate the assessemnt assessor type closed indicator
14   DECLARE
15   	CURSOR c_asst(
16   			cp_ass_assessor_type	IGS_AS_ASSESSOR_TYPE.ass_assessor_type%TYPE) IS
17   		SELECT	closed_ind
18   		FROM	IGS_AS_ASSESSOR_TYPE
19   		WHERE	ass_assessor_type = cp_ass_assessor_type;
20   	v_asst_rec		c_asst%ROWTYPE;
21   	cst_yes			CONSTANT CHAR := 'Y';
22   BEGIN
23   	-- Set the default message number
24   	P_MESSAGE_NAME := NULL;
25   	-- Cursor handling
26   	OPEN c_asst(
27   			p_ass_assessor_type);
28   	FETCH c_asst INTO v_asst_rec;
29   	IF c_asst%NOTFOUND THEN
30   		CLOSE c_asst;
31   		RETURN TRUE;
32   	END IF;
33   	CLOSE c_asst;
34   	IF (v_asst_rec.closed_ind = cst_yes) THEN
35   		P_MESSAGE_NAME := 'IGS_GE_RECORD_ALREADY_EXISTS';
36   		RETURN FALSE;
37   	END IF;
38   	-- Return the default value
39   	RETURN TRUE;
40   END;
41   EXCEPTION
42   	WHEN OTHERS THEN
43   		Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
44     FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_GEN_012.assp_val_asst_closed');
45 	IGS_GE_MSG_STACK.ADD;
46 		--APP_EXCEPTION.RAISE_EXCEPTION;
47   END assp_val_asst_closed;
48 
49   -- Validate only one primary assessor per assessment item
50   FUNCTION assp_val_aia_primary(
51   p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
52   p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
53   p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
54   P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
55   RETURN BOOLEAN AS
56 
57   BEGIN	-- assp_val_aia_primary
58   	-- Validate that there is only one primary assessor per assessment item. As
59   	-- the
60   	-- same assessor can occur multiple times for an assessment item, we also need
61   	-- to
62   	-- validate that the other assessor records for the person have the indicator
63   	-- set.
64   DECLARE
65   	cst_yes				CONSTANT CHAR := 'Y';
66   	cst_no				CONSTANT CHAR := 'N';
67   	CURSOR c_aia1(
68   			cp_ass_id		IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
69   			cp_person_id	IGS_AS_ITEM_ASSESSOR.person_id%TYPE) IS
70   		SELECT	COUNT(*)
71   		FROM	IGS_AS_ITEM_ASSESSOR
72   		WHERE	ass_id = cp_ass_id AND
73   			person_id <> cp_person_id AND
74   			primary_assessor_ind = cst_yes;
75   	CURSOR c_aia2(
76   			cp_ass_id		IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
77   			cp_person_id	IGS_AS_ITEM_ASSESSOR.person_id%TYPE,
78   			cp_sequence_number	IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE) IS
79   		SELECT	COUNT(*)
80   		FROM	IGS_AS_ITEM_ASSESSOR
81   		WHERE	ass_id = cp_ass_id AND
82   			person_id = cp_person_id AND
83   			sequence_number <> cp_sequence_number AND
84   			primary_assessor_ind = cst_no;
85   	v_aia1_count			NUMBER;
86   	v_aia2_count			NUMBER;
87   BEGIN
88   	-- Set the default message number
89   	P_MESSAGE_NAME := NULL;
90   	-- Validate no other PERSON is tagged as the primary assessor
91   	OPEN c_aia1(
92   			p_ass_id,
93   			p_person_id);
94   	FETCH c_aia1 INTO v_aia1_count;
95   	CLOSE c_aia1;
96   	IF (v_aia1_count > 0) THEN
97   		P_MESSAGE_NAME := 'IGS_AS_ONE_PRSN_IDENTIFY_PRIM';
98   		RETURN FALSE;
99   	END IF;
100 
101   	-- Return the default value
102   	RETURN TRUE;
103   END;
104   EXCEPTION
105   	WHEN OTHERS THEN
106   	Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
107     FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_GEN_012.assp_val_aia_primary');
108 	IGS_GE_MSG_STACK.ADD;
109 		--APP_EXCEPTION.RAISE_EXCEPTION;
110   END assp_val_aia_primary;
111   --
112   -- Validate assessor links for invalid combinations.
113   FUNCTION assp_val_aia_links(
114   p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
115   p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116   p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117   p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118   p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119   p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
120   p_ass_assessor_type IN IGS_AS_ITEM_ASSESSOR.ass_assessor_type%TYPE ,
121   P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
122   RETURN BOOLEAN AS
123   BEGIN
124   	p_message_name := NULL;
125 		RETURN TRUE;
126   END assp_val_aia_links;
127   --
128   -- Generic links validation routine.
129   FUNCTION ASSP_VAL_OPTNL_LINKS(
130   p_new_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
131   p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132   p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133   p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134   p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
135   p_db_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
136   p_message_name OUT NOCOPY VARCHAR2 )
137   RETURN BOOLEAN AS
138   BEGIN
139   	p_message_name := NULL;
140   	RETURN TRUE;
141   END assp_val_optnl_links;
142   --
143   -- Routine to clear rowids saved in a PL/SQL TABLE from a prior commit.
144   --
145   -- Process AIA rowids in a PL/SQL TABLE for the current commit.
146 
147 END IGS_AS_VAL_AIA;