[Home] [Help]
PACKAGE BODY: APPS.PER_ASG_UPD
Source
1 Package Body per_asg_upd as
2 /* $Header: peasgrhi.pkb 120.19.12010000.3 2008/11/12 06:37:24 skura ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_asg_upd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_update_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 -- This procedure controls the execution of dml from the datetrack mode
17 -- of CORRECTION only. It is important to note that the object version
18 -- number is only increment by 1 because the datetrack correction is
19 -- soley for one datetracked row.
20 -- This procedure controls the actual dml update logic. The functions of this
21 -- procedure are as follows:
22 -- 1) Get the next object_version_number.
23 -- 2) To set and unset the g_api_dml status as required (as we are about to
24 -- perform dml).
25 -- 3) To update the specified row in the schema using the primary key in
26 -- the predicates.
27 -- 4) To trap any constraint violations that may have occurred.
28 -- 5) To raise any other errors.
29 --
30 -- Pre Conditions:
31 -- This is an internal private procedure which must be called from the
32 -- update_dml procedure.
33 --
34 -- In Arguments:
35 -- A Pl/Sql record structre.
36 --
37 -- Post Success:
38 -- The specified row will be updated in the schema.
39 --
40 -- Post Failure:
41 -- On the update dml failure it is important to note that we always reset the
42 -- g_api_dml status to false.
43 -- If a check or unique integrity constraint violation is raised the
44 -- constraint_error procedure will be called.
45 -- If any other error is reported, the error will be raised after the
46 -- g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 -- The update 'set' arguments list should be modified if any of your
50 -- attributes are not updateable.
51 --
52 -- Access Status:
53 -- Internal Table Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58 (p_rec in out nocopy per_asg_shd.g_rec_type,
59 p_effective_date in date,
60 p_datetrack_mode in varchar2,
61 p_validation_start_date in date,
62 p_validation_end_date in date) is
63 --
64 l_proc varchar2(72) := g_package||'dt_update_dml';
65 -- Start of 518655
66 l_object_version_number number;
67 -- End of 518655
68 --
69 Begin
70 hr_utility.set_location('Entering:'||l_proc, 5);
71 --
72 If (p_datetrack_mode = 'CORRECTION') then
73 hr_utility.set_location(l_proc, 10);
74 --
75 -- Because we are updating a row we must get the next object
76 -- version number.
77 --
78 p_rec.object_version_number :=
79 dt_api.get_object_version_number
80 (p_base_table_name => 'per_all_assignments_f',
81 p_base_key_column => 'assignment_id',
82 p_base_key_value => p_rec.assignment_id);
83 --
84 per_asg_shd.g_api_dml := true; -- Set the api dml status
85 --
86 -- Update the per_all_assignments_f Row
87 --
88 update per_all_assignments_f
89 set
90 assignment_id = p_rec.assignment_id,
91 recruiter_id = p_rec.recruiter_id,
92 grade_id = p_rec.grade_id,
93 position_id = p_rec.position_id,
94 job_id = p_rec.job_id,
95 assignment_status_type_id = p_rec.assignment_status_type_id,
96 payroll_id = p_rec.payroll_id,
97 location_id = p_rec.location_id,
98 person_referred_by_id = p_rec.person_referred_by_id,
99 supervisor_id = p_rec.supervisor_id,
100 special_ceiling_step_id = p_rec.special_ceiling_step_id,
101 recruitment_activity_id = p_rec.recruitment_activity_id,
102 source_organization_id = p_rec.source_organization_id,
103 organization_id = p_rec.organization_id,
104 people_group_id = p_rec.people_group_id,
105 soft_coding_keyflex_id = p_rec.soft_coding_keyflex_id,
106 vacancy_id = p_rec.vacancy_id,
107 pay_basis_id = p_rec.pay_basis_id,
108 application_id = p_rec.application_id,
109 assignment_number = p_rec.assignment_number,
110 change_reason = p_rec.change_reason,
111 comment_id = p_rec.comment_id,
112 date_probation_end = p_rec.date_probation_end,
113 default_code_comb_id = p_rec.default_code_comb_id,
114 employment_category = p_rec.employment_category,
115 frequency = p_rec.frequency,
116 internal_address_line = p_rec.internal_address_line,
117 manager_flag = p_rec.manager_flag,
118 normal_hours = p_rec.normal_hours,
119 perf_review_period = p_rec.perf_review_period,
120 perf_review_period_frequency = p_rec.perf_review_period_frequency,
121 probation_period = p_rec.probation_period,
122 probation_unit = p_rec.probation_unit,
123 sal_review_period = p_rec.sal_review_period,
124 sal_review_period_frequency = p_rec.sal_review_period_frequency,
125 set_of_books_id = p_rec.set_of_books_id,
126 source_type = p_rec.source_type,
127 time_normal_finish = p_rec.time_normal_finish,
128 time_normal_start = p_rec.time_normal_start,
129 bargaining_unit_code = p_rec.bargaining_unit_code,
130 labour_union_member_flag = p_rec.labour_union_member_flag,
131 hourly_salaried_code = p_rec.hourly_salaried_code,
132 request_id = p_rec.request_id,
133 program_application_id = p_rec.program_application_id,
134 program_id = p_rec.program_id,
135 program_update_date = p_rec.program_update_date,
136 ass_attribute_category = p_rec.ass_attribute_category,
137 ass_attribute1 = p_rec.ass_attribute1,
138 ass_attribute2 = p_rec.ass_attribute2,
139 ass_attribute3 = p_rec.ass_attribute3,
140 ass_attribute4 = p_rec.ass_attribute4,
141 ass_attribute5 = p_rec.ass_attribute5,
142 ass_attribute6 = p_rec.ass_attribute6,
143 ass_attribute7 = p_rec.ass_attribute7,
144 ass_attribute8 = p_rec.ass_attribute8,
145 ass_attribute9 = p_rec.ass_attribute9,
146 ass_attribute10 = p_rec.ass_attribute10,
147 ass_attribute11 = p_rec.ass_attribute11,
148 ass_attribute12 = p_rec.ass_attribute12,
149 ass_attribute13 = p_rec.ass_attribute13,
150 ass_attribute14 = p_rec.ass_attribute14,
151 ass_attribute15 = p_rec.ass_attribute15,
152 ass_attribute16 = p_rec.ass_attribute16,
153 ass_attribute17 = p_rec.ass_attribute17,
154 ass_attribute18 = p_rec.ass_attribute18,
155 ass_attribute19 = p_rec.ass_attribute19,
156 ass_attribute20 = p_rec.ass_attribute20,
157 ass_attribute21 = p_rec.ass_attribute21,
158 ass_attribute22 = p_rec.ass_attribute22,
159 ass_attribute23 = p_rec.ass_attribute23,
160 ass_attribute24 = p_rec.ass_attribute24,
161 ass_attribute25 = p_rec.ass_attribute25,
162 ass_attribute26 = p_rec.ass_attribute26,
163 ass_attribute27 = p_rec.ass_attribute27,
164 ass_attribute28 = p_rec.ass_attribute28,
165 ass_attribute29 = p_rec.ass_attribute29,
166 ass_attribute30 = p_rec.ass_attribute30,
167 title = p_rec.title,
168 object_version_number = p_rec.object_version_number ,
169 contract_id = p_rec.contract_id,
170 establishment_id = p_rec.establishment_id,
171 collective_agreement_id = p_rec.collective_agreement_id,
172 cagr_grade_def_id = p_rec.cagr_grade_def_id,
173 cagr_id_flex_num = p_rec.cagr_id_flex_num,
174 notice_period = p_rec.notice_period,
175 notice_period_uom = p_rec.notice_period_uom,
176 employee_category = p_rec.employee_category,
177 work_at_home = p_rec.work_at_home,
178 job_post_source_name = p_rec.job_post_source_name,
179 posting_content_id = p_rec.posting_content_id,
180 period_of_placement_date_start = p_rec.period_of_placement_date_start,
181 vendor_id = p_rec.vendor_id,
182 vendor_employee_number = p_rec.vendor_employee_number,
183 vendor_assignment_number = p_rec.vendor_assignment_number,
184 assignment_category = p_rec.assignment_category,
185 project_title = p_rec.project_title,
186 applicant_rank = p_rec.applicant_rank,
187 grade_ladder_pgm_id = p_rec.grade_ladder_pgm_id,
188 supervisor_assignment_id = p_rec.supervisor_assignment_id,
189 vendor_site_id = p_rec.vendor_site_id,
190 po_header_id = p_rec.po_header_id,
191 po_line_id = p_rec.po_line_id,
192 projected_assignment_end = p_rec.projected_assignment_end
193 where assignment_id = p_rec.assignment_id
194 and effective_start_date = p_validation_start_date
195 and effective_end_date = p_validation_end_date;
196 --
197
198 -- Start of fix 518655
199 if nvl(per_asg_shd.g_old_rec.assignment_number, hr_api.g_varchar2) <>
200 nvl(p_rec.assignment_number, hr_api.g_varchar2) then
201 --
202 l_object_version_number := dt_api.get_object_version_number
203 (p_base_table_name => 'per_all_assignments_f',
204 p_base_key_column => 'assignment_id',
205 p_base_key_value => p_rec.assignment_id);
206 --
207 update per_all_assignments_f paaf
208 set paaf.assignment_number = p_rec.assignment_number,
209 paaf.object_version_number = l_object_version_number
210 where paaf.assignment_id = p_rec.assignment_id
211 and paaf.person_id = per_asg_shd.g_old_rec.person_id
212 and (paaf.effective_start_date < p_validation_start_date
213 or paaf.effective_end_date > p_validation_end_date);
214 --
215 end if;
216 -- End of fix 518655
217
218 per_asg_shd.g_api_dml := false; -- Unset the api dml status
219 --
220 -- Set the effective start and end dates
221 --
222 p_rec.effective_start_date := p_validation_start_date;
223 p_rec.effective_end_date := p_validation_end_date;
224 End If;
225 --
226 hr_utility.set_location(' Leaving:'||l_proc, 15);
227 Exception
228 When hr_api.check_integrity_violated Then
229 -- A check constraint has been violated
230 per_asg_shd.g_api_dml := false; -- Unset the api dml status
231 per_asg_shd.constraint_error
232 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
233 When hr_api.unique_integrity_violated Then
234 -- Unique integrity has been violated
235 per_asg_shd.g_api_dml := false; -- Unset the api dml status
236 per_asg_shd.constraint_error
237 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
238 When Others Then
239 per_asg_shd.g_api_dml := false; -- Unset the api dml status
240 Raise;
241 End dt_update_dml;
242 --
243 -- ----------------------------------------------------------------------------
244 -- |------------------------------< update_dml >------------------------------|
245 -- ----------------------------------------------------------------------------
246 -- {Start Of Comments}
247 --
248 -- Description:
249 -- This procedure calls the dt_update_dml control logic which handles
250 -- the actual datetrack dml.
251 --
252 -- Pre Conditions:
253 -- This is an internal private procedure which must be called from the upd
254 -- procedure.
255 --
256 -- In Arguments:
257 -- A Pl/Sql record structre.
258 --
259 -- Post Success:
260 -- Processing contines.
261 --
262 -- Post Failure:
263 -- No specific error handling is required within this procedure.
264 --
265 -- Developer Implementation Notes:
266 -- The update 'set' arguments list should be modified if any of your
267 -- attributes are not updateable.
268 --
269 -- Access Status:
270 -- Internal Table Handler Use Only.
271 --
272 -- {End Of Comments}
273 -- ----------------------------------------------------------------------------
274 Procedure update_dml
275 (p_rec in out nocopy per_asg_shd.g_rec_type,
276 p_effective_date in date,
277 p_datetrack_mode in varchar2,
278 p_validation_start_date in date,
279 p_validation_end_date in date) is
280 --
281 l_proc varchar2(72) := g_package||'update_dml';
282 --
283 Begin
284 hr_utility.set_location('Entering:'||l_proc, 5);
285 --
286 dt_update_dml(p_rec => p_rec,
287 p_effective_date => p_effective_date,
288 p_datetrack_mode => p_datetrack_mode,
289 p_validation_start_date => p_validation_start_date,
290 p_validation_end_date => p_validation_end_date);
291 --
292 hr_utility.set_location(' Leaving:'||l_proc, 10);
293 End update_dml;
294 --
295 -- ----------------------------------------------------------------------------
296 -- |----------------------------< dt_pre_update >-----------------------------|
297 -- ----------------------------------------------------------------------------
298 -- {Start Of Comments}
299 --
300 -- Description:
301 -- The dt_pre_update procedure controls the execution
302 -- of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
303 -- and UPDATE_CHANGE_INSERT only. The execution required is as
304 -- follows:
305 --
306 -- 1) Providing the datetrack update mode is not 'CORRECTION'
307 -- then set the effective end date of the current row (this
308 -- will be the validation_start_date - 1).
309 -- 2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
310 -- corresponding delete_dml process to delete any future rows
311 -- where the effective_start_date is greater than or equal to
312 -- the validation_start_date.
313 -- 3) Call the insert_dml process to insert the new updated row
314 -- details..
315 --
316 -- Pre Conditions:
317 -- This is an internal procedure which is called from the
318 -- pre_update procedure.
319 --
320 -- In Arguments:
321 --
322 -- Post Success:
323 -- Processing continues.
324 --
325 -- Post Failure:
326 -- If an error has occurred, an error message and exception will be raised
327 -- but not handled.
328 --
329 -- Developer Implementation Notes:
330 -- This is an internal procedure which is required by Datetrack. Don't
331 -- remove or modify.
332 --
333 -- Access Status:
334 -- Internal Table Handler Use Only.
335 --
336 -- {End Of Comments}
337 -- ----------------------------------------------------------------------------
338 Procedure dt_pre_update
339 (p_rec in out nocopy per_asg_shd.g_rec_type,
340 p_effective_date in date,
341 p_datetrack_mode in varchar2,
342 p_validation_start_date in date,
343 p_validation_end_date in date) is
344 --
345 l_proc varchar2(72) := g_package||'dt_pre_update';
346 l_dummy_version_number number;
347 --
348 Begin
349 hr_utility.set_location('Entering:'||l_proc, 5);
350 If (p_datetrack_mode <> 'CORRECTION') then
351 hr_utility.set_location(l_proc, 10);
352 --
353 -- Update the current effective end date
354 --
355 per_asg_shd.upd_effective_end_date
356 (p_effective_date => p_effective_date,
357 p_base_key_value => p_rec.assignment_id,
358 p_new_effective_end_date => (p_validation_start_date - 1),
359 p_validation_start_date => p_validation_start_date,
360 p_validation_end_date => p_validation_end_date,
361 p_object_version_number => l_dummy_version_number);
362 --
363 If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
364 hr_utility.set_location(l_proc, 15);
365 --
366 -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
367 -- delete any future rows
368 --
369 per_asg_del.delete_dml
370 (p_rec => p_rec,
371 p_effective_date => p_effective_date,
372 p_datetrack_mode => p_datetrack_mode,
373 p_validation_start_date => p_validation_start_date,
374 p_validation_end_date => p_validation_end_date);
375 End If;
376 hr_utility.set_location(l_proc, 20);
377 --
378 -- We must now insert the updated row
379 --
380 per_asg_ins.insert_dml
381 (p_rec => p_rec,
382 p_effective_date => p_effective_date,
383 p_datetrack_mode => p_datetrack_mode,
384 p_validation_start_date => p_validation_start_date,
385 p_validation_end_date => p_validation_end_date);
386 End If;
387 hr_utility.set_location(' Leaving:'||l_proc, 20);
388 End dt_pre_update;
389 --
390 -- ----------------------------------------------------------------------------
391 -- |------------------------------< pre_update >------------------------------|
392 -- ----------------------------------------------------------------------------
393 -- {Start Of Comments}
394 --
395 -- Description:
396 -- This private procedure contains any processing which is required before
397 -- the update dml.
398 --
399 -- Pre Conditions:
400 -- This is an internal procedure which is called from the upd procedure.
401 --
402 -- In Arguments:
403 -- A Pl/Sql record structre.
404 --
405 -- Post Success:
406 -- Processing continues.
407 --
408 -- Post Failure:
409 -- If an error has occurred, an error message and exception will be raised
410 -- but not handled.
411 --
412 -- Developer Implementation Notes:
413 -- Any pre-processing required before the update dml is issued should be
414 -- coded within this procedure. It is important to note that any 3rd party
415 -- maintenance should be reviewed before placing in this procedure. The call
416 -- to the dt_update_dml procedure should NOT be removed.
417 --
418 -- Access Status:
419 -- Internal Table Handler Use Only.
420 --
421 -- {End Of Comments}
422 -- ----------------------------------------------------------------------------
423 Procedure pre_update
424 (p_rec in out nocopy per_asg_shd.g_rec_type,
425 p_effective_date in date,
426 p_datetrack_mode in varchar2,
427 p_validation_start_date in date,
428 p_validation_end_date in date) is
429 --
430 l_proc varchar2(72) := g_package||'pre_update';
431 l_rowid varchar2(72);
432 l_eed date;
433 l_esd date;
434 --
435 Cursor csr_rowid is
436 select rowid, effective_start_date, effective_end_date
437 from per_all_assignments_f
438 where assignment_id = p_rec.assignment_id
439 and p_effective_date between
440 effective_start_date and effective_end_date;
441 --
442 cursor csr_rowid_u is
443 select rowid
444 from per_all_assignments_f
445 where assignment_id = p_rec.assignment_id
446 and p_effective_date -1 between
447 effective_start_date and effective_end_date;
448 --
449 Begin
450 hr_utility.set_location('Entering:'||l_proc, 1);
451 --
452 -- Insert the comment text if comments exist
453 --
454 If (p_rec.comment_text is not null and p_rec.comment_id is null) then
455 hr_comm_api.ins(p_comment_id => p_rec.comment_id,
456 p_source_table_name => 'PER_ALL_ASSIGNMENTS_F',
457 p_comment_text => p_rec.comment_text);
458 -- Update the comments if they have changed
459 ElsIf (p_rec.comment_id is not null and p_rec.comment_text <>
460 per_asg_shd.g_old_rec.comment_text) then
461 hr_comm_api.upd(p_comment_id => p_rec.comment_id,
462 p_source_table_name => 'PER_ALL_ASSIGNMENTS_F',
463 p_comment_text => p_rec.comment_text);
464 End If;
465 hr_utility.set_location(l_proc, 10);
466 --
467 -- Generate date probation end
468 --
469 -- Business Rule Mapping
470 -- =====================
471 -- Rule CHK_DATE_PROBATION_END c,e and f
472 -- Rule CHK_PROBATION_PERIOD c
473 -- Rule CHK_PROBATION_UNIT d
474 --
475 -- Bug 3629308, 4041992 Starts Here
476 -- Desc: TO skip the probation end date calculation for both EMP and APL
477 if p_rec.date_probation_end is null then
478 per_asg_bus2.gen_date_probation_end
479 (p_assignment_id => p_rec.assignment_id
480 ,p_effective_date => P_effective_date
481 ,p_probation_unit => p_rec.probation_unit
482 ,p_probation_period => p_rec.probation_period
483 ,p_validation_start_date => p_validation_start_date
484 ,p_object_version_number => p_rec.object_version_number
485 ,p_date_probation_end => p_rec.date_probation_end
486 );
487 end if;
488 -- Bug 3629308, 4041992 Ends Here
489 --
490 hr_utility.set_location(l_proc, 20);
491 --
492 dt_pre_update
493 (p_rec => p_rec,
494 p_effective_date => p_effective_date,
495 p_datetrack_mode => p_datetrack_mode,
496 p_validation_start_date => p_validation_start_date,
497 p_validation_end_date => p_validation_end_date);
498 --
499 -- Check for DT mode, if correction use current values
500 -- else use values from currently existing record.
501 --
502 if p_datetrack_mode <> 'CORRECTION' then
503 open csr_rowid_u;
504 fetch csr_rowid_u into l_rowid;
505 close csr_rowid_u;
506 l_esd := p_rec.effective_start_date;
507 l_eed := p_rec.effective_end_date;
508 else
509 open csr_rowid;
510 fetch csr_rowid into l_rowid, l_esd, l_eed;
511 close csr_rowid;
512 end if;
513 --
514 ben_dt_trgr_handle.assignment
515 (p_rowid => l_rowid
516 ,p_assignment_id => p_rec.assignment_id
517 ,p_business_group_id => p_rec.business_group_id
518 ,p_person_id => p_rec.person_id
519 ,p_effective_start_date => l_esd
520 ,p_effective_end_date => l_eed
521 ,p_assignment_status_type_id => p_rec.assignment_status_type_id
522 ,p_assignment_type => p_rec.assignment_type
523 ,p_organization_id => p_rec.organization_id
524 ,p_primary_flag => p_rec.primary_flag
525 ,p_change_reason => p_rec.change_reason
526 ,p_employment_category => p_rec.employment_category
527 ,p_frequency => p_rec.frequency
528 ,p_grade_id => p_rec.grade_id
529 ,p_job_id => p_rec.job_id
530 ,p_position_id => p_rec.position_id
531 ,p_location_id => p_rec.location_id
532 ,p_normal_hours => p_rec.normal_hours
533 ,p_payroll_id => p_rec.payroll_id
534 ,p_pay_basis_id => p_rec.pay_basis_id
535 ,p_bargaining_unit_code => p_rec.bargaining_unit_code
536 ,p_labour_union_member_flag => p_rec.labour_union_member_flag
537 ,p_hourly_salaried_code => p_rec.hourly_salaried_code
538 ,p_people_group_id => p_rec.people_group_id
539 ,p_ass_attribute1 => p_rec.ass_attribute1
540 ,p_ass_attribute2 => p_rec.ass_attribute2
541 ,p_ass_attribute3 => p_rec.ass_attribute3
542 ,p_ass_attribute4 => p_rec.ass_attribute4
543 ,p_ass_attribute5 => p_rec.ass_attribute5
544 ,p_ass_attribute6 => p_rec.ass_attribute6
545 ,p_ass_attribute7 => p_rec.ass_attribute7
546 ,p_ass_attribute8 => p_rec.ass_attribute8
547 ,p_ass_attribute9 => p_rec.ass_attribute9
548 ,p_ass_attribute10 => p_rec.ass_attribute10
549 ,p_ass_attribute11 => p_rec.ass_attribute11
550 ,p_ass_attribute12 => p_rec.ass_attribute12
551 ,p_ass_attribute13 => p_rec.ass_attribute13
552 ,p_ass_attribute14 => p_rec.ass_attribute14
553 ,p_ass_attribute15 => p_rec.ass_attribute15
554 ,p_ass_attribute16 => p_rec.ass_attribute16
555 ,p_ass_attribute17 => p_rec.ass_attribute17
556 ,p_ass_attribute18 => p_rec.ass_attribute18
557 ,p_ass_attribute19 => p_rec.ass_attribute19
558 ,p_ass_attribute20 => p_rec.ass_attribute20
559 ,p_ass_attribute21 => p_rec.ass_attribute21
560 ,p_ass_attribute22 => p_rec.ass_attribute22
561 ,p_ass_attribute23 => p_rec.ass_attribute23
562 ,p_ass_attribute24 => p_rec.ass_attribute24
563 ,p_ass_attribute25 => p_rec.ass_attribute25
564 ,p_ass_attribute26 => p_rec.ass_attribute26
565 ,p_ass_attribute27 => p_rec.ass_attribute27
566 ,p_ass_attribute28 => p_rec.ass_attribute28
567 ,p_ass_attribute29 => p_rec.ass_attribute29
568 ,p_ass_attribute30 => p_rec.ass_attribute30
569 );
570 --
571 hr_utility.set_location(' Leaving:'||l_proc, 30);
572 End pre_update;
573 --
574 -- ----------------------------------------------------------------------------
575 -- |-----------------------------< post_update >------------------------------|
576 -- ----------------------------------------------------------------------------
577 -- {Start Of Comments}
578 --
579 -- Description:
580 -- This private procedure contains any processing which is required after the
581 -- update dml.
582 --
583 -- Pre Conditions:
584 -- This is an internal procedure which is called from the upd procedure.
585 --
586 -- In Arguments:
587 -- A Pl/Sql record structre.
588 --
589 -- Post Success:
590 -- Processing continues.
591 --
592 -- Post Failure:
593 -- If an error has occurred, an error message and exception will be raised
594 -- but not handled.
595 --
596 -- Developer Implementation Notes:
597 -- Any post-processing required after the update dml is issued should be
598 -- coded within this procedure. It is important to note that any 3rd party
599 -- maintenance should be reviewed before placing in this procedure.
600 --
601 -- Access Status:
602 -- Internal Table Handler Use Only.
603 --
604 -- {End Of Comments}
605 -- ----------------------------------------------------------------------------
606 Procedure post_update
607 (p_rec in per_asg_shd.g_rec_type,
608 p_effective_date in date,
609 p_datetrack_mode in varchar2,
610 p_validation_start_date in date,
611 p_validation_end_date in date,
612 p_payroll_id_updated in boolean,
613 p_other_manager_warning in boolean,
614 p_hourly_salaried_warning in boolean,
615 p_no_managers_warning in boolean,
616 p_org_now_no_manager_warning in boolean) is
617 --
618 l_proc varchar2(72) := g_package||'post_update';
619 --
620 Begin
621 hr_utility.set_location('Entering:'||l_proc, 5);
622 --
623 -- Start of API User Hook for post_update.
624 begin
625 per_asg_rku.after_update
626 (p_effective_date => p_effective_date
627 ,p_datetrack_mode => p_datetrack_mode
628 ,p_validation_start_date => p_validation_start_date
629 ,p_validation_end_date => p_validation_end_date
630 ,p_assignment_id => p_rec.assignment_id
631 ,p_effective_start_date => p_rec.effective_start_date
632 ,p_effective_end_date => p_rec.effective_end_date
633 ,p_recruiter_id => p_rec.recruiter_id
634 ,p_grade_id => p_rec.grade_id
635 ,p_position_id => p_rec.position_id
636 ,p_job_id => p_rec.job_id
637 ,p_assignment_status_type_id => p_rec.assignment_status_type_id
638 ,p_payroll_id => p_rec.payroll_id
639 ,p_location_id => p_rec.location_id
640 ,p_person_referred_by_id => p_rec.person_referred_by_id
641 ,p_supervisor_id => p_rec.supervisor_id
642 ,p_special_ceiling_step_id => p_rec.special_ceiling_step_id
643 ,p_recruitment_activity_id => p_rec.recruitment_activity_id
644 ,p_source_organization_id => p_rec.source_organization_id
645 ,p_organization_id => p_rec.organization_id
646 ,p_people_group_id => p_rec.people_group_id
647 ,p_soft_coding_keyflex_id => p_rec.soft_coding_keyflex_id
648 ,p_vacancy_id => p_rec.vacancy_id
649 ,p_pay_basis_id => p_rec.pay_basis_id
650 ,p_assignment_type => p_rec.assignment_type
651 ,p_primary_flag => p_rec.primary_flag
652 ,p_application_id => p_rec.application_id
653 ,p_assignment_number => p_rec.assignment_number
654 ,p_change_reason => p_rec.change_reason
655 ,p_comment_id => p_rec.comment_id
656 ,p_comments => p_rec.comment_text
657 ,p_date_probation_end => p_rec.date_probation_end
658 ,p_default_code_comb_id => p_rec.default_code_comb_id
659 ,p_employment_category => p_rec.employment_category
660 ,p_frequency => p_rec.frequency
661 ,p_internal_address_line => p_rec.internal_address_line
662 ,p_manager_flag => p_rec.manager_flag
663 ,p_normal_hours => p_rec.normal_hours
664 ,p_perf_review_period => p_rec.perf_review_period
665 ,p_perf_review_period_frequen => p_rec.perf_review_period_frequency
666 ,p_period_of_service_id => p_rec.period_of_service_id
667 ,p_probation_period => p_rec.probation_period
668 ,p_probation_unit => p_rec.probation_unit
669 ,p_sal_review_period => p_rec.sal_review_period
670 ,p_sal_review_period_frequen => p_rec.sal_review_period_frequency
671 ,p_set_of_books_id => p_rec.set_of_books_id
672 ,p_source_type => p_rec.source_type
673 ,p_time_normal_finish => p_rec.time_normal_finish
674 ,p_time_normal_start => p_rec.time_normal_start
675 ,p_bargaining_unit_code => p_rec.bargaining_unit_code
676 ,p_labour_union_member_flag => p_rec.labour_union_member_flag
677 ,p_hourly_salaried_code => p_rec.hourly_salaried_code
678 ,p_request_id => p_rec.request_id
679 ,p_program_application_id => p_rec.program_application_id
680 ,p_program_id => p_rec.program_id
681 ,p_program_update_date => p_rec.program_update_date
682 ,p_ass_attribute_category => p_rec.ass_attribute_category
683 ,p_ass_attribute1 => p_rec.ass_attribute1
684 ,p_ass_attribute2 => p_rec.ass_attribute2
685 ,p_ass_attribute3 => p_rec.ass_attribute3
686 ,p_ass_attribute4 => p_rec.ass_attribute4
687 ,p_ass_attribute5 => p_rec.ass_attribute5
688 ,p_ass_attribute6 => p_rec.ass_attribute6
689 ,p_ass_attribute7 => p_rec.ass_attribute7
690 ,p_ass_attribute8 => p_rec.ass_attribute8
691 ,p_ass_attribute9 => p_rec.ass_attribute9
692 ,p_ass_attribute10 => p_rec.ass_attribute10
693 ,p_ass_attribute11 => p_rec.ass_attribute11
694 ,p_ass_attribute12 => p_rec.ass_attribute12
695 ,p_ass_attribute13 => p_rec.ass_attribute13
696 ,p_ass_attribute14 => p_rec.ass_attribute14
697 ,p_ass_attribute15 => p_rec.ass_attribute15
698 ,p_ass_attribute16 => p_rec.ass_attribute16
699 ,p_ass_attribute17 => p_rec.ass_attribute17
700 ,p_ass_attribute18 => p_rec.ass_attribute18
701 ,p_ass_attribute19 => p_rec.ass_attribute19
702 ,p_ass_attribute20 => p_rec.ass_attribute20
703 ,p_ass_attribute21 => p_rec.ass_attribute21
704 ,p_ass_attribute22 => p_rec.ass_attribute22
705 ,p_ass_attribute23 => p_rec.ass_attribute23
706 ,p_ass_attribute24 => p_rec.ass_attribute24
707 ,p_ass_attribute25 => p_rec.ass_attribute25
708 ,p_ass_attribute26 => p_rec.ass_attribute26
709 ,p_ass_attribute27 => p_rec.ass_attribute27
710 ,p_ass_attribute28 => p_rec.ass_attribute28
711 ,p_ass_attribute29 => p_rec.ass_attribute29
712 ,p_ass_attribute30 => p_rec.ass_attribute30
713 ,p_title => p_rec.title
714 ,p_contract_id => p_rec.contract_id
715 ,p_establishment_id => p_rec.establishment_id
716 ,p_collective_agreement_id => p_rec.collective_agreement_id
717 ,p_cagr_grade_def_id => p_rec.cagr_grade_def_id
718 ,p_cagr_id_flex_num => p_rec.cagr_id_flex_num
719 ,p_object_version_number => p_rec.object_version_number
720 ,p_payroll_id_updated => p_payroll_id_updated
721 ,p_other_manager_warning => p_other_manager_warning
722 ,p_hourly_salaried_warning => p_hourly_salaried_warning
723 ,p_no_managers_warning => p_no_managers_warning
724 ,p_org_now_no_manager_warning => p_org_now_no_manager_warning
725 ,p_notice_period => p_rec.notice_period
726 ,p_notice_period_uom => p_rec.notice_period_uom
727 ,p_employee_category => p_rec.employee_category
728 ,p_work_at_home => p_rec.work_at_home
729 ,p_job_post_source_name => p_rec.job_post_source_name
730 ,p_posting_content_id => p_rec.posting_content_id
731 ,p_placement_date_start => p_rec.period_of_placement_date_start
732 ,p_vendor_id => p_rec.vendor_id
733 ,p_vendor_employee_number => p_rec.vendor_employee_number
734 ,p_vendor_assignment_number => p_rec.vendor_assignment_number
735 ,p_assignment_category => p_rec.assignment_category
736 ,p_project_title => p_rec.project_title
737 ,p_applicant_rank => p_rec.applicant_rank
738 ,p_grade_ladder_pgm_id => p_rec.grade_ladder_pgm_id
739 ,p_supervisor_assignment_id => p_rec.supervisor_assignment_id
740 ,p_vendor_site_id => p_rec.vendor_site_id
741 ,p_po_header_id => p_rec.po_header_id
742 ,p_po_line_id => p_rec.po_line_id
743 ,p_projected_assignment_end => p_rec.projected_assignment_end
744 ,p_effective_start_date_o
745 => per_asg_shd.g_old_rec.effective_start_date
746 ,p_effective_end_date_o
747 => per_asg_shd.g_old_rec.effective_end_date
748 ,p_business_group_id_o
749 => per_asg_shd.g_old_rec.business_group_id
750 ,p_recruiter_id_o
751 => per_asg_shd.g_old_rec.recruiter_id
752 ,p_grade_id_o
753 => per_asg_shd.g_old_rec.grade_id
754 ,p_position_id_o
755 => per_asg_shd.g_old_rec.position_id
756 ,p_job_id_o
757 => per_asg_shd.g_old_rec.job_id
758 ,p_assignment_status_type_id_o
759 => per_asg_shd.g_old_rec.assignment_status_type_id
760 ,p_payroll_id_o
761 => per_asg_shd.g_old_rec.payroll_id
762 ,p_location_id_o
763 => per_asg_shd.g_old_rec.location_id
764 ,p_person_referred_by_id_o
765 => per_asg_shd.g_old_rec.person_referred_by_id
766 ,p_supervisor_id_o
767 => per_asg_shd.g_old_rec.supervisor_id
768 ,p_special_ceiling_step_id_o
769 => per_asg_shd.g_old_rec.special_ceiling_step_id
770 ,p_person_id_o
771 => per_asg_shd.g_old_rec.person_id
772 ,p_recruitment_activity_id_o
773 => per_asg_shd.g_old_rec.recruitment_activity_id
774 ,p_source_organization_id_o
775 => per_asg_shd.g_old_rec.source_organization_id
776 ,p_organization_id_o
777 => per_asg_shd.g_old_rec.organization_id
778 ,p_people_group_id_o
779 => per_asg_shd.g_old_rec.people_group_id
780 ,p_soft_coding_keyflex_id_o
781 => per_asg_shd.g_old_rec.soft_coding_keyflex_id
782 ,p_vacancy_id_o
783 => per_asg_shd.g_old_rec.vacancy_id
784 ,p_assignment_sequence_o
785 => per_asg_shd.g_old_rec.assignment_sequence
786 ,p_pay_basis_id_o
787 => per_asg_shd.g_old_rec.pay_basis_id
788 ,p_assignment_type_o
789 => per_asg_shd.g_old_rec.assignment_type
790 ,p_primary_flag_o
791 => per_asg_shd.g_old_rec.primary_flag
792 ,p_application_id_o
793 => per_asg_shd.g_old_rec.application_id
794 ,p_assignment_number_o
795 => per_asg_shd.g_old_rec.assignment_number
796 ,p_change_reason_o
797 => per_asg_shd.g_old_rec.change_reason
798 ,p_comment_id_o
799 => per_asg_shd.g_old_rec.comment_id
800 ,p_date_probation_end_o
801 => per_asg_shd.g_old_rec.date_probation_end
802 ,p_default_code_comb_id_o
803 => per_asg_shd.g_old_rec.default_code_comb_id
804 ,p_employment_category_o
805 => per_asg_shd.g_old_rec.employment_category
806 ,p_frequency_o
807 => per_asg_shd.g_old_rec.frequency
808 ,p_internal_address_line_o
809 => per_asg_shd.g_old_rec.internal_address_line
810 ,p_manager_flag_o
811 => per_asg_shd.g_old_rec.manager_flag
812 ,p_normal_hours_o
813 => per_asg_shd.g_old_rec.normal_hours
814 ,p_perf_review_period_o
815 => per_asg_shd.g_old_rec.perf_review_period
816 ,p_perf_review_period_frequen_o
817 => per_asg_shd.g_old_rec.perf_review_period_frequency
818 ,p_period_of_service_id_o
819 => per_asg_shd.g_old_rec.period_of_service_id
820 ,p_probation_period_o
821 => per_asg_shd.g_old_rec.probation_period
822 ,p_probation_unit_o
823 => per_asg_shd.g_old_rec.probation_unit
824 ,p_sal_review_period_o
825 => per_asg_shd.g_old_rec.sal_review_period
826 ,p_sal_review_period_frequen_o
827 => per_asg_shd.g_old_rec.sal_review_period_frequency
828 ,p_set_of_books_id_o
829 => per_asg_shd.g_old_rec.set_of_books_id
830 ,p_source_type_o
831 => per_asg_shd.g_old_rec.source_type
832 ,p_time_normal_finish_o
833 => per_asg_shd.g_old_rec.time_normal_finish
834 ,p_time_normal_start_o
835 => per_asg_shd.g_old_rec.time_normal_start
836 ,p_bargaining_unit_code_o
837 => per_asg_shd.g_old_rec.bargaining_unit_code
838 ,p_labour_union_member_flag_o
839 => per_asg_shd.g_old_rec.labour_union_member_flag
840 ,p_hourly_salaried_code_o
841 => per_asg_shd.g_old_rec.hourly_salaried_code
842 ,p_request_id_o
843 => per_asg_shd.g_old_rec.request_id
844 ,p_program_application_id_o
845 => per_asg_shd.g_old_rec.program_application_id
846 ,p_program_id_o
847 => per_asg_shd.g_old_rec.program_id
848 ,p_program_update_date_o
849 => per_asg_shd.g_old_rec.program_update_date
850 ,p_ass_attribute_category_o
851 => per_asg_shd.g_old_rec.ass_attribute_category
852 ,p_ass_attribute1_o
853 => per_asg_shd.g_old_rec.ass_attribute1
854 ,p_ass_attribute2_o
855 => per_asg_shd.g_old_rec.ass_attribute2
856 ,p_ass_attribute3_o
857 => per_asg_shd.g_old_rec.ass_attribute3
858 ,p_ass_attribute4_o
859 => per_asg_shd.g_old_rec.ass_attribute4
860 ,p_ass_attribute5_o
861 => per_asg_shd.g_old_rec.ass_attribute5
862 ,p_ass_attribute6_o
863 => per_asg_shd.g_old_rec.ass_attribute6
864 ,p_ass_attribute7_o
865 => per_asg_shd.g_old_rec.ass_attribute7
866 ,p_ass_attribute8_o
867 => per_asg_shd.g_old_rec.ass_attribute8
868 ,p_ass_attribute9_o
869 => per_asg_shd.g_old_rec.ass_attribute9
870 ,p_ass_attribute10_o
871 => per_asg_shd.g_old_rec.ass_attribute10
872 ,p_ass_attribute11_o
873 => per_asg_shd.g_old_rec.ass_attribute11
874 ,p_ass_attribute12_o
875 => per_asg_shd.g_old_rec.ass_attribute12
876 ,p_ass_attribute13_o
877 => per_asg_shd.g_old_rec.ass_attribute13
878 ,p_ass_attribute14_o
879 => per_asg_shd.g_old_rec.ass_attribute14
880 ,p_ass_attribute15_o
881 => per_asg_shd.g_old_rec.ass_attribute15
882 ,p_ass_attribute16_o
883 => per_asg_shd.g_old_rec.ass_attribute16
884 ,p_ass_attribute17_o
885 => per_asg_shd.g_old_rec.ass_attribute17
886 ,p_ass_attribute18_o
887 => per_asg_shd.g_old_rec.ass_attribute18
888 ,p_ass_attribute19_o
889 => per_asg_shd.g_old_rec.ass_attribute19
890 ,p_ass_attribute20_o
891 => per_asg_shd.g_old_rec.ass_attribute20
892 ,p_ass_attribute21_o
893 => per_asg_shd.g_old_rec.ass_attribute21
894 ,p_ass_attribute22_o
895 => per_asg_shd.g_old_rec.ass_attribute22
896 ,p_ass_attribute23_o
897 => per_asg_shd.g_old_rec.ass_attribute23
898 ,p_ass_attribute24_o
899 => per_asg_shd.g_old_rec.ass_attribute24
900 ,p_ass_attribute25_o
901 => per_asg_shd.g_old_rec.ass_attribute25
902 ,p_ass_attribute26_o
903 => per_asg_shd.g_old_rec.ass_attribute26
904 ,p_ass_attribute27_o
905 => per_asg_shd.g_old_rec.ass_attribute27
906 ,p_ass_attribute28_o
907 => per_asg_shd.g_old_rec.ass_attribute28
908 ,p_ass_attribute29_o
909 => per_asg_shd.g_old_rec.ass_attribute29
910 ,p_ass_attribute30_o
911 => per_asg_shd.g_old_rec.ass_attribute30
912 ,p_title_o
913 => per_asg_shd.g_old_rec.title
914 ,p_contract_id_o
915 => per_asg_shd.g_old_rec.contract_id
916 ,p_establishment_id_o
917 => per_asg_shd.g_old_rec.establishment_id
918 ,p_collective_agreement_id_o
919 => per_asg_shd.g_old_rec.collective_agreement_id
920 ,p_cagr_grade_def_id_o
921 => per_asg_shd.g_old_rec.cagr_grade_def_id
922 ,p_cagr_id_flex_num_o
923 => per_asg_shd.g_old_rec.cagr_id_flex_num
924 ,p_object_version_number_o
925 => per_asg_shd.g_old_rec.object_version_number
926 ,p_notice_period_o
927 => per_asg_shd.g_old_rec.notice_period
928 ,p_notice_period_uom_o
929 => per_asg_shd.g_old_rec.notice_period_uom
930 ,p_employee_category_o
931 => per_asg_shd.g_old_rec.employee_category
932 ,p_work_at_home_o
933 => per_asg_shd.g_old_rec.work_at_home
934 ,p_job_post_source_name_o
935 => per_asg_shd.g_old_rec.job_post_source_name
936 ,p_posting_content_id_o
937 => per_asg_shd.g_old_rec.posting_content_id
938 ,p_placement_date_start_o
939 => per_asg_shd.g_old_rec.period_of_placement_date_start
940 ,p_vendor_id_o
941 => per_asg_shd.g_old_rec.vendor_id
942 ,p_vendor_employee_number_o
943 => per_asg_shd.g_old_rec.vendor_employee_number
944 ,p_vendor_assignment_number_o
945 => per_asg_shd.g_old_rec.vendor_assignment_number
946 ,p_assignment_category_o
947 => per_asg_shd.g_old_rec.assignment_category
948 ,p_project_title_o
949 => per_asg_shd.g_old_rec.project_title
950 ,p_applicant_rank_o
951 => per_asg_shd.g_old_rec.applicant_rank
952 ,p_grade_ladder_pgm_id_o
953 => per_asg_shd.g_old_rec.grade_ladder_pgm_id
954 ,p_supervisor_assignment_id_o
955 => per_asg_shd.g_old_rec.supervisor_assignment_id
956 ,p_vendor_site_id_o
957 => per_asg_shd.g_old_rec.vendor_site_id
958 ,p_po_header_id_o
959 => per_asg_shd.g_old_rec.po_header_id
960 ,p_po_line_id_o
961 => per_asg_shd.g_old_rec.po_line_id
962 ,p_projected_assignment_end_o
963 => per_asg_shd.g_old_rec.projected_assignment_end
964 );
965 exception
966 when hr_api.cannot_find_prog_unit then
967 hr_api.cannot_find_prog_unit_error
968 (p_module_name => 'PER_ALL_ASSIGNMENTS_F'
969 ,p_hook_type => 'AU'
970 );
971 end;
972 -- End of API User Hook for post_update.
973 --
974 -- Temporary hardcoded hook added for pay object group functionality. Will
975 -- replace by proper hook when dynamic triggers for assignments converted
976 -- to package dynamic triggers.
977 --
978 pay_pog_all_assignments_pkg.after_update
979 (p_effective_date => p_effective_date
980 ,p_datetrack_mode => p_datetrack_mode
981 ,p_validation_start_date => p_validation_start_date
982 ,p_validation_end_date => p_validation_end_date
983 ,P_APPLICANT_RANK => p_rec.applicant_rank
984 ,P_APPLICATION_ID => p_rec.application_id
985 ,P_ASSIGNMENT_CATEGORY => p_rec.assignment_category
986 ,P_ASSIGNMENT_ID => p_rec.assignment_id
987 ,P_ASSIGNMENT_NUMBER => p_rec.assignment_number
988 ,P_ASSIGNMENT_STATUS_TYPE_ID => p_rec.assignment_status_type_id
989 ,P_ASSIGNMENT_TYPE => p_rec.assignment_type
990 ,P_ASS_ATTRIBUTE1 => p_rec.ass_attribute1
991 ,P_ASS_ATTRIBUTE10 => p_rec.ass_attribute10
992 ,P_ASS_ATTRIBUTE11 => p_rec.ass_attribute11
993 ,P_ASS_ATTRIBUTE12 => p_rec.ass_attribute12
994 ,P_ASS_ATTRIBUTE13 => p_rec.ass_attribute13
995 ,P_ASS_ATTRIBUTE14 => p_rec.ass_attribute14
996 ,P_ASS_ATTRIBUTE15 => p_rec.ass_attribute15
997 ,P_ASS_ATTRIBUTE16 => p_rec.ass_attribute16
998 ,P_ASS_ATTRIBUTE17 => p_rec.ass_attribute17
999 ,P_ASS_ATTRIBUTE18 => p_rec.ass_attribute18
1000 ,P_ASS_ATTRIBUTE19 => p_rec.ass_attribute19
1001 ,P_ASS_ATTRIBUTE2 => p_rec.ass_attribute2
1002 ,P_ASS_ATTRIBUTE20 => p_rec.ass_attribute20
1003 ,P_ASS_ATTRIBUTE21 => p_rec.ass_attribute21
1004 ,P_ASS_ATTRIBUTE22 => p_rec.ass_attribute22
1005 ,P_ASS_ATTRIBUTE23 => p_rec.ass_attribute23
1006 ,P_ASS_ATTRIBUTE24 => p_rec.ass_attribute24
1007 ,P_ASS_ATTRIBUTE25 => p_rec.ass_attribute25
1008 ,P_ASS_ATTRIBUTE26 => p_rec.ass_attribute26
1009 ,P_ASS_ATTRIBUTE27 => p_rec.ass_attribute27
1010 ,P_ASS_ATTRIBUTE28 => p_rec.ass_attribute28
1011 ,P_ASS_ATTRIBUTE29 => p_rec.ass_attribute29
1012 ,P_ASS_ATTRIBUTE3 => p_rec.ass_attribute3
1013 ,P_ASS_ATTRIBUTE30 => p_rec.ass_attribute30
1014 ,P_ASS_ATTRIBUTE4 => p_rec.ass_attribute4
1015 ,P_ASS_ATTRIBUTE5 => p_rec.ass_attribute5
1016 ,P_ASS_ATTRIBUTE6 => p_rec.ass_attribute6
1017 ,P_ASS_ATTRIBUTE7 => p_rec.ass_attribute7
1018 ,P_ASS_ATTRIBUTE8 => p_rec.ass_attribute8
1019 ,P_ASS_ATTRIBUTE9 => p_rec.ass_attribute9
1020 ,P_ASS_ATTRIBUTE_CATEGORY => p_rec.ass_attribute_category
1021 ,P_BARGAINING_UNIT_CODE => p_rec.bargaining_unit_code
1022 ,P_CAGR_GRADE_DEF_ID => p_rec.cagr_grade_def_id
1023 ,P_CAGR_ID_FLEX_NUM => p_rec.cagr_id_flex_num
1024 ,P_CHANGE_REASON => p_rec.change_reason
1025 ,P_COLLECTIVE_AGREEMENT_ID => p_rec.collective_agreement_id
1026 ,P_COMMENTS => p_rec.comment_text
1027 ,P_COMMENT_ID => p_rec.comment_id
1028 ,P_CONTRACT_ID => p_rec.contract_id
1029 ,P_DATE_PROBATION_END => p_rec.date_probation_end
1030 ,P_DEFAULT_CODE_COMB_ID => p_rec.default_code_comb_id
1031 ,P_EFFECTIVE_END_DATE => p_rec.effective_end_date
1032 ,P_EFFECTIVE_START_DATE => p_rec.effective_start_date
1033 ,P_EMPLOYEE_CATEGORY => p_rec.employee_category
1034 ,P_EMPLOYMENT_CATEGORY => p_rec.employment_category
1035 ,P_ESTABLISHMENT_ID => p_rec.establishment_id
1036 ,P_FREQUENCY => p_rec.frequency
1037 ,P_GRADE_ID => p_rec.grade_id
1038 ,P_HOURLY_SALARIED_CODE => p_rec.hourly_salaried_code
1039 ,P_HOURLY_SALARIED_WARNING => p_hourly_salaried_warning
1040 ,P_INTERNAL_ADDRESS_LINE => p_rec.internal_address_line
1041 ,P_JOB_ID => p_rec.job_id
1042 ,P_JOB_POST_SOURCE_NAME => p_rec.job_post_source_name
1043 ,P_LABOUR_UNION_MEMBER_FLAG => p_rec.labour_union_member_flag
1044 ,P_LOCATION_ID => p_rec.location_id
1045 ,P_MANAGER_FLAG => p_rec.manager_flag
1046 ,P_NORMAL_HOURS => p_rec.normal_hours
1047 ,P_NOTICE_PERIOD => p_rec.notice_period
1048 ,P_NOTICE_PERIOD_UOM => p_rec.notice_period_uom
1049 ,P_NO_MANAGERS_WARNING => p_no_managers_warning
1050 ,P_OBJECT_VERSION_NUMBER => p_rec.object_version_number
1051 ,P_ORGANIZATION_ID => p_rec.organization_id
1052 ,P_ORG_NOW_NO_MANAGER_WARNING => p_org_now_no_manager_warning
1053 ,P_OTHER_MANAGER_WARNING => p_other_manager_warning
1054 ,P_PAYROLL_ID => p_rec.payroll_id
1055 ,P_PAYROLL_ID_UPDATED => p_payroll_id_updated
1056 ,P_PAY_BASIS_ID => p_rec.pay_basis_id
1057 ,P_PEOPLE_GROUP_ID => p_rec.people_group_id
1058 ,P_PERF_REVIEW_PERIOD => p_rec.perf_review_period
1059 ,P_PERF_REVIEW_PERIOD_FREQUEN => p_rec.perf_review_period_frequency
1060 ,P_PERIOD_OF_SERVICE_ID => p_rec.period_of_service_id
1061 ,P_PERSON_REFERRED_BY_ID => p_rec.person_referred_by_id
1062 ,P_PLACEMENT_DATE_START => p_rec.period_of_placement_date_start
1063 ,P_POSITION_ID => p_rec.position_id
1064 ,P_POSTING_CONTENT_ID => p_rec.posting_content_id
1065 ,P_PRIMARY_FLAG => p_rec.primary_flag
1066 ,P_PROBATION_PERIOD => p_rec.probation_period
1067 ,P_PROBATION_UNIT => p_rec.probation_unit
1068 ,P_PROGRAM_APPLICATION_ID => p_rec.program_application_id
1069 ,P_PROGRAM_ID => p_rec.program_id
1070 ,P_PROGRAM_UPDATE_DATE => p_rec.program_update_date
1071 ,P_PROJECT_TITLE => p_rec.project_title
1072 ,P_RECRUITER_ID => p_rec.recruiter_id
1073 ,P_RECRUITMENT_ACTIVITY_ID => p_rec.recruitment_activity_id
1074 ,P_REQUEST_ID => p_rec.request_id
1075 ,P_SAL_REVIEW_PERIOD => p_rec.sal_review_period
1076 ,P_SAL_REVIEW_PERIOD_FREQUEN => p_rec.sal_review_period_frequency
1077 ,P_SET_OF_BOOKS_ID => p_rec.set_of_books_id
1078 ,P_SOFT_CODING_KEYFLEX_ID => p_rec.soft_coding_keyflex_id
1079 ,P_SOURCE_ORGANIZATION_ID => p_rec.source_organization_id
1080 ,P_SOURCE_TYPE => p_rec.source_type
1081 ,P_SPECIAL_CEILING_STEP_ID => p_rec.special_ceiling_step_id
1082 ,P_SUPERVISOR_ID => p_rec.supervisor_id
1083 ,P_TIME_NORMAL_FINISH => p_rec.time_normal_finish
1084 ,P_TIME_NORMAL_START => p_rec.time_normal_start
1085 ,P_TITLE => p_rec.title
1086 ,P_VACANCY_ID => p_rec.vacancy_id
1087 ,P_VENDOR_ASSIGNMENT_NUMBER => p_rec.vendor_assignment_number
1088 ,P_VENDOR_EMPLOYEE_NUMBER => p_rec.vendor_employee_number
1089 ,P_VENDOR_ID => p_rec.vendor_id
1090 ,P_WORK_AT_HOME => p_rec.work_at_home
1091 ,P_GRADE_LADDER_PGM_ID => p_rec.grade_ladder_pgm_id
1092 ,P_SUPERVISOR_ASSIGNMENT_ID => p_rec.supervisor_assignment_id
1093 ,P_VENDOR_SITE_ID => p_rec.vendor_site_id
1094 ,P_PO_HEADER_ID => p_rec.po_header_id
1095 ,P_PO_LINE_ID => p_rec.po_line_id
1096 ,P_PROJECTED_ASSIGNMENT_END => p_rec.projected_assignment_end
1097 ,P_APPLICANT_RANK_O => per_asg_shd.g_old_rec.applicant_rank
1098 ,P_APPLICATION_ID_O => per_asg_shd.g_old_rec.application_id
1099 ,P_ASSIGNMENT_CATEGORY_O => per_asg_shd.g_old_rec.assignment_category
1100 ,P_ASSIGNMENT_NUMBER_O => per_asg_shd.g_old_rec.assignment_number
1101 ,P_ASSIGNMENT_SEQUENCE_O => per_asg_shd.g_old_rec.assignment_sequence
1102 ,P_ASSIGNMENT_STATUS_TYPE_ID_O => per_asg_shd.g_old_rec.assignment_status_type_id
1103 ,P_ASSIGNMENT_TYPE_O => per_asg_shd.g_old_rec.assignment_type
1104 ,P_ASS_ATTRIBUTE1_O => per_asg_shd.g_old_rec.ass_attribute1
1105 ,P_ASS_ATTRIBUTE10_O => per_asg_shd.g_old_rec.ass_attribute10
1106 ,P_ASS_ATTRIBUTE11_O => per_asg_shd.g_old_rec.ass_attribute11
1107 ,P_ASS_ATTRIBUTE12_O => per_asg_shd.g_old_rec.ass_attribute12
1108 ,P_ASS_ATTRIBUTE13_O => per_asg_shd.g_old_rec.ass_attribute13
1109 ,P_ASS_ATTRIBUTE14_O => per_asg_shd.g_old_rec.ass_attribute14
1110 ,P_ASS_ATTRIBUTE15_O => per_asg_shd.g_old_rec.ass_attribute15
1111 ,P_ASS_ATTRIBUTE16_O => per_asg_shd.g_old_rec.ass_attribute16
1112 ,P_ASS_ATTRIBUTE17_O => per_asg_shd.g_old_rec.ass_attribute17
1113 ,P_ASS_ATTRIBUTE18_O => per_asg_shd.g_old_rec.ass_attribute18
1114 ,P_ASS_ATTRIBUTE19_O => per_asg_shd.g_old_rec.ass_attribute19
1115 ,P_ASS_ATTRIBUTE2_O => per_asg_shd.g_old_rec.ass_attribute2
1116 ,P_ASS_ATTRIBUTE20_O => per_asg_shd.g_old_rec.ass_attribute20
1117 ,P_ASS_ATTRIBUTE21_O => per_asg_shd.g_old_rec.ass_attribute21
1118 ,P_ASS_ATTRIBUTE22_O => per_asg_shd.g_old_rec.ass_attribute22
1119 ,P_ASS_ATTRIBUTE23_O => per_asg_shd.g_old_rec.ass_attribute23
1120 ,P_ASS_ATTRIBUTE24_O => per_asg_shd.g_old_rec.ass_attribute24
1121 ,P_ASS_ATTRIBUTE25_O => per_asg_shd.g_old_rec.ass_attribute25
1122 ,P_ASS_ATTRIBUTE26_O => per_asg_shd.g_old_rec.ass_attribute26
1123 ,P_ASS_ATTRIBUTE27_O => per_asg_shd.g_old_rec.ass_attribute27
1124 ,P_ASS_ATTRIBUTE28_O => per_asg_shd.g_old_rec.ass_attribute28
1125 ,P_ASS_ATTRIBUTE29_O => per_asg_shd.g_old_rec.ass_attribute29
1126 ,P_ASS_ATTRIBUTE3_O => per_asg_shd.g_old_rec.ass_attribute3
1127 ,P_ASS_ATTRIBUTE30_O => per_asg_shd.g_old_rec.ass_attribute30
1128 ,P_ASS_ATTRIBUTE4_O => per_asg_shd.g_old_rec.ass_attribute4
1129 ,P_ASS_ATTRIBUTE5_O => per_asg_shd.g_old_rec.ass_attribute5
1130 ,P_ASS_ATTRIBUTE6_O => per_asg_shd.g_old_rec.ass_attribute6
1131 ,P_ASS_ATTRIBUTE7_O => per_asg_shd.g_old_rec.ass_attribute7
1132 ,P_ASS_ATTRIBUTE8_O => per_asg_shd.g_old_rec.ass_attribute8
1133 ,P_ASS_ATTRIBUTE9_O => per_asg_shd.g_old_rec.ass_attribute9
1134 ,P_ASS_ATTRIBUTE_CATEGORY_O => per_asg_shd.g_old_rec.ass_attribute_category
1135 ,P_BARGAINING_UNIT_CODE_O => per_asg_shd.g_old_rec.bargaining_unit_code
1136 ,P_BUSINESS_GROUP_ID_O => per_asg_shd.g_old_rec.business_group_id
1137 ,P_CAGR_GRADE_DEF_ID_O => per_asg_shd.g_old_rec.cagr_grade_def_id
1138 ,P_CAGR_ID_FLEX_NUM_O => per_asg_shd.g_old_rec.cagr_id_flex_num
1139 ,P_CHANGE_REASON_O => per_asg_shd.g_old_rec.change_reason
1140 ,P_COLLECTIVE_AGREEMENT_ID_O => per_asg_shd.g_old_rec.collective_agreement_id
1141 ,P_COMMENT_ID_O => per_asg_shd.g_old_rec.comment_id
1142 ,P_CONTRACT_ID_O => per_asg_shd.g_old_rec.contract_id
1143 ,P_DATE_PROBATION_END_O => per_asg_shd.g_old_rec.date_probation_end
1144 ,P_DEFAULT_CODE_COMB_ID_O => per_asg_shd.g_old_rec.default_code_comb_id
1145 ,P_EFFECTIVE_END_DATE_O => per_asg_shd.g_old_rec.effective_end_date
1146 ,P_EFFECTIVE_START_DATE_O => per_asg_shd.g_old_rec.effective_start_date
1147 ,P_EMPLOYEE_CATEGORY_O => per_asg_shd.g_old_rec.employee_category
1148 ,P_EMPLOYMENT_CATEGORY_O => per_asg_shd.g_old_rec.employment_category
1149 ,P_ESTABLISHMENT_ID_O => per_asg_shd.g_old_rec.establishment_id
1150 ,P_FREQUENCY_O => per_asg_shd.g_old_rec.frequency
1151 ,P_GRADE_ID_O => per_asg_shd.g_old_rec.grade_id
1152 ,P_HOURLY_SALARIED_CODE_O => per_asg_shd.g_old_rec.hourly_salaried_code
1153 ,P_INTERNAL_ADDRESS_LINE_O => per_asg_shd.g_old_rec.internal_address_line
1154 ,P_JOB_ID_O => per_asg_shd.g_old_rec.job_id
1155 ,P_JOB_POST_SOURCE_NAME_O => per_asg_shd.g_old_rec.job_post_source_name
1156 ,P_LABOUR_UNION_MEMBER_FLAG_O => per_asg_shd.g_old_rec.labour_union_member_flag
1157 ,P_LOCATION_ID_O => per_asg_shd.g_old_rec.location_id
1158 ,P_MANAGER_FLAG_O => per_asg_shd.g_old_rec.manager_flag
1159 ,P_NORMAL_HOURS_O => per_asg_shd.g_old_rec.normal_hours
1160 ,P_NOTICE_PERIOD_O => per_asg_shd.g_old_rec.notice_period
1161 ,P_NOTICE_PERIOD_UOM_O => per_asg_shd.g_old_rec.notice_period_uom
1162 ,P_OBJECT_VERSION_NUMBER_O => per_asg_shd.g_old_rec.object_version_number
1163 ,P_ORGANIZATION_ID_O => per_asg_shd.g_old_rec.organization_id
1164 ,P_PAYROLL_ID_O => per_asg_shd.g_old_rec.payroll_id
1165 ,P_PAY_BASIS_ID_O => per_asg_shd.g_old_rec.pay_basis_id
1166 ,P_PEOPLE_GROUP_ID_O => per_asg_shd.g_old_rec.people_group_id
1167 ,P_PERF_REVIEW_PERIOD_O => per_asg_shd.g_old_rec.perf_review_period
1168 ,P_PERF_REVIEW_PERIOD_FREQUEN_O => per_asg_shd.g_old_rec.perf_review_period_frequency
1169 ,P_PERIOD_OF_SERVICE_ID_O => per_asg_shd.g_old_rec.period_of_service_id
1170 ,P_PERSON_ID_O => per_asg_shd.g_old_rec.person_id
1171 ,P_PERSON_REFERRED_BY_ID_O => per_asg_shd.g_old_rec.person_referred_by_id
1172 ,P_PLACEMENT_DATE_START_O => per_asg_shd.g_old_rec.period_of_placement_date_start
1173 ,P_POSITION_ID_O => per_asg_shd.g_old_rec.position_id
1174 ,P_POSTING_CONTENT_ID_O => per_asg_shd.g_old_rec.posting_content_id
1175 ,P_PRIMARY_FLAG_O => per_asg_shd.g_old_rec.primary_flag
1176 ,P_PROBATION_PERIOD_O => per_asg_shd.g_old_rec.probation_period
1177 ,P_PROBATION_UNIT_O => per_asg_shd.g_old_rec.probation_unit
1178 ,P_PROGRAM_APPLICATION_ID_O => per_asg_shd.g_old_rec.program_application_id
1179 ,P_PROGRAM_ID_O => per_asg_shd.g_old_rec.program_id
1180 ,P_PROGRAM_UPDATE_DATE_O => per_asg_shd.g_old_rec.program_update_date
1181 ,P_PROJECT_TITLE_O => per_asg_shd.g_old_rec.project_title
1182 ,P_RECRUITER_ID_O => per_asg_shd.g_old_rec.recruiter_id
1183 ,P_RECRUITMENT_ACTIVITY_ID_O => per_asg_shd.g_old_rec.recruitment_activity_id
1184 ,P_REQUEST_ID_O => per_asg_shd.g_old_rec.request_id
1185 ,P_SAL_REVIEW_PERIOD_O => per_asg_shd.g_old_rec.sal_review_period
1186 ,P_SAL_REVIEW_PERIOD_FREQUEN_O => per_asg_shd.g_old_rec.sal_review_period_frequency
1187 ,P_SET_OF_BOOKS_ID_O => per_asg_shd.g_old_rec.set_of_books_id
1188 ,P_SOFT_CODING_KEYFLEX_ID_O => per_asg_shd.g_old_rec.soft_coding_keyflex_id
1189 ,P_SOURCE_ORGANIZATION_ID_O => per_asg_shd.g_old_rec.source_organization_id
1190 ,P_SOURCE_TYPE_O => per_asg_shd.g_old_rec.source_type
1191 ,P_SPECIAL_CEILING_STEP_ID_O => per_asg_shd.g_old_rec.special_ceiling_step_id
1192 ,P_SUPERVISOR_ID_O => per_asg_shd.g_old_rec.supervisor_id
1193 ,P_TIME_NORMAL_FINISH_O => per_asg_shd.g_old_rec.time_normal_finish
1194 ,P_TIME_NORMAL_START_O => per_asg_shd.g_old_rec.time_normal_start
1195 ,P_TITLE_O => per_asg_shd.g_old_rec.title
1196 ,P_VACANCY_ID_O => per_asg_shd.g_old_rec.vacancy_id
1197 ,P_VENDOR_ASSIGNMENT_NUMBER_O => per_asg_shd.g_old_rec.vendor_assignment_number
1198 ,P_VENDOR_EMPLOYEE_NUMBER_O => per_asg_shd.g_old_rec.vendor_employee_number
1199 ,P_VENDOR_ID_O => per_asg_shd.g_old_rec.vendor_id
1200 ,P_WORK_AT_HOME_O => per_asg_shd.g_old_rec.work_at_home
1201 ,P_GRADE_LADDER_PGM_ID_O => per_asg_shd.g_old_rec.grade_ladder_pgm_id
1202 ,P_SUPERVISOR_ASSIGNMENT_ID_O => per_asg_shd.g_old_rec.supervisor_assignment_id
1203 ,P_VENDOR_SITE_ID_O => per_asg_shd.g_old_rec.vendor_site_id
1204 ,P_PO_HEADER_ID_O => per_asg_shd.g_old_rec.po_header_id
1205 ,P_PO_LINE_ID_O => per_asg_shd.g_old_rec.po_line_id
1206 ,P_PROJECTED_ASSIGNMENT_END_O => per_asg_shd.g_old_rec.projected_assignment_end
1207 );
1208 --
1209 -- Call to Workflow Sync Procedure For Assignments
1210 per_pqh_shr.per_asg_wf_sync('POST_UPDATE',
1211 p_rec,
1212 per_asg_shd.g_old_rec.position_id,
1213 p_effective_date,
1214 p_validation_start_date,
1215 p_validation_end_date,
1216 p_datetrack_mode);
1217
1218 -- End of call to Workflow Sync Procedure For Assignments
1219
1220 --
1221 hr_utility.set_location(' Leaving:'||l_proc, 10);
1222 End post_update;
1223 --
1224 -- ----------------------------------------------------------------------------
1225 -- |-----------------------------< convert_defs >-----------------------------|
1226 -- ----------------------------------------------------------------------------
1227 -- {Start Of Comments}
1228 --
1229 -- Description:
1230 -- The Convert_Defs procedure has one very important function:
1231 -- It must return the record structure for the row with all system defaulted
1232 -- values converted into its corresponding argument value for update. When
1233 -- we attempt to update a row through the Upd business process , certain
1234 -- arguments can be defaulted which enables flexibility in the calling of
1235 -- the upd process (e.g. only attributes which need to be updated need to be
1236 -- specified). For the upd business process to determine which attributes
1237 -- have NOT been specified we need to check if the argument has a reserved
1238 -- system default value. Therefore, for all attributes which have a
1239 -- corresponding reserved system default mechanism specified we need to
1240 -- check if a system default is being used. If a system default is being
1241 -- used then we convert the defaulted value into its corresponding attribute
1242 -- value held in the g_old_rec data structure.
1243 --
1244 -- Pre Conditions:
1245 -- This private procedure can only be called from the upd process.
1246 --
1247 -- In Arguments:
1248 -- A Pl/Sql record structre.
1249 --
1250 -- Post Success:
1251 -- The record structure will be returned with all system defaulted argument
1252 -- values converted into its current row attribute value.
1253 --
1254 -- Post Failure:
1255 -- No direct error handling is required within this function. Any possible
1256 -- errors within this procedure will be a PL/SQL value error due to
1257 -- conversion of datatypes or data lengths.
1258 --
1259 -- Developer Implementation Notes:
1260 -- None.
1261 --
1262 -- Access Status:
1263 -- Internal Table Handler Use Only.
1264 --
1265 -- {End Of Comments}
1266 -- ----------------------------------------------------------------------------
1267 Procedure convert_defs(p_rec in out nocopy per_asg_shd.g_rec_type) is
1268 --
1269 l_proc varchar2(72) := g_package||'convert_defs';
1270 --
1271 Begin
1272 --
1273 hr_utility.set_location('Entering:'||l_proc, 5);
1274 --
1275 -- We must now examine each argument value in the
1276 -- p_rec plsql record structure
1277 -- to see if a system default is being used. If a system default
1278 -- is being used then we must set to the 'current' argument value.
1279 --
1280 If (p_rec.business_group_id = hr_api.g_number) then
1281 p_rec.business_group_id :=
1282 per_asg_shd.g_old_rec.business_group_id;
1283 End If;
1284 If (p_rec.recruiter_id = hr_api.g_number) then
1285 p_rec.recruiter_id :=
1286 per_asg_shd.g_old_rec.recruiter_id;
1287 End If;
1288 If (p_rec.grade_id = hr_api.g_number) then
1289 p_rec.grade_id :=
1290 per_asg_shd.g_old_rec.grade_id;
1291 End If;
1292 If (p_rec.position_id = hr_api.g_number) then
1293 p_rec.position_id :=
1294 per_asg_shd.g_old_rec.position_id;
1295 End If;
1296 If (p_rec.job_id = hr_api.g_number) then
1297 p_rec.job_id :=
1298 per_asg_shd.g_old_rec.job_id;
1299 End If;
1300 If (p_rec.assignment_status_type_id = hr_api.g_number) then
1301 p_rec.assignment_status_type_id :=
1302 per_asg_shd.g_old_rec.assignment_status_type_id;
1303 End If;
1304 If (p_rec.payroll_id = hr_api.g_number) then
1305 p_rec.payroll_id :=
1306 per_asg_shd.g_old_rec.payroll_id;
1307 End If;
1308 If (p_rec.location_id = hr_api.g_number) then
1309 p_rec.location_id :=
1310 per_asg_shd.g_old_rec.location_id;
1311 End If;
1312 If (p_rec.person_referred_by_id = hr_api.g_number) then
1313 p_rec.person_referred_by_id :=
1314 per_asg_shd.g_old_rec.person_referred_by_id;
1315 End If;
1316 If (p_rec.supervisor_id = hr_api.g_number) then
1317 p_rec.supervisor_id :=
1318 per_asg_shd.g_old_rec.supervisor_id;
1319 End If;
1320 If (p_rec.special_ceiling_step_id = hr_api.g_number) then
1321 p_rec.special_ceiling_step_id :=
1322 per_asg_shd.g_old_rec.special_ceiling_step_id;
1323 End If;
1324 If (p_rec.person_id = hr_api.g_number) then
1325 p_rec.person_id :=
1326 per_asg_shd.g_old_rec.person_id;
1327 End If;
1328 If (p_rec.recruitment_activity_id = hr_api.g_number) then
1329 p_rec.recruitment_activity_id :=
1330 per_asg_shd.g_old_rec.recruitment_activity_id;
1331 End If;
1332 If (p_rec.source_organization_id = hr_api.g_number) then
1333 p_rec.source_organization_id :=
1334 per_asg_shd.g_old_rec.source_organization_id;
1335 End If;
1336 If (p_rec.organization_id = hr_api.g_number) then
1337 p_rec.organization_id :=
1338 per_asg_shd.g_old_rec.organization_id;
1339 End If;
1340 If (p_rec.people_group_id = hr_api.g_number) then
1341 p_rec.people_group_id :=
1342 per_asg_shd.g_old_rec.people_group_id;
1343 End If;
1344 If (p_rec.soft_coding_keyflex_id = hr_api.g_number) then
1345 p_rec.soft_coding_keyflex_id :=
1346 per_asg_shd.g_old_rec.soft_coding_keyflex_id;
1347 End If;
1348 If (p_rec.vacancy_id = hr_api.g_number) then
1349 p_rec.vacancy_id :=
1350 per_asg_shd.g_old_rec.vacancy_id;
1351 End If;
1352 If (p_rec.pay_basis_id = hr_api.g_number) then
1353 p_rec.pay_basis_id :=
1354 per_asg_shd.g_old_rec.pay_basis_id;
1355 End If;
1356 If (p_rec.assignment_sequence = hr_api.g_number) then
1357 p_rec.assignment_sequence :=
1358 per_asg_shd.g_old_rec.assignment_sequence;
1359 End If;
1360 If (p_rec.assignment_type = hr_api.g_varchar2) then
1361 p_rec.assignment_type :=
1362 per_asg_shd.g_old_rec.assignment_type;
1363 End If;
1364 If (p_rec.primary_flag = hr_api.g_varchar2) then
1365 p_rec.primary_flag :=
1366 per_asg_shd.g_old_rec.primary_flag;
1367 End If;
1368 If (p_rec.application_id = hr_api.g_number) then
1369 p_rec.application_id :=
1370 per_asg_shd.g_old_rec.application_id;
1371 End If;
1372 If (p_rec.assignment_number = hr_api.g_varchar2) then
1373 p_rec.assignment_number :=
1374 per_asg_shd.g_old_rec.assignment_number;
1375 End If;
1376 If (p_rec.change_reason = hr_api.g_varchar2) then
1377 p_rec.change_reason :=
1378 per_asg_shd.g_old_rec.change_reason;
1379 End If;
1380 If (p_rec.comment_id = hr_api.g_number) then
1381 p_rec.comment_id :=
1382 per_asg_shd.g_old_rec.comment_id;
1383 End If;
1384 If (p_rec.comment_text = hr_api.g_varchar2) then
1385 p_rec.comment_text :=
1386 per_asg_shd.g_old_rec.comment_text;
1387 End If;
1388 If (p_rec.date_probation_end = hr_api.g_date) then
1389 p_rec.date_probation_end :=
1390 per_asg_shd.g_old_rec.date_probation_end;
1391 End If;
1392 If (p_rec.default_code_comb_id = hr_api.g_number) then
1393 p_rec.default_code_comb_id :=
1394 per_asg_shd.g_old_rec.default_code_comb_id;
1395 End If;
1396 If (p_rec.employment_category = hr_api.g_varchar2) then
1397 p_rec.employment_category :=
1398 per_asg_shd.g_old_rec.employment_category;
1399 End If;
1400 If (p_rec.frequency = hr_api.g_varchar2) then
1401 p_rec.frequency :=
1402 per_asg_shd.g_old_rec.frequency;
1403 End If;
1404 If (p_rec.internal_address_line = hr_api.g_varchar2) then
1405 p_rec.internal_address_line :=
1406 per_asg_shd.g_old_rec.internal_address_line;
1407 End If;
1408 If (p_rec.manager_flag = hr_api.g_varchar2) then
1409 p_rec.manager_flag :=
1410 per_asg_shd.g_old_rec.manager_flag;
1411 End If;
1412 If (p_rec.normal_hours = hr_api.g_number) then
1413 p_rec.normal_hours :=
1414 per_asg_shd.g_old_rec.normal_hours;
1415 End If;
1416 If (p_rec.perf_review_period = hr_api.g_number) then
1417 p_rec.perf_review_period :=
1418 per_asg_shd.g_old_rec.perf_review_period;
1419 End If;
1420 If (p_rec.perf_review_period_frequency = hr_api.g_varchar2) then
1421 p_rec.perf_review_period_frequency :=
1422 per_asg_shd.g_old_rec.perf_review_period_frequency;
1423 End If;
1424 If (p_rec.period_of_service_id = hr_api.g_number) then
1425 p_rec.period_of_service_id :=
1426 per_asg_shd.g_old_rec.period_of_service_id;
1427 End If;
1428 If (p_rec.probation_period = hr_api.g_number) then
1429 p_rec.probation_period :=
1430 per_asg_shd.g_old_rec.probation_period;
1431 End If;
1432 If (p_rec.probation_unit = hr_api.g_varchar2) then
1433 p_rec.probation_unit :=
1434 per_asg_shd.g_old_rec.probation_unit;
1435 End If;
1436 If (p_rec.sal_review_period = hr_api.g_number) then
1437 p_rec.sal_review_period :=
1438 per_asg_shd.g_old_rec.sal_review_period;
1439 End If;
1440 If (p_rec.sal_review_period_frequency = hr_api.g_varchar2) then
1441 p_rec.sal_review_period_frequency :=
1442 per_asg_shd.g_old_rec.sal_review_period_frequency;
1443 End If;
1444 If (p_rec.set_of_books_id = hr_api.g_number) then
1445 p_rec.set_of_books_id :=
1446 per_asg_shd.g_old_rec.set_of_books_id;
1447 End If;
1448 If (p_rec.source_type = hr_api.g_varchar2) then
1449 p_rec.source_type :=
1450 per_asg_shd.g_old_rec.source_type;
1451 End If;
1452 If (p_rec.time_normal_finish = hr_api.g_varchar2) then
1453 p_rec.time_normal_finish :=
1454 per_asg_shd.g_old_rec.time_normal_finish;
1455 End If;
1456 If (p_rec.time_normal_start = hr_api.g_varchar2) then
1457 p_rec.time_normal_start :=
1458 per_asg_shd.g_old_rec.time_normal_start;
1459 End If;
1460 If (p_rec.bargaining_unit_code = hr_api.g_varchar2) then
1461 p_rec.bargaining_unit_code :=
1462 per_asg_shd.g_old_rec.bargaining_unit_code;
1463 End If;
1464 If (p_rec.labour_union_member_flag = hr_api.g_varchar2) then
1465 p_rec.labour_union_member_flag :=
1466 per_asg_shd.g_old_rec.labour_union_member_flag;
1467 End If;
1468 If (p_rec.hourly_salaried_code = hr_api.g_varchar2) then
1469 p_rec.hourly_salaried_code :=
1470 per_asg_shd.g_old_rec.hourly_salaried_code;
1471 End If;
1472 If (p_rec.request_id = hr_api.g_number) then
1473 p_rec.request_id :=
1474 per_asg_shd.g_old_rec.request_id;
1475 End If;
1476 If (p_rec.program_application_id = hr_api.g_number) then
1477 p_rec.program_application_id :=
1478 per_asg_shd.g_old_rec.program_application_id;
1479 End If;
1480 If (p_rec.program_id = hr_api.g_number) then
1481 p_rec.program_id :=
1482 per_asg_shd.g_old_rec.program_id;
1483 End If;
1484 If (p_rec.program_update_date = hr_api.g_date) then
1485 p_rec.program_update_date :=
1486 per_asg_shd.g_old_rec.program_update_date;
1487 End If;
1488 If (p_rec.ass_attribute_category = hr_api.g_varchar2) then
1489 p_rec.ass_attribute_category :=
1490 per_asg_shd.g_old_rec.ass_attribute_category;
1491 End If;
1492 If (p_rec.ass_attribute1 = hr_api.g_varchar2) then
1493 p_rec.ass_attribute1 :=
1494 per_asg_shd.g_old_rec.ass_attribute1;
1495 End If;
1496 If (p_rec.ass_attribute2 = hr_api.g_varchar2) then
1497 p_rec.ass_attribute2 :=
1498 per_asg_shd.g_old_rec.ass_attribute2;
1499 End If;
1500 If (p_rec.ass_attribute3 = hr_api.g_varchar2) then
1501 p_rec.ass_attribute3 :=
1502 per_asg_shd.g_old_rec.ass_attribute3;
1503 End If;
1504 If (p_rec.ass_attribute4 = hr_api.g_varchar2) then
1505 p_rec.ass_attribute4 :=
1506 per_asg_shd.g_old_rec.ass_attribute4;
1507 End If;
1508 If (p_rec.ass_attribute5 = hr_api.g_varchar2) then
1509 p_rec.ass_attribute5 :=
1510 per_asg_shd.g_old_rec.ass_attribute5;
1511 End If;
1512 If (p_rec.ass_attribute6 = hr_api.g_varchar2) then
1513 p_rec.ass_attribute6 :=
1514 per_asg_shd.g_old_rec.ass_attribute6;
1515 End If;
1516 If (p_rec.ass_attribute7 = hr_api.g_varchar2) then
1517 p_rec.ass_attribute7 :=
1518 per_asg_shd.g_old_rec.ass_attribute7;
1519 End If;
1520 If (p_rec.ass_attribute8 = hr_api.g_varchar2) then
1521 p_rec.ass_attribute8 :=
1522 per_asg_shd.g_old_rec.ass_attribute8;
1523 End If;
1524 If (p_rec.ass_attribute9 = hr_api.g_varchar2) then
1525 p_rec.ass_attribute9 :=
1526 per_asg_shd.g_old_rec.ass_attribute9;
1527 End If;
1528 If (p_rec.ass_attribute10 = hr_api.g_varchar2) then
1529 p_rec.ass_attribute10 :=
1530 per_asg_shd.g_old_rec.ass_attribute10;
1531 End If;
1532 If (p_rec.ass_attribute11 = hr_api.g_varchar2) then
1533 p_rec.ass_attribute11 :=
1534 per_asg_shd.g_old_rec.ass_attribute11;
1535 End If;
1536 If (p_rec.ass_attribute12 = hr_api.g_varchar2) then
1537 p_rec.ass_attribute12 :=
1538 per_asg_shd.g_old_rec.ass_attribute12;
1539 End If;
1540 If (p_rec.ass_attribute13 = hr_api.g_varchar2) then
1541 p_rec.ass_attribute13 :=
1542 per_asg_shd.g_old_rec.ass_attribute13;
1543 End If;
1544 If (p_rec.ass_attribute14 = hr_api.g_varchar2) then
1545 p_rec.ass_attribute14 :=
1546 per_asg_shd.g_old_rec.ass_attribute14;
1547 End If;
1548 If (p_rec.ass_attribute15 = hr_api.g_varchar2) then
1549 p_rec.ass_attribute15 :=
1550 per_asg_shd.g_old_rec.ass_attribute15;
1551 End If;
1552 If (p_rec.ass_attribute16 = hr_api.g_varchar2) then
1553 p_rec.ass_attribute16 :=
1554 per_asg_shd.g_old_rec.ass_attribute16;
1555 End If;
1556 If (p_rec.ass_attribute17 = hr_api.g_varchar2) then
1557 p_rec.ass_attribute17 :=
1558 per_asg_shd.g_old_rec.ass_attribute17;
1559 End If;
1560 If (p_rec.ass_attribute18 = hr_api.g_varchar2) then
1561 p_rec.ass_attribute18 :=
1562 per_asg_shd.g_old_rec.ass_attribute18;
1563 End If;
1564 If (p_rec.ass_attribute19 = hr_api.g_varchar2) then
1565 p_rec.ass_attribute19 :=
1566 per_asg_shd.g_old_rec.ass_attribute19;
1567 End If;
1568 If (p_rec.ass_attribute20 = hr_api.g_varchar2) then
1569 p_rec.ass_attribute20 :=
1570 per_asg_shd.g_old_rec.ass_attribute20;
1571 End If;
1572 If (p_rec.ass_attribute21 = hr_api.g_varchar2) then
1573 p_rec.ass_attribute21 :=
1574 per_asg_shd.g_old_rec.ass_attribute21;
1575 End If;
1576 If (p_rec.ass_attribute22 = hr_api.g_varchar2) then
1577 p_rec.ass_attribute22 :=
1578 per_asg_shd.g_old_rec.ass_attribute22;
1579 End If;
1580 If (p_rec.ass_attribute23 = hr_api.g_varchar2) then
1581 p_rec.ass_attribute23 :=
1582 per_asg_shd.g_old_rec.ass_attribute23;
1583 End If;
1584 If (p_rec.ass_attribute24 = hr_api.g_varchar2) then
1585 p_rec.ass_attribute24 :=
1586 per_asg_shd.g_old_rec.ass_attribute24;
1587 End If;
1588 If (p_rec.ass_attribute25 = hr_api.g_varchar2) then
1589 p_rec.ass_attribute25 :=
1590 per_asg_shd.g_old_rec.ass_attribute25;
1591 End If;
1592 If (p_rec.ass_attribute26 = hr_api.g_varchar2) then
1593 p_rec.ass_attribute26 :=
1594 per_asg_shd.g_old_rec.ass_attribute26;
1595 End If;
1596 If (p_rec.ass_attribute27 = hr_api.g_varchar2) then
1597 p_rec.ass_attribute27 :=
1598 per_asg_shd.g_old_rec.ass_attribute27;
1599 End If;
1600 If (p_rec.ass_attribute28 = hr_api.g_varchar2) then
1601 p_rec.ass_attribute28 :=
1602 per_asg_shd.g_old_rec.ass_attribute28;
1603 End If;
1604 If (p_rec.ass_attribute29 = hr_api.g_varchar2) then
1605 p_rec.ass_attribute29 :=
1606 per_asg_shd.g_old_rec.ass_attribute29;
1607 End If;
1608 If (p_rec.ass_attribute30 = hr_api.g_varchar2) then
1609 p_rec.ass_attribute30 :=
1610 per_asg_shd.g_old_rec.ass_attribute30;
1611 End If;
1612 If (p_rec.title = hr_api.g_varchar2) then
1613 p_rec.title :=
1614 per_asg_shd.g_old_rec.title;
1615 End If;
1616 If (p_rec.contract_id = hr_api.g_number) then
1617 p_rec.contract_id :=
1618 per_asg_shd.g_old_rec.contract_id;
1619 End If;
1620 If (p_rec.establishment_id = hr_api.g_number) then
1621 p_rec.establishment_id :=
1622 per_asg_shd.g_old_rec.establishment_id;
1623 End If;
1624 If (p_rec.collective_agreement_id = hr_api.g_number) then
1625 p_rec.collective_agreement_id :=
1626 per_asg_shd.g_old_rec.collective_agreement_id;
1627 End If;
1628 If (p_rec.cagr_grade_def_id = hr_api.g_number) then
1629 p_rec.cagr_grade_def_id :=
1630 per_asg_shd.g_old_rec.cagr_grade_def_id;
1631 End If;
1632 If (p_rec.cagr_id_flex_num = hr_api.g_number) then
1633 p_rec.cagr_id_flex_num :=
1634 per_asg_shd.g_old_rec.cagr_id_flex_num;
1635 End If;
1636 If (p_rec.notice_period = hr_api.g_number) then
1637 p_rec.notice_period :=
1638 per_asg_shd.g_old_rec.notice_period;
1639 End If;
1640 If (p_rec.notice_period_uom = hr_api.g_varchar2) then
1641 p_rec.notice_period_uom :=
1642 per_asg_shd.g_old_rec.notice_period_uom;
1643 End If;
1644 If (p_rec.employee_category = hr_api.g_varchar2) then
1645 p_rec.employee_category :=
1646 per_asg_shd.g_old_rec.employee_category;
1647 End If;
1648 If (p_rec.work_at_home = hr_api.g_varchar2) then
1649 p_rec.work_at_home :=
1650 per_asg_shd.g_old_rec.work_at_home;
1651 End If;
1652 If (p_rec.job_post_source_name = hr_api.g_varchar2) then
1653 p_rec.job_post_source_name :=
1654 per_asg_shd.g_old_rec.job_post_source_name;
1655 End If;
1656 If (p_rec.posting_content_id = hr_api.g_number) then
1657 p_rec.posting_content_id :=
1658 per_asg_shd.g_old_rec.posting_content_id;
1659 End If;
1660 If (p_rec.period_of_placement_date_start = hr_api.g_date) then
1661 p_rec.period_of_placement_date_start :=
1662 per_asg_shd.g_old_rec.period_of_placement_date_start;
1663 End If;
1664 If (p_rec.vendor_id = hr_api.g_number) then
1665 p_rec.vendor_id :=
1666 per_asg_shd.g_old_rec.vendor_id;
1667 End If;
1668 If (p_rec.vendor_employee_number = hr_api.g_varchar2) then
1669 p_rec.vendor_employee_number :=
1670 per_asg_shd.g_old_rec.vendor_employee_number;
1671 End If;
1672 If (p_rec.vendor_assignment_number = hr_api.g_varchar2) then
1673 p_rec.vendor_assignment_number :=
1674 per_asg_shd.g_old_rec.vendor_assignment_number;
1675 End If;
1676 If (p_rec.assignment_category = hr_api.g_varchar2) then
1677 p_rec.assignment_category :=
1678 per_asg_shd.g_old_rec.assignment_category;
1679 End If;
1680 If (p_rec.project_title = hr_api.g_varchar2) then
1681 p_rec.project_title :=
1682 per_asg_shd.g_old_rec.project_title;
1683 End If;
1684 If (p_rec.applicant_rank = hr_api.g_number) then
1685 p_rec.applicant_rank :=
1686 per_asg_shd.g_old_rec.applicant_rank;
1687 End If;
1688 If (p_rec.grade_ladder_pgm_id = hr_api.g_number) then
1689 p_rec.grade_ladder_pgm_id :=
1690 per_asg_shd.g_old_rec.grade_ladder_pgm_id;
1691 End If;
1692 If (p_rec.supervisor_assignment_id = hr_api.g_number) then
1693 p_rec.supervisor_assignment_id :=
1694 per_asg_shd.g_old_rec.supervisor_assignment_id;
1695 End If;
1696 If (p_rec.vendor_site_id = hr_api.g_number) then
1697 p_rec.vendor_site_id :=
1698 per_asg_shd.g_old_rec.vendor_site_id;
1699 End If;
1700 If (p_rec.po_header_id = hr_api.g_number) then
1701 p_rec.po_header_id :=
1702 per_asg_shd.g_old_rec.po_header_id;
1703 End If;
1704 If (p_rec.po_line_id = hr_api.g_number) then
1705 p_rec.po_line_id :=
1706 per_asg_shd.g_old_rec.po_line_id;
1707 End If;
1708 If (p_rec.projected_assignment_end = hr_api.g_date) then
1709 p_rec.projected_assignment_end :=
1710 per_asg_shd.g_old_rec.projected_assignment_end;
1711 End If;
1712 --
1713 hr_utility.set_location(' Leaving:'||l_proc, 10);
1714 --
1715 End convert_defs;
1716 --
1717 -- ----------------------------------------------------------------------------
1718 -- |---------------------------------< upd >----------------------------------|
1719 -- ----------------------------------------------------------------------------
1720 Procedure upd
1721 (
1722 p_rec in out nocopy per_asg_shd.g_rec_type,
1723 p_effective_date in date,
1724 p_datetrack_mode in varchar2,
1725 p_validation_start_date out nocopy date,
1726 p_validation_end_date out nocopy date,
1727 p_validate in boolean default false,
1728 p_payroll_id_updated out nocopy boolean,
1729 p_other_manager_warning out nocopy boolean,
1730 p_hourly_salaried_warning out nocopy boolean,
1731 p_no_managers_warning out nocopy boolean,
1732 p_org_now_no_manager_warning out nocopy boolean
1733 ) is
1734 --
1735 l_proc varchar2(72) := g_package||'upd';
1736 l_validation_start_date date;
1737 l_validation_end_date date;
1738 l_inv_pos_grade_warning boolean;
1739 l_payroll_id_updated boolean;
1740 l_other_manager_warning boolean;
1741 l_hourly_salaried_warning boolean;
1742 l_no_managers_warning boolean;
1743 l_org_now_no_manager_warning boolean;
1744 --
1745 Begin
1746 hr_utility.set_location('Entering:'||l_proc, 5);
1747 --
1748 -- Ensure that the DateTrack update mode is valid
1749 --
1750 dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1751 --
1752 -- Determine if the business process is to be validated.
1753 --
1754 If p_validate then
1755 --
1756 -- Issue the savepoint.
1757 --
1758 SAVEPOINT upd_per_asg;
1759 --
1760 End If;
1761 --
1762 -- We must lock the row which we need to update.
1763 --
1764 per_asg_shd.lck
1765 (p_effective_date => p_effective_date,
1766 p_datetrack_mode => p_datetrack_mode,
1767 p_assignment_id => p_rec.assignment_id,
1768 p_object_version_number => p_rec.object_version_number,
1769 p_validation_start_date => l_validation_start_date,
1770 p_validation_end_date => l_validation_end_date
1771 );
1772 --
1773 -- 1. During an update system defaults are used to determine if
1774 -- arguments have been defaulted or not. We must therefore
1775 -- derive the full record structure values to be updated.
1776 --
1777 convert_defs(p_rec);
1778 --
1779 -- 2. Call the supporting update validate operations.
1780 --
1781 per_asg_bus1.update_validate
1782 (p_rec => p_rec,
1783 p_effective_date => p_effective_date,
1784 p_datetrack_mode => p_datetrack_mode,
1785 p_validation_start_date => l_validation_start_date,
1786 p_validation_end_date => l_validation_end_date,
1787 p_payroll_id_updated => l_payroll_id_updated,
1788 p_other_manager_warning => p_other_manager_warning,
1789 p_hourly_salaried_warning => p_hourly_salaried_warning,
1790 p_no_managers_warning => p_no_managers_warning,
1791 p_org_now_no_manager_warning => p_org_now_no_manager_warning,
1792 p_inv_pos_grade_warning => l_inv_pos_grade_warning);
1793 --
1794 -- Call to raise any errors on multi-message list
1795 hr_multi_message.end_validation_set;
1796 --
1797 -- Call the supporting pre-update operation
1798 --
1799 pre_update
1800 (p_rec => p_rec,
1801 p_effective_date => p_effective_date,
1802 p_datetrack_mode => p_datetrack_mode,
1803 p_validation_start_date => l_validation_start_date,
1804 p_validation_end_date => l_validation_end_date);
1805 --
1806 -- Update the row.
1807 --
1808 update_dml
1809 (p_rec => p_rec,
1810 p_effective_date => p_effective_date,
1811 p_datetrack_mode => p_datetrack_mode,
1812 p_validation_start_date => l_validation_start_date,
1813 p_validation_end_date => l_validation_end_date);
1814 --
1815 -- Call the supporting post-update operation
1816 --
1817 post_update
1818 (p_rec => p_rec,
1819 p_effective_date => p_effective_date,
1820 p_datetrack_mode => p_datetrack_mode,
1821 p_validation_start_date => l_validation_start_date,
1822 p_validation_end_date => l_validation_end_date,
1823 p_payroll_id_updated => l_payroll_id_updated,
1824 p_other_manager_warning => l_other_manager_warning,
1825 p_hourly_salaried_warning => l_hourly_salaried_warning,
1826 p_no_managers_warning => l_no_managers_warning,
1827 p_org_now_no_manager_warning => l_org_now_no_manager_warning);
1828 --
1829 -- Call to raise any errors on multi-message list
1830 hr_multi_message.end_validation_set;
1831 --
1832 -- Set validation start and end dates
1833 --
1834 p_validation_start_date := l_validation_start_date;
1835 p_validation_end_date := l_validation_end_date;
1836 --
1837 -- Set other output arguments
1838 --
1839 p_payroll_id_updated := l_payroll_id_updated;
1840 --p_other_manager_warning := l_other_manager_warning;
1841 --p_no_managers_warning := l_no_managers_warning;
1842 p_org_now_no_manager_warning := l_org_now_no_manager_warning;
1843 --
1844 -- If we are validating then raise the Validate_Enabled exception
1845 --
1846 If p_validate then
1847 Raise HR_Api.Validate_Enabled;
1848 End If;
1849 --
1850 hr_utility.set_location(' Leaving:'||l_proc, 10);
1851 Exception
1852 When HR_Api.Validate_Enabled Then
1853 --
1854 -- As the Validate_Enabled exception has been raised
1855 -- we must rollback to the savepoint
1856 --
1857 ROLLBACK TO upd_per_asg;
1858 End upd;
1859 --
1860 -- ----------------------------------------------------------------------------
1861 -- |---------------------------------< upd >----------------------------------|
1862 -- ----------------------------------------------------------------------------
1863 Procedure upd
1864 (
1865 p_assignment_id in number,
1866 p_effective_start_date out nocopy date,
1867 p_effective_end_date out nocopy date,
1868
1869 p_business_group_id out nocopy number,
1870 p_recruiter_id in number default hr_api.g_number,
1871 p_grade_id in number default hr_api.g_number,
1872 p_position_id in number default hr_api.g_number,
1873 p_job_id in number default hr_api.g_number,
1874 p_assignment_status_type_id in number default hr_api.g_number,
1875 p_payroll_id in number default hr_api.g_number,
1876 p_location_id in number default hr_api.g_number,
1877 p_person_referred_by_id in number default hr_api.g_number,
1878 p_supervisor_id in number default hr_api.g_number,
1879 p_special_ceiling_step_id in number default hr_api.g_number,
1880 p_recruitment_activity_id in number default hr_api.g_number,
1881 p_source_organization_id in number default hr_api.g_number,
1882
1883 p_organization_id in number default hr_api.g_number,
1884 p_people_group_id in number default hr_api.g_number,
1885 p_soft_coding_keyflex_id in number default hr_api.g_number,
1886 p_vacancy_id in number default hr_api.g_number,
1887 p_pay_basis_id in number default hr_api.g_number,
1888 p_assignment_type in varchar2 default hr_api.g_varchar2,
1889 p_primary_flag in varchar2 default hr_api.g_varchar2,
1890 p_application_id in number default hr_api.g_number,
1891 p_assignment_number in varchar2 default hr_api.g_varchar2,
1892 p_change_reason in varchar2 default hr_api.g_varchar2,
1893 p_comment_id out nocopy number,
1894 p_comments in varchar2 default hr_api.g_varchar2,
1895 p_date_probation_end in date default hr_api.g_date,
1896
1897 p_default_code_comb_id in number default hr_api.g_number,
1898 p_employment_category in varchar2 default hr_api.g_varchar2,
1899 p_frequency in varchar2 default hr_api.g_varchar2,
1900 p_internal_address_line in varchar2 default hr_api.g_varchar2,
1901 p_manager_flag in varchar2 default hr_api.g_varchar2,
1902 p_normal_hours in number default hr_api.g_number,
1903 p_perf_review_period in number default hr_api.g_number,
1904 p_perf_review_period_frequency in varchar2 default hr_api.g_varchar2,
1905 p_period_of_service_id in number default hr_api.g_number,
1906 p_probation_period in number default hr_api.g_number,
1907 p_probation_unit in varchar2 default hr_api.g_varchar2,
1908 p_sal_review_period in number default hr_api.g_number,
1909 p_sal_review_period_frequency in varchar2 default hr_api.g_varchar2,
1910 p_set_of_books_id in number default hr_api.g_number,
1911
1912 p_source_type in varchar2 default hr_api.g_varchar2,
1913 p_time_normal_finish in varchar2 default hr_api.g_varchar2,
1914 p_time_normal_start in varchar2 default hr_api.g_varchar2,
1915 p_bargaining_unit_code in varchar2 default hr_api.g_varchar2,
1916 p_labour_union_member_flag in varchar2 default hr_api.g_varchar2,
1917 p_hourly_salaried_code in varchar2 default hr_api.g_varchar2,
1918 p_request_id in number default hr_api.g_number,
1919 p_program_application_id in number default hr_api.g_number,
1920 p_program_id in number default hr_api.g_number,
1921 p_program_update_date in date default hr_api.g_date,
1922 p_ass_attribute_category in varchar2 default hr_api.g_varchar2,
1923 p_ass_attribute1 in varchar2 default hr_api.g_varchar2,
1924 p_ass_attribute2 in varchar2 default hr_api.g_varchar2,
1925 p_ass_attribute3 in varchar2 default hr_api.g_varchar2,
1926 p_ass_attribute4 in varchar2 default hr_api.g_varchar2,
1927 p_ass_attribute5 in varchar2 default hr_api.g_varchar2,
1928
1929 p_ass_attribute6 in varchar2 default hr_api.g_varchar2,
1930 p_ass_attribute7 in varchar2 default hr_api.g_varchar2,
1931 p_ass_attribute8 in varchar2 default hr_api.g_varchar2,
1932 p_ass_attribute9 in varchar2 default hr_api.g_varchar2,
1933 p_ass_attribute10 in varchar2 default hr_api.g_varchar2,
1934 p_ass_attribute11 in varchar2 default hr_api.g_varchar2,
1935 p_ass_attribute12 in varchar2 default hr_api.g_varchar2,
1936 p_ass_attribute13 in varchar2 default hr_api.g_varchar2,
1937 p_ass_attribute14 in varchar2 default hr_api.g_varchar2,
1938 p_ass_attribute15 in varchar2 default hr_api.g_varchar2,
1939 p_ass_attribute16 in varchar2 default hr_api.g_varchar2,
1940 p_ass_attribute17 in varchar2 default hr_api.g_varchar2,
1941 p_ass_attribute18 in varchar2 default hr_api.g_varchar2,
1942
1943 p_ass_attribute19 in varchar2 default hr_api.g_varchar2,
1944 p_ass_attribute20 in varchar2 default hr_api.g_varchar2,
1945 p_ass_attribute21 in varchar2 default hr_api.g_varchar2,
1946 p_ass_attribute22 in varchar2 default hr_api.g_varchar2,
1947 p_ass_attribute23 in varchar2 default hr_api.g_varchar2,
1948 p_ass_attribute24 in varchar2 default hr_api.g_varchar2,
1949 p_ass_attribute25 in varchar2 default hr_api.g_varchar2,
1950 p_ass_attribute26 in varchar2 default hr_api.g_varchar2,
1951 p_ass_attribute27 in varchar2 default hr_api.g_varchar2,
1952 p_ass_attribute28 in varchar2 default hr_api.g_varchar2,
1953 p_ass_attribute29 in varchar2 default hr_api.g_varchar2,
1954 p_ass_attribute30 in varchar2 default hr_api.g_varchar2,
1955 p_title in varchar2 default hr_api.g_varchar2,
1956 p_contract_id in number default hr_api.g_number,
1957 p_establishment_id in number default hr_api.g_number,
1958 p_collective_agreement_id in number default hr_api.g_number,
1959 p_cagr_grade_def_id in number default hr_api.g_number,
1960 p_cagr_id_flex_num in number default hr_api.g_number,
1961 p_object_version_number in out nocopy number,
1962 p_notice_period in number default hr_api.g_number,
1963 p_notice_period_uom in varchar2 default hr_api.g_varchar2,
1964 p_employee_category in varchar2 default hr_api.g_varchar2,
1965 p_work_at_home in varchar2 default hr_api.g_varchar2,
1966 p_job_post_source_name in varchar2 default hr_api.g_varchar2,
1967 p_posting_content_id in number default hr_api.g_number,
1968 p_placement_date_start in date default hr_api.g_date,
1969 p_vendor_id in number default hr_api.g_number,
1970 p_vendor_employee_number in varchar2 default hr_api.g_varchar2,
1971 p_vendor_assignment_number in varchar2 default hr_api.g_varchar2,
1972 p_assignment_category in varchar2 default hr_api.g_varchar2,
1973 p_project_title in varchar2 default hr_api.g_varchar2,
1974 p_applicant_rank in number default hr_api.g_number,
1975 p_grade_ladder_pgm_id in number default hr_api.g_number,
1976 p_supervisor_assignment_id in number default hr_api.g_number,
1977 p_vendor_site_id in number default hr_api.g_number,
1978 p_po_header_id in number default hr_api.g_number,
1979 p_po_line_id in number default hr_api.g_number,
1980 p_projected_assignment_end in date default hr_api.g_date,
1981 p_payroll_id_updated out nocopy boolean,
1982 p_other_manager_warning out nocopy boolean,
1983 p_hourly_salaried_warning out nocopy boolean,
1984 p_no_managers_warning out nocopy boolean,
1985 p_org_now_no_manager_warning out nocopy boolean,
1986 p_validation_start_date out nocopy date,
1987 p_validation_end_date out nocopy date,
1988 p_effective_date in date,
1989 p_datetrack_mode in varchar2,
1990 p_validate in boolean default false
1991 ) is
1992 --
1993 l_rec per_asg_shd.g_rec_type;
1994
1995 l_proc varchar2(72) := g_package||'upd';
1996 --
1997 Begin
1998 hr_utility.set_location('Entering:'||l_proc, 5);
1999 --
2000 -- Call conversion function to turn arguments into the
2001 -- l_rec structure.
2002 --
2003 l_rec :=
2004 per_asg_shd.convert_args
2005 (
2006 p_assignment_id,
2007 null,
2008
2009 null,
2010 hr_api.g_number,
2011 p_recruiter_id,
2012 p_grade_id,
2013 p_position_id,
2014 p_job_id,
2015 p_assignment_status_type_id,
2016 p_payroll_id,
2017 p_location_id,
2018 p_person_referred_by_id,
2019 p_supervisor_id,
2020 p_special_ceiling_step_id,
2021 hr_api.g_number,
2022
2023 p_recruitment_activity_id,
2024 p_source_organization_id,
2025 p_organization_id,
2026 p_people_group_id,
2027 p_soft_coding_keyflex_id,
2028 p_vacancy_id,
2029 p_pay_basis_id,
2030 hr_api.g_number,
2031 p_assignment_type,
2032 p_primary_flag,
2033 p_application_id,
2034 p_assignment_number,
2035 p_change_reason,
2036 hr_api.g_number,
2037 p_comments,
2038 p_date_probation_end,
2039 p_default_code_comb_id,
2040 p_employment_category,
2041 p_frequency,
2042 p_internal_address_line,
2043 p_manager_flag,
2044 p_normal_hours,
2045 p_perf_review_period,
2046 p_perf_review_period_frequency,
2047 p_period_of_service_id,
2048 p_probation_period,
2049 p_probation_unit,
2050 p_sal_review_period,
2051 p_sal_review_period_frequency,
2052 p_set_of_books_id,
2053 p_source_type,
2054 p_time_normal_finish,
2055 p_time_normal_start,
2056 p_bargaining_unit_code,
2057 p_labour_union_member_flag,
2058 p_hourly_salaried_code,
2059 p_request_id,
2060 p_program_application_id,
2061 p_program_id,
2062 p_program_update_date,
2063 p_ass_attribute_category,
2064 p_ass_attribute1,
2065 p_ass_attribute2,
2066 p_ass_attribute3,
2067 p_ass_attribute4,
2068 p_ass_attribute5,
2069 p_ass_attribute6,
2070 p_ass_attribute7,
2071 p_ass_attribute8,
2072 p_ass_attribute9,
2073 p_ass_attribute10,
2074 p_ass_attribute11,
2075 p_ass_attribute12,
2076 p_ass_attribute13,
2077 p_ass_attribute14,
2078 p_ass_attribute15,
2079 p_ass_attribute16,
2080 p_ass_attribute17,
2081 p_ass_attribute18,
2082 p_ass_attribute19,
2083 p_ass_attribute20,
2084 p_ass_attribute21,
2085 p_ass_attribute22,
2086 p_ass_attribute23,
2087 p_ass_attribute24,
2088 p_ass_attribute25,
2089 p_ass_attribute26,
2090 p_ass_attribute27,
2091 p_ass_attribute28,
2092 p_ass_attribute29,
2093 p_ass_attribute30,
2094 p_title,
2095 p_object_version_number,
2096 p_contract_id,
2097 p_establishment_id,
2098 p_collective_agreement_id,
2099 p_cagr_grade_def_id,
2100 p_cagr_id_flex_num,
2101 p_notice_period,
2102 p_notice_period_uom,
2103 p_employee_category,
2104 p_work_at_home,
2105 p_job_post_source_name,
2106 p_posting_content_id,
2107 p_placement_date_start,
2108 p_vendor_id,
2109 p_vendor_employee_number,
2110 p_vendor_assignment_number,
2111 p_assignment_category,
2112 p_project_title,
2113 p_applicant_rank,
2114 p_grade_ladder_pgm_id,
2115 p_supervisor_assignment_id,
2116 p_vendor_site_id,
2117 p_po_header_id,
2118 p_po_line_id,
2119 p_projected_assignment_end
2120 );
2121 --
2122 -- Having converted the arguments into the
2123 -- plsql record structure we call the corresponding record
2124 -- business process.
2125 --
2126 upd(l_rec,
2127 p_effective_date,
2128
2129 p_datetrack_mode,
2130 p_validation_start_date,
2131 p_validation_end_date,
2132 p_validate,
2133 p_payroll_id_updated,
2134 p_other_manager_warning,
2135 p_hourly_salaried_warning,
2136 p_no_managers_warning,
2137 p_org_now_no_manager_warning);
2138 --
2139 p_business_group_id := l_rec.business_group_id;
2140 p_comment_id := l_rec.comment_id;
2141 p_effective_end_date := l_rec.effective_end_date;
2142 p_effective_start_date := l_rec.effective_start_date;
2143
2144 p_object_version_number := l_rec.object_version_number;
2145 --
2146 hr_utility.set_location(' Leaving:'||l_proc, 10);
2147 End upd;
2148 --
2149 end per_asg_upd;