1 Package Body ghr_lei_flex_ddf as
2 /* $Header: ghleiddf.pkb 115.4 2001/12/10 13:21:20 pkm ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := 'ghr_lei_flex_ddf.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |--------------------------< val_info_type_y >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start of Comments}
14 --
15 -- Description:
16 -- This procedure performs the descriptive flexfield validation for the
17 -- reference field - Information Type where the value is 'Y'.
18 --
19 -- Pre Conditions:
20 -- None
21 --
22 -- In Arguments:
23 -- p_rec
24 --
25 -- Post Success:
26 -- Processing of ghr_lei_flex_ddf continues.
27 --
28 -- Post failure:
29 -- Processing will be suspended if the descriptive flexfield validation
30 -- fails.
31 --
32 -- Developer Implementation Notes:
33 -- Customer defined.
34 --
35 -- Access Status:
36 -- From df procedure only.
37 --
38 -- {End of Comments}
39 -- ----------------------------------------------------------------------------
40 Procedure val_info_type_y
41 (p_rec in per_asg_shd.g_rec_type) is
42 --
43 l_proc varchar2(72) := g_package||'val_info_type_y';
44 --
45 begin
46 hr_utility.set_location('Entering:'||l_proc, 1);
47 --
48 -- Enter procedure code here
49 --
50 hr_utility.set_location(' Leaving:'||l_proc, 2);
51 end val_info_type_y;
52 -- ----------------------------------------------------------------------------
53 -- |--------------------------< val_info_type_x >------------------------------|
54 -- ----------------------------------------------------------------------------
55 -- {Start of Comments}
56 --
57 -- Description:
58 -- This procedure performs the descriptive flexfield validation for the
59 -- reference field - Information Type where the value is 'X'.
60 --
61 -- Pre Conditions:
62 -- None
63 --
64 -- In Arguments:
65 -- p_rec
66 --
67 -- Post Success:
68 -- Processing of hr_lei_flex_ddf continues.
69 --
70 -- Post failure:
71 -- Processing will be suspended if the descriptive flexfield validation
72 -- fails.
73 --
74 -- Developer Implementation Notes:
75 -- Customer defined.
76 --
77 -- Access Status:
78 -- From df procedure only.
79 --
80 -- {End of Comments}
81 -- ----------------------------------------------------------------------------
82 Procedure val_info_type_x
83 (p_rec in per_asg_shd.g_rec_type) is
84 --
85 l_proc varchar2(72) := g_package||'val_info_type_x';
86 --
87 begin
88 hr_utility.set_location('Entering:'||l_proc, 1);
89 --
90 -- Enter procedure code here
91 --
92 hr_utility.set_location(' Leaving:'||l_proc, 2);
93 end val_info_type_x;
94 -- ----------------------------------------------------------------------------
95 -- |-------------------------------< ddf >-------------------------------------|
96 -- ----------------------------------------------------------------------------
97 procedure ddf
98 (
99 p_location_extra_info_id in number ,
100 p_information_type in varchar2 ,
101 p_location_id in number ,
102 p_request_id in number ,
103 p_program_application_id in number ,
104 p_program_id in number ,
105 p_program_update_date in date ,
106 p_lei_attribute_category in varchar2 ,
107 p_lei_attribute1 in varchar2 ,
108 p_lei_attribute2 in varchar2 ,
109 p_lei_attribute3 in varchar2 ,
110 p_lei_attribute4 in varchar2 ,
111 p_lei_attribute5 in varchar2 ,
112 p_lei_attribute6 in varchar2 ,
113 p_lei_attribute7 in varchar2 ,
114 p_lei_attribute8 in varchar2 ,
115 p_lei_attribute9 in varchar2 ,
116 p_lei_attribute10 in varchar2 ,
117 p_lei_attribute11 in varchar2 ,
118 p_lei_attribute12 in varchar2 ,
119 p_lei_attribute13 in varchar2 ,
120 p_lei_attribute14 in varchar2 ,
121 p_lei_attribute15 in varchar2 ,
122 p_lei_attribute16 in varchar2 ,
123 p_lei_attribute17 in varchar2 ,
124 p_lei_attribute18 in varchar2 ,
125 p_lei_attribute19 in varchar2 ,
126 p_lei_attribute20 in varchar2 ,
127 p_lei_information_category in varchar2 ,
128 p_lei_information1 in varchar2 ,
129 p_lei_information2 in varchar2 ,
130 p_lei_information3 in varchar2 ,
131 p_lei_information4 in varchar2 ,
132 p_lei_information5 in varchar2 ,
133 p_lei_information6 in varchar2 ,
134 p_lei_information7 in varchar2 ,
135 p_lei_information8 in varchar2 ,
136 p_lei_information9 in varchar2 ,
137 p_lei_information10 in varchar2 ,
138 p_lei_information11 in varchar2 ,
139 p_lei_information12 in varchar2 ,
140 p_lei_information13 in varchar2 ,
141 p_lei_information14 in varchar2 ,
142 p_lei_information15 in varchar2 ,
143 p_lei_information16 in varchar2 ,
144 p_lei_information17 in varchar2 ,
145 p_lei_information18 in varchar2 ,
146 p_lei_information19 in varchar2 ,
147 p_lei_information20 in varchar2 ,
148 p_lei_information21 in varchar2 ,
149 p_lei_information22 in varchar2 ,
150 p_lei_information23 in varchar2 ,
151 p_lei_information24 in varchar2 ,
152 p_lei_information25 in varchar2 ,
153 p_lei_information26 in varchar2 ,
154 p_lei_information27 in varchar2 ,
155 p_lei_information28 in varchar2 ,
156 p_lei_information29 in varchar2 ,
157 p_lei_information30 in varchar2
158 )
159 is
160 --
161 l_proc varchar2(72) := g_package||'ddf';
162 l_error exception;
163 l_duty_station char;
164 l_effective_date date;
165
166 cursor c1 is
167 SELECT effective_date
168 FROM fnd_sessions
169 WHERE session_id = USERENV('SESSIONID');
170
171 cursor c2 (p_effective_date date) is
172 select 'X'
173 from ghr_duty_stations_f
174 where duty_station_id = to_number(p_lei_information3)
175 and trunc(p_effective_date) between(effective_start_date) and
176 nvl(effective_end_date,p_effective_date);
177 --
178 Begin
179 hr_utility.set_location('Entering:'||l_proc, 5);
180 --
181 if ghr_utility.is_ghr = 'TRUE' then
182 /*
183 -- Check for value of reference field an then
184 -- call relevant validation procedure.
185 --
186 if <reference field value> is not null then
187 --
188 -- Reference field => Information type
189 -- Reference field value => 'X'
190 --
191 if <reference field value> is <value> then
192 val_info_type_x(p_rec => p_rec);
193 --
194 -- Reference field => Information type
195 -- Reference field value => 'Y'
196 --
197 elsif <reference field value> is <value> then
198 val_info_type_x(p_rec => p_rec);
199 else
200 --
201 -- Reference field values is not supported
202 --
203 hr_utility.set_message(801, 'HR_7438_FLEX_INV_REF_FIELD_VAL');
204 hr_utility.raise_error;
205 end if;
206 else
207 --
208 -- When the reference field is null, check
209 -- that none of the attribute fields have
210 -- been set
211 --
212 */
213 if p_information_type = 'GHR_US_LOC_INFORMATION' and
214 p_lei_Information3 is not null then
215 open c1;
216 fetch c1 into l_effective_date;
217 close c1;
218
219 open c2(nvl(l_effective_date,sysdate));
220 fetch c2 into l_duty_station;
221 if c2%NOTFOUND then
222 close c2;
223 hr_utility.set_message(8301, 'GHR_38277_DUTY_STATION_NOT_FND');
224 hr_utility.raise_error;
225 else
226 close c2;
227 end if;
228 elsif p_lei_information1 is not null then
229 raise l_error;
230 elsif p_lei_information2 is not null then
231 raise l_error;
232 elsif p_lei_information3 is not null then
233 raise l_error;
234 elsif p_lei_information4 is not null then
235 raise l_error;
236 elsif p_lei_information5 is not null then
237 raise l_error;
238 elsif p_lei_information6 is not null then
239 raise l_error;
240 elsif p_lei_information7 is not null then
241 raise l_error;
242 elsif p_lei_information8 is not null then
243 raise l_error;
244 elsif p_lei_information9 is not null then
245 raise l_error;
246 elsif p_lei_information10 is not null then
247 raise l_error;
248 elsif p_lei_information11 is not null then
249 raise l_error;
250 elsif p_lei_information12 is not null then
251 raise l_error;
252 elsif p_lei_information13 is not null then
253 raise l_error;
254 elsif p_lei_information14 is not null then
255 raise l_error;
256 elsif p_lei_information15 is not null then
257 raise l_error;
258 elsif p_lei_information16 is not null then
259 raise l_error;
260 elsif p_lei_information17 is not null then
261 raise l_error;
262 elsif p_lei_information18 is not null then
263 raise l_error;
264 elsif p_lei_information19 is not null then
265 raise l_error;
266 elsif p_lei_information20 is not null then
267 raise l_error;
268 elsif p_lei_information21 is not null then
269 raise l_error;
270 elsif p_lei_information22 is not null then
271 raise l_error;
272 elsif p_lei_information23 is not null then
273 raise l_error;
274 elsif p_lei_information24 is not null then
275 raise l_error;
276 elsif p_lei_information25 is not null then
277 raise l_error;
278 elsif p_lei_information26 is not null then
279 raise l_error;
280 elsif p_lei_information27 is not null then
281 raise l_error;
282 elsif p_lei_information28 is not null then
283 raise l_error;
284 elsif p_lei_information29 is not null then
285 raise l_error;
286 elsif p_lei_information30 is not null then
287 raise l_error;
288 end if;
289 --
290 /*
291 endif;
292 */
293 hr_utility.set_location(' Leaving:'||l_proc, 10);
294
295 end if; -- ghr_utility.is_ghr
296 exception
297 when l_error then
298 hr_utility.set_message(801, 'HR_7439_FLEX_INV_ATTRIBUTE_ARG');
299 hr_utility.raise_error;
300 hr_utility.set_location(' Leaving:'||l_proc, 10);
301
302 end ddf;
303 --
304 end ghr_lei_flex_ddf;