[Home] [Help]
PACKAGE BODY: APPS.HR_CAGR_ENTITLEMENT_API
Source
1 PACKAGE BODY hr_cagr_entitlement_api AS
2 /* $Header: pepceapi.pkb 120.1 2006/10/18 09:05:55 grreddy noship $ */
3 --
4 -- Package Variables
5 --
6 g_package VARCHAR2(33) := ' hr_cagr_entitlement_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_cagr_entitlement >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 PROCEDURE create_cagr_entitlement
13 (p_validate IN BOOLEAN DEFAULT FALSE
14 ,p_effective_date IN DATE
15 ,p_cagr_entitlement_item_id IN NUMBER
16 ,p_collective_agreement_id IN NUMBER
17 ,p_end_date IN DATE DEFAULT NULL
18 ,p_status IN VARCHAR2
19 ,p_formula_criteria IN VARCHAR2
20 ,p_formula_id IN NUMBER DEFAULT NULL
21 ,p_units_of_measure IN VARCHAR2 DEFAULT NULL
22 ,p_message_level IN VARCHAR2 DEFAULT NULL
23 ,p_object_version_number OUT NOCOPY NUMBER
24 ,p_cagr_entitlement_id OUT NOCOPY NUMBER
25 ) IS
26 --
27 -- Declare cursors and local variables
28 --
29 l_proc VARCHAR2(72) := g_package||'create_cagr_entitlement';
30 l_object_version_number per_cagr_entitlements.object_version_number%TYPE;
31 l_cagr_entitlement_id per_cagr_entitlements.cagr_entitlement_id%TYPE;
32 l_effective_date DATE;
33 --
34 BEGIN
35 --
36 hr_utility.set_location('Entering :'||l_proc||'/'||p_effective_date, 10);
37 --
38 -- Issue a SAVEPOINT IF operating IN validation only mode
39 --
40 SAVEPOINT create_cagr_entitlement;
41 --
42 hr_utility.set_location(l_proc, 20);
43 --
44 l_effective_date := TRUNC(p_effective_date);
45 --
46 -- Process Logic
47 --
48 BEGIN
49 --
50 -- Start of API User Hook for the before hook of create_cagr_entitlement
51 --
52 hr_cagr_entitlement_bk1.create_cagr_entitlement_b
53 (
54 p_cagr_entitlement_id => p_cagr_entitlement_id
55 ,p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
56 ,p_collective_agreement_id => p_collective_agreement_id
57 ,p_start_date => p_effective_Date
58 ,p_end_date => p_end_date
59 ,p_status => p_status
60 ,p_formula_criteria => p_formula_criteria
61 ,p_formula_id => p_formula_id
62 ,p_units_of_measure => p_units_of_measure
63 ,p_message_level => p_message_level
64 );
65 EXCEPTION
66 WHEN hr_api.cannot_find_prog_unit THEN
67 hr_api.cannot_find_prog_unit_error
68 (
69 p_module_name => 'CREATE_cagr_entitlement'
70 ,p_hook_type => 'BP'
71 );
72 --
73 -- End of API User Hook for the before hook of create_cagr_entitlement
74 --
75 END;
76 --
77 per_pce_ins.ins
78 (p_effective_date => l_effective_date
79 ,p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
80 ,p_collective_agreement_id => p_collective_agreement_id
81 ,p_end_date => p_end_date
82 ,p_status => p_status
83 ,p_formula_criteria => p_formula_criteria
84 ,p_formula_id => p_formula_id
85 ,p_units_of_measure => p_units_of_measure
86 ,p_message_level => p_message_level
87 ,p_cagr_entitlement_id => l_cagr_entitlement_id
88 ,p_object_version_number => l_object_version_number
89 );
90 --
91 BEGIN
92 --
93 -- Start of API User Hook for the after hook of create_cagr_entitlement
94 --
95 hr_cagr_entitlement_bk1.create_cagr_entitlement_a
96 (
97 p_cagr_entitlement_id => p_cagr_entitlement_id
98 ,p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
99 ,p_collective_agreement_id => p_collective_agreement_id
100 ,p_start_date => p_effective_date
101 ,p_end_date => p_end_date
102 ,p_status => p_status
103 ,p_formula_criteria => p_formula_criteria
104 ,p_formula_id => p_formula_id
105 ,p_units_of_measure => p_units_of_measure
106 ,p_message_level => p_message_level
107 ,p_object_version_number => l_object_version_number
108 );
109 EXCEPTION
110 WHEN hr_api.cannot_find_prog_unit THEN
111 hr_api.cannot_find_prog_unit_error
112 (p_module_name => 'CREATE_cagr_entitlement'
113 ,p_hook_type => 'AP'
114 );
115 --
116 -- End of API User Hook for the after hook of create_cagr_entitlement
117 --
118 END;
119 --
120 hr_utility.set_location(l_proc, 60);
121 --
122 -- When IN validation only mode raise the Validate_Enabled EXCEPTION
123 --
124 IF p_validate THEN
125 raise hr_api.validate_enabled;
126 END IF;
127 --
128 -- Set all output arguments
129 --
130 p_object_version_number := l_object_version_number;
131 p_cagr_entitlement_id := l_cagr_entitlement_id;
132 --
133 hr_utility.set_location(' Leaving:'||l_proc, 70);
134 --
135 EXCEPTION
136 --
137 WHEN hr_api.validate_enabled THEN
138 --
139 -- As the Validate_Enabled EXCEPTION has been raised
140 -- we must rollback to the SAVEPOINT
141 --
142 ROLLBACK TO create_cagr_entitlement;
143 --
144 -- Only set output warning arguments
145 -- (Any key or derived arguments must be set to null
146 -- WHEN validation only mode IS being used.)
147 --
148 p_object_version_number := null;
149 hr_utility.set_location(' Leaving:'||l_proc, 80);
150 --
151 WHEN others THEN
152 --
153 -- A validation or unexpected error has occured
154 --
155 ROLLBACK TO create_cagr_entitlement;
156 --
157 -- set in out parameters and set out parameters
158 --
159 p_object_version_number := null;
160 p_cagr_entitlement_id := null;
161 raise;
162 --
163 END create_cagr_entitlement;
164 -- ----------------------------------------------------------------------------
165 -- |------------------------< update_cagr_entitlement >--- ------------------|
166 -- ----------------------------------------------------------------------------
167 --
168 PROCEDURE update_cagr_entitlement
169 (p_validate IN BOOLEAN DEFAULT false
170 ,p_effective_date IN DATE
171 ,p_cagr_entitlement_id IN NUMBER DEFAULT hr_api.g_number
172 ,p_cagr_entitlement_item_id IN NUMBER DEFAULT hr_api.g_number
173 ,p_collective_agreement_id IN NUMBER DEFAULT hr_api.g_number
174 ,p_status IN VARCHAR2 DEFAULT hr_api.g_varchar2
175 ,p_end_date IN DATE DEFAULT hr_api.g_date
176 ,p_formula_criteria IN VARCHAR2 DEFAULT hr_api.g_varchar2
177 ,p_formula_id IN NUMBER DEFAULT hr_api.g_number
178 ,p_units_of_measure IN VARCHAR2 DEFAULT hr_api.g_varchar2
179 ,p_message_level IN VARCHAR2 DEFAULT hr_api.g_varchar2
180 ,p_object_version_number IN OUT NOCOPY NUMBER
181 ) IS
182 --
183 -- Declare cursors and local variables
184 --
185 l_proc VARCHAR2(72) := g_package||'update_cagr_entitlement';
186 l_object_version_number per_cagr_entitlements.object_version_number%TYPE;
187 l_ovn per_cagr_entitlements.object_version_number%TYPE := p_object_version_number;
188 l_effective_date DATE;
189 --
190 BEGIN
191 --
192 hr_utility.set_location('Entering:'|| l_proc, 10);
193 --
194 -- Issue a SAVEPOINT IF operating IN validation only mode
195 --
196 SAVEPOINT update_cagr_entitlement;
197 --
198 -- Truncate any DATE parameters
199 --
200 l_effective_date := TRUNC(p_effective_date);
201 --
202 hr_utility.set_location(l_proc, 20);
203 --
204 -- Process Logic
205 --
206 l_object_version_number := p_object_version_number;
207 --
208 BEGIN
209 --
210 -- Start of API User Hook for the before hook of update_cagr_entitlement
211 --
212 hr_cagr_entitlement_bk2.update_cagr_entitlement_b
213 (
214 p_cagr_entitlement_id => p_cagr_entitlement_id
215 ,p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
216 ,p_collective_agreement_id => p_collective_agreement_id
217 ,p_status => p_status
218 ,p_end_date => p_end_date
219 ,p_formula_criteria => p_formula_criteria
220 ,p_formula_id => p_formula_id
221 ,p_units_of_measure => p_units_of_measure
222 ,p_message_level => p_message_level
223 ,p_object_version_number => p_object_version_number
224 );
225 EXCEPTION
226 WHEN hr_api.cannot_find_prog_unit THEN
227 hr_api.cannot_find_prog_unit_error
228 (p_module_name => 'UPDATE_cagr_entitlement'
229 ,p_hook_type => 'BP'
230 );
231 --
232 -- End of API User Hook for the before hook of update_cagr_entitlement
233 --
234 END;
235 --
236 per_pce_upd.upd
237 (
238 p_effective_date => l_effective_date
239 ,p_cagr_entitlement_id => p_cagr_entitlement_id
240 ,p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
241 ,p_collective_agreement_id => p_collective_agreement_id
242 ,p_status => p_status
243 ,p_end_date => p_end_date
244 ,p_formula_criteria => p_formula_criteria
245 ,p_formula_id => p_formula_id
246 ,p_units_of_measure => p_units_of_measure
247 ,p_message_level => p_message_level
248 ,p_object_version_number => l_object_version_number
249 );
250 --
251 BEGIN
252 --
253 -- Start of API User Hook for the after hook of update_cagr_entitlement
254 --
255 hr_cagr_entitlement_bk2.update_cagr_entitlement_a
256 (
257 p_cagr_entitlement_id => p_cagr_entitlement_id
258 ,p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
259 ,p_collective_agreement_id => p_collective_agreement_id
260 ,p_status => p_status
261 ,p_end_date => p_end_date
262 ,p_formula_criteria => p_formula_criteria
263 ,p_formula_id => p_formula_id
264 ,p_units_of_measure => p_units_of_measure
265 ,p_message_level => p_message_level
266 ,p_object_version_number => l_object_version_number
267 );
268 EXCEPTION
269 WHEN hr_api.cannot_find_prog_unit THEN
270 hr_api.cannot_find_prog_unit_error
271 (p_module_name => 'UPDATE_cagr_entitlement'
272 ,p_hook_type => 'AP'
273 );
274 --
275 -- End of API User Hook for the after hook of update_cagr_entitlement
276 --
277 END;
278 --
279 hr_utility.set_location(l_proc, 60);
280 --
281 -- When IN validation only mode raise the Validate_Enabled EXCEPTION
282 --
283 IF p_validate THEN
284 --
285 hr_utility.set_location(l_proc, 65);
286 --
287 raise hr_api.validate_enabled;
288 END IF;
289 --
290 -- Set all output arguments
291 --
292 p_object_version_number := l_object_version_number;
293 --
294 hr_utility.set_location(' Leaving:'||l_proc, 70);
295 --
296 EXCEPTION
297 --
298 WHEN hr_api.validate_enabled THEN
299 --
300 -- As the Validate_Enabled EXCEPTION has been raised
301 -- we must rollback to the SAVEPOINT
302 --
303 ROLLBACK TO update_cagr_entitlement;
304 --
305 -- Only set output warning arguments
306 -- (Any key or derived arguments must be set to null
307 -- WHEN validation only mode IS being used.)
308 --
309 hr_utility.set_location(' Leaving:'||l_proc, 80);
310 --
311 WHEN others THEN
312 --
313 -- A validation or unexpected error has occured
314 --
315 ROLLBACK TO update_cagr_entitlement;
316 --
317 -- set in out parameters and set out parameters
318 --
319 p_object_version_number := l_ovn;
320 raise;
321 --
322 END update_cagr_entitlement;
323 -- ----------------------------------------------------------------------------
324 -- |------------------------< delete_cagr_entitlement >----------------------|
325 -- ----------------------------------------------------------------------------
326 --
327 PROCEDURE delete_cagr_entitlement
328 (p_validate IN BOOLEAN DEFAULT false
329 ,p_effective_date IN DATE
330 ,p_cagr_entitlement_id IN per_cagr_entitlements.cagr_entitlement_id%TYPE
331 ,p_object_version_number IN OUT NOCOPY NUMBER
332 ) IS
333 --
334 -- Declare cursors and local variables
335 --
336 CURSOR csr_entitlement_lines IS
337 SELECT cagr_entitlement_line_id,
338 object_version_number
339 FROM per_cagr_entitlement_lines_f pcl
340 WHERE pcl.cagr_entitlement_id = p_cagr_entitlement_id;
341 --
342 l_proc VARCHAR2(72) := g_package||'update_cagr_entitlement';
343 l_object_version_number per_cagr_entitlements.object_version_number%TYPE;
344 l_ovn per_cagr_entitlements.object_version_number%TYPE := p_object_version_number;
345 l_effective_date DATE;
346 l_pcl_ovn NUMBER;
347 l_pcl_end_date DATE;
348 l_pcl_start_date DATE;
349 --
350 BEGIN
351 --
352 hr_utility.set_location('Entering:'|| l_proc, 10);
353 --
354 -- Issue a SAVEPOINT IF operating IN validation only mode
355 --
356 SAVEPOINT delete_cagr_entitlement;
357 --
358 hr_utility.set_location(l_proc, 20);
359 --
360 l_effective_date := TRUNC(p_effective_date);
361 --
362 -- Process Logic
363 --
364 l_object_version_number := p_object_version_number;
365 --
366 --
367 BEGIN
368 --
369 -- Start of API User Hook for the before hook of delete_cagr_entitlement
370 --
371 hr_cagr_entitlement_bk3.delete_cagr_entitlement_b
372 (p_effective_date => l_effective_date
373 ,p_cagr_entitlement_id => p_cagr_entitlement_id
374 ,p_object_version_number => p_object_version_number
375 );
376 --
377 EXCEPTION
378 WHEN hr_api.cannot_find_prog_unit THEN
379 hr_api.cannot_find_prog_unit_error
380 (p_module_name => 'DELETE_cagr_entitlement'
381 ,p_hook_type => 'BP'
382 );
383 --
384 -- End of API User Hook for the before hook of delete_cagr_entitlement
385 --
386 END;
387 --
388 hr_utility.set_location(l_proc, 30);
389 --
390 -- Delete the Entitlement Lines that belong to the Entitlement
391 --
392 FOR c1 IN csr_entitlement_lines LOOP
393 --
394 hr_utility.set_location(l_proc||'/'||
395 c1.cagr_entitlement_line_id||'/'||
396 c1.object_version_number, 40);
397 --
398 l_pcl_ovn := c1.object_version_number;
399 --
400 hr_cagr_ent_lines_api.delete_entitlement_line
401 (p_validate => FALSE
402 ,p_cagr_entitlement_line_id => c1.cagr_entitlement_line_id
403 ,p_effective_start_date => l_pcl_start_date
404 ,p_effective_END_date => l_pcl_end_date
405 ,p_object_version_number => l_pcl_ovn
406 ,p_effective_date => p_effective_date
407 ,p_datetrack_mode => 'ZAP');
408 --
409 END LOOP;
410 --
411 per_pce_del.del
412 (p_cagr_entitlement_id => p_cagr_entitlement_id
413 ,p_object_version_number => l_object_version_number
414 );
415 --
416 BEGIN
417 --
418 -- Start of API User Hook for the after hook of delete_cagr_entitlement
419 --
420 hr_cagr_entitlement_bk3.delete_cagr_entitlement_a
421 (p_effective_date => l_effective_date
422 ,p_cagr_entitlement_id => p_cagr_entitlement_id
423 ,p_object_version_number => l_object_version_number
424 );
425 --
426 EXCEPTION
427 WHEN hr_api.cannot_find_prog_unit THEN
428 hr_api.cannot_find_prog_unit_error
429 (p_module_name => 'DELETE_cagr_entitlement'
430 ,p_hook_type => 'AP'
431 );
432 --
433 -- End of API User Hook for the after hook of delete_cagr_entitlement
434 --
435 END;
436 --
437 hr_utility.set_location(l_proc, 60);
438 --
439 -- When IN validation only mode raise the Validate_Enabled EXCEPTION
440 --
441 IF p_validate THEN
442 raise hr_api.validate_enabled;
443 END IF;
444 --
445 hr_utility.set_location(' Leaving:'||l_proc, 70);
446 --
447 EXCEPTION
448 --
449 WHEN hr_api.validate_enabled THEN
450 --
451 -- As the Validate_Enabled EXCEPTION has been raised
452 -- we must rollback to the SAVEPOINT
453 --
454 ROLLBACK TO delete_cagr_entitlement;
455 --
456 -- Only set output warning arguments
457 -- (Any key or derived arguments must be set to null
458 -- WHEN validation only mode IS being used.)
459 --
460 --
461 WHEN others THEN
462 --
463 -- A validation or unexpected error has occured
464 --
465 ROLLBACK TO delete_cagr_entitlement;
466 --
467 -- set in out parameters and set out parameters
468 --
469 p_object_version_number := l_ovn;
470 raise;
471 --
472 END delete_cagr_entitlement;
473 --
474 END hr_cagr_entitlement_api;