1 Package HR_PERSON_DEPLOYMENT_API AUTHID CURRENT_USER as
2 /* $Header: hrpdtapi.pkh 120.5 2007/10/01 10:00:52 ghshanka noship $ */
3 /*#
4 * This package contains global deployment APIs.
5 * @rep:scope public
6 * @rep:product per
7 * @rep:displayname Person Deployment
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-------------------------< create_person_deployment >---------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16 * This API creates a new employee deployment record.
17 *
18 * The API creates a record that tracks a proposed period when an employee will
19 * work in a different business group from the one the employee works in
20 * presently. The status of the record will automatically be marked as DRAFT.
21 * It will hold details that will be used in the assignment record in
22 * the destination business group.
23 *
24 * <p><b>Licensing</b><br>
25 * This API is licensed for use with Human Resources.
26 *
27 * <p><b>Prerequisites</b><br>
28 * The employee must already exist in the specified business group. The
29 * specified destination business group must already exist, and the assignment
30 * information provided must be valid on the specified start date.
31 *
32 * <p><b>Post Success</b><br>
33 * The deployment proposal is successfully created with a status of DRAFT.
34 *
35 * <p><b>Post Failure</b><br>
36 * The deployment proposal is not inserted into the database and an error will
37 * be raised
38 *
39 * @param p_validate If true, then validation alone will be performed and the
40 * database will remain unchanged. If false and all validation checks pass,
41 * then the database will be modified.
42 * @param p_from_business_group_id Business group from which the employee is
43 * coming. The employee must have an active period of service in this business
44 * group.
45 * @param p_to_business_group_id Business group in which the employee will be
46 * working for this deployment.
47 * @param p_from_person_id Identifies the person record in the source business
48 * group.
49 * @param p_to_person_id If specified, identifies the person record in the
50 * destination business group which will track the deployment. If not
51 * specified, indicated that a new person record will be created when the
52 * deployment is initiated.
53 * @param p_person_type_id The person type to be used for the person in the
54 * destination business group when the deployment is initiated.
55 * @param p_start_date The start date of the deployment.
56 * @param p_end_date The end date of the deployment. Should be null for a
57 * permanent deployment.
58 * @param p_deployment_reason The reason for this deployment. Valid values must
59 * exist in the HR_DEPLOYMENT_REASONS lookup type.
60 * @param p_employee_number The employee number to be used for the person
61 * record in the destination business group when the deployment is initiated.
62 * @param p_leaving_reason The leaving reason to be used in the destination
63 * business group when a temporary deployment is being ended. Should not be
64 * entered for permanent deployments. Valid values must exist in the LEAV_REAS
65 * lookup type.
66 * @param p_leaving_person_type_id The person type of ex-employee to be used
67 * in the destination business group when a temporary deployment is being
68 * ended. Should not be entered for permanent deployments.
69 * @param p_permanent Flag indicating whether the deployment is to be permanent
70 * or temporary.
71 * @param p_deplymt_policy_id This parameter is reserved for future releases.
72 * Do not specify a value for this parameter.
73 * @param p_organization_id The organization of the assignment to be created
74 * in the destination business group when the deployment is initiated.
75 * @param p_location_id The location of the assignment to be created
76 * in the destination business group when the deployment is initiated.
77 * @param p_job_id The job of the assignment to be created
78 * in the destination business group when the deployment is initiated.
79 * @param p_position_id The position of the assignment to be created
80 * in the destination business group when the deployment is initiated.
81 * @param p_grade_id The grade of the assignment to be created
82 * in the destination business group when the deployment is initiated.
83 * @param p_supervisor_id The supervisor of the assignment to be created
84 * in the destination business group when the deployment is initiated.
85 * @param p_supervisor_assignment_id The supervisor's assignment of the
86 * assignment to be created in the destination business group
87 * when the deployment is initiated.
88 * @param p_retain_direct_reports Flag indicating whether the employee's
89 * direct reports in the source business group need to be updated to the same
90 * employee's record but in the destination business group. For permanent
91 * deployments only.
92 * @param p_payroll_id The payroll of the assignment to be created
93 * in the destination business group when the deployment is initiated.
94 * @param p_pay_basis_id The salary basis of the assignment to be created
95 * in the destination business group when the deployment is initiated.
96 * Do not enter a value for temporary deployments.
97 * @param p_proposed_salary The salary of the assignment to be created
98 * in the destination business group when the deployment is initiated.
99 * Do not enter a value for temporary deployments.
100 * @param p_people_group_id People Group key flexfield identifier for the
101 * assignment to be created in the destination business group when the
102 * deployment is initiated.
103 * @param p_soft_coding_keyflex_id Soft Coded key flexfield identifier for the
104 * assignment to be created in the destination business group when the
105 * deployment is initiated.
106 * @param p_assignment_status_type_id Assignment status of the assignment
107 * to be created in the destination business group when the deployment
108 * is initiated.
109 * @param p_ass_status_change_reason Change reason to be recorded on the
110 * assignment to be created in the destination business group when the
111 * deployment is initiated. Valid values must exist in the EMP_ASSIGN_REASON
112 * lookup type.
113 * @param p_assignment_category Assignment category of the assignment
114 * to be created in the destination business group when the deployment
115 * is initiated.
116 * @param p_per_information1 Developer descriptive flexfield segment.
117 * @param p_per_information2 Developer descriptive flexfield segment.
118 * @param p_per_information3 Developer descriptive flexfield segment.
119 * @param p_per_information4 Developer descriptive flexfield segment.
120 * @param p_per_information5 Developer descriptive flexfield segment.
121 * @param p_per_information6 Developer descriptive flexfield segment.
122 * @param p_per_information7 Developer descriptive flexfield segment.
123 * @param p_per_information8 Developer descriptive flexfield segment.
124 * @param p_per_information9 Developer descriptive flexfield segment.
125 * @param p_per_information10 Developer descriptive flexfield segment.
126 * @param p_per_information11 Developer descriptive flexfield segment.
127 * @param p_per_information12 Developer descriptive flexfield segment.
128 * @param p_per_information13 Developer descriptive flexfield segment.
129 * @param p_per_information14 Developer descriptive flexfield segment.
130 * @param p_per_information15 Developer descriptive flexfield segment.
131 * @param p_per_information16 Developer descriptive flexfield segment.
132 * @param p_per_information17 Developer descriptive flexfield segment.
133 * @param p_per_information18 Developer descriptive flexfield segment.
134 * @param p_per_information19 Developer descriptive flexfield segment.
135 * @param p_per_information20 Developer descriptive flexfield segment.
136 * @param p_per_information21 Developer descriptive flexfield segment.
137 * @param p_per_information22 Developer descriptive flexfield segment.
138 * @param p_per_information23 Developer descriptive flexfield segment.
139 * @param p_per_information24 Developer descriptive flexfield segment.
140 * @param p_per_information25 Developer descriptive flexfield segment.
141 * @param p_per_information26 Developer descriptive flexfield segment.
142 * @param p_per_information27 Developer descriptive flexfield segment.
143 * @param p_per_information28 Developer descriptive flexfield segment.
144 * @param p_per_information29 Developer descriptive flexfield segment.
145 * @param p_per_information30 Developer descriptive flexfield segment.
146 * @param p_person_deployment_id If p_validate is false, then this
147 * uniquely identifies the deployment record created. If p_validate is true
148 * then set to null.
149 * @param p_object_version_number If p_validate is false, then set to
150 * the version number of the created deployment. If p_validate is true,
151 * then the value will be null.
152 * @param p_policy_duration_warning In this release, always set to null.
153 * @rep:displayname Create Person Deployment Proposal
154 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ASG
155 * @rep:lifecycle active
156 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
157 * @rep:scope public
158 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
159 */
160 --
161 -- {End Of Comments}
162 --
163 --
164 procedure create_person_deployment
165 (p_validate in boolean default false
166 ,p_from_business_group_id in number
167 ,p_to_business_group_id in number
168 ,p_from_person_id in number
169 ,p_to_person_id in number default null
170 ,p_person_type_id in number default null
171 ,p_start_date in date
172 ,p_end_date in date default null
173 ,p_deployment_reason in varchar2 default null
174 ,p_employee_number in varchar2 default null
175 ,p_leaving_reason in varchar2 default null
176 ,p_leaving_person_type_id in number default null
177 ,p_permanent in varchar2 default null
178 ,p_deplymt_policy_id in number default null
179 ,p_organization_id in number
180 ,p_location_id in number default null
181 ,p_job_id in number default null
182 ,p_position_id in number default null
183 ,p_grade_id in number default null
184 ,p_supervisor_id in number default null
185 ,p_supervisor_assignment_id in number default null
186 ,p_retain_direct_reports in varchar2 default null
187 ,p_payroll_id in number default null
188 ,p_pay_basis_id in number default null
189 ,p_proposed_salary in varchar2 default null
190 ,p_people_group_id in number default null
191 ,p_soft_coding_keyflex_id in number default null
192 ,p_assignment_status_type_id in number default null
193 ,p_ass_status_change_reason in varchar2 default null
194 ,p_assignment_category in varchar2 default null
195 ,p_per_information1 in varchar2 default null
196 ,p_per_information2 in varchar2 default null
197 ,p_per_information3 in varchar2 default null
198 ,p_per_information4 in varchar2 default null
199 ,p_per_information5 in varchar2 default null
200 ,p_per_information6 in varchar2 default null
201 ,p_per_information7 in varchar2 default null
202 ,p_per_information8 in varchar2 default null
203 ,p_per_information9 in varchar2 default null
204 ,p_per_information10 in varchar2 default null
205 ,p_per_information11 in varchar2 default null
206 ,p_per_information12 in varchar2 default null
207 ,p_per_information13 in varchar2 default null
208 ,p_per_information14 in varchar2 default null
209 ,p_per_information15 in varchar2 default null
210 ,p_per_information16 in varchar2 default null
211 ,p_per_information17 in varchar2 default null
212 ,p_per_information18 in varchar2 default null
213 ,p_per_information19 in varchar2 default null
214 ,p_per_information20 in varchar2 default null
215 ,p_per_information21 in varchar2 default null
216 ,p_per_information22 in varchar2 default null
217 ,p_per_information23 in varchar2 default null
218 ,p_per_information24 in varchar2 default null
219 ,p_per_information25 in varchar2 default null
220 ,p_per_information26 in varchar2 default null
221 ,p_per_information27 in varchar2 default null
222 ,p_per_information28 in varchar2 default null
223 ,p_per_information29 in varchar2 default null
224 ,p_per_information30 in varchar2 default null
225 ,p_person_deployment_id out nocopy number
226 ,p_object_version_number out nocopy number
227 ,p_policy_duration_warning out nocopy boolean
228 );
229 --
230 -- ----------------------------------------------------------------------------
231 -- |-------------------------< update_person_deployment >---------------------|
232 -- ----------------------------------------------------------------------------
233 --
234 -- {Start Of Comments}
235 /*#
236 * This API updates an existing employee deployment record.
237 *
238 * The API cannot be used to update the type of deployment or the source and
239 * destination business groups.
240 *
241 * <p><b>Licensing</b><br>
242 * This API is licensed for use with Human Resources
243 *
244 * <p><b>Prerequisites</b><br>
245 * The deployment record must already exist. The assignment information
246 * provided must be valid on the deployment start date.
247 *
248 * <p><b>Post Success</b><br>
249 * The deployment record will have been updated.
250 *
251 * <p><b>Post Failure</b><br>
252 * The deployment record will not have been updated, and an error will
253 * be raised.
254 *
255 * @param p_validate If true, then validation alone will be performed and the
256 * database will remain unchanged. If false and all validation checks pass,
257 * then the database will be modified.
258 * @param p_person_deployment_id Identifies the deployment record to update.
259 * @param p_object_version_number Pass in the current version number of the
260 * deployment to be updated. When the API completes if p_validate is false,
261 * will be set to the new version number of the updated deployment.
262 * If p_validate is true will be set to the same value which was passed in.
263 * @param p_to_person_id If specified, identifies the person record in the
264 * destination business group which will track the deployment. If not
265 * specified, indicated that a new person record will be created when the
266 * deployment is initiated.
267 * @param p_person_type_id The person type to be used for the person in the
268 * destination business group when the deployment is initiated.
269 * @param p_start_date The start date of the deployment.
270 * @param p_end_date The end date of the deployment. Should be null for a
271 * permanent deployment.
272 * @param p_deployment_reason The reason for this deployment. Valid values must
273 * exist in the HR_DEPLOYMENT_REASONS lookup type.
274 * @param p_employee_number The employee number to be used for the person
275 * record in the destination business group when the deployment is initiated.
276 * @param p_leaving_reason The leaving reason to be used in the destination
277 * business group when a temporary deployment is being ended. Should not be
278 * entered for permanent deployments. Valid values must exist in the LEAV_REAS
279 * lookup type.
280 * @param p_leaving_person_type_id The person type of ex-employee to be used
281 * in the destination business group when a temporary deployment is being
282 * ended. Should not be entered for permanent deployments.
283 * @param p_status This parameter is reserved for future releases.
284 * Do not specify a value for this parameter.
285 * @param p_status_change_reason This parameter is reserved for future
286 * releases.Do not specify a value for this parameter.
287 * @param p_deplymt_policy_id This parameter is reserved for future releases.
288 * Do not specify a value for this parameter.
289 * @param p_organization_id The organization of the assignment to be created
290 * in the destination business group when the deployment is initiated.
291 * @param p_location_id The location of the assignment to be created
292 * in the destination business group when the deployment is initiated.
293 * @param p_job_id The job of the assignment to be created
294 * in the destination business group when the deployment is initiated.
295 * @param p_position_id The position of the assignment to be created
296 * in the destination business group when the deployment is initiated.
297 * @param p_grade_id The grade of the assignment to be created
298 * in the destination business group when the deployment is initiated.
299 * @param p_supervisor_id The supervisor of the assignment to be created
300 * in the destination business group when the deployment is initiated.
301 * @param p_supervisor_assignment_id The supervisor's assignment of the
302 * assignment to be created in the destination business group
303 * when the deployment is initiated.
304 * @param p_retain_direct_reports Flag indicating whether the employee's
305 * direct reports in the source business group need to be updated to the same
306 * employee's record but in the destination business group. For permanent
307 * deployments only.
308 * @param p_payroll_id The payroll of the assignment to be created
309 * in the destination business group when the deployment is initiated.
310 * @param p_pay_basis_id The salary basis of the assignment to be created
311 * in the destination business group when the deployment is initiated.
312 * @param p_proposed_salary The salary of the assignment to be created
313 * in the destination business group when the deployment is initiated.
314 * Do not enter a value for temporary deployments.
315 * @param p_people_group_id People Group key flexfield identifier for the
316 * assignment to be created in the destination business group when the
317 * deployment is initiated.
318 * @param p_soft_coding_keyflex_id Soft Coded key flexfield identifier for the
319 * assignment to be created in the destination business group when the
320 * deployment is initiated.
321 * @param p_assignment_status_type_id Assignment status of the assignment
322 * to be created in the destination business group when the deployment
323 * is initiated.
324 * @param p_ass_status_change_reason Change reason to be recorded on the
325 * assignment to be created in the destination business group when the
326 * deployment is initiated. Valid values must exist in the EMP_ASSIGN_REASON
327 * lookup type.
328 * @param p_assignment_category Assignment category of the assignment
329 * to be created in the destination business group when the deployment
330 * is initiated.
331 * @param p_per_information1 Developer descriptive flexfield segment.
332 * @param p_per_information2 Developer descriptive flexfield segment.
333 * @param p_per_information3 Developer descriptive flexfield segment.
334 * @param p_per_information4 Developer descriptive flexfield segment.
335 * @param p_per_information5 Developer descriptive flexfield segment.
336 * @param p_per_information6 Developer descriptive flexfield segment.
337 * @param p_per_information7 Developer descriptive flexfield segment.
338 * @param p_per_information8 Developer descriptive flexfield segment.
339 * @param p_per_information9 Developer descriptive flexfield segment.
340 * @param p_per_information10 Developer descriptive flexfield segment.
341 * @param p_per_information11 Developer descriptive flexfield segment.
342 * @param p_per_information12 Developer descriptive flexfield segment.
343 * @param p_per_information13 Developer descriptive flexfield segment.
344 * @param p_per_information14 Developer descriptive flexfield segment.
345 * @param p_per_information15 Developer descriptive flexfield segment.
346 * @param p_per_information16 Developer descriptive flexfield segment.
347 * @param p_per_information17 Developer descriptive flexfield segment.
348 * @param p_per_information18 Developer descriptive flexfield segment.
349 * @param p_per_information19 Developer descriptive flexfield segment.
350 * @param p_per_information20 Developer descriptive flexfield segment.
351 * @param p_per_information21 Developer descriptive flexfield segment.
352 * @param p_per_information22 Developer descriptive flexfield segment.
353 * @param p_per_information23 Developer descriptive flexfield segment.
354 * @param p_per_information24 Developer descriptive flexfield segment.
355 * @param p_per_information25 Developer descriptive flexfield segment.
356 * @param p_per_information26 Developer descriptive flexfield segment.
357 * @param p_per_information27 Developer descriptive flexfield segment.
358 * @param p_per_information28 Developer descriptive flexfield segment.
359 * @param p_per_information29 Developer descriptive flexfield segment.
360 * @param p_per_information30 Developer descriptive flexfield segment.
361 * @param p_policy_duration_warning In this release, always set to null.
362 * @rep:displayname Update Person Deployment.
363 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ASG
364 * @rep:lifecycle active
365 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
366 * @rep:scope public
367 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
368 */
369 --
370 -- {End Of Comments}
371 --
372 procedure update_person_deployment
373 (p_validate in boolean default false
374 ,p_person_deployment_id in number
375 ,p_object_version_number in out nocopy number
376 ,p_to_person_id in number default hr_api.g_number
377 ,p_person_type_id in number default hr_api.g_number
378 ,p_start_date in date default hr_api.g_date
379 ,p_end_date in date default hr_api.g_date
380 ,p_deployment_reason in varchar2 default hr_api.g_varchar2
381 ,p_employee_number in varchar2 default hr_api.g_varchar2
382 ,p_leaving_reason in varchar2 default hr_api.g_varchar2
383 ,p_leaving_person_type_id in number default hr_api.g_number
384 ,p_status in varchar2 default hr_api.g_varchar2
385 ,p_status_change_reason in varchar2 default hr_api.g_varchar2
386 ,p_deplymt_policy_id in number default hr_api.g_number
387 ,p_organization_id in number default hr_api.g_number
388 ,p_location_id in number default hr_api.g_number
389 ,p_job_id in number default hr_api.g_number
390 ,p_position_id in number default hr_api.g_number
391 ,p_grade_id in number default hr_api.g_number
392 ,p_supervisor_id in number default hr_api.g_number
393 ,p_supervisor_assignment_id in number default hr_api.g_number
394 ,p_retain_direct_reports in varchar2 default hr_api.g_varchar2
395 ,p_payroll_id in number default hr_api.g_number
396 ,p_pay_basis_id in number default hr_api.g_number
397 ,p_proposed_salary in varchar2 default hr_api.g_varchar2
398 ,p_people_group_id in number default hr_api.g_number
399 ,p_soft_coding_keyflex_id in number default hr_api.g_number
400 ,p_assignment_status_type_id in number default hr_api.g_number
401 ,p_ass_status_change_reason in varchar2 default hr_api.g_varchar2
402 ,p_assignment_category in varchar2 default hr_api.g_varchar2
403 ,p_per_information1 in varchar2 default hr_api.g_varchar2
404 ,p_per_information2 in varchar2 default hr_api.g_varchar2
405 ,p_per_information3 in varchar2 default hr_api.g_varchar2
406 ,p_per_information4 in varchar2 default hr_api.g_varchar2
407 ,p_per_information5 in varchar2 default hr_api.g_varchar2
408 ,p_per_information6 in varchar2 default hr_api.g_varchar2
409 ,p_per_information7 in varchar2 default hr_api.g_varchar2
410 ,p_per_information8 in varchar2 default hr_api.g_varchar2
411 ,p_per_information9 in varchar2 default hr_api.g_varchar2
412 ,p_per_information10 in varchar2 default hr_api.g_varchar2
413 ,p_per_information11 in varchar2 default hr_api.g_varchar2
414 ,p_per_information12 in varchar2 default hr_api.g_varchar2
415 ,p_per_information13 in varchar2 default hr_api.g_varchar2
416 ,p_per_information14 in varchar2 default hr_api.g_varchar2
417 ,p_per_information15 in varchar2 default hr_api.g_varchar2
418 ,p_per_information16 in varchar2 default hr_api.g_varchar2
419 ,p_per_information17 in varchar2 default hr_api.g_varchar2
420 ,p_per_information18 in varchar2 default hr_api.g_varchar2
421 ,p_per_information19 in varchar2 default hr_api.g_varchar2
422 ,p_per_information20 in varchar2 default hr_api.g_varchar2
423 ,p_per_information21 in varchar2 default hr_api.g_varchar2
424 ,p_per_information22 in varchar2 default hr_api.g_varchar2
425 ,p_per_information23 in varchar2 default hr_api.g_varchar2
426 ,p_per_information24 in varchar2 default hr_api.g_varchar2
427 ,p_per_information25 in varchar2 default hr_api.g_varchar2
428 ,p_per_information26 in varchar2 default hr_api.g_varchar2
429 ,p_per_information27 in varchar2 default hr_api.g_varchar2
430 ,p_per_information28 in varchar2 default hr_api.g_varchar2
431 ,p_per_information29 in varchar2 default hr_api.g_varchar2
432 ,p_per_information30 in varchar2 default hr_api.g_varchar2
433 ,p_policy_duration_warning out nocopy boolean
434 );
435 --
436 -- ----------------------------------------------------------------------------
437 -- |-------------------------< delete_person_deployment >---------------------|
438 -- ----------------------------------------------------------------------------
439 --
440 -- {Start Of Comments}
441 /*#
442 * This API deletes a deployment record.
443 *
444 * <p><b>Licensing</b><br>
445 * This API is licensed for use with Human Resources.
446 *
447 * <p><b>Prerequisites</b><br>
448 * The deployment record already exists and is in DRAFT or COMPLETE status.
449 * If the deployment status is ACTIVE, the record cannot be deleted.
450 *
451 * <p><b>Post Success</b><br>
452 * The deployment record is successfully removed from the database.
453 *
454 * <p><b>Post Failure</b><br>
455 * The deployment is not deleted and an error is raised.
456 *
457 * @param p_validate If true, then validation alone will be performed and the
458 * database will remain unchanged. If false and all validation checks pass,
459 * then the database will be modified.
460 * @param p_person_deployment_id Identifies the deployment record to be
461 * deleted.
462 * @param p_object_version_number Current version number of the deployment
463 * to be deleted.
464 * @rep:displayname Delete Person Deployment
465 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ASG
466 * @rep:lifecycle active
467 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
468 * @rep:scope public
469 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
470 */
471 --
472 -- {End Of Comments}
473 --
474 procedure delete_person_deployment
475 (p_validate in boolean default false
476 ,p_person_deployment_id in number
477 ,p_object_version_number in number
478 );
479 --
480 -- ----------------------------------------------------------------------------
481 -- |---------------------------< initiate_deployment >------------------------|
482 -- ----------------------------------------------------------------------------
483 --
484 -- {Start Of Comments}
485 /*#
486 * This API initiates a deployment for an employee.
487 *
488 * If the person already exists in the destination business group, the API
489 * converts the person to an employee. If the person does not exists, a new
490 * employee is created. If the deployment is permanent, the employee record
491 * in the source business group is terminated. If the deployment is temporary,
492 * the assignments are suspended but the employee is not terminated.
493 * If they exists, deployment EIT and deployment contact records are used to
494 * create EITs and contacts in the destination business group.
495 *
496 * <p><b>Licensing</b><br>
497 * This API is licensed for use with Human Resources.
498 *
499 * <p><b>Prerequisites</b><br>
500 * The deployment record specified exists, and there does not exists another
501 * deployment of ACTIVE status that overlaps the start or end dates.
502 *
503 * <p><b>Post Success</b><br>
504 * The employee is created, or person converted to an employee, and assignment
505 * is created in the destination business group. The employment is terminated
506 * or assignmemts suspended in the source business group.
507 *
508 * <p><b>Post Failure</b><br>
509 * The person and assignment records are not processed and an error is raised.
510 *
511 * @param p_validate If true, then validation alone will be performed and the
512 * database will remain unchanged. If false and all validation checks pass,
513 * then the database will be modified.
514 * @param p_person_deployment_id Identifies the deployment record to process.
515 * @param p_object_version_number Pass in the current version number of the
516 * deployment to be initiated. When the API completes if p_validate is false,
517 * will be set to the new version number of the updated deployment.
518 * If p_validate is true will be set to the same value which was passed in.
519 * @param p_host_person_id Identifes the person record created or updated
520 * in the destination business group.
521 * @param p_host_per_ovn If p_validate is false, then set to the version
522 * number of the person created or updated in the destination business group.
523 * If p_validate is true, then set to null.
524 * @param p_host_assignment_id Identifies the assignment record that was
525 * created in the destination business group for this deployment.
526 * @param p_host_asg_ovn If p_validate is false, then set to the version
527 * number of the assignment created or updated in the destination
528 * business group. If p_validate is true, then set to null.
529 * @param p_already_applicant_warning If set to true, then the person already
530 * exists in the destination business group and has applicant records.
531 * @rep:displayname Initiate Deployment
532 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ASG
533 * @rep:lifecycle active
534 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
535 * @rep:scope public
536 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
537 */
538 --
539 -- {End Of Comments}
540 --
541 procedure initiate_deployment
542 (p_validate in boolean default false
543 ,p_person_deployment_id in number
544 ,p_object_version_number in out nocopy number
545 ,p_host_person_id out nocopy number
546 ,p_host_per_ovn out nocopy number
547 ,p_host_assignment_id out nocopy number
548 ,p_host_asg_ovn out nocopy number
549 ,p_already_applicant_warning out nocopy boolean
550 );
551 --
552 -- ----------------------------------------------------------------------------
553 -- |-------------------------< change_deployment_dates >----------------------|
554 -- ----------------------------------------------------------------------------
555 --
556 -- {Start Of Comments}
557 /*#
558 * This API updates the start or end date of an active deployment.
559 *
560 * The API is used to keep synchronization between the start of the person
561 * and assignment records in the destination business group and the suspension
562 * of the assignments in the source business group.
563 *
564 * <p><b>Licensing</b><br>
565 * This API is licensed for use with Human Resources.
566 *
567 * <p><b>Prerequisites</b><br>
568 * The deployment exists, with status ACTIVE, and is a temporary deployment.
569 *
570 * <p><b>Post Success</b><br>
571 * The person and assignment start dates in the destination business group are
572 * changed and the date the source business group assignments are suspended
573 * is changed.
574 *
575 * <p><b>Post Failure</b><br>
576 * No changes are made to person or assignment records and an error is raised.
577 *
578 * @param p_validate If true, then validation alone will be performed and the
579 * database will remain unchanged. If false and all validation checks pass,
580 * then the database will be modified.
581 * @param p_person_deployment_id Identifies the deployment record to update.
582 * @param p_object_version_number Pass in the current version number of the
583 * deployment to be updated. When the API completes if p_validate is false,
584 * will be set to the new version number of the updated deployment.
585 * @param p_start_date The new start date of the deployment.
586 * @param p_end_date The new end date of the deployment.
587 * @param p_deplymt_policy_id This parameter is reserved for future releases.
588 * Do not specify a value for this parameter.
589 * @rep:displayname Update Active Deployment Dates
590 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ASG
591 * @rep:lifecycle active
592 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
593 * @rep:scope public
594 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
595 */
596 --
597 -- {End Of Comments}
598 --
599 procedure change_deployment_dates
600 (p_validate in boolean default false
601 ,p_person_deployment_id in number
602 ,p_object_version_number in out nocopy number
603 ,p_start_date in date default hr_api.g_date
604 ,p_end_date in date default hr_api.g_date
605 ,p_deplymt_policy_id in number default hr_api.g_number
606 );
607 --
608 -- ----------------------------------------------------------------------------
609 -- |--------------------------< return_from_deployment >----------------------|
610 -- ----------------------------------------------------------------------------
611 --
612 -- {Start Of Comments}
613 /*#
614 * This API processes the return of an employee from a temporary deployment.
615 *
616 * The API terminates the employment in the destination business group and
617 * activates the assignments in the source busineess group.
618 *
619 * <p><b>Licensing</b><br>
620 * This API is licensed for use with Human Resources.
621 *
622 * <p><b>Prerequisites</b><br>
623 * The deployment exists, is temporary, and has status of ACTIVE.
624 *
625 * <p><b>Post Success</b><br>
626 * The employment is the destination business group is terminated successfully,
627 * and the assignments in the source business group are activated.
628 *
629 * <p><b>Post Failure</b><br>
630 * The database records are not updated and an error is raised.
631 *
632 * @param p_validate If true, then validation alone will be performed and the
633 * database will remain unchanged. If false and all validation checks pass,
634 * then the database will be modified.
635 * @param p_person_deployment_id Identifies the deployment record to initiate
636 * the return.
637 * @param p_object_version_number Pass in the current version number of the
638 * deployment to be updated. When the API completes if p_validate is false,
639 * will be set to the new version number of the updated deployment.
640 * @param p_end_date The end date of the deployment.
641 * @param p_leaving_reason The leaving reason to use in the termination of the
642 * employment in the destination business group.
643 * Valid values must exist in the LEAV_REAS lookup type.
644 * @param p_leaving_person_type_id The person type of ex-employee to be used
645 * in the destination business group.
646 * @rep:displayname Initiate Return from Deployment
647 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ASG
648 * @rep:lifecycle active
649 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
650 * @rep:scope public
651 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
652 */
653 --
654 -- {End Of Comments}
655 --
656 procedure return_from_deployment
657 (p_validate in boolean default false
658 ,p_person_deployment_id in number
659 ,p_object_version_number in out nocopy number
660 ,p_end_date in date default hr_api.g_date
661 ,p_leaving_reason in varchar2 default hr_api.g_varchar2
662 ,p_leaving_person_type_id in number default hr_api.g_number
663 );
664 --
665 end HR_PERSON_DEPLOYMENT_API;