DBA Data[Home] [Help]

PACKAGE: APPS.HR_CONTINGENT_WORKER_API

Source


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;