1 Package hr_contingent_worker_api AUTHID CURRENT_USER as
2 /* $Header: pecwkapi.pkh 120.3 2010/02/10 10:40:42 sgundoju ship $ */
3 /*#
4 * This package contains contingent worker APIs.
5 * @rep:scope public
6 * @rep:product per
7 * @rep:displayname Contingent Worker
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |--------------------------------< create_cwk >----------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16 * This API creates a new contingent worker.
17 *
18 * This API creates a person record, a default contingent worker assignment,
19 * and a period of placement for a new contingent worker. The process adds the
20 * contingent worker to the security lists so that secure users can see the
21 * contingent worker.
22 *
23 * <p><b>Licensing</b><br>
24 * This API is licensed for use with Human Resources.
25 *
26 * <p><b>Prerequisites</b><br>
27 * The business group must exist on the effective date. A valid
28 * business_group_id, a valid person_type_id (if specified), and a
29 * corresponding system type of CWK are required. The CWK type must be active
30 * in the same business group as the contingent worker you are creating. If you
31 * do not specify a person_type_id, the API uses the default CWK type for the
32 * business group.
33 *
34 * <p><b>Post Success</b><br>
35 * The API creates person details, a period of placement, and a default
36 * contingent worker assignment.
37 *
38 * <p><b>Post Failure</b><br>
39 * The API does not create the contingent worker, primary assignment, or period
40 * of placement and raises an error.
41 * @param p_validate If true, then validation alone will be performed and the
42 * database will remain unchanged. If false and all validation checks pass,
43 * then the database will be modified.
44 * @param p_start_date Start Date.
45 * @param p_business_group_id Business group of the person.
46 * @param p_last_name Last name.
47 * @param p_person_type_id Type of contingent worker being created.
48 * @param p_npw_number The business group's contingent worker number generation
49 * method determines when the API derives and passes out a contingent worker
50 * number or when the calling program should pass in a value. When the API call
51 * completes if p_validate is true then will be set to the contingent worker
52 * number. If p_validate is true then will be set to the passed value.
53 * @param p_background_check_status Flag indicating whether the person's
54 * background has been checked.
55 * @param p_background_date_check Date on which the background check was
56 * performed.
57 * @param p_blood_type Blood type.
58 * @param p_comments Comment text.
59 * @param p_correspondence_language Preferred language for correspondence.
60 * @param p_country_of_birth Country of birth.
61 * @param p_date_of_birth Date of birth.
62 * @param p_date_of_death Date of death.
63 * @param p_dpdnt_adoption_date Date on which the dependent was adopted.
64 * @param p_dpdnt_vlntry_svce_flag Flag indicating whether the dependent is on
65 * voluntary service.
66 * @param p_email_address Email address.
67 * @param p_first_name First name.
68 * @param p_fte_capacity Obsolete parameter, do not use.
69 * @param p_honors Honors awarded.
70 * @param p_internal_location Internal location of office.
71 * @param p_known_as Preferred name.
72 * @param p_last_medical_test_by Name of physician who performed last medical
73 * test.
74 * @param p_last_medical_test_date Date of last medical test.
75 * @param p_mailstop Internal mail location.
76 * @param p_marital_status Marital status. Valid values are defined by the
77 * MAR_STATUS lookup type.
78 * @param p_middle_names Middle names.
79 * @param p_national_identifier Number by which a person is identified in a
80 * given legislation.
81 * @param p_nationality Nationality. Valid values are defined by the
82 * NATIONALITY lookup type.
83 * @param p_office_number Office number.
84 * @param p_on_military_service Flag indicating whether the person is on
85 * military service.
86 * @param p_party_id TCA party for whom you create the person record.
87 * @param p_pre_name_adjunct First part of the last name.
88 * @param p_previous_last_name Previous last name.
89 * @param p_projected_placement_end Obsolete parameter, do not use.
90 * @param p_receipt_of_death_cert_date Date death certificate was received.
94 * @param p_resume_exists Flag indicating whether the person's resume is on
91 * @param p_region_of_birth Geographical region of birth.
92 * @param p_registered_disabled_flag Flag indicating whether the person is
93 * classified as disabled.
95 * file.
96 * @param p_resume_last_updated Date on which the resume was last updated.
97 * @param p_second_passport_exists Flag indicating whether a person has
98 * multiple passports.
99 * @param p_sex Legal gender. Valid values are defined by the SEX lookup type.
100 * @param p_student_status If this contingent worker is a student, this field
101 * is used to capture their status. Valid values are defined by the
102 * STUDENT_STATUS lookup type.
103 * @param p_suffix Suffix after the person's last name e.g. Sr., Jr., III.
104 * @param p_title Title. Valid values are defined by the TITLE lookup type.
105 * @param p_town_of_birth Town or city of birth.
106 * @param p_uses_tobacco_flag Flag indicating whether the person uses tobacco.
107 * @param p_vendor_id Obsolete parameter, do not use.
108 * @param p_work_schedule Days on which this person will work.
109 * @param p_work_telephone Obsolete parameter, do not use.
110 * @param p_exp_check_send_to_address Mailing address.
111 * @param p_hold_applicant_date_until Date until when the applicant's
112 * information is to be maintained.
113 * @param p_date_employee_data_verified Date on which the contingent worker
114 * data was last verified.
115 * @param p_benefit_group_id Benefit group to which this person will belong.
116 * @param p_coord_ben_med_pln_no Secondary medical plan name. Column used for
117 * external processing.
118 * @param p_coord_ben_no_cvg_flag No secondary medical plan coverage. Column
119 * used for external processing.
120 * @param p_original_date_of_hire Original date of hire.
121 * @param p_attribute_category This context value determines which flexfield
122 * structure to use with the descriptive flexfield segments.
123 * @param p_attribute1 Descriptive flexfield segment.
124 * @param p_attribute2 Descriptive flexfield segment.
125 * @param p_attribute3 Descriptive flexfield segment.
126 * @param p_attribute4 Descriptive flexfield segment.
127 * @param p_attribute5 Descriptive flexfield segment.
128 * @param p_attribute6 Descriptive flexfield segment.
129 * @param p_attribute7 Descriptive flexfield segment.
130 * @param p_attribute8 Descriptive flexfield segment.
131 * @param p_attribute9 Descriptive flexfield segment.
132 * @param p_attribute10 Descriptive flexfield segment.
133 * @param p_attribute11 Descriptive flexfield segment.
134 * @param p_attribute12 Descriptive flexfield segment.
135 * @param p_attribute13 Descriptive flexfield segment.
136 * @param p_attribute14 Descriptive flexfield segment.
137 * @param p_attribute15 Descriptive flexfield segment.
138 * @param p_attribute16 Descriptive flexfield segment.
139 * @param p_attribute17 Descriptive flexfield segment.
140 * @param p_attribute18 Descriptive flexfield segment.
141 * @param p_attribute19 Descriptive flexfield segment.
142 * @param p_attribute20 Descriptive flexfield segment.
143 * @param p_attribute21 Descriptive flexfield segment.
144 * @param p_attribute22 Descriptive flexfield segment.
145 * @param p_attribute23 Descriptive flexfield segment.
146 * @param p_attribute24 Descriptive flexfield segment.
147 * @param p_attribute25 Descriptive flexfield segment.
148 * @param p_attribute26 Descriptive flexfield segment.
149 * @param p_attribute27 Descriptive flexfield segment.
150 * @param p_attribute28 Descriptive flexfield segment.
151 * @param p_attribute29 Descriptive flexfield segment.
152 * @param p_attribute30 Descriptive flexfield segment.
153 * @param p_per_information_category Obsolete parameter, do not use.
154 * @param p_per_information1 Developer descriptive flexfield segment.
155 * @param p_per_information2 Developer descriptive flexfield segment.
156 * @param p_per_information3 Developer descriptive flexfield segment.
157 * @param p_per_information4 Developer descriptive flexfield segment.
158 * @param p_per_information5 Developer descriptive flexfield segment.
159 * @param p_per_information6 Developer descriptive flexfield segment.
160 * @param p_per_information7 Developer descriptive flexfield segment.
161 * @param p_per_information8 Developer descriptive flexfield segment.
162 * @param p_per_information9 Developer descriptive flexfield segment.
163 * @param p_per_information10 Developer descriptive flexfield segment.
164 * @param p_per_information11 Developer descriptive flexfield segment.
165 * @param p_per_information12 Developer descriptive flexfield segment.
166 * @param p_per_information13 Developer descriptive flexfield segment.
167 * @param p_per_information14 Developer descriptive flexfield segment.
168 * @param p_per_information15 Developer descriptive flexfield segment.
169 * @param p_per_information16 Developer descriptive flexfield segment.
170 * @param p_per_information17 Developer descriptive flexfield segment.
171 * @param p_per_information18 Developer descriptive flexfield segment.
172 * @param p_per_information19 Developer descriptive flexfield segment.
173 * @param p_per_information20 Developer descriptive flexfield segment.
174 * @param p_per_information21 Developer descriptive flexfield segment.
175 * @param p_per_information22 Developer descriptive flexfield segment.
176 * @param p_per_information23 Developer descriptive flexfield segment.
177 * @param p_per_information24 Developer descriptive flexfield segment.
178 * @param p_per_information25 Developer descriptive flexfield segment.
179 * @param p_per_information26 Developer descriptive flexfield segment.
180 * @param p_per_information27 Developer descriptive flexfield segment.
181 * @param p_per_information28 Developer descriptive flexfield segment.
182 * @param p_per_information29 Developer descriptive flexfield segment.
183 * @param p_per_information30 Developer descriptive flexfield segment.
184 * @param p_person_id If p_validate is false, then this uniquely identifies the
188 * null.
185 * person created. If p_validate is true, then set to null.
186 * @param p_per_object_version_number If p_validate is false, then set to the
187 * version number of the created person. If p_validate is true, then set to
189 * @param p_per_effective_start_date If p_validate is false, then set to the
190 * earliest effective start date for the created person. If p_validate is true,
191 * then set to null.
192 * @param p_per_effective_end_date If p_validate is false, then set to the
193 * effective end date for the created person. If p_validate is true, then set
194 * to null.
195 * @param p_pdp_object_version_number If p_validate is false, this will be set
196 * to the version number of the person created. If p_validate is true this
197 * parameter will be set to null.
198 * @param p_full_name If p_validate is false, then set to the complete full
199 * name of the person. If p_validate is true, then set to null.
200 * @param p_comment_id If p_validate is false and comment text was provided,
201 * then will be set to the identifier of the created person comment record. If
202 * p_validate is true or no comment text was provided, then will be null.
203 * @param p_assignment_id If p_validate is false, then this uniquely identifies
204 * the created assignment. If p_validate is true, then set to null.
205 * @param p_asg_object_version_number If p_validate is false, then this
206 * parameter is set to the version number of the assignment created. If
207 * p_validate is true, then this parameter is null.
208 * @param p_assignment_sequence If p_validate is false, then set to the
209 * sequence number of the default assignment. If p_validate is true, then set
210 * to null.
211 * @param p_assignment_number If p_validate is false, then set to the
212 * assignment number of the default assignment. If p_validate is true, then set
213 * to null.
214 * @param p_name_combination_warning If set to true, then the combination of
215 * last name, first name and date of birth existed prior to calling this API.
216 * @rep:displayname Create Contingent Worker
217 * @rep:category BUSINESS_ENTITY PER_CWK
218 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
219 * @rep:scope public
220 * @rep:lifecycle active
221 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
222 */
223 --
224 -- {End Of Comments}
225 --
226 procedure create_cwk
227 (p_validate in boolean default false
228 ,p_start_date in date
229 ,p_business_group_id in number
230 ,p_last_name in varchar2
231 ,p_person_type_id in number default null
232 ,p_npw_number in out nocopy varchar2
233 ,p_background_check_status in varchar2 default null
234 ,p_background_date_check in date default null
235 ,p_blood_type in varchar2 default null
236 ,p_comments in varchar2 default null
237 ,p_correspondence_language in varchar2 default null
238 ,p_country_of_birth in varchar2 default null
239 ,p_date_of_birth in date default null
240 ,p_date_of_death in date default null
241 ,p_dpdnt_adoption_date in date default null
242 ,p_dpdnt_vlntry_svce_flag in varchar2 default null
243 ,p_email_address in varchar2 default null
244 ,p_first_name in varchar2 default null
245 ,p_fte_capacity in number default null
246 ,p_honors in varchar2 default null
247 ,p_internal_location in varchar2 default null
248 ,p_known_as in varchar2 default null
249 ,p_last_medical_test_by in varchar2 default null
250 ,p_last_medical_test_date in date default null
251 ,p_mailstop in varchar2 default null
252 ,p_marital_status in varchar2 default null
253 ,p_middle_names in varchar2 default null
254 ,p_national_identifier in varchar2 default null
255 ,p_nationality in varchar2 default null
256 ,p_office_number in varchar2 default null
257 ,p_on_military_service in varchar2 default null
258 ,p_party_id in number default null
259 ,p_pre_name_adjunct in varchar2 default null
260 ,p_previous_last_name in varchar2 default null
261 ,p_projected_placement_end in date default null
262 ,p_receipt_of_death_cert_date in date default null
263 ,p_region_of_birth in varchar2 default null
264 ,p_registered_disabled_flag in varchar2 default null
265 ,p_resume_exists in varchar2 default null
266 ,p_resume_last_updated in date default null
267 ,p_second_passport_exists in varchar2 default null
268 ,p_sex in varchar2 default null
269 ,p_student_status in varchar2 default null
270 ,p_suffix in varchar2 default null
271 ,p_title in varchar2 default null
272 ,p_town_of_birth in varchar2 default null
273 ,p_uses_tobacco_flag in varchar2 default null
274 ,p_vendor_id in number default null
275 ,p_work_schedule in varchar2 default null
276 ,p_work_telephone in varchar2 default null
277 ,p_exp_check_send_to_address in varchar2 default null
278 ,p_hold_applicant_date_until in date default null
279 ,p_date_employee_data_verified in date default null
280 ,p_benefit_group_id in number default null
281 ,p_coord_ben_med_pln_no in varchar2 default null
282 ,p_coord_ben_no_cvg_flag in varchar2 default null
283 ,p_original_date_of_hire in date default null
284 ,p_attribute_category in varchar2 default null
285 ,p_attribute1 in varchar2 default null
286 ,p_attribute2 in varchar2 default null
287 ,p_attribute3 in varchar2 default null
288 ,p_attribute4 in varchar2 default null
289 ,p_attribute5 in varchar2 default null
290 ,p_attribute6 in varchar2 default null
291 ,p_attribute7 in varchar2 default null
292 ,p_attribute8 in varchar2 default null
293 ,p_attribute9 in varchar2 default null
294 ,p_attribute10 in varchar2 default null
295 ,p_attribute11 in varchar2 default null
296 ,p_attribute12 in varchar2 default null
297 ,p_attribute13 in varchar2 default null
298 ,p_attribute14 in varchar2 default null
299 ,p_attribute15 in varchar2 default null
300 ,p_attribute16 in varchar2 default null
301 ,p_attribute17 in varchar2 default null
302 ,p_attribute18 in varchar2 default null
303 ,p_attribute19 in varchar2 default null
304 ,p_attribute20 in varchar2 default null
305 ,p_attribute21 in varchar2 default null
306 ,p_attribute22 in varchar2 default null
307 ,p_attribute23 in varchar2 default null
308 ,p_attribute24 in varchar2 default null
309 ,p_attribute25 in varchar2 default null
310 ,p_attribute26 in varchar2 default null
311 ,p_attribute27 in varchar2 default null
312 ,p_attribute28 in varchar2 default null
313 ,p_attribute29 in varchar2 default null
314 ,p_attribute30 in varchar2 default null
315 ,p_per_information_category in varchar2 default null
316 -- p_per_information_category - Obsolete parameter, do not use
317 ,p_per_information1 in varchar2 default null
318 ,p_per_information2 in varchar2 default null
319 ,p_per_information3 in varchar2 default null
320 ,p_per_information4 in varchar2 default null
321 ,p_per_information5 in varchar2 default null
322 ,p_per_information6 in varchar2 default null
323 ,p_per_information7 in varchar2 default null
324 ,p_per_information8 in varchar2 default null
325 ,p_per_information9 in varchar2 default null
326 ,p_per_information10 in varchar2 default null
327 ,p_per_information11 in varchar2 default null
328 ,p_per_information12 in varchar2 default null
329 ,p_per_information13 in varchar2 default null
330 ,p_per_information14 in varchar2 default null
331 ,p_per_information15 in varchar2 default null
332 ,p_per_information16 in varchar2 default null
333 ,p_per_information17 in varchar2 default null
334 ,p_per_information18 in varchar2 default null
335 ,p_per_information19 in varchar2 default null
336 ,p_per_information20 in varchar2 default null
337 ,p_per_information21 in varchar2 default null
338 ,p_per_information22 in varchar2 default null
339 ,p_per_information23 in varchar2 default null
340 ,p_per_information24 in varchar2 default null
341 ,p_per_information25 in varchar2 default null
342 ,p_per_information26 in varchar2 default null
343 ,p_per_information27 in varchar2 default null
344 ,p_per_information28 in varchar2 default null
345 ,p_per_information29 in varchar2 default null
346 ,p_per_information30 in varchar2 default null
347 ,p_person_id out nocopy number
348 ,p_per_object_version_number out nocopy number
349 ,p_per_effective_start_date out nocopy date
350 ,p_per_effective_end_date out nocopy date
351 ,p_pdp_object_version_number out nocopy number
352 ,p_full_name out nocopy varchar2
353 ,p_comment_id out nocopy number
354 ,p_assignment_id out nocopy number
355 ,p_asg_object_version_number out nocopy number
356 ,p_assignment_sequence out nocopy number
357 ,p_assignment_number out nocopy varchar2
358 ,p_name_combination_warning out nocopy boolean
359 );
360 --
361 -- ----------------------------------------------------------------------------
362 -- |--------------------------------< create_cwk >----------------------------|
363 -- ----------------------------------------------------------------------------
364 --
365 procedure create_cwk
366 (p_validate in boolean default false
367 ,p_start_date in date
368 ,p_business_group_id in number
369 ,p_last_name in varchar2
370 ,p_person_type_id in number default null
371 ,p_npw_number in out nocopy varchar2
372 ,p_background_check_status in varchar2 default null
373 ,p_background_date_check in date default null
374 ,p_blood_type in varchar2 default null
375 ,p_comments in varchar2 default null
376 ,p_correspondence_language in varchar2 default null
377 ,p_country_of_birth in varchar2 default null
378 ,p_date_of_birth in date default null
379 ,p_date_of_death in date default null
380 ,p_dpdnt_adoption_date in date default null
381 ,p_dpdnt_vlntry_svce_flag in varchar2 default null
382 ,p_email_address in varchar2 default null
383 ,p_first_name in varchar2 default null
384 ,p_fte_capacity in number default null
385 ,p_honors in varchar2 default null
386 ,p_internal_location in varchar2 default null
387 ,p_known_as in varchar2 default null
388 ,p_last_medical_test_by in varchar2 default null
389 ,p_last_medical_test_date in date default null
390 ,p_mailstop in varchar2 default null
391 ,p_marital_status in varchar2 default null
392 ,p_middle_names in varchar2 default null
393 ,p_national_identifier in varchar2 default null
394 ,p_nationality in varchar2 default null
395 ,p_office_number in varchar2 default null
396 ,p_on_military_service in varchar2 default null
397 ,p_party_id in number default null
398 ,p_pre_name_adjunct in varchar2 default null
399 ,p_previous_last_name in varchar2 default null
400 ,p_projected_placement_end in date default null
401 ,p_receipt_of_death_cert_date in date default null
402 ,p_region_of_birth in varchar2 default null
403 ,p_registered_disabled_flag in varchar2 default null
404 ,p_resume_exists in varchar2 default null
405 ,p_resume_last_updated in date default null
406 ,p_second_passport_exists in varchar2 default null
407 ,p_sex in varchar2 default null
408 ,p_student_status in varchar2 default null
409 ,p_suffix in varchar2 default null
410 ,p_title in varchar2 default null
411 ,p_town_of_birth in varchar2 default null
412 ,p_uses_tobacco_flag in varchar2 default null
413 ,p_vendor_id in number default null
414 ,p_work_schedule in varchar2 default null
415 ,p_work_telephone in varchar2 default null
416 ,p_exp_check_send_to_address in varchar2 default null
417 ,p_hold_applicant_date_until in date default null
418 ,p_date_employee_data_verified in date default null
419 ,p_benefit_group_id in number default null
420 ,p_coord_ben_med_pln_no in varchar2 default null
421 ,p_coord_ben_no_cvg_flag in varchar2 default null
422 ,p_original_date_of_hire in date default null
423 ,p_attribute_category in varchar2 default null
424 ,p_attribute1 in varchar2 default null
425 ,p_attribute2 in varchar2 default null
426 ,p_attribute3 in varchar2 default null
427 ,p_attribute4 in varchar2 default null
428 ,p_attribute5 in varchar2 default null
429 ,p_attribute6 in varchar2 default null
430 ,p_attribute7 in varchar2 default null
431 ,p_attribute8 in varchar2 default null
432 ,p_attribute9 in varchar2 default null
433 ,p_attribute10 in varchar2 default null
434 ,p_attribute11 in varchar2 default null
435 ,p_attribute12 in varchar2 default null
436 ,p_attribute13 in varchar2 default null
437 ,p_attribute14 in varchar2 default null
438 ,p_attribute15 in varchar2 default null
439 ,p_attribute16 in varchar2 default null
440 ,p_attribute17 in varchar2 default null
441 ,p_attribute18 in varchar2 default null
442 ,p_attribute19 in varchar2 default null
443 ,p_attribute20 in varchar2 default null
444 ,p_attribute21 in varchar2 default null
445 ,p_attribute22 in varchar2 default null
446 ,p_attribute23 in varchar2 default null
447 ,p_attribute24 in varchar2 default null
448 ,p_attribute25 in varchar2 default null
449 ,p_attribute26 in varchar2 default null
450 ,p_attribute27 in varchar2 default null
451 ,p_attribute28 in varchar2 default null
452 ,p_attribute29 in varchar2 default null
453 ,p_attribute30 in varchar2 default null
454 ,p_per_information_category in varchar2 default null
455 -- p_per_information_category - Obsolete parameter, do not use
456 ,p_per_information1 in varchar2 default null
460 ,p_per_information5 in varchar2 default null
457 ,p_per_information2 in varchar2 default null
458 ,p_per_information3 in varchar2 default null
459 ,p_per_information4 in varchar2 default null
461 ,p_per_information6 in varchar2 default null
462 ,p_per_information7 in varchar2 default null
463 ,p_per_information8 in varchar2 default null
464 ,p_per_information9 in varchar2 default null
465 ,p_per_information10 in varchar2 default null
466 ,p_per_information11 in varchar2 default null
467 ,p_per_information12 in varchar2 default null
468 ,p_per_information13 in varchar2 default null
469 ,p_per_information14 in varchar2 default null
470 ,p_per_information15 in varchar2 default null
471 ,p_per_information16 in varchar2 default null
472 ,p_per_information17 in varchar2 default null
473 ,p_per_information18 in varchar2 default null
474 ,p_per_information19 in varchar2 default null
475 ,p_per_information20 in varchar2 default null
476 ,p_per_information21 in varchar2 default null
477 ,p_per_information22 in varchar2 default null
478 ,p_per_information23 in varchar2 default null
479 ,p_per_information24 in varchar2 default null
480 ,p_per_information25 in varchar2 default null
481 ,p_per_information26 in varchar2 default null
482 ,p_per_information27 in varchar2 default null
483 ,p_per_information28 in varchar2 default null
484 ,p_per_information29 in varchar2 default null
485 ,p_per_information30 in varchar2 default null
486 -- Fix for bug 8832280 starts
487 ,p_rehire_recommendation in varchar2
488 ,p_rehire_reason in varchar2
489 -- Fix for bug 8832280 ends
490 ,p_person_id out nocopy number
491 ,p_per_object_version_number out nocopy number
492 ,p_per_effective_start_date out nocopy date
493 ,p_per_effective_end_date out nocopy date
494 ,p_pdp_object_version_number out nocopy number
495 ,p_full_name out nocopy varchar2
496 ,p_comment_id out nocopy number
497 ,p_assignment_id out nocopy number
498 ,p_asg_object_version_number out nocopy number
499 ,p_assignment_sequence out nocopy number
500 ,p_assignment_number out nocopy varchar2
501 ,p_name_combination_warning out nocopy boolean
502 );
503 --
504 -- ----------------------------------------------------------------------------
505 -- |------------------------------< convert_to_cwk >--------------------------|
506 -- ----------------------------------------------------------------------------
507 --
508 -- {Start Of Comments}
509 /*#
510 * This API converts an existing person to a contingent worker.
511 *
512 * This API updates person details, creates a period of placement, and creates
513 * a default contingent worker assignment. The process adds the contingent
514 * worker to the security lists so that secure users can see the contingent
515 * worker. If you do not specify a person_type_id, the API uses the default CWK
516 * type for the business group.
517 *
518 * <p><b>Licensing</b><br>
519 * This API is licensed for use with Human Resources.
520 *
521 * <p><b>Prerequisites</b><br>
522 * The person must exist in the relevant business group.
523 *
524 * <p><b>Post Success</b><br>
525 * The period of placement and default contingent worker assignment are
526 * created.
527 *
528 * <p><b>Post Failure</b><br>
529 * The API does not convert the person to a contingent worker and raises an
530 * error.
531 * @param p_validate If true, then validation alone will be performed and the
532 * database will remain unchanged. If false and all validation checks pass,
533 * then the database will be modified.
534 * @param p_effective_date Determines when the DateTrack operation comes into
535 * force.
536 * @param p_person_id Person whose record needs to be modified.
537 * @param p_object_version_number Pass in the current version number of the
538 * person to be updated. When the API completes if p_validate is false, will be
539 * set to the new version number of the updated person. If p_validate is true
540 * will be set to the same value which was passed in.
541 * @param p_npw_number The business group's contingent worker number generation
542 * method determines when the API derives and passes out a contingent worker
543 * number or when the calling program should pass in a value. When the API call
544 * completes if p_validate is true then will be set to the contingent worker
545 * number. If p_validate is true then will be set to the passed value.
546 * @param p_projected_placement_end Obsolete parameter, do not use.
547 * @param p_person_type_id Type of contingent worker being created.
548 * @param p_datetrack_update_mode Indicates which DateTrack mode to use when
549 * updating the record. You must set to either UPDATE, CORRECTION,
550 * UPDATE_OVERRIDE or UPDATE_CHANGE_INSERT. Modes available for use with a
551 * particular record depend on the dates of previous record changes and the
552 * effective date of this change.
553 * @param p_per_effective_start_date If p_validate is false, then set to the
554 * effective start date on the updated person row which now exists as of the
555 * effective date. If p_validate is true, then set to null.
556 * @param p_per_effective_end_date If p_validate is false, then set to the
560 * to the version number of the person created. If p_validate is true this
557 * effective end date on the updated person row which now exists as of the
558 * effective date. If p_validate is true, then set to null.
559 * @param p_pdp_object_version_number If p_validate is false, this will be set
561 * parameter will be set to null.
562 * @param p_assignment_id If p_validate is false, then this uniquely identifies
563 * the created assignment. If p_validate is true, then set to null.
564 * @param p_asg_object_version_number If p_validate is false, then this
565 * parameter is set to the version number of the assignment created. If
566 * p_validate is true, then this parameter is null.
567 * @param p_assignment_sequence If p_validate is false, then set to the
568 * sequence number of the default assignment. If p_validate is true, then set
569 * to null.
570 * @rep:displayname Convert to Contingent Worker
571 * @rep:category BUSINESS_ENTITY PER_CWK
572 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
573 * @rep:scope public
574 * @rep:lifecycle active
575 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
576 */
577 --
578 -- {End Of Comments}
579 --
580 procedure convert_to_cwk
581 (p_validate in boolean default false
582 ,p_effective_date in date
583 ,p_person_id in number
584 ,p_object_version_number in out nocopy number
585 ,p_npw_number in out nocopy varchar2
586 ,p_projected_placement_end in date default null
587 ,p_person_type_id in number default null
588 ,p_datetrack_update_mode in varchar2
589 ,p_per_effective_start_date out nocopy date
590 ,p_per_effective_end_date out nocopy date
591 ,p_pdp_object_version_number out nocopy number
592 ,p_assignment_id out nocopy number
593 ,p_asg_object_version_number out nocopy number
594 ,p_assignment_sequence out nocopy number
595 );
596 --
597 -- ----------------------------------------------------------------------------
598 -- |------------------------------< apply_for_job >---------------------------|
599 -- ----------------------------------------------------------------------------
600 --
601 -- {Start Of Comments}
602 /*#
603 * This API converts an existing contingent worker to an applicant.
604 *
605 * The API updates person details, creates an application, and creates a
606 * default applicant assignment. The process adds the applicant to the security
607 * lists so that secure users can see the applicant. If you do not specify a
608 * person_type_id, the API uses the default APL type for the business group.
609 *
610 * <p><b>Licensing</b><br>
611 * This API is licensed for use with Human Resources.
612 *
613 * <p><b>Prerequisites</b><br>
614 * The person must exist in the relevant business group.
615 *
616 * <p><b>Post Success</b><br>
617 * The application, default applicant assignment, and (if required) associated
618 * assignment budget values and a letter request are created.
619 *
620 * <p><b>Post Failure</b><br>
621 * The API does not convert the person to an applicant and raises an error.
622 * @param p_validate If true, then validation alone will be performed and the
623 * database will remain unchanged. If false and all validation checks pass,
624 * then the database will be modified.
625 * @param p_effective_date Determines when the DateTrack operation comes into
626 * force.
627 * @param p_person_id Person whose record needs to be modified.
628 * @param p_object_version_number Pass in the current version number of the
629 * person to be updated. When the API completes if p_validate is false, will be
630 * set to the new version number of the updated person. If p_validate is true
631 * will be set to the same value which was passed in.
632 * @param p_applicant_number The business group's applicant number generation
633 * method determines when the API derives and passes out an applicant number or
634 * when the calling program should pass in a value. When the API call completes
635 * if p_validate is true then will be set to the applicant number. If
636 * p_validate is true then will be set to the passed value.
637 * @param p_person_type_id Type of applicant being created.
638 * @param p_vacancy_id Vacancy for which this person has applied.
639 * @param p_per_effective_start_date If p_validate is false, then set to the
640 * effective start date on the updated person row which now exists as of the
641 * effective date. If p_validate is true, then set to null.
642 * @param p_per_effective_end_date If p_validate is false, then set to the
643 * effective end date on the updated person row which now exists as of the
644 * effective date. If p_validate is true, then set to null.
645 * @param p_application_id If p_validate is false, then this uniquely
646 * identifies the application created. If p_validate is true, then set to null.
647 * @param p_apl_object_version_number If p_validate is false, then set to the
648 * version number of the created application. If p_validate is true, then set
649 * to null.
650 * @param p_assignment_id If p_validate is false, then this uniquely identifies
651 * the created assignment. If p_validate is true, then set to null.
652 * @param p_asg_object_version_number If p_validate is false, then this
653 * parameter is set to the version number of the assignment created. If
654 * p_validate is true, then this parameter is null.
655 * @param p_assignment_sequence If p_validate is false, then set to the
656 * sequence number of the default assignment. If p_validate is true, then set
657 * to null.
658 * @rep:displayname Apply for Job
659 * @rep:category BUSINESS_ENTITY PER_CWK
660 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
661 * @rep:scope public
662 * @rep:lifecycle active
663 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
664 */
665 --
666 -- {End Of Comments}
670 ,p_effective_date in date
667 --
668 procedure apply_for_job
669 (p_validate in boolean default false
671 ,p_person_id in number
672 ,p_object_version_number in out nocopy number
673 ,p_applicant_number in out nocopy varchar2
674 ,p_person_type_id in number default null
675 ,p_vacancy_id in number default null
676 ,p_per_effective_start_date out nocopy date
677 ,p_per_effective_end_date out nocopy date
678 ,p_application_id out nocopy number
679 ,p_apl_object_version_number out nocopy number
680 ,p_assignment_id out nocopy number
681 ,p_asg_object_version_number out nocopy number
682 ,p_assignment_sequence out nocopy number
683 );
684 --
685 -- ----------------------------------------------------------------------------
686 -- |------------------------< actual_termination_placement >------------------|
687 -- ----------------------------------------------------------------------------
688 -- {Start Of Comments}
689 --
690 -- Description:
691 -- This API covers the first step in terminating a period of placement and
692 -- all current assignments for a cwk, identified by person_id and date_start.
693 --
694 -- You can use the API to set the actual termination date, the last standard
695 -- process date, the new assignment status and the new person type.
696 --
697 -- Note: If you want to select only one current assignment to terminate you
698 -- should use the 'actual_termination_cwk_asg' API.
699 --
700 -- The new person type must have a corresponding system type of EX_CWK if
701 -- currently CWK. If a type is not supplied, the API uses the default
702 -- person type for the business group. The new person_type takes affect on
703 -- the day after the actual termination date.
704 --
705 -- The new assignment status must have a corresponding system status of
706 -- TERM_CWK_ASG. If a status is not supplied, the API uses the default
707 -- TERM_CWK_ASG status for the business group. The new status applies to
708 -- all current assignments and takes effect on the day after the actual
709 -- termination date.
710 --
711 -- If you want to change the actual termination date after it has been
712 -- entered, you must cancel the termination and then reapply the termination
713 -- as of the new date.
714 --
715 -- If the leaving reason is set to 'Deceased' and the actual termination
716 -- date if not null then if the date of death on per_all_people_f is not
717 -- null it is updated to the actual termination date.
718 --
719 -- Element entries for the assignment that have an element
720 -- termination rule of 'Actual Termination' are date effectively
721 -- deleted as of the actual termination date.
722 --
723 -- Element entries for the assignment that have an element
724 -- termination rule of 'Final Close' are not modified by this API.
725 -- These entries are modified by the 'final_process_placement' API.
726 --
727 -- For a US legislation, the element termination rule of 'Last Standard
728 -- Process' is not used. You must set the p_last_standard_process_date
729 -- parameter to null.
730 --
731 -- For non-US legislations, element entries for the
732 -- assignment that have an element termination rule of 'Last Standard
733 -- Process' are date effectively deleted using the value specified
734 -- by p_last_standard_process_date. If no value is specified
735 -- the API defaults the date according to the following rules:
736 -- If no assignments include a payroll, the entries are deleted as
737 -- of the actual termination date.
738 -- If one assignment includes a payroll, the entries are deleted
739 -- as of the end date of the payroll period in which the actual
740 -- termination date occurs.
741 -- If there is more than one assignment that includes a payroll then
742 -- the latest period end date is used for all assignments.
743 --
744 -- The person is added to the security lists so that they will be visible as
745 -- an ex-contingent worker.
746 --
747 -- Prerequisites:
748 -- The period of placement record, identified by p_person_id, p_date_start
749 -- and p_object_version_number, must exist and must have a blank
750 -- actual termination date.
751 -- There must be no date-effective changes to the Person record after the
752 -- actual_termination_date.
753 -- There must be no employee assignments in this period of placement with an
754 -- initial start date on or after the actual_termination_date.
755 -- For a US legislation the last standard process date must be null.
756 -- For non-US legislations the last standard process date must be on or
757 -- after the actual termination date.
758 -- The person type, p_person_type_id, must exist for the same business group
759 -- as the person, must be active and must have a system type of EX_CWK.
760 -- The assignment status, p_assignment_status_type_id, must exist for
761 -- the same business group as the person, must be active and must have a
762 -- system status of TERM_CWK_ASG.
763 --
764 -- In Parameters:
765 -- Name Reqd Type Description
766 -- p_validate No boolean If true, the database
767 -- remains unchanged. If false
768 -- then the period of placement,
769 -- person, assignment and
770 -- element entries are
771 -- updated.
772 -- p_person_id Yes number ID of the person.
773 -- p_date_start Yes date Date placement started.
777 -- p_last_standard_process_date No date Last standard process date
774 -- p_object_version_number Yes number Version number of the
775 -- period of placement.
776 -- p_actual_termination_date Yes date Actual termination date
778 -- p_person_type_id No number Person type
779 -- p_assignment_status_type_id No number Assignment status
780 --
781 -- Post Success:
782 -- The API updates the period of placement, modifies the person, assignments,
783 -- element entries and sets the following out parameters:
784 --
785 -- Name Type Description
786 -- p_object_version_number number If p_validate is false, set to
787 -- the new version number of the
788 -- updated period of placement record.
789 -- If p_validate is true, set to the
790 -- same value you passed in.
791 -- p_last_standard_process_date date If p_validate is false, set to
792 -- the derived last standard process
793 -- date. If p_validate is true, set
794 -- to the same value you passed in.
795 -- p_supervisor_warning boolean Set to true if this person is a
796 -- supervisor for another assignment,
797 -- currently or in the future.
798 -- Set to false if this person is not
799 -- a supervisor now or in the future.
800 -- p_event_warning boolean Set to true if this person is
801 -- booked on at least one event in
802 -- the past, present or future. Set
803 -- to false if this person is not
804 -- booked on any events.
805 -- p_interview_warning boolean Set to true if this person is
806 -- scheduled to be an interviewer or
807 -- has interviews booked in the past,
808 -- present or future. Set to false
809 -- if this person does not have any
810 -- interviewer or interview sessions.
811 -- p_review_warning boolean Set to true if this person has a
812 -- review scheduled. Set to false if
813 -- there are no reviews scheduled.
814 -- p_recruiter_warning boolean Set to true if this person is a
815 -- recruiter for a vacancy in the past,
816 -- future or present. Set to false
817 -- if this person is not a recruiter.
818 -- p_asg_future_changes_warning boolean Set to true if at least one
819 -- assignment change, after the
820 -- actual termination date, has been
821 -- overwritten with the new
822 -- assignment status. Set to
823 -- false when there are no changes
824 -- in the future.
825 -- p_entries_changed_warning varchar2 Set to 'Y' when at least one
826 -- element entry is affected by
827 -- the assignment change.
828 -- Set to 'S' if at least one salary
829 -- element entry is affected. (This
830 -- (is a more specific case than
831 -- 'Y'.) Otherwise set to 'N', when
832 -- no element entries are affected.
833 -- p_pay_proposal_warning varchar2 Set to 'Y' when at least one
834 -- pay proposal existing after the
835 -- actual termination date was
836 -- deleted. Otherwise set to 'N' when
837 -- no pay proposals were deleted.
838 -- p_dod_warning boolean Set to TRUE when the date of death
839 -- is set upon terminating a cwk.
840 --
841 -- Post Failure:
842 -- The API does not update the period of placement, person, assignments, or
843 -- element entries and raises an error.
844 --
845 -- Access Status:
846 -- Public.
847 --
848 -- {End Of Comments}
849 --
850 procedure actual_termination_placement
851 (p_validate in boolean default false
852 ,p_effective_date in date
853 ,p_person_id in number
854 ,p_date_start in date
855 ,p_object_version_number in out nocopy number
856 ,p_actual_termination_date in date
857 ,p_last_standard_process_date in out nocopy date
858 ,p_person_type_id in number default hr_api.g_number
859 ,p_assignment_status_type_id in number default hr_api.g_number
860 ,p_termination_reason in varchar2 default hr_api.g_varchar2
861 ,p_supervisor_warning out nocopy boolean
862 ,p_event_warning out nocopy boolean
863 ,p_interview_warning out nocopy boolean
864 ,p_review_warning out nocopy boolean
868 ,p_pay_proposal_warning out nocopy boolean
865 ,p_recruiter_warning out nocopy boolean
866 ,p_asg_future_changes_warning out nocopy boolean
867 ,p_entries_changed_warning out nocopy varchar2
869 ,p_dod_warning out nocopy boolean
870 );
871 --
872 -- ----------------------------------------------------------------------------
873 -- |---------------------------< final_process_placement >--------------------|
874 -- ----------------------------------------------------------------------------
875 -- {Start Of Comments}
876 --
877 -- Description:
878 -- This API covers the second step in terminating a period of placement and
879 -- all current assignments for an cwk. It updates the period of placement
880 -- details and date-effectively deletes all the contingent worker assignments
881 -- as of the final process date.
882 --
883 -- Note: If you want to select only one current assignment to terminate you
884 -- should use the 'final_process_cwk_asg' API.
885 --
886 -- If a final process date is not specified, the API derived the value.
887 -- For a US legislation, it uses the actual termination date.
888 -- For non-US legislations, it uses the last standard process date.
889 --
890 -- If you want to change the final process date after it has been
891 -- entered, you must cancel the termination and then reapply the termination
892 -- as of the new date.
893 --
894 -- Element entries for any assignment that have an element termination rule of
895 -- 'Final Close' are date effectively deleted as of the final process
896 -- date.
897 --
898 -- Cost allocations, grade step/point placements, cobra coverage benefits
899 -- and personal payment methods for all assignments are date effectively
900 -- deleted as of the final process date.
901 --
902 -- The person is added to the security lists so that they will be visible as
903 -- an ex-cwk.
904 --
905 -- Prerequisites:
906 -- The period of placement record, identified by p_person_id, p_date_start
907 -- and p_object_version_number, must exist and must have an actual
908 -- termination date and a blank final process date.
909 -- The final process date must not be earlier than the actual termination
910 -- date.
911 -- For a US legislation there must be no COBRA coverage benefits after
912 -- the final process date.
913 -- For non-US legislations the final process date must not be earlier than
914 -- the last standard process date.
915 --
916 -- In Parameters:
917 -- Name Reqd Type Description
918 -- p_validate No boolean If true, the database
919 -- remains unchanged. If false
920 -- then the period of service,
921 -- assignments and element
922 -- entries will be changed.
923 -- p_person_id Yes number ID of the person.
924 -- p_date_start Yes number Start date of the placement.
925 -- p_object_version_number Yes number Version number of the
926 -- period of placement
927 -- p_final_process_date No date Final Process Date
928 --
929 -- Post Success:
930 -- The API will update the period of placement, modify the assignments,
931 -- element entries and set the following out parameters:
932 --
933 -- Name Type Description
934 -- p_object_version_number number If p_validate is false, set to
935 -- the new version number of the
936 -- updated period of placement record.
937 -- If p_validate is true, set to the
938 -- same value you passed in.
939 -- p_final_process_date date If p_validate is false, set to
940 -- the value passed in or the derived
941 -- date. If p_validate is true, set
942 -- to the value passed in.
943 -- p_org_now_no_manager_warning boolean Set to true if this assignment
944 -- had the manager flag set to 'Y'
945 -- and there are no other managers
946 -- in the assignment's organization.
947 -- Set to false if there is another
948 -- manager in the assignment's
949 -- organization or if this assignment
950 -- did not have the manager flag set
951 -- to 'Y'.
952 -- The warning value only applies as
953 -- of the final process date.
954 -- p_asg_future_changes_warning boolean Set to true if at least one
955 -- assignment change, after the final
956 -- process date, has been deleted
957 -- as a result of terminating the
958 -- employee. (The only change
959 -- that can be made after the
960 -- actual termination date is to
961 -- set the assignment status to another
962 -- TERM_CWK_ASG status.) Set to false
963 -- when there were no changes after
967 -- the assignment change.
964 -- final process date.
965 -- p_entries_changed_warning varchar2 Set to 'Y' when at least one
966 -- element entry is affected by
968 -- Set to 'S' if at least one salary
969 -- element entry is affected. (This
970 -- (is a more specific case than
971 -- 'Y'.) Otherwise set to 'N', when
972 -- no element entries are affected.
973 --
974 -- Post Failure:
975 -- The API does not update the period of placement, assignments or element
976 -- entries and raises an error.
977 --
978 -- Access Status:
979 -- Public.
980 --
981 -- {End Of Comments}
982 --
983 procedure final_process_placement
984 (p_validate in boolean default false
985 ,p_person_id in number
986 ,p_date_start in date
987 ,p_object_version_number in out nocopy number
988 ,p_final_process_date in out nocopy date
989 ,p_org_now_no_manager_warning out nocopy boolean
990 ,p_asg_future_changes_warning out nocopy boolean
991 ,p_entries_changed_warning out nocopy varchar2
992 );
993 --
994 -- ----------------------------------------------------------------------------
995 -- |---------------------------< terminate_placement >------------------------|
996 -- ----------------------------------------------------------------------------
997 --
998 -- {Start Of Comments}
999 /*#
1000 * This API terminates a contingent worker.
1001 *
1002 * This API converts a person of type Contingent Worker to a person of type
1003 * Ex-Contigent Worker. The person's period of placement and any contingent
1004 * worker assignments are ended.
1005 *
1006 * <p><b>Licensing</b><br>
1007 * This API is licensed for use with Human Resources.
1008 *
1009 * <p><b>Prerequisites</b><br>
1010 * The contingent worker must exist in the relevant business group.
1011 *
1012 * <p><b>Post Success</b><br>
1013 * The contingent worker is terminated successfully.
1014 *
1015 * <p><b>Post Failure</b><br>
1016 * The contigent worker is not terminated and an error is raised.
1017 * @param p_validate If true, then validation alone will be performed and the
1018 * database will remain unchanged. If false and all validation checks pass,
1019 * then the database will be modified.
1020 * @param p_effective_date Determines when the DateTrack operation comes into
1021 * force.
1022 * @param p_person_id Person who is being terminated.
1023 * @param p_date_start Start date.
1024 * @param p_object_version_number Pass in the current version number of the
1025 * person to be updated. When the API completes if p_validate is false, will be
1026 * set to the new version number of the updated person. If p_validate is true
1027 * will be set to the same value which was passed in.
1028 * @param p_person_type_id Type of contingent worker being terminated.
1029 * @param p_assignment_status_type_id Status of a contingent worker in a
1030 * specific assignment.
1031 * @param p_actual_termination_date Actual termination date.
1032 * @param p_final_process_date Obsolete parameter, do not use.
1033 * @param p_last_standard_process_date Obsolete parameter, do not use.
1034 * @param p_termination_reason Termination Reason. Valid values are defined by
1035 * the HR_CWK_TERMINATION_REASONS lookup type.
1036 * @param p_projected_termination_date Projected termination date.
1037 * @param p_attribute_category This context value determines which flexfield
1038 * structure to use with the descriptive flexfield segments.
1039 * @param p_attribute1 Descriptive flexfield segment.
1040 * @param p_attribute2 Descriptive flexfield segment.
1041 * @param p_attribute3 Descriptive flexfield segment.
1042 * @param p_attribute4 Descriptive flexfield segment.
1043 * @param p_attribute5 Descriptive flexfield segment.
1044 * @param p_attribute6 Descriptive flexfield segment.
1045 * @param p_attribute7 Descriptive flexfield segment.
1046 * @param p_attribute8 Descriptive flexfield segment.
1047 * @param p_attribute9 Descriptive flexfield segment.
1048 * @param p_attribute10 Descriptive flexfield segment.
1049 * @param p_attribute11 Descriptive flexfield segment.
1050 * @param p_attribute12 Descriptive flexfield segment.
1051 * @param p_attribute13 Descriptive flexfield segment.
1052 * @param p_attribute14 Descriptive flexfield segment.
1053 * @param p_attribute15 Descriptive flexfield segment.
1054 * @param p_attribute16 Descriptive flexfield segment.
1055 * @param p_attribute17 Descriptive flexfield segment.
1056 * @param p_attribute18 Descriptive flexfield segment.
1057 * @param p_attribute19 Descriptive flexfield segment.
1058 * @param p_attribute20 Descriptive flexfield segment.
1059 * @param p_attribute21 Descriptive flexfield segment.
1060 * @param p_attribute22 Descriptive flexfield segment.
1061 * @param p_attribute23 Descriptive flexfield segment.
1062 * @param p_attribute24 Descriptive flexfield segment.
1063 * @param p_attribute25 Descriptive flexfield segment.
1064 * @param p_attribute26 Descriptive flexfield segment.
1065 * @param p_attribute27 Descriptive flexfield segment.
1066 * @param p_attribute28 Descriptive flexfield segment.
1067 * @param p_attribute29 Descriptive flexfield segment.
1068 * @param p_attribute30 Descriptive flexfield segment.
1069 * @param p_information_category This context value determines which flexfield
1070 * structure to use with the developer descriptive flexfield segments.
1071 * @param p_information1 Developer descriptive flexfield segment.
1072 * @param p_information2 Developer descriptive flexfield segment.
1076 * @param p_information6 Developer descriptive flexfield segment.
1073 * @param p_information3 Developer descriptive flexfield segment.
1074 * @param p_information4 Developer descriptive flexfield segment.
1075 * @param p_information5 Developer descriptive flexfield segment.
1077 * @param p_information7 Developer descriptive flexfield segment.
1078 * @param p_information8 Developer descriptive flexfield segment.
1079 * @param p_information9 Developer descriptive flexfield segment.
1080 * @param p_information10 Developer descriptive flexfield segment.
1081 * @param p_information11 Developer descriptive flexfield segment.
1082 * @param p_information12 Developer descriptive flexfield segment.
1083 * @param p_information13 Developer descriptive flexfield segment.
1084 * @param p_information14 Developer descriptive flexfield segment.
1085 * @param p_information15 Developer descriptive flexfield segment.
1086 * @param p_information16 Developer descriptive flexfield segment.
1087 * @param p_information17 Developer descriptive flexfield segment.
1088 * @param p_information18 Developer descriptive flexfield segment.
1089 * @param p_information19 Developer descriptive flexfield segment.
1090 * @param p_information20 Developer descriptive flexfield segment.
1091 * @param p_information21 Developer descriptive flexfield segment.
1092 * @param p_information22 Developer descriptive flexfield segment.
1093 * @param p_information23 Developer descriptive flexfield segment.
1094 * @param p_information24 Developer descriptive flexfield segment.
1095 * @param p_information25 Developer descriptive flexfield segment.
1096 * @param p_information26 Developer descriptive flexfield segment.
1097 * @param p_information27 Developer descriptive flexfield segment.
1098 * @param p_information28 Developer descriptive flexfield segment.
1099 * @param p_information29 Developer descriptive flexfield segment.
1100 * @param p_information30 Developer descriptive flexfield segment.
1101 * @param p_supervisor_warning If set to true, then this person is a supervisor
1102 * for another, current or future assignment.
1103 * @param p_event_warning If set to true, then this person is booked on at
1104 * least one event in the past, present or future.
1105 * @param p_interview_warning If set to true, then this person is scheduled to
1106 * be an interviewer or has interviews booked in the past, present or future.
1107 * @param p_review_warning If set to true, then this person has a review
1108 * scheduled.
1109 * @param p_recruiter_warning If set to true, then this person is a recruiter
1110 * for a vacancy in the past, future or present.
1111 * @param p_asg_future_changes_warning If set to true, then at least one
1112 * assignment change, after the actual termination date, has been overwritten
1113 * with the new assignment status.
1114 * @param p_entries_changed_warning Set to Y when at least one element entry is
1115 * affected by the assignment change. Set to S if at least one salary element
1116 * entry is affected. Otherwise, set to N.
1117 * @param p_pay_proposal_warning If set to true, then there is at least one pay
1118 * proposal existing after the actual termination date of this assignment.
1119 * @param p_dod_warning If set to true, then the date of death has been set on
1120 * terminating the person.
1121 * @param p_org_now_no_manager_warning If set to true, then from the final
1122 * process date of this assignment there are no other managers in the
1123 * assignment's organization.
1124 * @param p_addl_rights_warning If set to true, it indicates that this person
1125 * has additional rights due to their supplementary roles.
1126 * @rep:displayname Terminate Placement
1127 * @rep:category BUSINESS_ENTITY PER_CWK
1128 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1129 * @rep:scope public
1130 * @rep:lifecycle active
1131 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1132 */
1133 --
1134 -- {End Of Comments}
1135 --
1136 procedure terminate_placement
1137 (p_validate in boolean default false
1138 ,p_effective_date in date
1139 ,p_person_id in number
1140 ,p_date_start in date
1141 ,p_object_version_number in out nocopy number
1142 ,p_person_type_id in number default hr_api.g_number
1143 ,p_assignment_status_type_id in number default hr_api.g_number
1144 ,p_actual_termination_date in date default hr_api.g_date
1145
1146 /*
1147 The following two parameters are available for internal-use only until
1148 payroll support for contingent workers is introduced. Setting them has
1149 no impact.
1150 */
1151 ,p_final_process_date in out nocopy date
1152 ,p_last_standard_process_date in out nocopy date
1153
1154 ,p_termination_reason in varchar2 default hr_api.g_varchar2
1155 ,p_projected_termination_date in date default hr_api.g_date
1156 ,p_attribute_category in varchar2 default hr_api.g_varchar2
1157 ,p_attribute1 in varchar2 default hr_api.g_varchar2
1158 ,p_attribute2 in varchar2 default hr_api.g_varchar2
1159 ,p_attribute3 in varchar2 default hr_api.g_varchar2
1160 ,p_attribute4 in varchar2 default hr_api.g_varchar2
1161 ,p_attribute5 in varchar2 default hr_api.g_varchar2
1162 ,p_attribute6 in varchar2 default hr_api.g_varchar2
1163 ,p_attribute7 in varchar2 default hr_api.g_varchar2
1164 ,p_attribute8 in varchar2 default hr_api.g_varchar2
1165 ,p_attribute9 in varchar2 default hr_api.g_varchar2
1166 ,p_attribute10 in varchar2 default hr_api.g_varchar2
1167 ,p_attribute11 in varchar2 default hr_api.g_varchar2
1168 ,p_attribute12 in varchar2 default hr_api.g_varchar2
1172 ,p_attribute16 in varchar2 default hr_api.g_varchar2
1169 ,p_attribute13 in varchar2 default hr_api.g_varchar2
1170 ,p_attribute14 in varchar2 default hr_api.g_varchar2
1171 ,p_attribute15 in varchar2 default hr_api.g_varchar2
1173 ,p_attribute17 in varchar2 default hr_api.g_varchar2
1174 ,p_attribute18 in varchar2 default hr_api.g_varchar2
1175 ,p_attribute19 in varchar2 default hr_api.g_varchar2
1176 ,p_attribute20 in varchar2 default hr_api.g_varchar2
1177 ,p_attribute21 in varchar2 default hr_api.g_varchar2
1178 ,p_attribute22 in varchar2 default hr_api.g_varchar2
1179 ,p_attribute23 in varchar2 default hr_api.g_varchar2
1180 ,p_attribute24 in varchar2 default hr_api.g_varchar2
1181 ,p_attribute25 in varchar2 default hr_api.g_varchar2
1182 ,p_attribute26 in varchar2 default hr_api.g_varchar2
1183 ,p_attribute27 in varchar2 default hr_api.g_varchar2
1184 ,p_attribute28 in varchar2 default hr_api.g_varchar2
1185 ,p_attribute29 in varchar2 default hr_api.g_varchar2
1186 ,p_attribute30 in varchar2 default hr_api.g_varchar2
1187 ,p_information_category in varchar2 default hr_api.g_varchar2
1188 ,p_information1 in varchar2 default hr_api.g_varchar2
1189 ,p_information2 in varchar2 default hr_api.g_varchar2
1190 ,p_information3 in varchar2 default hr_api.g_varchar2
1191 ,p_information4 in varchar2 default hr_api.g_varchar2
1192 ,p_information5 in varchar2 default hr_api.g_varchar2
1193 ,p_information6 in varchar2 default hr_api.g_varchar2
1194 ,p_information7 in varchar2 default hr_api.g_varchar2
1195 ,p_information8 in varchar2 default hr_api.g_varchar2
1196 ,p_information9 in varchar2 default hr_api.g_varchar2
1197 ,p_information10 in varchar2 default hr_api.g_varchar2
1198 ,p_information11 in varchar2 default hr_api.g_varchar2
1199 ,p_information12 in varchar2 default hr_api.g_varchar2
1200 ,p_information13 in varchar2 default hr_api.g_varchar2
1201 ,p_information14 in varchar2 default hr_api.g_varchar2
1202 ,p_information15 in varchar2 default hr_api.g_varchar2
1203 ,p_information16 in varchar2 default hr_api.g_varchar2
1204 ,p_information17 in varchar2 default hr_api.g_varchar2
1205 ,p_information18 in varchar2 default hr_api.g_varchar2
1206 ,p_information19 in varchar2 default hr_api.g_varchar2
1207 ,p_information20 in varchar2 default hr_api.g_varchar2
1208 ,p_information21 in varchar2 default hr_api.g_varchar2
1209 ,p_information22 in varchar2 default hr_api.g_varchar2
1210 ,p_information23 in varchar2 default hr_api.g_varchar2
1211 ,p_information24 in varchar2 default hr_api.g_varchar2
1212 ,p_information25 in varchar2 default hr_api.g_varchar2
1213 ,p_information26 in varchar2 default hr_api.g_varchar2
1214 ,p_information27 in varchar2 default hr_api.g_varchar2
1215 ,p_information28 in varchar2 default hr_api.g_varchar2
1216 ,p_information29 in varchar2 default hr_api.g_varchar2
1217 ,p_information30 in varchar2 default hr_api.g_varchar2
1218 ,p_supervisor_warning out nocopy boolean
1219 ,p_event_warning out nocopy boolean
1220 ,p_interview_warning out nocopy boolean
1221 ,p_review_warning out nocopy boolean
1222 ,p_recruiter_warning out nocopy boolean
1223 ,p_asg_future_changes_warning out nocopy boolean
1224 ,p_entries_changed_warning out nocopy varchar2
1225 ,p_pay_proposal_warning out nocopy boolean
1226 ,p_dod_warning out nocopy boolean
1227 ,p_org_now_no_manager_warning out nocopy boolean
1228 ,p_addl_rights_warning out nocopy boolean -- Fix 1370960
1229 );
1230 --
1231 -- ----------------------------------------------------------------------------
1232 -- |-----------------------< reverse_terminate_placement >--------------------|
1233 -- ----------------------------------------------------------------------------
1234 --
1235 -- {Start Of Comments}
1236 /*#
1237 * This API reverses a contingent worker termination.
1238 *
1239 * This API removes the end date from the period of placement and the
1240 * contingent worker assignments, and reverts the person type to Contingent
1241 * Worker.
1242 *
1243 * <p><b>Licensing</b><br>
1244 * This API is licensed for use with Human Resources.
1245 *
1246 * <p><b>Prerequisites</b><br>
1247 * The person must exist in the relevant business group.
1248 *
1249 * <p><b>Post Success</b><br>
1250 * The API updates the period of placement, modifies the person, assignments,
1251 * and element entries, and reverses any other termination actions.
1252 *
1253 * <p><b>Post Failure</b><br>
1254 * The API does not reverse the termination and raises an error.
1255 * @param p_validate If true, then validation alone will be performed and the
1256 * database will remain unchanged. If false and all validation checks pass,
1257 * then the database will be modified.
1258 * @param p_person_id Person whose record needs to be modified.
1259 * @param p_actual_termination_date Actual termination date.
1260 * @param p_clear_details Flag indicating whether the details can be cleared.
1261 * @param p_fut_actns_exist_warning If set to true, then this person has future
1262 * payroll actions.
1263 * @rep:displayname Reverse Termination Placement
1264 * @rep:category BUSINESS_ENTITY PER_CWK
1265 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1266 * @rep:scope public
1267 * @rep:lifecycle active
1268 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1269 */
1270 --
1271 -- {End Of Comments}
1272 --
1273 procedure reverse_terminate_placement
1274 (p_validate in boolean default false
1275 ,p_person_id in number
1276 ,p_actual_termination_date in date
1277 ,p_clear_details in varchar2 default 'N'
1278 ,p_fut_actns_exist_warning out nocopy boolean
1279 );
1280 --
1281 -- ----------------------------------------------------------------------------
1282 -- |--------------------------< Get_Length_of_Placement >---------------------|
1283 -- ----------------------------------------------------------------------------
1284 -- {Start Of Comments}
1285 --
1286 -- Description:
1287 -- This routine can be called to get the length of a contingent worker's
1288 -- placement. The person_id and date_start (user key) are passed in
1289 -- and the total length of placement in years and months is returned.
1290 --
1291 -- Prerequisites:
1292 --
1293 -- In Parameters:
1294 -- Name Reqd Type Description
1295 -- p_effective_date Yes date Session date.
1296 -- p_business_group_id Yes number ID of the Business Group.
1297 -- p_person_id Yes number ID of the person.
1298 -- p_date_start Yes number Date the placement started.
1299 -- p_object_version_number Yes number Version number of the
1300 -- period of placement
1301 --
1302 -- Post Success:
1303 -- This procedure returns the total length of the placement.
1304 --
1305 -- Name Type Description
1306 -- p_total_years number Total length of placement in
1307 -- years.
1308 -- p_total_months number Total length of placement in
1309 -- months.
1310 --
1311 -- Post Failure:
1312 -- The placement could not be found so an error is raised.
1313 --
1314 -- Access Status:
1315 -- Internal.
1316 --
1317 -- {End Of Comments}
1318 --
1319 procedure get_length_of_placement
1320 (p_effective_date in date
1321 ,p_business_group_id in number
1322 ,p_person_id in number
1323 ,p_date_start in date
1324 ,p_total_years out nocopy number
1325 ,p_total_months out nocopy number);
1326 --
1327 end hr_contingent_worker_api;