DBA Data[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;