[Home] [Help]
PACKAGE BODY: APPS.BEN_VRBL_RT_ELIG_PRFL_API
Source
1 Package Body ben_vrbl_rt_elig_prfl_api as
2 /* $Header: bevepapi.pkb 115.1 2004/05/11 05:28:52 abparekh noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' ben_vrbl_rt_elig_prfl_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_vrbl_rt_elig_prfl >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_vrbl_rt_elig_prfl
13 (p_validate in boolean default false
14 ,p_vrbl_rt_elig_prfl_id out nocopy number
15 ,p_effective_start_date out nocopy date
16 ,p_effective_end_date out nocopy date
17 ,p_business_group_id in number default null
18 ,p_vrbl_rt_prfl_id in number default null
19 ,p_eligy_prfl_id in number default null
20 ,p_mndtry_flag in varchar2 default null
21 ,p_vep_attribute_category in varchar2 default null
22 ,p_vep_attribute1 in varchar2 default null
23 ,p_vep_attribute2 in varchar2 default null
24 ,p_vep_attribute3 in varchar2 default null
25 ,p_vep_attribute4 in varchar2 default null
26 ,p_vep_attribute5 in varchar2 default null
27 ,p_vep_attribute6 in varchar2 default null
28 ,p_vep_attribute7 in varchar2 default null
29 ,p_vep_attribute8 in varchar2 default null
30 ,p_vep_attribute9 in varchar2 default null
31 ,p_vep_attribute10 in varchar2 default null
32 ,p_vep_attribute11 in varchar2 default null
33 ,p_vep_attribute12 in varchar2 default null
34 ,p_vep_attribute13 in varchar2 default null
35 ,p_vep_attribute14 in varchar2 default null
36 ,p_vep_attribute15 in varchar2 default null
37 ,p_vep_attribute16 in varchar2 default null
38 ,p_vep_attribute17 in varchar2 default null
39 ,p_vep_attribute18 in varchar2 default null
40 ,p_vep_attribute19 in varchar2 default null
41 ,p_vep_attribute20 in varchar2 default null
42 ,p_vep_attribute21 in varchar2 default null
43 ,p_vep_attribute22 in varchar2 default null
44 ,p_vep_attribute23 in varchar2 default null
45 ,p_vep_attribute24 in varchar2 default null
46 ,p_vep_attribute25 in varchar2 default null
47 ,p_vep_attribute26 in varchar2 default null
48 ,p_vep_attribute27 in varchar2 default null
49 ,p_vep_attribute28 in varchar2 default null
50 ,p_vep_attribute29 in varchar2 default null
51 ,p_vep_attribute30 in varchar2 default null
52 ,p_object_version_number out nocopy number
53 ,p_effective_date in date
54 ) is
55 --
56 -- Cursor to find the uniqueness of the vrbl_rt_elig_prfl
57 --
58 cursor c_uniq_vrbl_rt_elig_prfl is
59 select null from
60 ben_vrbl_rt_elig_prfl_f vep
61 where
62 vep.vrbl_rt_prfl_id = p_vrbl_rt_prfl_id
63 and vep.eligy_prfl_id = p_eligy_prfl_id
64 and p_effective_date between vep.effective_start_date and
65 vep.effective_end_date ;
66 --
67 cursor c_future_vrbl_rt_elig_prfl is
68 select vrbl_rt_elig_prfl_id, vep.effective_end_date from
69 ben_vrbl_rt_elig_prfl_f vep
70 where
71 vep.vrbl_rt_prfl_id = p_vrbl_rt_prfl_id
72 and vep.eligy_prfl_id = p_eligy_prfl_id
73 and vep.effective_start_date > p_effective_date ;
74
75 -- Declare cursors and local variables
76 --
77 l_vrbl_rt_elig_prfl_id ben_vrbl_rt_elig_prfl_f.vrbl_rt_elig_prfl_id%TYPE;
78 l_effective_start_date ben_vrbl_rt_elig_prfl_f.effective_start_date%TYPE;
79 l_effective_end_date ben_vrbl_rt_elig_prfl_f.effective_end_date%TYPE;
80 l_proc varchar2(72) := g_package||'create_vrbl_rt_elig_prfl';
81 l_object_version_number ben_vrbl_rt_elig_prfl_f.object_version_number%TYPE;
82 l_dummy varchar2(1) := null ;
83 l_future_vrbl_rt_elig_prfl_id ben_vrbl_rt_elig_prfl_f.vrbl_rt_elig_prfl_id%TYPE;
84 l_future_record_end_date date;
85 --
86 begin
87 --
88 hr_utility.set_location('Entering:'|| l_proc, 10);
89 --
90 -- Issue a savepoint if operating in validation only mode
91 --
92 savepoint create_vrbl_rt_elig_prfl;
93 --
94 hr_utility.set_location(l_proc, 20);
95 --
96 -- Process Logic
97 --
98 --
99 open c_uniq_vrbl_rt_elig_prfl ;
100 --
101 fetch c_uniq_vrbl_rt_elig_prfl into l_dummy;
102 --
103 if c_uniq_vrbl_rt_elig_prfl%found then
104 --
105 close c_uniq_vrbl_rt_elig_prfl ;
106 hr_utility.set_location('Record already exists. no need to insert another record', 20 ) ;
107 hr_utility.set_location('exiting from '||l_proc,25);
108 -- Bug : 3621420
109 -- Raise an error as the ELPRO being inserted is already associated with the VAPRO
110 fnd_message.set_name('BEN','BEN_93966_ELPRO_FOR_VAPRO_EXST');
111 fnd_message.raise_error;
112 --return ;
113 -- Bug : 3621420
114 --
115 end if;
116 close c_uniq_vrbl_rt_elig_prfl ;
117 --
118 open c_future_vrbl_rt_elig_prfl ;
119 fetch c_future_vrbl_rt_elig_prfl into l_future_vrbl_rt_elig_prfl_id, l_future_record_end_date ;
120 --
121 if c_future_vrbl_rt_elig_prfl%found then
122 --
123 hr_utility.set_location('Future record exists. we need to extend the record ', 20 ) ;
124 update ben_vrbl_rt_elig_prfl_f
125 set effective_start_date = p_effective_date
126 where vrbl_rt_elig_prfl_id = l_future_vrbl_rt_elig_prfl_id ;
127 hr_utility.set_location('exiting from '||l_proc,25);
128 close c_future_vrbl_rt_elig_prfl ;
129 -- Bug : 3621420
130 -- Set the new effective start and end date for the record
131 p_effective_start_date := p_effective_date;
132 p_effective_end_date := l_future_record_end_date;
133 -- Bug : 3621420
134 return ;
135 --
136 end if;
137 close c_future_vrbl_rt_elig_prfl ;
138
139 begin
140 -- Start of API User Hook for the before hook of create_vrbl_rt_elig_prfl
141 --
142 ben_vrbl_rt_elig_prfl_bk1.create_vrbl_rt_elig_prfl_b
143 (
144 p_business_group_id => p_business_group_id
145 ,p_vrbl_rt_prfl_id => p_vrbl_rt_prfl_id
146 ,p_eligy_prfl_id => p_eligy_prfl_id
147 ,p_mndtry_flag => p_mndtry_flag
148 ,p_vep_attribute_category => p_vep_attribute_category
149 ,p_vep_attribute1 => p_vep_attribute1
150 ,p_vep_attribute2 => p_vep_attribute2
151 ,p_vep_attribute3 => p_vep_attribute3
152 ,p_vep_attribute4 => p_vep_attribute4
153 ,p_vep_attribute5 => p_vep_attribute5
154 ,p_vep_attribute6 => p_vep_attribute6
155 ,p_vep_attribute7 => p_vep_attribute7
156 ,p_vep_attribute8 => p_vep_attribute8
157 ,p_vep_attribute9 => p_vep_attribute9
158 ,p_vep_attribute10 => p_vep_attribute10
159 ,p_vep_attribute11 => p_vep_attribute11
160 ,p_vep_attribute12 => p_vep_attribute12
161 ,p_vep_attribute13 => p_vep_attribute13
162 ,p_vep_attribute14 => p_vep_attribute14
163 ,p_vep_attribute15 => p_vep_attribute15
164 ,p_vep_attribute16 => p_vep_attribute16
165 ,p_vep_attribute17 => p_vep_attribute17
166 ,p_vep_attribute18 => p_vep_attribute18
167 ,p_vep_attribute19 => p_vep_attribute19
168 ,p_vep_attribute20 => p_vep_attribute20
169 ,p_vep_attribute21 => p_vep_attribute21
170 ,p_vep_attribute22 => p_vep_attribute22
171 ,p_vep_attribute23 => p_vep_attribute23
172 ,p_vep_attribute24 => p_vep_attribute24
173 ,p_vep_attribute25 => p_vep_attribute25
174 ,p_vep_attribute26 => p_vep_attribute26
175 ,p_vep_attribute27 => p_vep_attribute27
176 ,p_vep_attribute28 => p_vep_attribute28
177 ,p_vep_attribute29 => p_vep_attribute29
178 ,p_vep_attribute30 => p_vep_attribute30
179 ,p_effective_date => trunc(p_effective_date)
180 );
181 exception
182 when hr_api.cannot_find_prog_unit then
183 hr_api.cannot_find_prog_unit_error
184 (
185 p_module_name => 'CREATE_vrbl_rt_elig_prfl'
186 ,p_hook_type => 'BP'
187 );
188 --
189 -- End of API User Hook for the before hook of create_vrbl_rt_elig_prfl
190 --
191 end;
192 --
193 ben_vep_ins.ins
194 (
195 p_vrbl_rt_elig_prfl_id => l_vrbl_rt_elig_prfl_id
196 ,p_effective_start_date => l_effective_start_date
197 ,p_effective_end_date => l_effective_end_date
198 ,p_business_group_id => p_business_group_id
199 ,p_vrbl_rt_prfl_id => p_vrbl_rt_prfl_id
200 ,p_eligy_prfl_id => p_eligy_prfl_id
201 ,p_mndtry_flag => p_mndtry_flag
202 ,p_vep_attribute_category => p_vep_attribute_category
203 ,p_vep_attribute1 => p_vep_attribute1
204 ,p_vep_attribute2 => p_vep_attribute2
205 ,p_vep_attribute3 => p_vep_attribute3
206 ,p_vep_attribute4 => p_vep_attribute4
207 ,p_vep_attribute5 => p_vep_attribute5
208 ,p_vep_attribute6 => p_vep_attribute6
209 ,p_vep_attribute7 => p_vep_attribute7
210 ,p_vep_attribute8 => p_vep_attribute8
211 ,p_vep_attribute9 => p_vep_attribute9
212 ,p_vep_attribute10 => p_vep_attribute10
213 ,p_vep_attribute11 => p_vep_attribute11
214 ,p_vep_attribute12 => p_vep_attribute12
215 ,p_vep_attribute13 => p_vep_attribute13
216 ,p_vep_attribute14 => p_vep_attribute14
217 ,p_vep_attribute15 => p_vep_attribute15
218 ,p_vep_attribute16 => p_vep_attribute16
219 ,p_vep_attribute17 => p_vep_attribute17
220 ,p_vep_attribute18 => p_vep_attribute18
221 ,p_vep_attribute19 => p_vep_attribute19
222 ,p_vep_attribute20 => p_vep_attribute20
223 ,p_vep_attribute21 => p_vep_attribute21
224 ,p_vep_attribute22 => p_vep_attribute22
225 ,p_vep_attribute23 => p_vep_attribute23
226 ,p_vep_attribute24 => p_vep_attribute24
227 ,p_vep_attribute25 => p_vep_attribute25
228 ,p_vep_attribute26 => p_vep_attribute26
229 ,p_vep_attribute27 => p_vep_attribute27
230 ,p_vep_attribute28 => p_vep_attribute28
231 ,p_vep_attribute29 => p_vep_attribute29
232 ,p_vep_attribute30 => p_vep_attribute30
233 ,p_object_version_number => l_object_version_number
234 ,p_effective_date => trunc(p_effective_date)
235 );
236 --
237 begin
238 --
239 -- Start of API User Hook for the after hook of create_vrbl_rt_elig_prfl
240 --
241 ben_vrbl_rt_elig_prfl_bk1.create_vrbl_rt_elig_prfl_a
242 (
243 p_vrbl_rt_elig_prfl_id => l_vrbl_rt_elig_prfl_id
244 ,p_effective_start_date => l_effective_start_date
245 ,p_effective_end_date => l_effective_end_date
246 ,p_business_group_id => p_business_group_id
247 ,p_vrbl_rt_prfl_id => p_vrbl_rt_prfl_id
248 ,p_eligy_prfl_id => p_eligy_prfl_id
249 ,p_mndtry_flag => p_mndtry_flag
250 ,p_vep_attribute_category => p_vep_attribute_category
251 ,p_vep_attribute1 => p_vep_attribute1
252 ,p_vep_attribute2 => p_vep_attribute2
253 ,p_vep_attribute3 => p_vep_attribute3
254 ,p_vep_attribute4 => p_vep_attribute4
255 ,p_vep_attribute5 => p_vep_attribute5
256 ,p_vep_attribute6 => p_vep_attribute6
257 ,p_vep_attribute7 => p_vep_attribute7
258 ,p_vep_attribute8 => p_vep_attribute8
259 ,p_vep_attribute9 => p_vep_attribute9
260 ,p_vep_attribute10 => p_vep_attribute10
261 ,p_vep_attribute11 => p_vep_attribute11
262 ,p_vep_attribute12 => p_vep_attribute12
263 ,p_vep_attribute13 => p_vep_attribute13
264 ,p_vep_attribute14 => p_vep_attribute14
265 ,p_vep_attribute15 => p_vep_attribute15
266 ,p_vep_attribute16 => p_vep_attribute16
267 ,p_vep_attribute17 => p_vep_attribute17
268 ,p_vep_attribute18 => p_vep_attribute18
269 ,p_vep_attribute19 => p_vep_attribute19
270 ,p_vep_attribute20 => p_vep_attribute20
271 ,p_vep_attribute21 => p_vep_attribute21
272 ,p_vep_attribute22 => p_vep_attribute22
273 ,p_vep_attribute23 => p_vep_attribute23
274 ,p_vep_attribute24 => p_vep_attribute24
275 ,p_vep_attribute25 => p_vep_attribute25
276 ,p_vep_attribute26 => p_vep_attribute26
277 ,p_vep_attribute27 => p_vep_attribute27
278 ,p_vep_attribute28 => p_vep_attribute28
279 ,p_vep_attribute29 => p_vep_attribute29
280 ,p_vep_attribute30 => p_vep_attribute30
281 ,p_object_version_number => l_object_version_number
282 ,p_effective_date => trunc(p_effective_date)
283 );
284 exception
285 when hr_api.cannot_find_prog_unit then
286 hr_api.cannot_find_prog_unit_error
287 (p_module_name => 'CREATE_vrbl_rt_elig_prfl'
288 ,p_hook_type => 'AP'
289 );
290 --
291 -- End of API User Hook for the after hook of create_vrbl_rt_elig_prfl
292 --
293 end;
294 --
295 hr_utility.set_location(l_proc, 60);
296 --
297 hr_utility.set_location(l_proc, 60);
298 ben_profile_handler.event_handler
299 (p_event => 'CREATE',
300 p_base_table => 'BEN_VRBL_RT_PRFL_F',
301 p_base_table_column => 'VRBL_RT_PRFL_ID',
302 p_base_table_column_value => p_vrbl_rt_prfl_id,
303 p_base_table_reference_column => 'RT_ELIG_PRFL_FLAG',
304 p_reference_table => 'BEN_VRBL_RT_ELIG_PRFL_F',
305 p_reference_table_column => 'VRBL_RT_PRFL_ID');
306
307 -- When in validation only mode raise the Validate_Enabled exception
308 --
309 if p_validate then
310 raise hr_api.validate_enabled;
311 end if;
312 --
313 -- Set all output arguments
314 --
315 p_vrbl_rt_elig_prfl_id := l_vrbl_rt_elig_prfl_id;
316 p_effective_start_date := l_effective_start_date;
317 p_effective_end_date := l_effective_end_date;
318 p_object_version_number := l_object_version_number;
319 --
320 hr_utility.set_location(' Leaving:'||l_proc, 70);
321 --
322 exception
323 --
324 when hr_api.validate_enabled then
325 --
326 -- As the Validate_Enabled exception has been raised
327 -- we must rollback to the savepoint
328 --
329 ROLLBACK TO create_vrbl_rt_elig_prfl;
330 --
331 -- Only set output warning arguments
332 -- (Any key or derived arguments must be set to null
333 -- when validation only mode is being used.)
334 --
335 p_vrbl_rt_elig_prfl_id := null;
336 p_effective_start_date := null;
337 p_effective_end_date := null;
338 p_object_version_number := null;
339 hr_utility.set_location(' Leaving:'||l_proc, 80);
340 --
341 when others then
342 --
343 -- A validation or unexpected error has occured
344 --
345 ROLLBACK TO create_vrbl_rt_elig_prfl;
346
347 -- NOCOPY, Reset out parameters
348 p_vrbl_rt_elig_prfl_id := null;
349 p_effective_start_date := null;
350 p_effective_end_date := null;
351 p_object_version_number := null;
352
353 raise;
354 --
355 end create_vrbl_rt_elig_prfl;
356 -- ----------------------------------------------------------------------------
357 -- |------------------------< update_vrbl_rt_elig_prfl >--- ------------------|
358 -- ----------------------------------------------------------------------------
359 --
360 procedure update_vrbl_rt_elig_prfl
361 (p_validate in boolean default false
362 ,p_vrbl_rt_elig_prfl_id in number
363 ,p_effective_start_date out nocopy date
364 ,p_effective_end_date out nocopy date
365 ,p_business_group_id in number default hr_api.g_number
366 ,p_vrbl_rt_prfl_id in number default hr_api.g_number
367 ,p_eligy_prfl_id in number default hr_api.g_number
368 ,p_mndtry_flag in varchar2 default hr_api.g_varchar2
369 ,p_vep_attribute_category in varchar2 default hr_api.g_varchar2
370 ,p_vep_attribute1 in varchar2 default hr_api.g_varchar2
371 ,p_vep_attribute2 in varchar2 default hr_api.g_varchar2
372 ,p_vep_attribute3 in varchar2 default hr_api.g_varchar2
373 ,p_vep_attribute4 in varchar2 default hr_api.g_varchar2
374 ,p_vep_attribute5 in varchar2 default hr_api.g_varchar2
375 ,p_vep_attribute6 in varchar2 default hr_api.g_varchar2
376 ,p_vep_attribute7 in varchar2 default hr_api.g_varchar2
377 ,p_vep_attribute8 in varchar2 default hr_api.g_varchar2
378 ,p_vep_attribute9 in varchar2 default hr_api.g_varchar2
379 ,p_vep_attribute10 in varchar2 default hr_api.g_varchar2
380 ,p_vep_attribute11 in varchar2 default hr_api.g_varchar2
381 ,p_vep_attribute12 in varchar2 default hr_api.g_varchar2
382 ,p_vep_attribute13 in varchar2 default hr_api.g_varchar2
383 ,p_vep_attribute14 in varchar2 default hr_api.g_varchar2
384 ,p_vep_attribute15 in varchar2 default hr_api.g_varchar2
385 ,p_vep_attribute16 in varchar2 default hr_api.g_varchar2
386 ,p_vep_attribute17 in varchar2 default hr_api.g_varchar2
387 ,p_vep_attribute18 in varchar2 default hr_api.g_varchar2
388 ,p_vep_attribute19 in varchar2 default hr_api.g_varchar2
389 ,p_vep_attribute20 in varchar2 default hr_api.g_varchar2
390 ,p_vep_attribute21 in varchar2 default hr_api.g_varchar2
391 ,p_vep_attribute22 in varchar2 default hr_api.g_varchar2
392 ,p_vep_attribute23 in varchar2 default hr_api.g_varchar2
393 ,p_vep_attribute24 in varchar2 default hr_api.g_varchar2
394 ,p_vep_attribute25 in varchar2 default hr_api.g_varchar2
395 ,p_vep_attribute26 in varchar2 default hr_api.g_varchar2
396 ,p_vep_attribute27 in varchar2 default hr_api.g_varchar2
397 ,p_vep_attribute28 in varchar2 default hr_api.g_varchar2
398 ,p_vep_attribute29 in varchar2 default hr_api.g_varchar2
399 ,p_vep_attribute30 in varchar2 default hr_api.g_varchar2
400 ,p_object_version_number in out nocopy number
401 ,p_effective_date in date
402 ,p_datetrack_mode in varchar2
403 ) is
404 --
405 -- Declare cursors and local variables
406 --
407 l_proc varchar2(72) := g_package||'update_vrbl_rt_elig_prfl';
408 l_object_version_number ben_vrbl_rt_elig_prfl_f.object_version_number%TYPE;
409 l_effective_start_date ben_vrbl_rt_elig_prfl_f.effective_start_date%TYPE;
410 l_effective_end_date ben_vrbl_rt_elig_prfl_f.effective_end_date%TYPE;
411 --
412 begin
413 --
414 hr_utility.set_location('Entering:'|| l_proc, 10);
415 --
416 -- Issue a savepoint if operating in validation only mode
417 --
418 savepoint update_vrbl_rt_elig_prfl;
419 --
420 hr_utility.set_location(l_proc, 20);
421 --
422 -- Process Logic
423 --
424 l_object_version_number := p_object_version_number;
425 --
426 begin
427 --
428 -- Start of API User Hook for the before hook of update_vrbl_rt_elig_prfl
429 --
430 ben_vrbl_rt_elig_prfl_bk2.update_vrbl_rt_elig_prfl_b
431 (
432 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
433 ,p_business_group_id => p_business_group_id
434 ,p_vrbl_rt_prfl_id => p_vrbl_rt_prfl_id
435 ,p_eligy_prfl_id => p_eligy_prfl_id
436 ,p_mndtry_flag => p_mndtry_flag
437 ,p_vep_attribute_category => p_vep_attribute_category
438 ,p_vep_attribute1 => p_vep_attribute1
439 ,p_vep_attribute2 => p_vep_attribute2
440 ,p_vep_attribute3 => p_vep_attribute3
441 ,p_vep_attribute4 => p_vep_attribute4
442 ,p_vep_attribute5 => p_vep_attribute5
443 ,p_vep_attribute6 => p_vep_attribute6
444 ,p_vep_attribute7 => p_vep_attribute7
445 ,p_vep_attribute8 => p_vep_attribute8
446 ,p_vep_attribute9 => p_vep_attribute9
447 ,p_vep_attribute10 => p_vep_attribute10
448 ,p_vep_attribute11 => p_vep_attribute11
449 ,p_vep_attribute12 => p_vep_attribute12
450 ,p_vep_attribute13 => p_vep_attribute13
451 ,p_vep_attribute14 => p_vep_attribute14
452 ,p_vep_attribute15 => p_vep_attribute15
453 ,p_vep_attribute16 => p_vep_attribute16
454 ,p_vep_attribute17 => p_vep_attribute17
455 ,p_vep_attribute18 => p_vep_attribute18
456 ,p_vep_attribute19 => p_vep_attribute19
457 ,p_vep_attribute20 => p_vep_attribute20
458 ,p_vep_attribute21 => p_vep_attribute21
459 ,p_vep_attribute22 => p_vep_attribute22
460 ,p_vep_attribute23 => p_vep_attribute23
461 ,p_vep_attribute24 => p_vep_attribute24
462 ,p_vep_attribute25 => p_vep_attribute25
463 ,p_vep_attribute26 => p_vep_attribute26
464 ,p_vep_attribute27 => p_vep_attribute27
465 ,p_vep_attribute28 => p_vep_attribute28
466 ,p_vep_attribute29 => p_vep_attribute29
467 ,p_vep_attribute30 => p_vep_attribute30
468 ,p_object_version_number => p_object_version_number
469 ,p_effective_date => trunc(p_effective_date)
470 ,p_datetrack_mode => p_datetrack_mode
471 );
472 exception
473 when hr_api.cannot_find_prog_unit then
474 hr_api.cannot_find_prog_unit_error
475 (p_module_name => 'UPDATE_vrbl_rt_elig_prfl'
476 ,p_hook_type => 'BP'
477 );
478 --
479 -- End of API User Hook for the before hook of update_vrbl_rt_elig_prfl
480 --
481 end;
482 --
483 ben_vep_upd.upd
484 (
485 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
486 ,p_effective_start_date => l_effective_start_date
487 ,p_effective_end_date => l_effective_end_date
488 ,p_business_group_id => p_business_group_id
489 ,p_vrbl_rt_prfl_id => p_vrbl_rt_prfl_id
490 ,p_eligy_prfl_id => p_eligy_prfl_id
491 ,p_mndtry_flag => p_mndtry_flag
492 ,p_vep_attribute_category => p_vep_attribute_category
493 ,p_vep_attribute1 => p_vep_attribute1
494 ,p_vep_attribute2 => p_vep_attribute2
495 ,p_vep_attribute3 => p_vep_attribute3
496 ,p_vep_attribute4 => p_vep_attribute4
497 ,p_vep_attribute5 => p_vep_attribute5
498 ,p_vep_attribute6 => p_vep_attribute6
499 ,p_vep_attribute7 => p_vep_attribute7
500 ,p_vep_attribute8 => p_vep_attribute8
501 ,p_vep_attribute9 => p_vep_attribute9
502 ,p_vep_attribute10 => p_vep_attribute10
503 ,p_vep_attribute11 => p_vep_attribute11
504 ,p_vep_attribute12 => p_vep_attribute12
505 ,p_vep_attribute13 => p_vep_attribute13
506 ,p_vep_attribute14 => p_vep_attribute14
507 ,p_vep_attribute15 => p_vep_attribute15
508 ,p_vep_attribute16 => p_vep_attribute16
509 ,p_vep_attribute17 => p_vep_attribute17
510 ,p_vep_attribute18 => p_vep_attribute18
511 ,p_vep_attribute19 => p_vep_attribute19
512 ,p_vep_attribute20 => p_vep_attribute20
513 ,p_vep_attribute21 => p_vep_attribute21
514 ,p_vep_attribute22 => p_vep_attribute22
515 ,p_vep_attribute23 => p_vep_attribute23
516 ,p_vep_attribute24 => p_vep_attribute24
517 ,p_vep_attribute25 => p_vep_attribute25
518 ,p_vep_attribute26 => p_vep_attribute26
519 ,p_vep_attribute27 => p_vep_attribute27
520 ,p_vep_attribute28 => p_vep_attribute28
521 ,p_vep_attribute29 => p_vep_attribute29
522 ,p_vep_attribute30 => p_vep_attribute30
523 ,p_object_version_number => l_object_version_number
524 ,p_effective_date => trunc(p_effective_date)
525 ,p_datetrack_mode => p_datetrack_mode
526 );
527 --
528 begin
529 --
530 -- Start of API User Hook for the after hook of update_vrbl_rt_elig_prfl
531 --
532 ben_vrbl_rt_elig_prfl_bk2.update_vrbl_rt_elig_prfl_a
533 (
534 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
535 ,p_effective_start_date => l_effective_start_date
536 ,p_effective_end_date => l_effective_end_date
537 ,p_business_group_id => p_business_group_id
538 ,p_vrbl_rt_prfl_id => p_vrbl_rt_prfl_id
539 ,p_eligy_prfl_id => p_eligy_prfl_id
540 ,p_mndtry_flag => p_mndtry_flag
541 ,p_vep_attribute_category => p_vep_attribute_category
542 ,p_vep_attribute1 => p_vep_attribute1
543 ,p_vep_attribute2 => p_vep_attribute2
544 ,p_vep_attribute3 => p_vep_attribute3
545 ,p_vep_attribute4 => p_vep_attribute4
546 ,p_vep_attribute5 => p_vep_attribute5
547 ,p_vep_attribute6 => p_vep_attribute6
548 ,p_vep_attribute7 => p_vep_attribute7
549 ,p_vep_attribute8 => p_vep_attribute8
550 ,p_vep_attribute9 => p_vep_attribute9
551 ,p_vep_attribute10 => p_vep_attribute10
552 ,p_vep_attribute11 => p_vep_attribute11
553 ,p_vep_attribute12 => p_vep_attribute12
554 ,p_vep_attribute13 => p_vep_attribute13
555 ,p_vep_attribute14 => p_vep_attribute14
556 ,p_vep_attribute15 => p_vep_attribute15
557 ,p_vep_attribute16 => p_vep_attribute16
558 ,p_vep_attribute17 => p_vep_attribute17
559 ,p_vep_attribute18 => p_vep_attribute18
560 ,p_vep_attribute19 => p_vep_attribute19
561 ,p_vep_attribute20 => p_vep_attribute20
562 ,p_vep_attribute21 => p_vep_attribute21
563 ,p_vep_attribute22 => p_vep_attribute22
564 ,p_vep_attribute23 => p_vep_attribute23
565 ,p_vep_attribute24 => p_vep_attribute24
566 ,p_vep_attribute25 => p_vep_attribute25
567 ,p_vep_attribute26 => p_vep_attribute26
568 ,p_vep_attribute27 => p_vep_attribute27
569 ,p_vep_attribute28 => p_vep_attribute28
570 ,p_vep_attribute29 => p_vep_attribute29
571 ,p_vep_attribute30 => p_vep_attribute30
572 ,p_object_version_number => l_object_version_number
573 ,p_effective_date => trunc(p_effective_date)
574 ,p_datetrack_mode => p_datetrack_mode
575 );
576 exception
577 when hr_api.cannot_find_prog_unit then
578 hr_api.cannot_find_prog_unit_error
579 (p_module_name => 'UPDATE_vrbl_rt_elig_prfl'
580 ,p_hook_type => 'AP'
581 );
582 --
583 -- End of API User Hook for the after hook of update_vrbl_rt_elig_prfl
584 --
585 end;
586 --
587 hr_utility.set_location(l_proc, 60);
588 --
589 -- When in validation only mode raise the Validate_Enabled exception
590 --
591 if p_validate then
592 raise hr_api.validate_enabled;
593 end if;
594 --
595 -- Set all output arguments
596 --
597 p_object_version_number := l_object_version_number;
598 p_effective_start_date := l_effective_start_date;
599 p_effective_end_date := l_effective_end_date;
600 --
601 hr_utility.set_location(' Leaving:'||l_proc, 70);
602 --
603 exception
604 --
605 when hr_api.validate_enabled then
606 --
607 -- As the Validate_Enabled exception has been raised
608 -- we must rollback to the savepoint
609 --
610 ROLLBACK TO update_vrbl_rt_elig_prfl;
611 --
612 -- Only set output warning arguments
613 -- (Any key or derived arguments must be set to null
614 -- when validation only mode is being used.)
615 --
616 p_effective_start_date := null;
617 p_effective_end_date := null;
618
619 hr_utility.set_location(' Leaving:'||l_proc, 80);
620 --
621 when others then
622 --
623 -- A validation or unexpected error has occured
624 --
625 ROLLBACK TO update_vrbl_rt_elig_prfl;
626
627 -- NOCOPY, Reset out parameters
628 p_effective_start_date := null;
629 p_effective_end_date := null;
630
631 raise;
632 --
633 end update_vrbl_rt_elig_prfl;
634 -- ----------------------------------------------------------------------------
635 -- |------------------------< delete_vrbl_rt_elig_prfl >----------------------|
636 -- ----------------------------------------------------------------------------
637 --
638 procedure delete_vrbl_rt_elig_prfl
639 (p_validate in boolean default false
640 ,p_vrbl_rt_elig_prfl_id in number
641 ,p_vrbl_rt_prfl_id in number
642 ,p_effective_start_date out nocopy date
643 ,p_effective_end_date out nocopy date
644 ,p_object_version_number in out nocopy number
645 ,p_effective_date in date
646 ,p_datetrack_mode in varchar2
647 ) is
648 --
649 -- Declare cursors and local variables
650 --
651 l_proc varchar2(72) := g_package||'update_vrbl_rt_elig_prfl';
652 l_object_version_number ben_vrbl_rt_elig_prfl_f.object_version_number%TYPE;
653 l_effective_start_date ben_vrbl_rt_elig_prfl_f.effective_start_date%TYPE;
654 l_effective_end_date ben_vrbl_rt_elig_prfl_f.effective_end_date%TYPE;
655 --
656 begin
657 --
658 hr_utility.set_location('Entering:'|| l_proc, 10);
659 --
660 -- Issue a savepoint if operating in validation only mode
661 --
662 savepoint delete_vrbl_rt_elig_prfl;
663 --
664 hr_utility.set_location(l_proc, 20);
665 --
666 -- Process Logic
667 --
668 l_object_version_number := p_object_version_number;
669 --
670 --
671 begin
672 --
673 -- Start of API User Hook for the before hook of delete_vrbl_rt_elig_prfl
674 --
675 ben_vrbl_rt_elig_prfl_bk3.delete_vrbl_rt_elig_prfl_b
676 (
677 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
678 ,p_object_version_number => p_object_version_number
679 ,p_effective_date => trunc(p_effective_date)
680 ,p_datetrack_mode => p_datetrack_mode
681 );
682 exception
683 when hr_api.cannot_find_prog_unit then
684 hr_api.cannot_find_prog_unit_error
685 (p_module_name => 'DELETE_vrbl_rt_elig_prfl'
686 ,p_hook_type => 'BP'
687 );
688 --
689 -- End of API User Hook for the before hook of delete_vrbl_rt_elig_prfl
690 --
691 end;
692 --
693 ben_vep_del.del
694 (
695 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
696 ,p_effective_start_date => l_effective_start_date
697 ,p_effective_end_date => l_effective_end_date
698 ,p_object_version_number => l_object_version_number
699 ,p_effective_date => p_effective_date
700 ,p_datetrack_mode => p_datetrack_mode
701 );
702 --
703 begin
704 --
705 -- Start of API User Hook for the after hook of delete_vrbl_rt_elig_prfl
706 --
707 ben_vrbl_rt_elig_prfl_bk3.delete_vrbl_rt_elig_prfl_a
708 (
709 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
710 ,p_effective_start_date => l_effective_start_date
711 ,p_effective_end_date => l_effective_end_date
712 ,p_object_version_number => l_object_version_number
713 ,p_effective_date => trunc(p_effective_date)
714 ,p_datetrack_mode => p_datetrack_mode
715 );
716 exception
717 when hr_api.cannot_find_prog_unit then
718 hr_api.cannot_find_prog_unit_error
719 (p_module_name => 'DELETE_vrbl_rt_elig_prfl'
720 ,p_hook_type => 'AP'
721 );
722 --
723 -- End of API User Hook for the after hook of delete_vrbl_rt_elig_prfl
724 --
725 end;
726 --
727 hr_utility.set_location(l_proc, 60);
728 --
729 ben_profile_handler.event_handler
730 (p_event => 'DELETE',
731 p_base_table => 'BEN_VRBL_RT_PRFL_F',
732 p_base_table_column => 'VRBL_RT_PRFL_ID',
733 p_base_table_column_value => p_vrbl_rt_prfl_id,
734 p_base_table_reference_column => 'RT_ELIG_PRFL_FLAG',
735 p_reference_table => 'BEN_VRBL_RT_ELIG_PRFL_F',
736 p_reference_table_column => 'VRBL_RT_PRFL_ID');
737
738 -- When in validation only mode raise the Validate_Enabled exception
739 --
740 if p_validate then
741 raise hr_api.validate_enabled;
742 end if;
743 --
744 hr_utility.set_location(' Leaving:'||l_proc, 70);
745 --
746 exception
747 --
748 when hr_api.validate_enabled then
749 --
750 -- As the Validate_Enabled exception has been raised
751 -- we must rollback to the savepoint
752 --
753 ROLLBACK TO delete_vrbl_rt_elig_prfl;
754 --
755 -- Only set output warning arguments
756 -- (Any key or derived arguments must be set to null
757 -- when validation only mode is being used.)
758 --
759 p_effective_start_date := null;
760 p_effective_end_date := null;
761 --
762 when others then
763 --
764 -- A validation or unexpected error has occured
765 --
766 ROLLBACK TO delete_vrbl_rt_elig_prfl;
767
768 -- NOCOPY, Reset out parameters
769 p_effective_start_date := null;
770 p_effective_end_date := null;
771
772 raise;
773 --
774 end delete_vrbl_rt_elig_prfl;
775 --
776 -- ----------------------------------------------------------------------------
777 -- |-------------------------------< lck >------------------------------------|
778 -- ----------------------------------------------------------------------------
779 --
780 procedure lck
781 (
782 p_vrbl_rt_elig_prfl_id in number
783 ,p_object_version_number in number
784 ,p_effective_date in date
785 ,p_datetrack_mode in varchar2
786 ,p_validation_start_date out nocopy date
787 ,p_validation_end_date out nocopy date
788 ) is
789 --
790 --
791 -- Declare cursors and local variables
792 --
793 l_proc varchar2(72) := g_package||'lck';
794 l_validation_start_date date;
795 l_validation_end_date date;
796 --
797 begin
798 --
799 hr_utility.set_location('Entering:'|| l_proc, 10);
800 --
801 ben_vep_shd.lck
802 (
803 p_vrbl_rt_elig_prfl_id => p_vrbl_rt_elig_prfl_id
804 ,p_validation_start_date => l_validation_start_date
805 ,p_validation_end_date => l_validation_end_date
806 ,p_object_version_number => p_object_version_number
807 ,p_effective_date => p_effective_date
808 ,p_datetrack_mode => p_datetrack_mode
809 );
810 --
811 hr_utility.set_location(' Leaving:'||l_proc, 70);
812 --
813 end lck;
814 --
815 end ben_vrbl_rt_elig_prfl_api;