DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_EN_VAL_PAL

Source


1 PACKAGE BODY IGS_EN_VAL_PAL  AS
2 /* $Header: IGSEN49B.pls 115.6 2003/02/28 07:32:11 pkpatel ship $ */
3   -------------------------------------------------------------------------------------------
4   --Change History:
5   --Who         When            What
6   --smadathi    25-AUG-2001     Bug No. 1956374 .The function GENP_VAL_STRT_END_DT removed
7   --smadathi    25-AUG-2001     Bug No. 1956374 .The function GENP_VAL_SDTT_SESS removed
8   --pkpatel     28-FEB-2003     Bug No. 2808871 .Modified IGS_PE_PERSON to IGS_PE_PERSON_BASE_V
9   -------------------------------------------------------------------------------------------
10 
11   -- Validate the IGS_PE_PERSON alias name and IGS_PE_TITLE
12   FUNCTION enrp_val_pal_alias(
13   p_person_id IN NUMBER ,
14   p_surname IN VARCHAR2 ,
15   p_given_names IN VARCHAR2 ,
16   p_title IN VARCHAR2 ,
17   p_message_name OUT NOCOPY VARCHAR2)
18   RETURN BOOLEAN  AS
19 
20   BEGIN
21   	-- Validate that at least one of surname, given_names or
22   	-- IGS_PE_TITLE form IGS_PE_PERSON_ALIAS table is differenct from
23   	-- surname, given_names and IGS_PE_TITLE from person_table
24 
25   DECLARE
26   	v_surname	IGS_PE_PERSON_ALIAS.surname%TYPE;
27   	v_given_names	IGS_PE_PERSON_ALIAS.given_names%TYPE;
28   	v_title		IGS_PE_PERSON_ALIAS.title%TYPE;
29   	CURSOR c_person IS
30   		SELECT	last_name surname,
31   			first_name given_names,
32   			title
33   		from	igs_pe_person_base_v
34   		WHERE 	person_id = p_person_id;
35   BEGIN
36   	-- at least one of the IGS_PE_PERSON_ALIAS.surname or given_names
37   	-- must be set
38   	IF (p_surname IS NULL) AND (p_given_names is NULL) THEN
39   		p_message_name := 'IGS_EN_SURNAM_GIVNAM_NOT_NULL';
40   		RETURN FALSE;
41   	END IF;
42 
43   	OPEN c_person;
44   	FETCH c_person INTO 	v_surname,
45   				v_given_names,
46   				v_title;
47   	IF (c_person%NOTFOUND) THEN
48   		CLOSE c_person;
49   		RAISE NO_DATA_FOUND;
50   	END IF;
51   	CLOSE c_person;
52   	-- at least one of surname, given_names or
53   	-- IGS_PE_TITLE must be difference
54 
55         -- changes done as a part of fix for bug number 2045753
56 
57   	IF ( UPPER(v_surname) 		= UPPER(p_surname)	AND
58   	    UPPER(v_given_names)	= UPPER(p_given_names)	AND
59   	    UPPER(v_title)              = UPPER(p_title)) THEN
60   		p_message_name := 'IGS_EN_DUPL_NAMES';
61   		RETURN FALSE;
62   	END IF;
63   	p_message_name := null;
64   	RETURN TRUE;
65   END;
66   EXCEPTION
67   	WHEN OTHERS THEN
68 	        Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
69 		FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_PAL.enrp_val_pal_alias');
70 		IGS_GE_MSG_STACK.ADD;
71        	        App_Exception.Raise_Exception;
72 
73 
74   END enrp_val_pal_alias;
75   --
76   -- Validate the alternate IGS_PE_PERSON id end date.
77   FUNCTION enrp_val_api_end_dt(
78   p_start_dt IN DATE ,
79   p_end_dt IN DATE ,
80   p_message_name OUT NOCOPY VARCHAR2)
81   RETURN BOOLEAN  AS
82   BEGIN
83   DECLARE
84 
85   BEGIN
86   	-- Perform validation when the end_dt is set
87   	IF (p_end_dt IS NOT NULL) THEN
88   		IF (p_start_dt IS NOT NULL) THEN
89   			p_message_name := null;
90   			RETURN TRUE;
91   		ELSE
92   			p_message_name := 'IGS_EN_CANT_SPECIFY_END_DATE';
93   			RETURN FALSE;
94   		END IF;
95   	ELSE
96   		p_message_name := null;
97   		RETURN TRUE;
98   	END IF;
99   EXCEPTION
100   	WHEN OTHERS THEN
101 	        Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
102 		FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_PAL.enrp_val_api_end_dt');
103 		IGS_GE_MSG_STACK.ADD;
104        	        App_Exception.Raise_Exception;
105 
106 
107   END;
108   END enrp_val_api_end_dt;
109   --
110   -- Validate the IGS_PE_PERSON alias names
111   FUNCTION enrp_val_pal_names(
112   p_given_names IN VARCHAR2 ,
113   p_surname IN VARCHAR2 ,
114   p_message_name OUT NOCOPY VARCHAR2)
115   RETURN BOOLEAN AS
116   BEGIN
117   DECLARE
118 
119   BEGIN
120   	-- Validate the surname and given_names from IGS_PE_PERSON_ALIAS
121   	IF (p_surname IS NULL AND p_given_names IS NULL) THEN
122   		p_message_name := 'IGS_EN_SURNAM_GIVNAM_NOT_NULL';
123   		RETURN FALSE;
124   	END IF;
125   	p_message_name := null;
126   	RETURN TRUE;
127   EXCEPTION
128   	WHEN OTHERS THEN
129 	        Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
130 		FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_PAL.enrp_val_pal_names');
131 		IGS_GE_MSG_STACK.ADD;
132 		App_Exception.Raise_Exception;
133 
134 
135   END;
136   END enrp_val_pal_names;
137 
138 END IGS_EN_VAL_PAL;