[Home] [Help]
PACKAGE BODY: APPS.PER_ASG_SHD
Source
1 Package Body per_asg_shd 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_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16 --
17 Return (nvl(g_api_dml, false));
18 End return_api_dml_status;
19 --
20 -- ----------------------------------------------------------------------------
21 -- |---------------------------< constraint_error >---------------------------|
22 -- ----------------------------------------------------------------------------
23 Procedure constraint_error
24 (p_constraint_name in all_constraints.constraint_name%TYPE) Is
25 --
26 l_proc varchar2(72) := g_package||'constraint_error';
27 --
28 Begin
29 --
30 If (p_constraint_name = 'PER_ASS_ASSIGNMENT_TYPE_CHK') Then
31 hr_utility.set_message(801, 'HR_7427_ASG_INVALID_ASS_TYPE');
32 hr_utility.raise_error;
33 ElsIf (p_constraint_name = 'PER_ASS_MANAGER_FLAG_CHK') Then
34 hr_utility.set_message(801, 'HR_7429_ASG_INV_MANAGER_FLAG');
35 hr_utility.raise_error;
36 ElsIf (p_constraint_name = 'PER_ASS_PRIMARY_FLAG_CHK') Then
37 hr_utility.set_message(801, 'HR_7428_ASG_INV_PRIMARY_FLAG');
38 hr_utility.raise_error;
39 ElsIf (p_constraint_name = 'PER_ASS_UNION_MBER_FLAG_CHK') Then
40 hr_utility.set_message(801, 'PER_52382_ASG_UNION_MBER_FLAG');
41 hr_utility.raise_error;
42 Else
43 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
44 hr_utility.set_message_token('PROCEDURE', l_proc);
45 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
46 hr_utility.raise_error;
47 End If;
48 --
49 End constraint_error;
50 --
51 -- ----------------------------------------------------------------------------
52 -- |-----------------------------< api_updating >-----------------------------|
53 -- ----------------------------------------------------------------------------
54 Function api_updating
55 (p_effective_date in date,
56 p_assignment_id in number,
57 p_object_version_number in number
58 ) Return Boolean Is
59 --
60 --
61 -- Cursor selects the 'current' row from the HR Schema
62 --
63 Cursor C_Sel1 is
64 select
65 assignment_id,
66 effective_start_date,
67 effective_end_date,
68 business_group_id,
69 recruiter_id,
70 grade_id,
71 position_id,
72 job_id,
73 assignment_status_type_id,
74 payroll_id,
75 location_id,
76 person_referred_by_id,
77 supervisor_id,
78 special_ceiling_step_id,
79 person_id,
80 recruitment_activity_id,
81 source_organization_id,
82 organization_id,
83 people_group_id,
84 soft_coding_keyflex_id,
85 vacancy_id,
86 pay_basis_id,
87 assignment_sequence,
88 assignment_type,
89 primary_flag,
90 application_id,
91 assignment_number,
92 change_reason,
93 comment_id,
94 null,
95 date_probation_end,
96 default_code_comb_id,
97 employment_category,
98 frequency,
99 internal_address_line,
100 manager_flag,
101 normal_hours,
102 perf_review_period,
103 perf_review_period_frequency,
104 period_of_service_id,
105 probation_period,
106 probation_unit,
107 sal_review_period,
108 sal_review_period_frequency,
109 set_of_books_id,
110 source_type,
111 time_normal_finish,
112 time_normal_start,
113 bargaining_unit_code,
114 labour_union_member_flag,
115 hourly_salaried_code,
116 request_id,
117 program_application_id,
118 program_id,
119 program_update_date,
120 ass_attribute_category,
121 ass_attribute1,
122 ass_attribute2,
123 ass_attribute3,
124 ass_attribute4,
125 ass_attribute5,
126 ass_attribute6,
127 ass_attribute7,
128 ass_attribute8,
129 ass_attribute9,
130 ass_attribute10,
131 ass_attribute11,
132 ass_attribute12,
133 ass_attribute13,
134 ass_attribute14,
135 ass_attribute15,
136 ass_attribute16,
137 ass_attribute17,
138 ass_attribute18,
139 ass_attribute19,
140 ass_attribute20,
141 ass_attribute21,
142 ass_attribute22,
143 ass_attribute23,
144 ass_attribute24,
145 ass_attribute25,
146 ass_attribute26,
147 ass_attribute27,
148 ass_attribute28,
149 ass_attribute29,
150 ass_attribute30,
151 title,
152 object_version_number ,
153 contract_id,
154 establishment_id,
155 collective_agreement_id,
156 cagr_grade_def_id,
157 cagr_id_flex_num,
158 notice_period,
159 notice_period_uom,
160 employee_category,
161 work_at_home,
162 job_post_source_name,
163 posting_content_id,
164 period_of_placement_date_start,
165 vendor_id,
166 vendor_employee_number,
167 vendor_assignment_number,
168 assignment_category,
169 project_title,
170 applicant_rank,
171 grade_ladder_pgm_id,
172 supervisor_assignment_id,
173 vendor_site_id,
174 po_header_id,
175 po_line_id,
176 projected_assignment_end
177 from per_all_assignments_f
178 where assignment_id = p_assignment_id
179 and p_effective_date between effective_start_date
180 and effective_end_date;
181 --
182 l_fct_ret boolean;
183 --
184 Begin
185 --
186 If (p_effective_date is null
187 or p_assignment_id is null
188 or p_object_version_number is null)
189 then
190 --
191 -- One of the primary key arguments is null therefore we must
192 -- set the returning function value to false
193 --
194 l_fct_ret := false;
195 Else
196 If (p_assignment_id = g_old_rec.assignment_id and
197 p_object_version_number = g_old_rec.object_version_number) Then
198 --
199 -- The g_old_rec is current therefore we must
200 -- set the returning function to true
201 --
202 l_fct_ret := true;
203 Else
204 --
205 -- Select the current row
206 --
207 Open C_Sel1;
208 Fetch C_Sel1 Into g_old_rec;
209 If C_Sel1%notfound Then
210 Close C_Sel1;
211 --
212 -- The primary key is invalid therefore we must error
213 --
214 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
215 hr_utility.raise_error;
216 End If;
217 Close C_Sel1;
218 If (p_object_version_number <> g_old_rec.object_version_number) Then
219 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
220 hr_utility.raise_error;
221 End If;
222 l_fct_ret := true;
223 End If;
224 End If;
225 Return (l_fct_ret);
226 --
227 End api_updating;
228 --
229 -- ----------------------------------------------------------------------------
230 -- |--------------------------< find_dt_del_modes >---------------------------|
231 -- ----------------------------------------------------------------------------
232 Procedure find_dt_del_modes
233 (p_effective_date in date,
234 p_base_key_value in number,
235 p_zap out nocopy boolean,
236 p_delete out nocopy boolean,
237 p_future_change out nocopy boolean,
238 p_delete_next_change out nocopy boolean) is
239 --
240 l_proc varchar2(72) := g_package||'find_dt_del_modes';
241 --
242 l_parent_key_value1 number;
243 l_parent_key_value2 number;
244 --
245 Cursor C_Sel1 Is
246 select asg.payroll_id,
247 asg.person_id
248 from per_all_assignments_f asg
249 where asg.assignment_id = p_base_key_value
250 and p_effective_date between asg.effective_start_date
251 and asg.effective_end_date;
252 --
253 Begin
254 Open C_Sel1;
255 Fetch C_Sel1 Into l_parent_key_value1,
256 l_parent_key_value2;
257 If C_Sel1%notfound then
258 Close C_Sel1;
259 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
260 hr_utility.set_message_token('PROCEDURE', l_proc);
261 hr_utility.set_message_token('STEP','10');
262 hr_utility.raise_error;
263 End If;
264 Close C_Sel1;
265 --
266 -- Call the corresponding datetrack api
267 --
268 dt_api.find_dt_del_modes
269 (p_effective_date => p_effective_date,
270 p_base_table_name => 'per_all_assignments_f',
271 p_base_key_column => 'assignment_id',
272 p_base_key_value => p_base_key_value,
273 p_parent_table_name1 => 'pay_all_payrolls_f', -- bug fix 2679167
274 p_parent_key_column1 => 'payroll_id',
275 p_parent_key_value1 => l_parent_key_value1,
276 p_parent_table_name2 => 'per_people_f',
277 p_parent_key_column2 => 'person_id',
278 p_parent_key_value2 => l_parent_key_value2,
279 p_zap => p_zap,
280 p_delete => p_delete,
281 p_future_change => p_future_change,
282 p_delete_next_change => p_delete_next_change);
283 --
284 End find_dt_del_modes;
285 --
286 -- ----------------------------------------------------------------------------
287 -- |--------------------------< find_dt_upd_modes >---------------------------|
288 -- ----------------------------------------------------------------------------
289 Procedure find_dt_upd_modes
290 (p_effective_date in date,
291 p_base_key_value in number,
292 p_correction out nocopy boolean,
293 p_update out nocopy boolean,
294 p_update_override out nocopy boolean,
295 p_update_change_insert out nocopy boolean) is
296 --
297 Begin
298 --
299 -- Call the corresponding datetrack api
300 --
301 dt_api.find_dt_upd_modes
302 (p_effective_date => p_effective_date,
303 p_base_table_name => 'per_all_assignments_f',
304 p_base_key_column => 'assignment_id',
305 p_base_key_value => p_base_key_value,
306 p_correction => p_correction,
307 p_update => p_update,
308 p_update_override => p_update_override,
309 p_update_change_insert => p_update_change_insert);
310 --
311 End find_dt_upd_modes;
312 --
313 -- ----------------------------------------------------------------------------
314 -- |------------------------< upd_effective_end_date >------------------------|
315 -- ----------------------------------------------------------------------------
316 Procedure upd_effective_end_date
317 (p_effective_date in date,
318 p_base_key_value in number,
319 p_new_effective_end_date in date,
320 p_validation_start_date in date,
321 p_validation_end_date in date,
322 p_object_version_number out nocopy number) is
323 --
324 l_object_version_number number;
325 --
326 Begin
327 --
328 -- Because we are updating a row we must get the next object
329 -- version number.
330 --
331 l_object_version_number :=
332 dt_api.get_object_version_number
333 (p_base_table_name => 'per_all_assignments_f',
334 p_base_key_column => 'assignment_id',
335 p_base_key_value => p_base_key_value);
336 --
337 g_api_dml := true; -- Set the api dml status
338 --
339 -- Update the specified datetrack row setting the effective
340 -- end date to the specified new effective end date.
341 --
342 update per_all_assignments_f asg
343 set asg.effective_end_date = p_new_effective_end_date,
344 asg.object_version_number = l_object_version_number
345 where asg.assignment_id = p_base_key_value
346 and p_effective_date between asg.effective_start_date
347 and asg.effective_end_date;
348 --
349 g_api_dml := false; -- Unset the api dml status
350 p_object_version_number := l_object_version_number;
351 --
352 Exception
353 When Others Then
354 g_api_dml := false; -- Unset the api dml status
355 Raise;
356 End upd_effective_end_date;
357 --
358 -- ----------------------------------------------------------------------------
359 -- |---------------------------------< lck >----------------------------------|
360 -- ----------------------------------------------------------------------------
361 Procedure lck
362 (p_effective_date in date,
363 p_datetrack_mode in varchar2,
364 p_assignment_id in number,
365 p_object_version_number in number,
366 p_validation_start_date out nocopy date,
367 p_validation_end_date out nocopy date) is
368 --
369 l_proc varchar2(72) := g_package||'lck';
370 l_validation_start_date date;
371 l_validation_end_date date;
372 l_object_invalid exception;
373 l_argument varchar2(30);
374 --
375 -- Cursor C_Sel1 selects the current locked row as of session date
376 -- ensuring that the object version numbers match.
377 --
378 Cursor C_Sel1 is
379 select
380 assignment_id,
381 effective_start_date,
382 effective_end_date,
383 business_group_id,
384 recruiter_id,
385 grade_id,
386 position_id,
387 job_id,
388 assignment_status_type_id,
389 payroll_id,
390 location_id,
391 person_referred_by_id,
392 supervisor_id,
393 special_ceiling_step_id,
394 person_id,
395 recruitment_activity_id,
396 source_organization_id,
397 organization_id,
398 people_group_id,
399 soft_coding_keyflex_id,
400 vacancy_id,
401 pay_basis_id,
402 assignment_sequence,
403 assignment_type,
404 primary_flag,
405 application_id,
406 assignment_number,
407 change_reason,
408 comment_id,
409 null,
410 date_probation_end,
411 default_code_comb_id,
412 employment_category,
413 frequency,
414 internal_address_line,
415 manager_flag,
416 normal_hours,
417 perf_review_period,
418 perf_review_period_frequency,
419 period_of_service_id,
420 probation_period,
421 probation_unit,
422 sal_review_period,
423 sal_review_period_frequency,
424 set_of_books_id,
425 source_type,
426 time_normal_finish,
427 time_normal_start,
428 bargaining_unit_code,
429 labour_union_member_flag,
430 hourly_salaried_code,
431 request_id,
432 program_application_id,
433 program_id,
434 program_update_date,
435 ass_attribute_category,
436 ass_attribute1,
437 ass_attribute2,
438 ass_attribute3,
439 ass_attribute4,
440 ass_attribute5,
441 ass_attribute6,
442 ass_attribute7,
443 ass_attribute8,
444 ass_attribute9,
445 ass_attribute10,
446 ass_attribute11,
447 ass_attribute12,
448 ass_attribute13,
449 ass_attribute14,
450 ass_attribute15,
451 ass_attribute16,
452 ass_attribute17,
453 ass_attribute18,
454 ass_attribute19,
455 ass_attribute20,
456 ass_attribute21,
457 ass_attribute22,
458 ass_attribute23,
459 ass_attribute24,
460 ass_attribute25,
461 ass_attribute26,
462 ass_attribute27,
463 ass_attribute28,
464 ass_attribute29,
465 ass_attribute30,
466 title,
467 object_version_number,
468 contract_id,
469 establishment_id,
470 collective_agreement_id,
474 notice_period_uom,
471 cagr_grade_def_id,
472 cagr_id_flex_num,
473 notice_period,
475 employee_category,
476 work_at_home,
477 job_post_source_name,
478 posting_content_id,
479 period_of_placement_date_start,
480 vendor_id,
481 vendor_employee_number,
482 vendor_assignment_number,
483 assignment_category,
484 project_title,
485 applicant_rank,
486 grade_ladder_pgm_id,
487 supervisor_assignment_id,
488 vendor_site_id,
489 po_header_id,
490 po_line_id,
491 projected_assignment_end
492 from per_all_assignments_f
493 where assignment_id = p_assignment_id
494 and p_effective_date between effective_start_date
495 and effective_end_date
496 for update nowait;
497 --
498 -- Cursor C_Sel3 select comment text
499 --
500 Cursor C_Sel3 is
501 select hc.comment_text
502 from hr_comments hc
503 where hc.comment_id = per_asg_shd.g_old_rec.comment_id;
504 --
505 Begin
506 --
507 -- Ensure that all the mandatory arguments are not null
508 --
509 hr_api.mandatory_arg_error(p_api_name => l_proc,
510 p_argument => 'effective_date',
511 p_argument_value => p_effective_date);
512 --
513 hr_api.mandatory_arg_error(p_api_name => l_proc,
514 p_argument => 'datetrack_mode',
515 p_argument_value => p_datetrack_mode);
516 --
517 hr_api.mandatory_arg_error(p_api_name => l_proc,
518 p_argument => 'assignment_id',
519 p_argument_value => p_assignment_id);
520 --
521 hr_api.mandatory_arg_error(p_api_name => l_proc,
522 p_argument => 'object_version_number',
523 p_argument_value => p_object_version_number);
524 --
525 -- Check to ensure the datetrack mode is not INSERT.
526 --
527 If (p_datetrack_mode <> 'INSERT') then
528 --
529 -- We must select and lock the current row.
530 --
531 Open C_Sel1;
532 Fetch C_Sel1 Into g_old_rec;
533 If C_Sel1%notfound then
534 Close C_Sel1;
535 --
536 -- The primary key is invalid therefore we must error
537 --
538 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
539 hr_utility.raise_error;
540 --
541 End If;
542 Close C_Sel1;
543 --
544 -- Check if the set object version number is the same as the existing
545 -- object version number
546 --
547 If (p_object_version_number <> g_old_rec.object_version_number) Then
548 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
549 hr_utility.raise_error;
550 End If;
551 --
552 -- Providing we are doing an update and a comment_id exists then
553 -- we select the comment text.
554 --
555 If ((g_old_rec.comment_id is not null) and
556 (p_datetrack_mode = 'UPDATE' or
557 p_datetrack_mode = 'CORRECTION' or
558 p_datetrack_mode = 'UPDATE_OVERRIDE' or
559 p_datetrack_mode = 'UPDATE_CHANGE_INSERT')) then
560 Open C_Sel3;
561 Fetch C_Sel3 Into per_asg_shd.g_old_rec.comment_text;
562 If C_Sel3%notfound then
563 --
564 -- The comment_text for the specified comment_id does not exist.
565 -- We must error due to data integrity problems.
566 --
567 Close C_Sel3;
568 hr_utility.set_message(801, 'HR_7202_COMMENT_TEXT_NOT_EXIST');
569 hr_utility.raise_error;
570 End If;
571 Close C_Sel3;
572 End If;
573 --
574 -- Validate the datetrack mode mode getting the validation start
575 -- and end dates for the specified datetrack operation.
576 --
577 -- Added hr_all_positions_f to validation,Oct-99 SCNair
578 --
579 --
580 -- Removed reference to pay_payrolls_f
581 -- as part of fix for bug 1056246.
582 --
583
584 --p_parent_table_name1 => 'pay_payrolls_f',
585 --p_parent_key_column1 => 'payroll_id',
586 --p_parent_key_value1 => g_old_rec.payroll_id,
587
588 -- Bug 3199913
589 -- Removed refernce to 'hr_all_positions_f' since assignment and position
590 -- do not have parent-child relationship.
591
592 dt_api.validate_dt_mode
593 (p_effective_date => p_effective_date,
594 p_datetrack_mode => p_datetrack_mode,
595 p_base_table_name => 'per_all_assignments_f',
596 p_base_key_column => 'assignment_id',
597 p_base_key_value => p_assignment_id,
598 p_parent_table_name1 => 'per_people_f',
599 p_parent_key_column1 => 'person_id',
600 p_parent_key_value1 => g_old_rec.person_id,
601 p_child_table_name1 => 'pay_cost_allocations_f',
602 p_child_key_column1 => 'cost_allocation_id',
603 p_child_table_name2 => 'pay_assignment_link_usages_f',
604 p_child_key_column2 => 'assignment_link_usage_id',
608 p_child_key_column4 => 'placement_id',
605 p_child_table_name3 => 'pay_personal_payment_methods_f',
606 p_child_key_column3 => 'personal_payment_method_id',
607 p_child_table_name4 => 'per_spinal_point_placements_f',
609 p_child_table_name5 => 'pay_element_entries_f',
610 p_child_key_column5 => 'element_entry_id',
611 p_child_table_name6 => 'pay_us_emp_fed_tax_rules_f',
612 p_child_key_column6 => 'emp_fed_tax_rule_id',
613 p_child_table_name7 => 'pay_us_emp_county_tax_rules_f',
614 p_child_key_column7 => 'emp_county_tax_rule_id',
615 p_child_table_name8 => 'pay_us_emp_state_tax_rules_f',
616 p_child_key_column8 => 'emp_state_tax_rule_id',
617 p_child_table_name9 => 'pay_us_emp_city_tax_rules_f',
618 p_child_key_column9 => 'emp_city_tax_rule_id',
619 p_enforce_foreign_locking => true,
620 p_validation_start_date => l_validation_start_date,
621 p_validation_end_date => l_validation_end_date);
622 Else
623 --
624 -- We are doing a datetrack 'INSERT' which is illegal within this
625 -- procedure therefore we must error (note: to lck on insert the
626 -- private procedure ins_lck should be called).
627 --
628 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
629 hr_utility.set_message_token('PROCEDURE', l_proc);
630 hr_utility.set_message_token('STEP','20');
631 hr_utility.raise_error;
632 --
633 End If;
634 --
635 -- Set the validation start and end date OUT arguments
636 --
637 p_validation_start_date := l_validation_start_date;
638 p_validation_end_date := l_validation_end_date;
639 --
640 --
641 -- We need to trap the ORA LOCK exception
642 --
643 Exception
644 When HR_Api.Object_Locked then
645 --
646 -- The object is locked therefore we need to supply a meaningful
647 -- error message.
648 --
649 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
650 hr_utility.set_message_token('TABLE_NAME', 'per_all_assignments_f');
651 hr_utility.raise_error;
652 When l_object_invalid then
653 --
654 -- The object doesn't exist or is invalid
655 --
656 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
657 hr_utility.set_message_token('TABLE_NAME', 'per_all_assignments_f');
658 hr_utility.raise_error;
659 End lck;
660 --
661 -- ----------------------------------------------------------------------------
662 -- |-----------------------------< convert_args >-----------------------------|
663 -- ----------------------------------------------------------------------------
664 Function convert_args
665 (
666 p_assignment_id in number,
667 p_effective_start_date in date,
668 p_effective_end_date in date,
669 p_business_group_id in number,
670 p_recruiter_id in number,
671 p_grade_id in number,
672 p_position_id in number,
673 p_job_id in number,
674 p_assignment_status_type_id in number,
675 p_payroll_id in number,
676 p_location_id in number,
677 p_person_referred_by_id in number,
678 p_supervisor_id in number,
679 p_special_ceiling_step_id in number,
680 p_person_id in number,
681 p_recruitment_activity_id in number,
682 p_source_organization_id in number,
683 p_organization_id in number,
684 p_people_group_id in number,
685 p_soft_coding_keyflex_id in number,
686 p_vacancy_id in number,
687 p_pay_basis_id in number,
688 p_assignment_sequence in number,
689 p_assignment_type in varchar2,
690 p_primary_flag in varchar2,
691 p_application_id in number,
692 p_assignment_number in varchar2,
693 p_change_reason in varchar2,
694 p_comment_id in number,
695 p_comments in varchar2,
696 p_date_probation_end in date,
697 p_default_code_comb_id in number,
698 p_employment_category in varchar2,
699 p_frequency in varchar2,
700 p_internal_address_line in varchar2,
701 p_manager_flag in varchar2,
702 p_normal_hours in number,
703 p_perf_review_period in number,
704 p_perf_review_period_frequency in varchar2,
705 p_period_of_service_id in number,
706 p_probation_period in number,
707 p_probation_unit in varchar2,
708 p_sal_review_period in number,
709 p_sal_review_period_frequency in varchar2,
710 p_set_of_books_id in number,
711 p_source_type in varchar2,
712 p_time_normal_finish in varchar2,
713 p_time_normal_start in varchar2,
714 p_bargaining_unit_code in varchar2,
715 p_labour_union_member_flag in varchar2,
716 p_hourly_salaried_code in varchar2,
717 p_request_id in number,
721 p_ass_attribute_category in varchar2,
718 p_program_application_id in number,
719 p_program_id in number,
720 p_program_update_date in date,
722 p_ass_attribute1 in varchar2,
723 p_ass_attribute2 in varchar2,
724 p_ass_attribute3 in varchar2,
725 p_ass_attribute4 in varchar2,
726 p_ass_attribute5 in varchar2,
727 p_ass_attribute6 in varchar2,
728 p_ass_attribute7 in varchar2,
729 p_ass_attribute8 in varchar2,
730 p_ass_attribute9 in varchar2,
731 p_ass_attribute10 in varchar2,
732 p_ass_attribute11 in varchar2,
733 p_ass_attribute12 in varchar2,
734 p_ass_attribute13 in varchar2,
735 p_ass_attribute14 in varchar2,
736 p_ass_attribute15 in varchar2,
737 p_ass_attribute16 in varchar2,
738 p_ass_attribute17 in varchar2,
739 p_ass_attribute18 in varchar2,
740 p_ass_attribute19 in varchar2,
741 p_ass_attribute20 in varchar2,
742 p_ass_attribute21 in varchar2,
743 p_ass_attribute22 in varchar2,
744 p_ass_attribute23 in varchar2,
745 p_ass_attribute24 in varchar2,
746 p_ass_attribute25 in varchar2,
747 p_ass_attribute26 in varchar2,
748 p_ass_attribute27 in varchar2,
749 p_ass_attribute28 in varchar2,
750 p_ass_attribute29 in varchar2,
751 p_ass_attribute30 in varchar2,
752 p_title in varchar2,
753 p_object_version_number in number,
754 p_contract_id in number,
755 p_establishment_id in number,
756 p_collective_agreement_id in number,
757 p_cagr_grade_def_id in number,
758 p_cagr_id_flex_num in number,
759 p_notice_period in number,
760 p_notice_period_uom in varchar2,
761 p_employee_category in varchar2,
762 p_work_at_home in varchar2,
763 p_job_post_source_name in varchar2,
764 p_posting_content_id in number,
765 p_placement_date_start in date,
766 p_vendor_id in number,
767 p_vendor_employee_number in varchar2,
768 p_vendor_assignment_number in varchar2,
769 p_assignment_category in varchar2,
770 p_project_title in varchar2,
771 p_applicant_rank in number,
772 p_grade_ladder_pgm_id in number,
773 p_supervisor_assignment_id in number,
774 p_vendor_site_id in number,
775 p_po_header_id in number,
776 p_po_line_id in number,
777 p_projected_assignment_end in date
778 )
779 Return g_rec_type is
780 --
781 l_rec g_rec_type;
782 --
783 Begin
784 --
785 --
786 -- Convert arguments into local l_rec structure.
787 --
788 l_rec.assignment_id := p_assignment_id;
789 l_rec.effective_start_date := p_effective_start_date;
790 l_rec.effective_end_date := p_effective_end_date;
791 l_rec.business_group_id := p_business_group_id;
792 l_rec.recruiter_id := p_recruiter_id;
793 l_rec.grade_id := p_grade_id;
794 l_rec.position_id := p_position_id;
795 l_rec.job_id := p_job_id;
796 l_rec.assignment_status_type_id := p_assignment_status_type_id;
797 l_rec.payroll_id := p_payroll_id;
798 l_rec.location_id := p_location_id;
799 l_rec.person_referred_by_id := p_person_referred_by_id;
800 l_rec.supervisor_id := p_supervisor_id;
801 l_rec.special_ceiling_step_id := p_special_ceiling_step_id;
802 l_rec.person_id := p_person_id;
803 l_rec.recruitment_activity_id := p_recruitment_activity_id;
804 l_rec.source_organization_id := p_source_organization_id;
805 l_rec.organization_id := p_organization_id;
806 l_rec.people_group_id := p_people_group_id;
807 l_rec.soft_coding_keyflex_id := p_soft_coding_keyflex_id;
808 l_rec.vacancy_id := p_vacancy_id;
809 l_rec.pay_basis_id := p_pay_basis_id;
810 l_rec.assignment_sequence := p_assignment_sequence;
811 l_rec.assignment_type := p_assignment_type;
812 l_rec.primary_flag := p_primary_flag;
813 l_rec.application_id := p_application_id;
814 l_rec.assignment_number := p_assignment_number;
815 l_rec.change_reason := p_change_reason;
816 l_rec.comment_id := p_comment_id;
817 l_rec.comment_text := p_comments;
818 l_rec.date_probation_end := p_date_probation_end;
819 l_rec.default_code_comb_id := p_default_code_comb_id;
820 l_rec.employment_category := p_employment_category;
821 l_rec.frequency := p_frequency;
822 l_rec.internal_address_line := p_internal_address_line;
826 l_rec.perf_review_period_frequency := p_perf_review_period_frequency;
823 l_rec.manager_flag := p_manager_flag;
824 l_rec.normal_hours := p_normal_hours;
825 l_rec.perf_review_period := p_perf_review_period;
827 l_rec.period_of_service_id := p_period_of_service_id;
828 l_rec.probation_period := p_probation_period;
829 l_rec.probation_unit := p_probation_unit;
830 l_rec.sal_review_period := p_sal_review_period;
831 l_rec.sal_review_period_frequency := p_sal_review_period_frequency;
832 l_rec.set_of_books_id := p_set_of_books_id;
833 l_rec.source_type := p_source_type;
834 l_rec.time_normal_finish := p_time_normal_finish;
835 l_rec.time_normal_start := p_time_normal_start;
836 l_rec.bargaining_unit_code := p_bargaining_unit_code;
837 l_rec.labour_union_member_flag := p_labour_union_member_flag;
838 l_rec.hourly_salaried_code := p_hourly_salaried_code;
839 l_rec.request_id := p_request_id;
840 l_rec.program_application_id := p_program_application_id;
841 l_rec.program_id := p_program_id;
842 l_rec.program_update_date := p_program_update_date;
843 l_rec.ass_attribute_category := p_ass_attribute_category;
844 l_rec.ass_attribute1 := p_ass_attribute1;
845 l_rec.ass_attribute2 := p_ass_attribute2;
846 l_rec.ass_attribute3 := p_ass_attribute3;
847 l_rec.ass_attribute4 := p_ass_attribute4;
848 l_rec.ass_attribute5 := p_ass_attribute5;
849 l_rec.ass_attribute6 := p_ass_attribute6;
850 l_rec.ass_attribute7 := p_ass_attribute7;
851 l_rec.ass_attribute8 := p_ass_attribute8;
852 l_rec.ass_attribute9 := p_ass_attribute9;
853 l_rec.ass_attribute10 := p_ass_attribute10;
854 l_rec.ass_attribute11 := p_ass_attribute11;
855 l_rec.ass_attribute12 := p_ass_attribute12;
856 l_rec.ass_attribute13 := p_ass_attribute13;
857 l_rec.ass_attribute14 := p_ass_attribute14;
858 l_rec.ass_attribute15 := p_ass_attribute15;
859 l_rec.ass_attribute16 := p_ass_attribute16;
860 l_rec.ass_attribute17 := p_ass_attribute17;
861 l_rec.ass_attribute18 := p_ass_attribute18;
862 l_rec.ass_attribute19 := p_ass_attribute19;
863 l_rec.ass_attribute20 := p_ass_attribute20;
864 l_rec.ass_attribute21 := p_ass_attribute21;
865 l_rec.ass_attribute22 := p_ass_attribute22;
866 l_rec.ass_attribute23 := p_ass_attribute23;
867 l_rec.ass_attribute24 := p_ass_attribute24;
868 l_rec.ass_attribute25 := p_ass_attribute25;
869 l_rec.ass_attribute26 := p_ass_attribute26;
870 l_rec.ass_attribute27 := p_ass_attribute27;
871 l_rec.ass_attribute28 := p_ass_attribute28;
872 l_rec.ass_attribute29 := p_ass_attribute29;
873 l_rec.ass_attribute30 := p_ass_attribute30;
874 l_rec.title := p_title;
875 l_rec.object_version_number := p_object_version_number;
876 l_rec.contract_id := p_contract_id;
877 l_rec.establishment_id := p_establishment_id;
878 l_rec.collective_agreement_id := p_collective_agreement_id;
879 l_rec.cagr_grade_def_id := p_cagr_grade_def_id;
880 l_rec.cagr_id_flex_num := p_cagr_id_flex_num;
881 l_rec.notice_period := p_notice_period;
882 l_rec.notice_period_uom := p_notice_period_uom;
883 l_rec.employee_category := p_employee_category;
884 l_rec.work_at_home := p_work_at_home;
885 l_rec.job_post_source_name := p_job_post_source_name ;
886 l_rec.posting_content_id := p_posting_content_id;
887 l_rec.period_of_placement_date_start := p_placement_date_start;
888 l_rec.vendor_id := p_vendor_id;
889 l_rec.vendor_employee_number := p_vendor_employee_number;
890 l_rec.vendor_assignment_number := p_vendor_assignment_number;
891 l_rec.assignment_category := p_assignment_category;
892 l_rec.project_title := p_project_title;
893 l_rec.applicant_rank := p_applicant_rank;
894 l_rec.grade_ladder_pgm_id := p_grade_ladder_pgm_id;
895 l_rec.supervisor_assignment_id := p_supervisor_assignment_id;
896 l_rec.vendor_site_id := p_vendor_site_id;
897 l_rec.po_header_id := p_po_header_id;
898 l_rec.po_line_id := p_po_line_id;
899 l_rec.projected_assignment_end := p_projected_assignment_end;
900 --
901 -- Return the plsql record structure.
902 --
903 Return(l_rec);
904 --
905 End convert_args;
906 --
907 end per_asg_shd;