DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHR_ASSIGNMENT_API

Source


1 Package body ghr_assignment_api as
2 /* $Header: ghasgapi.pkb 120.0 2006/01/27 12:39:35 vravikan noship $ */
3 --
4 g_package varchar2(33) :=  ' ghr_assignment_api.';
5 
6 --
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< accept_apl_asg >----------------------|
10 -- ----------------------------------------------------------------------------
11   procedure accept_apl_asg
12   (p_validate                     in     boolean  default false
13   ,p_effective_date               in     date
14   ,p_datetrack_update_mode        in     varchar2
15   ,p_assignment_id                in     number
16   ,p_object_version_number        in out nocopy number
17   ,p_assignment_status_type_id    in     number   default hr_api.g_number
18   ,p_change_reason                in     varchar2 default hr_api.g_varchar2
19   ,p_effective_start_date            out nocopy date
20   ,p_effective_end_date              out nocopy date
21   )
22 --
23 is
24 
25  l_proc                     varchar2(72);
26  l_object_version_number    per_assignments_f.object_version_number%type;
27  l_init_ovn per_assignments_f.object_version_number%type;
28 
29 
30 BEGIN
31   l_proc :=  g_package ||'accept_apl_asg';
32   -- NOCOPY Changes
33   l_init_ovn :=  p_object_version_number;
34   hr_utility.set_location('Entering:'|| l_proc, 5);
35   --
36   -- Issue a savepoint if operating in validation only mode.
37   --
38 
39   SAVEPOINT ghr_accept_apl_asg;
40 
41   l_object_version_number   :=   p_object_version_number;
42 
43   hr_utility.set_location(l_proc, 10);
44   --
45   ghr_session.set_session_var_for_core
46   (p_effective_date  => p_effective_date
47   );
48   --
49   hr_utility.set_location(l_proc, 15);
50      hr_assignment_api.accept_apl_asg
51      (p_effective_date             =>   p_effective_date
52      ,p_datetrack_update_mode      =>   p_datetrack_update_mode
53      ,p_assignment_id              =>   p_assignment_id
54      ,p_object_version_number      =>   l_object_version_number
55      ,p_assignment_status_type_id  =>   p_assignment_status_type_id
56      ,p_change_reason              =>   p_change_reason
57      ,p_effective_start_date       =>   p_effective_start_date
58      ,p_effective_end_date         =>   p_effective_end_date
59     );
60  hr_utility.set_location(l_proc, 20);
61   --
62  ghr_history_api.post_update_process;
63 
64   IF p_validate THEN
65     RAISE hr_api.validate_enabled;
66   END IF;
67   --
68   -- Set all output arguments
69   --
70    p_object_version_number  :=  l_object_version_number;
71 
72   hr_utility.set_location(' Leaving:'||l_proc, 25);
73 EXCEPTION
74   WHEN hr_api.validate_enabled THEN
75     --
76     -- As the Validate_Enabled exception has been raised
77     -- we must rollback to the savepoint
78     --
79     ROLLBACK TO ghr_accept_apl_asg;
80     --
81     -- Only set output warning arguments
82     -- (Any key or derived arguments must be set to null
83     -- when validation only mode is being used.)
84     --
85 
86     p_object_version_number  :=  l_object_version_number;
87     p_effective_start_date   :=  null;
88     p_effective_end_date     :=  null;
89 
90     hr_utility.set_location(' Leaving:'||l_proc, 30);
91  WHEN others then
92    ROLLBACK TO ghr_accept_apl_asg;
93           --
94           -- Reset IN OUT parameters and set OUT parameters
95           --
96     p_object_version_number  := l_init_ovn;
97     p_effective_start_date   :=  null;
98     p_effective_end_date     :=  null;
99 
100    raise;
101 
102 end accept_apl_asg;
103 
104 end ghr_assignment_api;