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;