[Home] [Help]
PACKAGE BODY: APPS.HR_SA_PERIODS_OF_SERVICE_API
Source
1 package body hr_sa_periods_of_service_api as
2 /* $Header: pepdssai.pkb 115.0 2003/09/10 02:08:24 adevanat noship $ */
3
4
5 --
6 -- Package Variables
7 --
8 g_package varchar2(33) := 'hr_sa_periods_of_service_api.';
9 --
10 -- ----------------------------------------------------------------------
11 -- |----------------------< update_sa_pds_details >----------------------|
12 -- ----------------------------------------------------------------------
13 --
14 procedure update_sa_pds_details
15 (p_validate in boolean default false
16 ,p_effective_date in date
17 ,p_period_of_service_id in number
18 ,p_termination_accepted_person in number default hr_api.g_number
19 ,p_accepted_termination_date in date default hr_api.g_date
20 ,p_object_version_number in out nocopy number
21 ,p_comments in varchar2 default hr_api.g_varchar2
22 ,p_leaving_reason in varchar2 default hr_api.g_varchar2
23 ,p_notified_termination_date in date default hr_api.g_date
24 ,p_projected_termination_date in date default hr_api.g_date
25 ,p_attribute_category in varchar2 default hr_api.g_varchar2
26 ,p_attribute1 in varchar2 default hr_api.g_varchar2
27 ,p_attribute2 in varchar2 default hr_api.g_varchar2
28 ,p_attribute3 in varchar2 default hr_api.g_varchar2
29 ,p_attribute4 in varchar2 default hr_api.g_varchar2
30 ,p_attribute5 in varchar2 default hr_api.g_varchar2
31 ,p_attribute6 in varchar2 default hr_api.g_varchar2
32 ,p_attribute7 in varchar2 default hr_api.g_varchar2
33 ,p_attribute8 in varchar2 default hr_api.g_varchar2
34 ,p_attribute9 in varchar2 default hr_api.g_varchar2
35 ,p_attribute10 in varchar2 default hr_api.g_varchar2
36 ,p_attribute11 in varchar2 default hr_api.g_varchar2
37 ,p_attribute12 in varchar2 default hr_api.g_varchar2
38 ,p_attribute13 in varchar2 default hr_api.g_varchar2
39 ,p_attribute14 in varchar2 default hr_api.g_varchar2
40 ,p_attribute15 in varchar2 default hr_api.g_varchar2
41 ,p_attribute16 in varchar2 default hr_api.g_varchar2
42 ,p_attribute17 in varchar2 default hr_api.g_varchar2
43 ,p_attribute18 in varchar2 default hr_api.g_varchar2
44 ,p_attribute19 in varchar2 default hr_api.g_varchar2
45 ,p_attribute20 in varchar2 default hr_api.g_varchar2
46 ,p_hijrah_termination_date in varchar2 default hr_api.g_varchar2
47 ) is
48 --
49 -- Declare cursors and local variables
50 --
51 l_business_group_id per_periods_of_service.business_group_id%TYPE;
52 l_proc varchar2(72) := g_package||'update_sa_pds_details';
53 l_legislation_code varchar2(2);
54 --
55 cursor csr_get_business_group_id is
56 select per.business_group_id
57 from per_periods_of_service per
58 where per.period_of_service_id = p_period_of_service_id;
59 --
60 cursor csr_bg is
61 select legislation_code
62 from per_business_groups pbg
63 where pbg.business_group_id = l_business_group_id;
64 --
65 begin
66 --
67 hr_utility.set_location('Entering:'|| l_proc, 10);
68 --
69 -- Issue a savepoint if operating in validation only mode
70 --
71 savepoint update_sa_pds_details;
72 --
73 hr_utility.set_location(l_proc, 20);
74 --
75 -- Process Logic
76 --
77 -- Get person details.
78 --
79 open csr_get_business_group_id;
80 fetch csr_get_business_group_id
81 into l_business_group_id;
82 --
83 if csr_get_business_group_id%NOTFOUND then
84 close csr_get_business_group_id;
85 hr_utility.set_location(l_proc, 30);
86 hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
87 hr_utility.raise_error;
88 end if;
89 close csr_get_business_group_id;
90 --
91 hr_utility.set_location(l_proc, 40);
92 --
93 -- Check that the specified business group is valid.
94 --
95 open csr_bg;
96 fetch csr_bg
97 into l_legislation_code;
98 if csr_bg%notfound then
99 close csr_bg;
100 hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
101 hr_utility.raise_error;
102 end if;
103 close csr_bg;
104 --
105 hr_utility.set_location(l_proc, 50);
106 --
107 -- Check that the legislation of the specified business group is 'SA'.
108 --
109 if l_legislation_code <> 'SA' then
110 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
111 hr_utility.set_message_token('LEG_CODE','SA');
112 hr_utility.raise_error;
113 end if;
114 hr_utility.set_location(l_proc, 60);
115 --
116 -- Call the contract business process
117 --
118 hr_periods_of_service_api.update_pds_details
119 (p_validate => p_validate
120 ,p_effective_date => p_effective_date
121 ,p_period_of_service_id => p_period_of_service_id
122 ,p_termination_accepted_person => p_termination_accepted_person
123 ,p_accepted_termination_date => p_accepted_termination_date
124 ,p_object_version_number => p_object_version_number
125 ,p_comments => p_comments
126 ,p_leaving_reason => p_leaving_reason
127 ,p_notified_termination_date => p_notified_termination_date
128 ,p_projected_termination_date => p_projected_termination_date
129 ,p_attribute_category => p_attribute_category
130 ,p_attribute1 => p_attribute1
131 ,p_attribute2 => p_attribute2
132 ,p_attribute3 => p_attribute3
133 ,p_attribute4 => p_attribute4
134 ,p_attribute5 => p_attribute5
135 ,p_attribute6 => p_attribute6
136 ,p_attribute7 => p_attribute7
137 ,p_attribute8 => p_attribute8
138 ,p_attribute9 => p_attribute9
139 ,p_attribute10 => p_attribute10
140 ,p_attribute11 => p_attribute11
141 ,p_attribute12 => p_attribute12
142 ,p_attribute13 => p_attribute13
143 ,p_attribute14 => p_attribute14
144 ,p_attribute15 => p_attribute15
145 ,p_attribute16 => p_attribute16
146 ,p_attribute17 => p_attribute17
147 ,p_attribute18 => p_attribute18
148 ,p_attribute19 => p_attribute19
149 ,p_attribute20 => p_attribute20
150 ,p_pds_information_category => 'SA'
151 ,p_pds_information1 => p_hijrah_termination_date);
152 --
153 hr_utility.set_location(' Leaving:'||l_proc, 70);
154 --
155 end update_sa_pds_details;
156 --
157 end hr_sa_periods_of_service_api;