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