[Home] [Help]
PACKAGE BODY: APPS.HR_SG_ASSIGNMENT_API
Source
1 package body hr_sg_assignment_api as
2 /* $Header: hrsgwras.pkb 115.3 2002/12/03 06:05:17 apunekar ship $ */
3
4 g_package varchar2(33) := 'hr_sg_assignment_api.';
5
6 PROCEDURE create_sg_secondary_emp_asg
7 (p_validate in boolean default false
8 ,p_effective_date in date
9 ,p_person_id in number
10 ,p_organization_id in number
11 ,p_grade_id in number default null
12 ,p_position_id in number default null
13 ,p_job_id in number default null
14 ,p_assignment_status_type_id in number default null
15 ,p_payroll_id in number default null
16 ,p_location_id in number default null
17 ,p_supervisor_id in number default null
18 ,p_special_ceiling_step_id in number default null
19 ,p_pay_basis_id in number default null
20 ,p_assignment_number in out nocopy varchar2
21 ,p_change_reason in varchar2 default null
22 ,p_comments in varchar2 default null
23 ,p_date_probation_end in date default null
24 ,p_default_code_comb_id in number default null
25 ,p_employment_category in varchar2 default null
26 ,p_frequency in varchar2 default null
27 ,p_internal_address_line in varchar2 default null
28 ,p_manager_flag in varchar2 default null
29 ,p_normal_hours in number default null
30 ,p_perf_review_period in number default null
31 ,p_perf_review_period_frequency in varchar2 default null
32 ,p_probation_period in number default null
33 ,p_probation_unit in varchar2 default null
34 ,p_sal_review_period in number default null
35 ,p_sal_review_period_frequency in varchar2 default null
36 ,p_set_of_books_id in number default null
37 ,p_source_type in varchar2 default null
38 ,p_time_normal_finish in varchar2 default null
39 ,p_time_normal_start in varchar2 default null
40 ,p_bargaining_unit_code in varchar2 default null
41 ,p_labour_union_member_flag in varchar2 default null
42 ,p_hourly_salaried_code in varchar2 default null
43 ,p_ass_attribute_category in varchar2 default null
44 ,p_ass_attribute1 in varchar2 default null
45 ,p_ass_attribute2 in varchar2 default null
46 ,p_ass_attribute3 in varchar2 default null
47 ,p_ass_attribute4 in varchar2 default null
48 ,p_ass_attribute5 in varchar2 default null
49 ,p_ass_attribute6 in varchar2 default null
50 ,p_ass_attribute7 in varchar2 default null
51 ,p_ass_attribute8 in varchar2 default null
52 ,p_ass_attribute9 in varchar2 default null
53 ,p_ass_attribute10 in varchar2 default null
54 ,p_ass_attribute11 in varchar2 default null
55 ,p_ass_attribute12 in varchar2 default null
56 ,p_ass_attribute13 in varchar2 default null
57 ,p_ass_attribute14 in varchar2 default null
58 ,p_ass_attribute15 in varchar2 default null
59 ,p_ass_attribute16 in varchar2 default null
60 ,p_ass_attribute17 in varchar2 default null
61 ,p_ass_attribute18 in varchar2 default null
62 ,p_ass_attribute19 in varchar2 default null
63 ,p_ass_attribute20 in varchar2 default null
64 ,p_ass_attribute21 in varchar2 default null
65 ,p_ass_attribute22 in varchar2 default null
66 ,p_ass_attribute23 in varchar2 default null
67 ,p_ass_attribute24 in varchar2 default null
68 ,p_ass_attribute25 in varchar2 default null
69 ,p_ass_attribute26 in varchar2 default null
70 ,p_ass_attribute27 in varchar2 default null
71 ,p_ass_attribute28 in varchar2 default null
72 ,p_ass_attribute29 in varchar2 default null
73 ,p_ass_attribute30 in varchar2 default null
74 ,p_title in varchar2 default null
75 ,p_legal_employer_id in varchar2 default null
76 ,p_contract_id in number default null
77 ,p_establishment_id in number default null
78 ,p_collective_agreement_id in number default null
79 ,p_cagr_id_flex_num in number default null
80 ,p_cag_segment1 in varchar2 default null
81 ,p_cag_segment2 in varchar2 default null
82 ,p_cag_segment3 in varchar2 default null
83 ,p_cag_segment4 in varchar2 default null
84 ,p_cag_segment5 in varchar2 default null
85 ,p_cag_segment6 in varchar2 default null
86 ,p_cag_segment7 in varchar2 default null
87 ,p_cag_segment8 in varchar2 default null
88 ,p_cag_segment9 in varchar2 default null
89 ,p_cag_segment10 in varchar2 default null
90 ,p_cag_segment11 in varchar2 default null
91 ,p_cag_segment12 in varchar2 default null
92 ,p_cag_segment13 in varchar2 default null
93 ,p_cag_segment14 in varchar2 default null
94 ,p_cag_segment15 in varchar2 default null
95 ,p_cag_segment16 in varchar2 default null
96 ,p_cag_segment17 in varchar2 default null
97 ,p_cag_segment18 in varchar2 default null
98 ,p_cag_segment19 in varchar2 default null
99 ,p_cag_segment20 in varchar2 default null
100 ,p_group_name out nocopy varchar2
101 ,p_concatenated_segments out nocopy varchar2
102 ,p_cagr_grade_def_id out nocopy number
103 ,p_cagr_concatenated_segments out nocopy varchar2
104 ,p_assignment_id out nocopy number
105 ,p_soft_coding_keyflex_id out nocopy number
106 ,p_people_group_id out nocopy number
107 ,p_object_version_number out nocopy number
108 ,p_effective_start_date out nocopy date
109 ,p_effective_end_date out nocopy date
110 ,p_assignment_sequence out nocopy number
111 ,p_comment_id out nocopy number
112 ,p_other_manager_warning out nocopy boolean)
113 IS
114 --
115 -- Declare cursors AND local variables
116 --
117 -- Declare variables
118 --
119 l_assignment_number per_assignments_f.assignment_number%TYPE;
120 l_effective_date DATE;
121 --
122 l_business_group_id per_business_groups.business_group_id%TYPE;
123 l_legislation_code per_business_groups.legislation_code%TYPE;
124 l_proc VARCHAR2(72) := g_package||'create_sg_secondary_emp_asg';
125 --
126 -- Declare cursors
127 --
128 CURSOR csr_legislation IS
129 SELECT NULL
130 FROM per_assignments_f paf,
131 per_business_groups pbg
132 WHERE paf.person_id = p_person_id
133 AND l_effective_date BETWEEN paf.effective_start_date AND paf.effective_end_date
134 AND pbg.business_group_id = paf.business_group_id
135 AND pbg.legislation_code = 'SG';
136 --
137 --
138 Begin
139 hr_utility.set_location('Entering:'|| l_proc, 10);
140 --
141 -- Initialise local variable
142 --
143 l_effective_date := trunc(p_effective_date);
144 --
145 -- Validation IN addition to Table Handlers
146 --
147 -- Ensure that the employee IS within a sg business group
148 --
149 OPEN csr_legislation;
150 FETCH csr_legislation
151 INTO l_legislation_code;
152 IF csr_legislation%notfound THEN
153 CLOSE csr_legislation;
154 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
155 hr_utility.set_message_token('LEG_CODE', 'SG');
156 hr_utility.raise_error;
157 END IF;
158 CLOSE csr_legislation;
159 --
160 --
161 -- Call create_secondary_emp_asg
162 --
163
164 hr_assignment_api.create_secondary_emp_asg
165 (p_validate => p_validate
166 ,p_effective_date => p_effective_date
167 ,p_person_id => p_person_id
168 ,p_organization_id => p_organization_id
169 ,p_grade_id => p_grade_id
170 ,p_position_id => p_position_id
171 ,p_job_id => p_job_id
172 ,p_assignment_status_type_id => p_assignment_status_type_id
173 ,p_payroll_id => p_payroll_id
174 ,p_location_id => p_location_id
175 ,p_supervisor_id => p_supervisor_id
176 ,p_special_ceiling_step_id => p_special_ceiling_step_id
177 ,p_pay_basis_id => p_pay_basis_id
178 ,p_assignment_number => p_assignment_number
179 ,p_change_reason => p_change_reason
180 ,p_comments => p_comments
181 ,p_date_probation_end => p_date_probation_end
182 ,p_default_code_comb_id => p_default_code_comb_id
183 ,p_employment_category => p_employment_category
184 ,p_frequency => p_frequency
185 ,p_internal_address_line => p_internal_address_line
186 ,p_manager_flag => p_manager_flag
187 ,p_normal_hours => p_normal_hours
188 ,p_perf_review_period => p_perf_review_period
189 ,p_perf_review_period_frequency => p_perf_review_period_frequency
190 ,p_probation_period => p_probation_period
191 ,p_probation_unit => p_probation_unit
192 ,p_sal_review_period => p_sal_review_period
193 ,p_sal_review_period_frequency => p_sal_review_period_frequency
194 ,p_set_of_books_id => p_set_of_books_id
195 ,p_source_type => p_source_type
196 ,p_time_normal_finish => p_time_normal_finish
197 ,p_time_normal_start => p_time_normal_start
198 ,p_bargaining_unit_code => p_bargaining_unit_code
199 ,p_labour_union_member_flag => p_labour_union_member_flag
200 ,p_hourly_salaried_code => p_hourly_salaried_code
201 ,p_ass_attribute_category => p_ass_attribute_category
202 ,p_ass_attribute1 => p_ass_attribute1
203 ,p_ass_attribute2 => p_ass_attribute2
204 ,p_ass_attribute3 => p_ass_attribute3
205 ,p_ass_attribute4 => p_ass_attribute4
206 ,p_ass_attribute5 => p_ass_attribute5
207 ,p_ass_attribute6 => p_ass_attribute6
208 ,p_ass_attribute7 => p_ass_attribute7
209 ,p_ass_attribute8 => p_ass_attribute8
210 ,p_ass_attribute9 => p_ass_attribute9
211 ,p_ass_attribute10 => p_ass_attribute10
212 ,p_ass_attribute11 => p_ass_attribute11
213 ,p_ass_attribute12 => p_ass_attribute12
214 ,p_ass_attribute13 => p_ass_attribute13
215 ,p_ass_attribute14 => p_ass_attribute14
216 ,p_ass_attribute15 => p_ass_attribute15
217 ,p_ass_attribute16 => p_ass_attribute16
218 ,p_ass_attribute17 => p_ass_attribute17
219 ,p_ass_attribute18 => p_ass_attribute18
220 ,p_ass_attribute19 => p_ass_attribute19
221 ,p_ass_attribute20 => p_ass_attribute20
222 ,p_ass_attribute21 => p_ass_attribute21
223 ,p_ass_attribute22 => p_ass_attribute22
224 ,p_ass_attribute23 => p_ass_attribute23
225 ,p_ass_attribute24 => p_ass_attribute24
226 ,p_ass_attribute25 => p_ass_attribute25
227 ,p_ass_attribute26 => p_ass_attribute26
228 ,p_ass_attribute27 => p_ass_attribute27
229 ,p_ass_attribute28 => p_ass_attribute28
230 ,p_ass_attribute29 => p_ass_attribute29
231 ,p_ass_attribute30 => p_ass_attribute30
232 ,p_title => p_title
233 ,p_scl_segment1 => p_legal_employer_id
234 ,p_group_name => p_group_name
235 ,p_concatenated_segments => p_concatenated_segments
236 ,p_assignment_id => p_assignment_id
237 ,p_soft_coding_keyflex_id => p_soft_coding_keyflex_id
238 ,p_people_group_id => p_people_group_id
239 ,p_object_version_number => p_object_version_number
240 ,p_effective_start_date => p_effective_start_date
241 ,p_effective_end_date => p_effective_end_date
242 ,p_assignment_sequence => p_assignment_sequence
243 ,p_comment_id => p_comment_id
244 ,p_other_manager_warning => p_other_manager_warning);
245
246 hr_utility.set_location(' Leaving:'||l_proc, 30);
247
248 End create_sg_secondary_emp_asg;
249
250 -- ----------------------------------------------------------------------------
251 -- |--------------------------< update_au_emp_asg >---------------------------|
252 -- ----------------------------------------------------------------------------
253 --
254
255 PROCEDURE update_sg_emp_asg
256 (p_validate in boolean default false
257 ,p_effective_date in date
258 ,p_datetrack_update_mode in varchar2
259 ,p_assignment_id in number
260 ,p_object_version_number in out nocopy number
261 ,p_supervisor_id in number default null
262 ,p_assignment_number in varchar2 default null
263 ,p_change_reason in varchar2 default null
264 ,p_comments in varchar2 default null
265 ,p_date_probation_end in date default null
266 ,p_default_code_comb_id in number default null
267 ,p_frequency in varchar2 default null
268 ,p_internal_address_line in varchar2 default null
269 ,p_manager_flag in varchar2 default null
270 ,p_normal_hours in number default null
271 ,p_perf_review_period in number default null
272 ,p_perf_review_period_frequency in varchar2 default null
273 ,p_probation_period in number default null
274 ,p_probation_unit in varchar2 default null
275 ,p_sal_review_period in number default null
276 ,p_sal_review_period_frequency in varchar2 default null
277 ,p_set_of_books_id in number default null
278 ,p_source_type in varchar2 default null
279 ,p_time_normal_finish in varchar2 default null
280 ,p_time_normal_start in varchar2 default null
281 ,p_bargaining_unit_code in varchar2 default null
282 ,p_labour_union_member_flag in varchar2 default null
283 ,p_hourly_salaried_code in varchar2 default null
284 ,p_ass_attribute_category in varchar2 default null
285 ,p_ass_attribute1 in varchar2 default null
286 ,p_ass_attribute2 in varchar2 default null
287 ,p_ass_attribute3 in varchar2 default null
288 ,p_ass_attribute4 in varchar2 default null
289 ,p_ass_attribute5 in varchar2 default null
290 ,p_ass_attribute6 in varchar2 default null
291 ,p_ass_attribute7 in varchar2 default null
292 ,p_ass_attribute8 in varchar2 default null
293 ,p_ass_attribute9 in varchar2 default null
294 ,p_ass_attribute10 in varchar2 default null
295 ,p_ass_attribute11 in varchar2 default null
296 ,p_ass_attribute12 in varchar2 default null
297 ,p_ass_attribute13 in varchar2 default null
298 ,p_ass_attribute14 in varchar2 default null
299 ,p_ass_attribute15 in varchar2 default null
300 ,p_ass_attribute16 in varchar2 default null
301 ,p_ass_attribute17 in varchar2 default null
302 ,p_ass_attribute18 in varchar2 default null
303 ,p_ass_attribute19 in varchar2 default null
304 ,p_ass_attribute20 in varchar2 default null
305 ,p_ass_attribute21 in varchar2 default null
306 ,p_ass_attribute22 in varchar2 default null
307 ,p_ass_attribute23 in varchar2 default null
308 ,p_ass_attribute24 in varchar2 default null
309 ,p_ass_attribute25 in varchar2 default null
310 ,p_ass_attribute26 in varchar2 default null
311 ,p_ass_attribute27 in varchar2 default null
312 ,p_ass_attribute28 in varchar2 default null
313 ,p_ass_attribute29 in varchar2 default null
314 ,p_ass_attribute30 in varchar2 default null
315 ,p_title in varchar2 default null
316 ,p_legal_employer_id in varchar2 default null
317 ,p_cagr_grade_def_id out nocopy varchar2
318 ,p_cagr_concatenated_segments out nocopy varchar2
319 ,p_concatenated_segments out nocopy varchar2
320 ,p_soft_coding_keyflex_id out nocopy number
321 ,p_comment_id out nocopy number
322 ,p_effective_start_date out nocopy date
323 ,p_effective_end_date out nocopy date
324 ,p_no_managers_warning out nocopy boolean
325 ,p_other_manager_warning out nocopy boolean)
326 IS
327 --
328 -- Declare cursors AND local variables
329 --
330 l_proc VARCHAR2(72) := g_package||'update_sg_emp_asg';
331 l_effective_date DATE;
332 l_legislation_code per_business_groups.legislation_code%TYPE;
333 --
334
335 CURSOR check_legislation
336 (c_assignment_id per_assignments_f.assignment_id%TYPE,
337 c_effective_date DATE
338 )
339 IS
340
341 SELECT bgp.legislation_code
342 FROM per_assignments_f asg,
343 per_business_groups bgp
344 WHERE asg.business_group_id = bgp.business_group_id
345 AND asg.assignment_id = c_assignment_id
346 AND c_effective_date BETWEEN effective_start_date AND effective_end_date;
347
348 Begin
349 hr_utility.set_location('Entering:'|| l_proc, 10);
350 --
351 -- Truncate DATE variables
352 --
353 l_effective_date := trunc(p_effective_date);
354 --
355 -- Validate IN addition to Table Handlers
356 --
357 -- Check that the assignment exists.
358 --
359 OPEN check_legislation(p_assignment_id, l_effective_date);
360 FETCH check_legislation into l_legislation_code;
361 IF check_legislation%notfound THEN
362 CLOSE check_legislation;
363 hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
364 hr_utility.raise_error;
365 END IF;
366 CLOSE check_legislation;
367 hr_utility.set_location(l_proc, 20);
368 --
369 -- Check that the legislation of the specified business group IS 'SG'.
370 --
371 IF l_legislation_code <> 'SG' THEN
372 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
373 hr_utility.set_message_token('LEG_CODE','SG');
374 hr_utility.raise_error;
375 END IF;
376 hr_utility.set_location(l_proc, 30);
377 --
378 -- Call update_emp_asg business process
379 -- --
380 hr_assignment_api.update_emp_asg
381 (p_validate => p_validate
382 ,p_effective_date => p_effective_date
383 ,p_datetrack_update_mode => p_datetrack_update_mode
384 ,p_assignment_id => p_assignment_id
385 ,p_object_version_number => p_object_version_number
386 ,p_supervisor_id => p_supervisor_id
387 ,p_assignment_number => p_assignment_number
388 ,p_change_reason => p_change_reason
389 ,p_comments => p_comments
390 ,p_date_probation_end => p_date_probation_end
391 ,p_default_code_comb_id => p_default_code_comb_id
392 ,p_frequency => p_frequency
393 ,p_internal_address_line => p_internal_address_line
394 ,p_manager_flag => p_manager_flag
395 ,p_normal_hours => p_normal_hours
396 ,p_perf_review_period => p_perf_review_period
397 ,p_perf_review_period_frequency => p_perf_review_period_frequency
398 ,p_probation_period => p_probation_period
399 ,p_probation_unit => p_probation_unit
400 ,p_sal_review_period => p_sal_review_period
401 ,p_sal_review_period_frequency => p_sal_review_period_frequency
402 ,p_set_of_books_id => p_set_of_books_id
403 ,p_source_type => p_source_type
404 ,p_time_normal_finish => p_time_normal_finish
405 ,p_time_normal_start => p_time_normal_start
406 ,p_bargaining_unit_code => p_bargaining_unit_code
407 ,p_labour_union_member_flag => p_labour_union_member_flag
408 ,p_hourly_salaried_code => p_hourly_salaried_code
409 ,p_ass_attribute_category => p_ass_attribute_category
410 ,p_ass_attribute1 => p_ass_attribute1
411 ,p_ass_attribute2 => p_ass_attribute2
412 ,p_ass_attribute3 => p_ass_attribute3
413 ,p_ass_attribute4 => p_ass_attribute4
414 ,p_ass_attribute5 => p_ass_attribute5
415 ,p_ass_attribute6 => p_ass_attribute6
416 ,p_ass_attribute7 => p_ass_attribute7
417 ,p_ass_attribute8 => p_ass_attribute8
418 ,p_ass_attribute9 => p_ass_attribute9
419 ,p_ass_attribute10 => p_ass_attribute10
420 ,p_ass_attribute11 => p_ass_attribute11
421 ,p_ass_attribute12 => p_ass_attribute12
422 ,p_ass_attribute13 => p_ass_attribute13
423 ,p_ass_attribute14 => p_ass_attribute14
424 ,p_ass_attribute15 => p_ass_attribute15
425 ,p_ass_attribute16 => p_ass_attribute16
426 ,p_ass_attribute17 => p_ass_attribute17
427 ,p_ass_attribute18 => p_ass_attribute18
428 ,p_ass_attribute19 => p_ass_attribute19
429 ,p_ass_attribute20 => p_ass_attribute20
430 ,p_ass_attribute21 => p_ass_attribute21
431 ,p_ass_attribute22 => p_ass_attribute22
432 ,p_ass_attribute23 => p_ass_attribute23
433 ,p_ass_attribute24 => p_ass_attribute24
434 ,p_ass_attribute25 => p_ass_attribute25
435 ,p_ass_attribute26 => p_ass_attribute26
436 ,p_ass_attribute27 => p_ass_attribute27
437 ,p_ass_attribute28 => p_ass_attribute28
438 ,p_ass_attribute29 => p_ass_attribute29
439 ,p_ass_attribute30 => p_ass_attribute30
440 ,p_title => p_title
441 ,p_segment1 => p_legal_employer_id
442 ,p_cagr_grade_def_id => p_cagr_grade_def_id
443 ,p_cagr_concatenated_segments => p_cagr_concatenated_segments
444 ,p_concatenated_segments => p_concatenated_segments
445 ,p_soft_coding_keyflex_id => p_soft_coding_keyflex_id
446 ,p_comment_id => p_comment_id
447 ,p_effective_start_date => p_effective_start_date
448 ,p_effective_end_date => p_effective_end_date
449 ,p_no_managers_warning => p_no_managers_warning
450 ,p_other_manager_warning => p_other_manager_warning);
451
452 hr_utility.set_location(' Leaving:'||l_proc, 40);
453 --
454 End update_sg_emp_asg;
455
456 END hr_sg_assignment_api;