1 Package hr_position_api as
2 /* $Header: peposapi.pkh 120.5.12010000.1 2008/07/28 05:23:44 appldev ship $ */
3 /*#
4 * This package contains position APIs.
5 * @rep:scope public
6 * @rep:product per
7 * @rep:displayname Position
8 */
9 FULL_HR boolean;
10 --
11 --
12 g_debug boolean := hr_utility.debug_enabled;
13 --
14 -- ----------------------------------------------------------------------------
15 -- |-----------------------------< create_position >--------------------------|
16 -- ----------------------------------------------------------------------------
17 --
18 -- {Start Of Comments}
19 /*#
20 * This API creates a position which is a specific occurrence of a job within
21 * an organization and should be used if you are a Shared HR (HR Foundation)
22 * user and do not have HR fully installed.
23 *
24 * Based on the position definition segments which are passed a position
25 * definition id is selected for the position, or a new position definition
26 * record is created.
27 *
28 * <p><b>Licensing</b><br>
29 * This API version is licensed for use with HR Foundation.
30 *
31 * <p><b>Prerequisites</b><br>
32 * A valid organization and job must be passed to the API. Also at least one
33 * segment for position definition must have a value.
34 *
35 * <p><b>Restricted Usage Notes</b><br>
36 * You can use all of the parameters in the version of this API that is
37 * specifically for HR Foundation users.
38 *
39 * <p><b>Post Success</b><br>
40 * The API creates the position successfully in the database.
41 *
42 * <p><b>Post Failure</b><br>
43 * The position is not created in the database and an error is raised.
44 * @param p_validate If true, then validation alone will be performed and the
45 * database will remain unchanged. If false and all validation checks pass,
46 * then the database will be modified.
47 * @param p_job_id The job for the position.
48 * @param p_organization_id The organization for which the position belongs.
49 * @param p_date_effective The date on which the position becomes active.
50 * @param p_successor_position_id Identifies the successor position.
51 * @param p_relief_position_id Identifies the relief position.
52 * @param p_location_id The location of the position.
53 * @param p_comments Comment text.
54 * @param p_date_end The date on which the position is no longer active.
55 * @param p_frequency Frequency of working hours. Valid values are defined by
56 * 'FREQUENCY' lookup_type.
57 * @param p_probation_period Length of probation period.
58 * @param p_probation_period_units Units that the probation period is measured
59 * in. Valid values are defined by 'QUALIFYING_UNITS' lookup_type.
60 * @param p_replacement_required_flag Identifies if a replacement is required
61 * when person assigned is absent. Valid values are defined by 'YES_NO' lookup
62 * type.
63 * @param p_time_normal_finish Normal end time.
64 * @param p_time_normal_start Normal start time.
65 * @param p_status Position status. Valid values are defined by
66 * 'POSITION_STATUS' lookup type.
67 * @param p_working_hours Number of normal working hours.
68 * @param p_attribute_category This context value determines which flexfield
69 * structure to use with the descriptive flexfield segments.
70 * @param p_attribute1 Descriptive flexfield segment.
71 * @param p_attribute2 Descriptive flexfield segment.
72 * @param p_attribute3 Descriptive flexfield segment.
73 * @param p_attribute4 Descriptive flexfield segment.
74 * @param p_attribute5 Descriptive flexfield segment.
75 * @param p_attribute6 Descriptive flexfield segment.
76 * @param p_attribute7 Descriptive flexfield segment.
77 * @param p_attribute8 Descriptive flexfield segment.
78 * @param p_attribute9 Descriptive flexfield segment.
79 * @param p_attribute10 Descriptive flexfield segment.
80 * @param p_attribute11 Descriptive flexfield segment.
81 * @param p_attribute12 Descriptive flexfield segment.
82 * @param p_attribute13 Descriptive flexfield segment.
83 * @param p_attribute14 Descriptive flexfield segment.
84 * @param p_attribute15 Descriptive flexfield segment.
85 * @param p_attribute16 Descriptive flexfield segment.
86 * @param p_attribute17 Descriptive flexfield segment.
87 * @param p_attribute18 Descriptive flexfield segment.
88 * @param p_attribute19 Descriptive flexfield segment.
89 * @param p_attribute20 Descriptive flexfield segment.
90 * @param p_segment1 Key flexfield segment.
91 * @param p_segment2 Key flexfield segment.
92 * @param p_segment3 Key flexfield segment.
93 * @param p_segment4 Key flexfield segment.
94 * @param p_segment5 Key flexfield segment.
95 * @param p_segment6 Key flexfield segment.
96 * @param p_segment7 Key flexfield segment.
97 * @param p_segment8 Key flexfield segment.
98 * @param p_segment9 Key flexfield segment.
99 * @param p_segment10 Key flexfield segment.
100 * @param p_segment11 Key flexfield segment.
101 * @param p_segment12 Key flexfield segment.
102 * @param p_segment13 Key flexfield segment.
103 * @param p_segment14 Key flexfield segment.
104 * @param p_segment15 Key flexfield segment.
105 * @param p_segment16 Key flexfield segment.
106 * @param p_segment17 Key flexfield segment.
107 * @param p_segment18 Key flexfield segment.
108 * @param p_segment19 Key flexfield segment.
109 * @param p_segment20 Key flexfield segment.
110 * @param p_segment21 Key flexfield segment.
111 * @param p_segment22 Key flexfield segment.
112 * @param p_segment23 Key flexfield segment.
113 * @param p_segment24 Key flexfield segment.
114 * @param p_segment25 Key flexfield segment.
115 * @param p_segment26 Key flexfield segment.
116 * @param p_segment27 Key flexfield segment.
117 * @param p_segment28 Key flexfield segment.
118 * @param p_segment29 Key flexfield segment.
119 * @param p_segment30 Key flexfield segment.
120 * @param p_concat_segments Concatenated string of segment values
121 * @param p_position_id If p_validate is false, then this uniquely identifies
122 * the position created. If p_validate is true, then set to null.
123 * @param p_object_version_number If p_validate is false, then set to the
124 * version number of the created position. If p_validate is true, then the
125 * value will be null.
126 * @param p_position_definition_id If p_validate is false, then this uniquely
127 * identifies the combination of position segments created. If p_validate is
128 * true, then set to null.
129 * @param p_name If p_validate is false, then this identifies concatenation of
130 * all name segments. If p_validate is true, then set to null.
131 * @rep:displayname Create Position
132 * @rep:category BUSINESS_ENTITY PER_POSITION
133 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
134 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
135 * @rep:scope public
136 * @rep:lifecycle active
137 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
138 */
139 --
140 -- {End Of Comments}
141 --
142 procedure create_position
143 (p_validate in boolean default false
144 ,p_job_id in number
145 ,p_organization_id in number
146 ,p_date_effective in date
147 ,p_successor_position_id in number default null
148 ,p_relief_position_id in number default null
149 ,p_location_id in number default null
150 ,p_comments in varchar2 default null
151 ,p_date_end in date default null
152 ,p_frequency in varchar2 default null
153 ,p_probation_period in number default null
154 ,p_probation_period_units in varchar2 default null
155 ,p_replacement_required_flag in varchar2 default null
156 ,p_time_normal_finish in varchar2 default null
157 ,p_time_normal_start in varchar2 default null
158 ,p_status in varchar2 default null
159 ,p_working_hours in number default null
160 ,p_attribute_category in varchar2 default null
161 ,p_attribute1 in varchar2 default null
162 ,p_attribute2 in varchar2 default null
163 ,p_attribute3 in varchar2 default null
164 ,p_attribute4 in varchar2 default null
165 ,p_attribute5 in varchar2 default null
166 ,p_attribute6 in varchar2 default null
167 ,p_attribute7 in varchar2 default null
168 ,p_attribute8 in varchar2 default null
169 ,p_attribute9 in varchar2 default null
170 ,p_attribute10 in varchar2 default null
171 ,p_attribute11 in varchar2 default null
172 ,p_attribute12 in varchar2 default null
173 ,p_attribute13 in varchar2 default null
174 ,p_attribute14 in varchar2 default null
175 ,p_attribute15 in varchar2 default null
176 ,p_attribute16 in varchar2 default null
177 ,p_attribute17 in varchar2 default null
178 ,p_attribute18 in varchar2 default null
179 ,p_attribute19 in varchar2 default null
180 ,p_attribute20 in varchar2 default null
181 ,p_segment1 in varchar2 default null
182 ,p_segment2 in varchar2 default null
183 ,p_segment3 in varchar2 default null
184 ,p_segment4 in varchar2 default null
185 ,p_segment5 in varchar2 default null
186 ,p_segment6 in varchar2 default null
187 ,p_segment7 in varchar2 default null
188 ,p_segment8 in varchar2 default null
189 ,p_segment9 in varchar2 default null
190 ,p_segment10 in varchar2 default null
191 ,p_segment11 in varchar2 default null
192 ,p_segment12 in varchar2 default null
193 ,p_segment13 in varchar2 default null
194 ,p_segment14 in varchar2 default null
195 ,p_segment15 in varchar2 default null
196 ,p_segment16 in varchar2 default null
197 ,p_segment17 in varchar2 default null
198 ,p_segment18 in varchar2 default null
199 ,p_segment19 in varchar2 default null
200 ,p_segment20 in varchar2 default null
201 ,p_segment21 in varchar2 default null
202 ,p_segment22 in varchar2 default null
203 ,p_segment23 in varchar2 default null
204 ,p_segment24 in varchar2 default null
205 ,p_segment25 in varchar2 default null
206 ,p_segment26 in varchar2 default null
207 ,p_segment27 in varchar2 default null
208 ,p_segment28 in varchar2 default null
209 ,p_segment29 in varchar2 default null
210 ,p_segment30 in varchar2 default null
211 ,p_concat_segments in varchar2 default null
212 ,p_position_id out nocopy number
213 ,p_object_version_number out nocopy number
214 ,p_position_definition_id in out nocopy number
215 ,p_name in out nocopy varchar2
216 );
217 --
218 -- ----------------------------------------------------------------------------
219 -- |-----------------------------< update_position >--------------------------|
220 -- ----------------------------------------------------------------------------
221 --
222 -- {Start Of Comments}
223 /*#
224 * This API updates a position and should be used if you are a Shared HR (HR
225 * Foundation) user and do not have HR fully installed.
226 *
227 * The position to be updated is identified by the in parameter p_position_id
228 * and the in out parameter p_object_version_number.
229 *
230 * <p><b>Licensing</b><br>
231 * This API version is licensed for use with HR Foundation.
232 *
233 * <p><b>Prerequisites</b><br>
234 * The position that is to be updated must already exist.
235 *
236 * <p><b>Post Success</b><br>
237 * The position is updated successfully in the database.
238 *
239 * <p><b>Post Failure</b><br>
240 * The position is not updated in the database and an error is raised.
241 * @param p_validate If true, then validation alone will be performed and the
242 * database will remain unchanged. If false and all validation checks pass,
243 * then the database will be modified.
244 * @param p_position_id Identifies the position to be modified.
245 * @param p_object_version_number Pass in the current version number of the
246 * position to be updated. When the API completes if p_validate is false, will
247 * be set to the new version number of the updated position. If p_validate is
248 * true will be set to the same value which was passed in.
249 * @param p_language_code Specifies to which language the translation values
250 * apply. You can set to the base or any installed language. The default value
251 * of hr_api.userenv_lang is equivalent to the RDBMS userenv('LANG') function
252 * value.
253 * @param p_successor_position_id Identifies the successor position.
254 * @param p_relief_position_id Identifies the relief position.
255 * @param p_location_id The location of the position.
256 * @param p_date_effective The date on which the position becomes active.
257 * @param p_comments Comment text.
258 * @param p_date_end The date on which the position is no longer active.
259 * @param p_frequency Frequency of working hours. Valid values are defined by
260 * 'FREQUENCY' lookup_type.
261 * @param p_probation_period Length of probation period.
262 * @param p_probation_period_units Units that the probation period is measured
263 * in. Valid values are defined by 'QUALIFYING_UNITS' lookup_type.
264 * @param p_replacement_required_flag Identifies if a replacement is required
265 * when person assigned is absent. Valid values are defined by 'YES_NO' lookup
266 * type.
267 * @param p_time_normal_finish Normal end time.
268 * @param p_time_normal_start Normal start time.
269 * @param p_status Position status. Valid values are defined by
270 * 'POSITION_STATUS' lookup type.
271 * @param p_working_hours Number of normal working hours.
272 * @param p_attribute_category This context value determines which flexfield
273 * structure to use with the descriptive flexfield segments.
274 * @param p_attribute1 Descriptive flexfield segment.
275 * @param p_attribute2 Descriptive flexfield segment.
276 * @param p_attribute3 Descriptive flexfield segment.
277 * @param p_attribute4 Descriptive flexfield segment.
278 * @param p_attribute5 Descriptive flexfield segment.
279 * @param p_attribute6 Descriptive flexfield segment.
280 * @param p_attribute7 Descriptive flexfield segment.
281 * @param p_attribute8 Descriptive flexfield segment.
282 * @param p_attribute9 Descriptive flexfield segment.
283 * @param p_attribute10 Descriptive flexfield segment.
284 * @param p_attribute11 Descriptive flexfield segment.
285 * @param p_attribute12 Descriptive flexfield segment.
286 * @param p_attribute13 Descriptive flexfield segment.
287 * @param p_attribute14 Descriptive flexfield segment.
288 * @param p_attribute15 Descriptive flexfield segment.
289 * @param p_attribute16 Descriptive flexfield segment.
290 * @param p_attribute17 Descriptive flexfield segment.
291 * @param p_attribute18 Descriptive flexfield segment.
292 * @param p_attribute19 Descriptive flexfield segment.
293 * @param p_attribute20 Descriptive flexfield segment.
294 * @param p_segment1 Key flexfield segment.
295 * @param p_segment2 Key flexfield segment.
296 * @param p_segment3 Key flexfield segment.
297 * @param p_segment4 Key flexfield segment.
298 * @param p_segment5 Key flexfield segment.
299 * @param p_segment6 Key flexfield segment.
300 * @param p_segment7 Key flexfield segment.
301 * @param p_segment8 Key flexfield segment.
302 * @param p_segment9 Key flexfield segment.
303 * @param p_segment10 Key flexfield segment.
304 * @param p_segment11 Key flexfield segment.
305 * @param p_segment12 Key flexfield segment.
306 * @param p_segment13 Key flexfield segment.
307 * @param p_segment14 Key flexfield segment.
308 * @param p_segment15 Key flexfield segment.
309 * @param p_segment16 Key flexfield segment.
310 * @param p_segment17 Key flexfield segment.
311 * @param p_segment18 Key flexfield segment.
312 * @param p_segment19 Key flexfield segment.
313 * @param p_segment20 Key flexfield segment.
314 * @param p_segment21 Key flexfield segment.
315 * @param p_segment22 Key flexfield segment.
316 * @param p_segment23 Key flexfield segment.
317 * @param p_segment24 Key flexfield segment.
318 * @param p_segment25 Key flexfield segment.
319 * @param p_segment26 Key flexfield segment.
320 * @param p_segment27 Key flexfield segment.
321 * @param p_segment28 Key flexfield segment.
322 * @param p_segment29 Key flexfield segment.
323 * @param p_segment30 Key flexfield segment.
324 * @param p_concat_segments Concatenated string of segment values
325 * @param p_position_definition_id If p_validate is false, then this uniquely
326 * identifies the combination of position segments created. If p_validate is
327 * true, then set to null.
328 * @param p_name If p_validate is false, then this identifies concatenation of
329 * all name segments. If p_validate is true, then set to null.
330 * @param p_valid_grades_changed_warning Set to true when either the position
331 * date effective or date end have been modified and at least one valid grade
332 * has been updated or deleted. Set to false when neither the position date
333 * effective or date end have been modified, or either of them has been
334 * modified but no valid grades were altered.
335 * @rep:displayname Update Position
336 * @rep:category BUSINESS_ENTITY PER_POSITION
337 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
338 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
339 * @rep:scope public
340 * @rep:lifecycle active
341 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
342 */
343 --
344 -- {End Of Comments}
345 --
346 procedure update_position
347 (p_validate in boolean default false
348 ,p_position_id in number
349 ,p_object_version_number in out nocopy number
350 ,p_language_code in varchar2 default hr_api.userenv_lang
351 ,p_successor_position_id in number default hr_api.g_number
352 ,p_relief_position_id in number default hr_api.g_number
353 ,p_location_id in number default hr_api.g_number
354 ,p_date_effective in date default hr_api.g_date
355 ,p_comments in varchar2 default hr_api.g_varchar2
356 ,p_date_end in date default hr_api.g_date
357 ,p_frequency in varchar2 default hr_api.g_varchar2
358 ,p_probation_period in number default hr_api.g_number
359 ,p_probation_period_units in varchar2 default hr_api.g_varchar2
360 ,p_replacement_required_flag in varchar2 default hr_api.g_varchar2
361 ,p_time_normal_finish in varchar2 default hr_api.g_varchar2
362 ,p_time_normal_start in varchar2 default hr_api.g_varchar2
363 ,p_status in varchar2 default hr_api.g_varchar2
364 ,p_working_hours in number default hr_api.g_number
365 ,p_attribute_category in varchar2 default hr_api.g_varchar2
366 ,p_attribute1 in varchar2 default hr_api.g_varchar2
367 ,p_attribute2 in varchar2 default hr_api.g_varchar2
368 ,p_attribute3 in varchar2 default hr_api.g_varchar2
369 ,p_attribute4 in varchar2 default hr_api.g_varchar2
370 ,p_attribute5 in varchar2 default hr_api.g_varchar2
371 ,p_attribute6 in varchar2 default hr_api.g_varchar2
372 ,p_attribute7 in varchar2 default hr_api.g_varchar2
373 ,p_attribute8 in varchar2 default hr_api.g_varchar2
374 ,p_attribute9 in varchar2 default hr_api.g_varchar2
375 ,p_attribute10 in varchar2 default hr_api.g_varchar2
376 ,p_attribute11 in varchar2 default hr_api.g_varchar2
377 ,p_attribute12 in varchar2 default hr_api.g_varchar2
378 ,p_attribute13 in varchar2 default hr_api.g_varchar2
379 ,p_attribute14 in varchar2 default hr_api.g_varchar2
380 ,p_attribute15 in varchar2 default hr_api.g_varchar2
381 ,p_attribute16 in varchar2 default hr_api.g_varchar2
382 ,p_attribute17 in varchar2 default hr_api.g_varchar2
383 ,p_attribute18 in varchar2 default hr_api.g_varchar2
384 ,p_attribute19 in varchar2 default hr_api.g_varchar2
385 ,p_attribute20 in varchar2 default hr_api.g_varchar2
386 ,p_segment1 in varchar2 default hr_api.g_varchar2
387 ,p_segment2 in varchar2 default hr_api.g_varchar2
388 ,p_segment3 in varchar2 default hr_api.g_varchar2
389 ,p_segment4 in varchar2 default hr_api.g_varchar2
390 ,p_segment5 in varchar2 default hr_api.g_varchar2
391 ,p_segment6 in varchar2 default hr_api.g_varchar2
392 ,p_segment7 in varchar2 default hr_api.g_varchar2
393 ,p_segment8 in varchar2 default hr_api.g_varchar2
394 ,p_segment9 in varchar2 default hr_api.g_varchar2
395 ,p_segment10 in varchar2 default hr_api.g_varchar2
396 ,p_segment11 in varchar2 default hr_api.g_varchar2
397 ,p_segment12 in varchar2 default hr_api.g_varchar2
398 ,p_segment13 in varchar2 default hr_api.g_varchar2
399 ,p_segment14 in varchar2 default hr_api.g_varchar2
400 ,p_segment15 in varchar2 default hr_api.g_varchar2
401 ,p_segment16 in varchar2 default hr_api.g_varchar2
402 ,p_segment17 in varchar2 default hr_api.g_varchar2
403 ,p_segment18 in varchar2 default hr_api.g_varchar2
404 ,p_segment19 in varchar2 default hr_api.g_varchar2
405 ,p_segment20 in varchar2 default hr_api.g_varchar2
406 ,p_segment21 in varchar2 default hr_api.g_varchar2
407 ,p_segment22 in varchar2 default hr_api.g_varchar2
408 ,p_segment23 in varchar2 default hr_api.g_varchar2
409 ,p_segment24 in varchar2 default hr_api.g_varchar2
410 ,p_segment25 in varchar2 default hr_api.g_varchar2
411 ,p_segment26 in varchar2 default hr_api.g_varchar2
412 ,p_segment27 in varchar2 default hr_api.g_varchar2
413 ,p_segment28 in varchar2 default hr_api.g_varchar2
414 ,p_segment29 in varchar2 default hr_api.g_varchar2
415 ,p_segment30 in varchar2 default hr_api.g_varchar2
416 ,p_concat_segments in varchar2 default hr_api.g_varchar2
417 ,p_position_definition_id in out nocopy number
418 ,p_name in out nocopy varchar2
419 ,p_valid_grades_changed_warning out nocopy boolean
420 );
421 --
422 -- ----------------------------------------------------------------------------
423 -- |-----------------------------< delete_position >--------------------------|
424 -- ----------------------------------------------------------------------------
425 --
426 -- {Start Of Comments}
427 /*#
428 * This API deletes a position and should be used if you are a Shared HR (HR
429 * Foundation) user and do not have HR fully installed.
430 *
431 * The position to be deleted is identified by the in parameter p_position_id
432 * and the in parameter p_object_version_number.
433 *
434 * <p><b>Licensing</b><br>
435 * This API is licensed for use with HR Foundation.
436 *
437 * <p><b>Prerequisites</b><br>
438 * The position to be deleted must already exist. The position to be deleted
439 * must not be used in any assignment.
440 *
441 * <p><b>Post Success</b><br>
442 * The position is deleted successfully from the database.
443 *
444 * <p><b>Post Failure</b><br>
445 * The position is not deleted from the database and error is raised.
446 * @param p_validate If true, then validation alone will be performed and the
447 * database will remain unchanged. If false and all validation checks pass,
448 * then the database will be modified.
449 * @param p_position_id Identifies the position to be deleted.
450 * @param p_object_version_number Current version number of the position to be
451 * deleted.
452 * @rep:displayname Delete Position
453 * @rep:category BUSINESS_ENTITY PER_POSITION
454 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
455 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
456 * @rep:scope public
457 * @rep:lifecycle active
458 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
459 */
460 --
461 -- {End Of Comments}
462 --
463 procedure delete_position(
464 p_validate boolean default false,
465 p_position_id number,
466 p_object_version_number number
467 );
468 --
469 -- ----------------------------------------------------------------------------
470 -- |------------------------< lck >-------------------------------------------|
471 -- ----------------------------------------------------------------------------
472 -- NON DATETRACK LOCK
473 procedure lck
474 (
475 p_position_id in number
476 ,p_object_version_number in number
477 ,p_language_code in varchar2 default hr_api.userenv_lang
478 );
479 --
480 -- ----------------------------------------------------------------------------
481 -- |-----------------------------< create_position >--------------------------|
482 -- ----------------------------------------------------------------------------
483 --
484 -- {Start Of Comments}
485 /*#
486 * This API creates a position which is a specific occurrence of a job within
487 * an organization and should be used if you have HR fully installed.
488 *
489 * This overload version provides DateTrack features. Based on the position
490 * definition segments which are passed a position definition id is selected
491 * for the position, or a new position definition record is created.
492 *
493 * <p><b>Licensing</b><br>
494 * This API version is licensed for use with Human Resources.
495 *
496 * <p><b>Prerequisites</b><br>
497 * A valid organization and job must be passed to the API. Also at least one
498 * segment for position definition must have a value.
499 *
500 * <p><b>Post Success</b><br>
501 * The position will be created successfully in the database.
502 *
503 * <p><b>Post Failure</b><br>
504 * The position will not be created and an error will be raised.
505 * @param p_position_id If p_validate is false, then this uniquely identifies
506 * the position created. If p_validate is true, then set to null.
507 * @param p_effective_start_date If p_validate is false, then set to the
508 * earliest effective start date for the created position. If p_validate is
509 * true, then set to null.
510 * @param p_effective_end_date If p_validate is false, then set to the
511 * effective end date for the created position. If p_validate is true, then set
512 * to null.
513 * @param p_position_definition_id If p_validate is false, then this uniquely
514 * identifies the combination of position segments created. If p_validate is
515 * true, then set to null.
516 * @param p_name If p_validate is false, then this identifies concatenation of
517 * all name segments. If p_validate is true, then set to null.
518 * @param p_object_version_number If p_validate is false, then set to the
519 * version number of the created position. If p_validate is true, then the
520 * value will be null.
521 * @param p_job_id The job for the position.
522 * @param p_organization_id The organization to which the position belongs.
523 * @param p_effective_date Determines when the DateTrack operation comes into
524 * force.
525 * @param p_date_effective The date on which the position becomes active.
526 * @param p_language_code Specifies to which language the translation values
527 * apply. You can set to the base or any installed language. The default value
528 * of hr_api.userenv_lang is equivalent to the RDBMS userenv('LANG') function
529 * value.
530 * @param p_validate If true, then validation alone will be performed and the
531 * database will remain unchanged. If false and all validation checks pass,
532 * then the database will be modified.
533 * @param p_availability_status_id Current status of the position. Refers to
534 * PER_SHARED_TYPES.
535 * @param p_business_group_id {@rep:casecolumn
536 * HR_ALL_POSITIONS_F.BUSINESS_GROUP_ID}
537 * @param p_entry_step_id {@rep:casecolumn HR_ALL_POSITIONS_F.ENTRY_STEP_ID}
538 * @param p_entry_grade_rule_id {@rep:casecolumn
539 * HR_ALL_POSITIONS_F.ENTRY_GRADE_RULE_ID}
540 * @param p_location_id {@rep:casecolumn HR_ALL_POSITIONS_F.LOCATION_ID}
541 * @param p_pay_freq_payroll_id {@rep:casecolumn
542 * HR_ALL_POSITIONS_F.PAY_FREQ_PAYROLL_ID}
543 * @param p_position_transaction_id {@rep:casecolumn
544 * HR_ALL_POSITIONS_F.POSITION_TRANSACTION_ID}
545 * @param p_prior_position_id {@rep:casecolumn
546 * HR_ALL_POSITIONS_F.PRIOR_POSITION_ID}
547 * @param p_relief_position_id {@rep:casecolumn
548 * HR_ALL_POSITIONS_F.RELIEF_POSITION_ID}
549 * @param p_entry_grade_id {@rep:casecolumn HR_ALL_POSITIONS_F.ENTRY_GRADE_ID}
550 * @param p_successor_position_id {@rep:casecolumn
551 * HR_ALL_POSITIONS_F.SUCCESSOR_POSITION_ID}
552 * @param p_supervisor_position_id {@rep:casecolumn
553 * HR_ALL_POSITIONS_F.SUPERVISOR_POSITION_ID}
554 * @param p_amendment_date {@rep:casecolumn HR_ALL_POSITIONS_F.AMENDMENT_DATE}
555 * @param p_amendment_recommendation {@rep:casecolumn
556 * HR_ALL_POSITIONS_F.AMENDMENT_RECOMMENDATION}
557 * @param p_amendment_ref_number {@rep:casecolumn
558 * HR_ALL_POSITIONS_F.AMENDMENT_REF_NUMBER}
559 * @param p_bargaining_unit_cd Identifies the bargaining unit. Valid values are
560 * defined by 'BARGAINING_UNIT_CODE' lookup_type.
561 * @param p_comments Comment text.
562 * @param p_current_job_prop_end_date {@rep:casecolumn
563 * HR_ALL_POSITIONS_F.CURRENT_JOB_PROP_END_DATE}
564 * @param p_current_org_prop_end_date {@rep:casecolumn
565 * HR_ALL_POSITIONS_F.CURRENT_ORG_PROP_END_DATE}
566 * @param p_avail_status_prop_end_date {@rep:casecolumn
567 * HR_ALL_POSITIONS_F.AVAIL_STATUS_PROP_END_DATE}
568 * @param p_date_end {@rep:casecolumn HR_ALL_POSITIONS_F.DATE_END}
569 * @param p_earliest_hire_date {@rep:casecolumn
570 * HR_ALL_POSITIONS_F.EARLIEST_HIRE_DATE}
571 * @param p_fill_by_date {@rep:casecolumn HR_ALL_POSITIONS_F.FILL_BY_DATE}
572 * @param p_frequency Frequency of working hours. Valid values are defined by
573 * 'FREQUENCY' lookup_type.
574 * @param p_fte {@rep:casecolumn HR_ALL_POSITIONS_F.FTE}
575 * @param p_max_persons Maximum number of employees allowed for this position.
576 * @param p_overlap_period {@rep:casecolumn HR_ALL_POSITIONS_F.OVERLAP_PERIOD}
577 * @param p_overlap_unit_cd Unit of period. Valid values are defined by
578 * 'QUALIFYING_UNITS' lookup_type.
579 * @param p_pay_term_end_day_cd End day of pay term. Valid values are defined
580 * by 'DAY_CODE' lookup_type.
581 * @param p_pay_term_end_month_cd End month of pay term. Valid values are
582 * defined by 'MONTH_CODE' lookup_type.
583 * @param p_permanent_temporary_flag Indicates whether position is temporary or
584 * permanent. Valid values are defined by 'YES_NO' lookup_type
585 * @param p_permit_recruitment_flag Indicates if recruitment can start for the
586 * position or not. Valid values are defined by 'YES_NO' lookup_type
587 * @param p_position_type Indicates position type. Valid values are defined by
588 * 'POSITION_TYPE' lookup_type
589 * @param p_posting_description Posting description.
590 * @param p_probation_period Length of probation period.
591 * @param p_probation_period_unit_cd Qualifying units. Valid values are defined
592 * by 'QUALIFYING_UNITS' lookup_type.
593 * @param p_replacement_required_flag Identifies if replacement is required
594 * when person assigned is absent. Valid values are defined by 'YES_NO' lookup
595 * type.
596 * @param p_review_flag Identifies whether the characteristics of the position
597 * are under going review or change. Valid values are defined by 'YES_NO'
598 * lookup_type
599 * @param p_seasonal_flag Identifies if the position is seasonal or not. Valid
600 * values are defined by 'YES_NO' lookup_type
601 * @param p_security_requirements Security requirements.
602 * @param p_status Position status. Valid values are defined by
603 * 'POSITION_STATUS' lookup type.
604 * @param p_term_start_day_cd Start day of work term. Valid values are defined
605 * by 'DAY_CODE' lookup_type.
606 * @param p_term_start_month_cd Start month of work term. Valid values are
607 * defined by 'MONTH_CODE' lookup_type.
608 * @param p_time_normal_finish Normal end time.
609 * @param p_time_normal_start Normal start time.
610 * @param p_update_source_cd Identifies if the position has to be copied into
611 * the non datetracked table per_all_positions.Valid values are defined by
612 * 'YES_NO' lookup_type
613 * @param p_working_hours Number of normal working hours.
614 * @param p_works_council_approval_flag Identifies if work council approval is
615 * needed or not. Valid values are defined by 'YES_NO' lookup_type
616 * @param p_work_period_type_cd Identifies that the position is only used
617 * during part of the year. Valid values are defined by 'YES_NO' lookup_type
618 * @param p_work_term_end_day_cd End day of work term. Valid values are defined
619 * by 'DAY_CODE' lookup_type.
620 * @param p_work_term_end_month_cd Start day of work term. Valid values are
621 * defined by 'MONTH_CODE' lookup_type.
622 * @param p_proposed_fte_for_layoff Proposed FTE for layoff
623 * @param p_proposed_date_for_layoff Proposed date for layoff
624 * @param p_pay_basis_id Foreign Key to per_pay_bases.
625 * @param p_supervisor_id Foreign Key to per_all_people_f.
626 * @param p_information1 Developer descriptive flexfield segment.
627 * @param p_information2 Developer descriptive flexfield segment.
628 * @param p_information3 Developer descriptive flexfield segment.
629 * @param p_information4 Developer descriptive flexfield segment.
630 * @param p_information5 Developer descriptive flexfield segment.
631 * @param p_information6 Developer descriptive flexfield segment.
632 * @param p_information7 Developer descriptive flexfield segment.
633 * @param p_information8 Developer descriptive flexfield segment.
634 * @param p_information9 Developer descriptive flexfield segment.
635 * @param p_information10 Developer descriptive flexfield segment.
636 * @param p_information11 Developer descriptive flexfield segment.
637 * @param p_information12 Developer descriptive flexfield segment.
638 * @param p_information13 Developer descriptive flexfield segment.
639 * @param p_information14 Developer descriptive flexfield segment.
640 * @param p_information15 Developer descriptive flexfield segment.
641 * @param p_information16 Developer descriptive flexfield segment.
642 * @param p_information17 Developer descriptive flexfield segment.
643 * @param p_information18 Developer descriptive flexfield segment.
644 * @param p_information19 Developer descriptive flexfield segment.
645 * @param p_information20 Developer descriptive flexfield segment.
646 * @param p_information21 Developer descriptive flexfield segment.
647 * @param p_information22 Developer descriptive flexfield segment.
648 * @param p_information23 Developer descriptive flexfield segment.
649 * @param p_information24 Developer descriptive flexfield segment.
650 * @param p_information25 Developer descriptive flexfield segment.
651 * @param p_information26 Developer descriptive flexfield segment.
652 * @param p_information27 Developer descriptive flexfield segment.
653 * @param p_information28 Developer descriptive flexfield segment.
654 * @param p_information29 Developer descriptive flexfield segment.
655 * @param p_information30 Developer descriptive flexfield segment.
656 * @param p_information_category This context value determines which flexfield
657 * structure to use with the developer descriptive flexfield segments.
658 * @param p_attribute1 Descriptive flexfield segment.
659 * @param p_attribute2 Descriptive flexfield segment.
660 * @param p_attribute3 Descriptive flexfield segment.
661 * @param p_attribute4 Descriptive flexfield segment.
662 * @param p_attribute5 Descriptive flexfield segment.
663 * @param p_attribute6 Descriptive flexfield segment.
664 * @param p_attribute7 Descriptive flexfield segment.
665 * @param p_attribute8 Descriptive flexfield segment.
666 * @param p_attribute9 Descriptive flexfield segment.
667 * @param p_attribute10 Descriptive flexfield segment.
668 * @param p_attribute11 Descriptive flexfield segment.
669 * @param p_attribute12 Descriptive flexfield segment.
670 * @param p_attribute13 Descriptive flexfield segment.
671 * @param p_attribute14 Descriptive flexfield segment.
672 * @param p_attribute15 Descriptive flexfield segment.
673 * @param p_attribute16 Descriptive flexfield segment.
674 * @param p_attribute17 Descriptive flexfield segment.
675 * @param p_attribute18 Descriptive flexfield segment.
676 * @param p_attribute19 Descriptive flexfield segment.
677 * @param p_attribute20 Descriptive flexfield segment.
678 * @param p_attribute21 Descriptive flexfield segment.
679 * @param p_attribute22 Descriptive flexfield segment.
680 * @param p_attribute23 Descriptive flexfield segment.
681 * @param p_attribute24 Descriptive flexfield segment.
682 * @param p_attribute25 Descriptive flexfield segment.
683 * @param p_attribute26 Descriptive flexfield segment.
684 * @param p_attribute27 Descriptive flexfield segment.
685 * @param p_attribute28 Descriptive flexfield segment.
686 * @param p_attribute29 Descriptive flexfield segment.
687 * @param p_attribute30 Descriptive flexfield segment.
688 * @param p_attribute_category This context value determines which flexfield
689 * structure to use with the descriptive flexfield segments.
690 * @param p_segment1 Key flexfield segment.
691 * @param p_segment2 Key flexfield segment.
692 * @param p_segment3 Key flexfield segment.
693 * @param p_segment4 Key flexfield segment.
694 * @param p_segment5 Key flexfield segment.
695 * @param p_segment6 Key flexfield segment.
696 * @param p_segment7 Key flexfield segment.
697 * @param p_segment8 Key flexfield segment.
698 * @param p_segment9 Key flexfield segment.
699 * @param p_segment10 Key flexfield segment.
700 * @param p_segment11 Key flexfield segment.
701 * @param p_segment12 Key flexfield segment.
702 * @param p_segment13 Key flexfield segment.
703 * @param p_segment14 Key flexfield segment.
704 * @param p_segment15 Key flexfield segment.
705 * @param p_segment16 Key flexfield segment.
706 * @param p_segment17 Key flexfield segment.
707 * @param p_segment18 Key flexfield segment.
708 * @param p_segment19 Key flexfield segment.
709 * @param p_segment20 Key flexfield segment.
710 * @param p_segment21 Key flexfield segment.
711 * @param p_segment22 Key flexfield segment.
712 * @param p_segment23 Key flexfield segment.
713 * @param p_segment24 Key flexfield segment.
714 * @param p_segment25 Key flexfield segment.
715 * @param p_segment26 Key flexfield segment.
716 * @param p_segment27 Key flexfield segment.
717 * @param p_segment28 Key flexfield segment.
718 * @param p_segment29 Key flexfield segment.
719 * @param p_segment30 Key flexfield segment.
720 * @param p_concat_segments Concatenated string of segment values
721 * @param p_request_id When the API is executed from a concurrent program set
722 * to the concurrent request identifier.
723 * @param p_program_application_id When the API is executed from a concurrent
724 * program set to the program's Application.
725 * @param p_program_id When the API is executed from a concurrent program set
726 * to the program's identifier.
727 * @param p_program_update_date When the API is executed from a concurrent
728 * program set to when the program was ran.
729 * @param p_security_profile_id Security Profile to which the position is
730 * added.
731 * @rep:displayname Create Position
732 * @rep:category BUSINESS_ENTITY PER_POSITION
733 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
734 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
735 * @rep:primaryinstance
736 * @rep:scope public
737 * @rep:lifecycle active
738 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
739 */
740 --
741 -- {End Of Comments}
742 --
743 procedure create_position
744 (p_position_id out nocopy number
745 ,p_effective_start_date out nocopy date
746 ,p_effective_end_date out nocopy date
747 ,p_position_definition_id in out nocopy number
748 ,p_name in out nocopy varchar2
749 ,p_object_version_number out nocopy number
750 ,p_job_id in number
751 ,p_organization_id in number
752 ,p_effective_date in date
753 ,p_date_effective in date
754 ,p_language_code in varchar2 default hr_api.userenv_lang
755 ,p_validate in boolean default false
756 ,p_availability_status_id in number default null
757 ,p_business_group_id in number default null
758 ,p_entry_step_id in number default null
759 ,p_entry_grade_rule_id in number default null
760 ,p_location_id in number default null
761 ,p_pay_freq_payroll_id in number default null
762 ,p_position_transaction_id in number default null
763 ,p_prior_position_id in number default null
764 ,p_relief_position_id in number default null
765 ,p_entry_grade_id in number default null
766 ,p_successor_position_id in number default null
767 ,p_supervisor_position_id in number default null
768 ,p_amendment_date in date default null
769 ,p_amendment_recommendation in varchar2 default null
770 ,p_amendment_ref_number in varchar2 default null
771 ,p_bargaining_unit_cd in varchar2 default null
772 ,p_comments in long default null
773 ,p_current_job_prop_end_date in date default null
774 ,p_current_org_prop_end_date in date default null
775 ,p_avail_status_prop_end_date in date default null
776 ,p_date_end in date default null
777 ,p_earliest_hire_date in date default null
778 ,p_fill_by_date in date default null
779 ,p_frequency in varchar2 default null
780 ,p_fte in number default null
781 ,p_max_persons in number default null
782 ,p_overlap_period in number default null
783 ,p_overlap_unit_cd in varchar2 default null
784 ,p_pay_term_end_day_cd in varchar2 default null
785 ,p_pay_term_end_month_cd in varchar2 default null
786 ,p_permanent_temporary_flag in varchar2 default null
787 ,p_permit_recruitment_flag in varchar2 default null
788 ,p_position_type in varchar2 default 'NONE'
789 ,p_posting_description in varchar2 default null
790 ,p_probation_period in number default null
791 ,p_probation_period_unit_cd in varchar2 default null
792 ,p_replacement_required_flag in varchar2 default null
793 ,p_review_flag in varchar2 default null
794 ,p_seasonal_flag in varchar2 default null
795 ,p_security_requirements in varchar2 default null
796 ,p_status in varchar2 default null
797 ,p_term_start_day_cd in varchar2 default null
798 ,p_term_start_month_cd in varchar2 default null
799 ,p_time_normal_finish in varchar2 default null
800 ,p_time_normal_start in varchar2 default null
801 ,p_update_source_cd in varchar2 default null
802 ,p_working_hours in number default null
803 ,p_works_council_approval_flag in varchar2 default null
804 ,p_work_period_type_cd in varchar2 default null
805 ,p_work_term_end_day_cd in varchar2 default null
806 ,p_work_term_end_month_cd in varchar2 default null
807 ,p_proposed_fte_for_layoff in number default null
808 ,p_proposed_date_for_layoff in date default null
809 ,p_pay_basis_id in number default null
810 ,p_supervisor_id in number default null
811 -- ,p_copied_to_old_table_flag in varchar2 default null
812 ,p_information1 in varchar2 default null
813 ,p_information2 in varchar2 default null
814 ,p_information3 in varchar2 default null
815 ,p_information4 in varchar2 default null
816 ,p_information5 in varchar2 default null
817 ,p_information6 in varchar2 default null
818 ,p_information7 in varchar2 default null
819 ,p_information8 in varchar2 default null
820 ,p_information9 in varchar2 default null
821 ,p_information10 in varchar2 default null
822 ,p_information11 in varchar2 default null
823 ,p_information12 in varchar2 default null
824 ,p_information13 in varchar2 default null
825 ,p_information14 in varchar2 default null
826 ,p_information15 in varchar2 default null
827 ,p_information16 in varchar2 default null
828 ,p_information17 in varchar2 default null
829 ,p_information18 in varchar2 default null
830 ,p_information19 in varchar2 default null
831 ,p_information20 in varchar2 default null
832 ,p_information21 in varchar2 default null
833 ,p_information22 in varchar2 default null
834 ,p_information23 in varchar2 default null
835 ,p_information24 in varchar2 default null
836 ,p_information25 in varchar2 default null
837 ,p_information26 in varchar2 default null
838 ,p_information27 in varchar2 default null
839 ,p_information28 in varchar2 default null
840 ,p_information29 in varchar2 default null
841 ,p_information30 in varchar2 default null
842 ,p_information_category in varchar2 default null
843 ,p_attribute1 in varchar2 default null
844 ,p_attribute2 in varchar2 default null
845 ,p_attribute3 in varchar2 default null
846 ,p_attribute4 in varchar2 default null
847 ,p_attribute5 in varchar2 default null
848 ,p_attribute6 in varchar2 default null
849 ,p_attribute7 in varchar2 default null
850 ,p_attribute8 in varchar2 default null
851 ,p_attribute9 in varchar2 default null
852 ,p_attribute10 in varchar2 default null
853 ,p_attribute11 in varchar2 default null
854 ,p_attribute12 in varchar2 default null
855 ,p_attribute13 in varchar2 default null
856 ,p_attribute14 in varchar2 default null
857 ,p_attribute15 in varchar2 default null
858 ,p_attribute16 in varchar2 default null
859 ,p_attribute17 in varchar2 default null
860 ,p_attribute18 in varchar2 default null
861 ,p_attribute19 in varchar2 default null
862 ,p_attribute20 in varchar2 default null
863 ,p_attribute21 in varchar2 default null
864 ,p_attribute22 in varchar2 default null
865 ,p_attribute23 in varchar2 default null
866 ,p_attribute24 in varchar2 default null
867 ,p_attribute25 in varchar2 default null
868 ,p_attribute26 in varchar2 default null
869 ,p_attribute27 in varchar2 default null
870 ,p_attribute28 in varchar2 default null
871 ,p_attribute29 in varchar2 default null
872 ,p_attribute30 in varchar2 default null
873 ,p_attribute_category in varchar2 default null
874 ,p_segment1 in varchar2 default null
875 ,p_segment2 in varchar2 default null
876 ,p_segment3 in varchar2 default null
877 ,p_segment4 in varchar2 default null
878 ,p_segment5 in varchar2 default null
879 ,p_segment6 in varchar2 default null
880 ,p_segment7 in varchar2 default null
881 ,p_segment8 in varchar2 default null
882 ,p_segment9 in varchar2 default null
883 ,p_segment10 in varchar2 default null
884 ,p_segment11 in varchar2 default null
885 ,p_segment12 in varchar2 default null
886 ,p_segment13 in varchar2 default null
887 ,p_segment14 in varchar2 default null
888 ,p_segment15 in varchar2 default null
889 ,p_segment16 in varchar2 default null
890 ,p_segment17 in varchar2 default null
891 ,p_segment18 in varchar2 default null
892 ,p_segment19 in varchar2 default null
893 ,p_segment20 in varchar2 default null
894 ,p_segment21 in varchar2 default null
895 ,p_segment22 in varchar2 default null
896 ,p_segment23 in varchar2 default null
897 ,p_segment24 in varchar2 default null
898 ,p_segment25 in varchar2 default null
899 ,p_segment26 in varchar2 default null
900 ,p_segment27 in varchar2 default null
901 ,p_segment28 in varchar2 default null
902 ,p_segment29 in varchar2 default null
903 ,p_segment30 in varchar2 default null
904 ,p_concat_segments in varchar2 default null
905 ,p_request_id in number default null
906 ,p_program_application_id in number default null
907 ,p_program_id in number default null
908 ,p_program_update_date in date default null
909 ,p_security_profile_id in number default hr_security.get_security_profile
910 ) ;
911 --
912 -- ----------------------------------------------------------------------------
913 -- |-----------------------------< update_position >--------------------------|
914 -- ----------------------------------------------------------------------------
915 --
916 -- {Start Of Comments}
917 /*#
918 * This API updates a position and should be used if you have HR fully
919 * installed.
920 *
921 * This overload version provides DateTrack features.
922 *
923 * <p><b>Licensing</b><br>
924 * This API version is licensed for use with Human Resources.
925 *
926 * <p><b>Prerequisites</b><br>
927 * The position to be updated must already exist.
928 *
929 * <p><b>Post Success</b><br>
930 * When the position is valid, the API updates the position successfully in the
931 * database.
932 *
933 * <p><b>Post Failure</b><br>
934 * The position will not be updated and an error will be raised.
935 * @param p_validate If true, then validation alone will be performed and the
936 * database will remain unchanged. If false and all validation checks pass,
937 * then the database will be modified.
938 * @param p_position_id Identifies the position to be modified.
939 * @param p_effective_start_date If p_validate is false, then set to the
940 * effective start date on the updated position row which now exists as of the
941 * effective date. If p_validate is true, then set to null.
942 * @param p_effective_end_date If p_validate is false, then set to the
943 * effective end date on the updated position row which now exists as of the
944 * effective date. If p_validate is true, then set to null.
945 * @param p_position_definition_id If p_validate is false, then this uniquely
946 * identifes the combination of segments passed. If p_validate is true, then
947 * set to null.
948 * @param p_valid_grades_changed_warning Set to true when either the position
949 * date effective or date end have been modified and at least one valid grade
950 * has been updated or deleted. Set to false when neither the position date
951 * effective or date end have been modified, or either of them has been
952 * modified but no valid grades were altered.
953 * @param p_name If p_validate is false, then this identifies concatenation of
954 * all name segments. If p_validate is true, then set to null.
955 * @param p_language_code Specifies to which language the translation values
956 * apply. You can set to the base or any installed language. The default value
957 * of hr_api.userenv_lang is equivalent to the RDBMS userenv('LANG') function
958 * value.
959 * @param p_availability_status_id Current Status of the Position. Refers to
960 * PER_SHARED_TYPES.
961 * @param p_entry_step_id {@rep:casecolumn HR_ALL_POSITIONS_F.ENTRY_STEP_ID}
962 * @param p_entry_grade_rule_id {@rep:casecolumn
963 * HR_ALL_POSITIONS_F.ENTRY_GRADE_RULE_ID}
964 * @param p_location_id {@rep:casecolumn HR_ALL_POSITIONS_F.LOCATION_ID}
965 * @param p_pay_freq_payroll_id {@rep:casecolumn
966 * HR_ALL_POSITIONS_F.PAY_FREQ_PAYROLL_ID}
967 * @param p_position_transaction_id {@rep:casecolumn
968 * HR_ALL_POSITIONS_F.POSITION_TRANSACTION_ID}
969 * @param p_prior_position_id {@rep:casecolumn
970 * HR_ALL_POSITIONS_F.PRIOR_POSITION_ID}
971 * @param p_relief_position_id {@rep:casecolumn
972 * HR_ALL_POSITIONS_F.RELIEF_POSITION_ID}
973 * @param p_entry_grade_id {@rep:casecolumn HR_ALL_POSITIONS_F.ENTRY_GRADE_ID}
974 * @param p_successor_position_id {@rep:casecolumn
975 * HR_ALL_POSITIONS_F.SUCCESSOR_POSITION_ID}
976 * @param p_supervisor_position_id {@rep:casecolumn
977 * HR_ALL_POSITIONS_F.SUPERVISOR_POSITION_ID}
978 * @param p_amendment_date {@rep:casecolumn HR_ALL_POSITIONS_F.AMENDMENT_DATE}
979 * @param p_amendment_recommendation {@rep:casecolumn
980 * HR_ALL_POSITIONS_F.AMENDMENT_RECOMMENDATION}
981 * @param p_amendment_ref_number {@rep:casecolumn
982 * HR_ALL_POSITIONS_F.AMENDMENT_REF_NUMBER}
983 * @param p_bargaining_unit_cd Identifies the bargaining unit. Valid values are
984 * defined by 'BARGAINING_UNIT_CODE' lookup_type.
985 * @param p_comments Comment text.
986 * @param p_current_job_prop_end_date {@rep:casecolumn
987 * HR_ALL_POSITIONS_F.CURRENT_JOB_PROP_END_DATE}
988 * @param p_current_org_prop_end_date {@rep:casecolumn
989 * HR_ALL_POSITIONS_F.CURRENT_ORG_PROP_END_DATE}
990 * @param p_avail_status_prop_end_date {@rep:casecolumn
991 * HR_ALL_POSITIONS_F.AVAIL_STATUS_PROP_END_DATE}
992 * @param p_date_effective The date on which the position becomes active.
993 * @param p_date_end {@rep:casecolumn HR_ALL_POSITIONS_F.DATE_END}
994 * @param p_earliest_hire_date {@rep:casecolumn
995 * HR_ALL_POSITIONS_F.EARLIEST_HIRE_DATE}
996 * @param p_fill_by_date {@rep:casecolumn HR_ALL_POSITIONS_F.FILL_BY_DATE}
997 * @param p_frequency Frequency of working hours. Valid values are defined by
998 * 'FREQUENCY' lookup_type.
999 * @param p_fte {@rep:casecolumn HR_ALL_POSITIONS_F.FTE}
1000 * @param p_max_persons Maximum number of employees allowed for this position.
1001 * @param p_overlap_period {@rep:casecolumn HR_ALL_POSITIONS_F.OVERLAP_PERIOD}
1002 * @param p_overlap_unit_cd Unit of period. Valid values are defined by
1003 * 'QUALIFYING_UNITS' lookup_type.
1004 * @param p_pay_term_end_day_cd End day of pay term. Valid values are defined
1005 * by 'DAY_CODE' lookup_type.
1006 * @param p_pay_term_end_month_cd End month of pay term. Valid values are
1007 * defined by 'MONTH_CODE' lookup_type.
1008 * @param p_permanent_temporary_flag Indicates whether position is temporary or
1009 * permanent. Valid values are defined by 'YES_NO' lookup_type
1010 * @param p_permit_recruitment_flag Indicates if recruitment can start for the
1011 * position or not. Valid values are defined by 'YES_NO' lookup_type
1012 * @param p_position_type Indicates position type. Valid values are defined by
1013 * 'POSITION_TYPE' lookup_type
1014 * @param p_posting_description Posting Description.
1015 * @param p_probation_period Length of probation period.
1016 * @param p_probation_period_unit_cd Qualifying units. Valid values are defined
1017 * by 'QUALIFYING_UNITS' lookup_type.
1018 * @param p_replacement_required_flag Identifies if replacement is required
1019 * when person assigned is absent. Valid values are defined by 'YES_NO' lookup
1020 * type.
1021 * @param p_review_flag Identifies whether the characteristics of the position
1022 * are under going review or change. Valid values are defined by 'YES_NO'
1023 * lookup_type
1024 * @param p_seasonal_flag Identifies if the position is seasonal or not. Valid
1025 * values are defined by 'YES_NO' lookup_type
1026 * @param p_security_requirements Security Requirements.
1027 * @param p_status Position status. Valid values are defined by
1028 * 'POSITION_STATUS' lookup type.
1029 * @param p_term_start_day_cd Start day of work term. Valid values are defined
1030 * by 'DAY_CODE' lookup_type.
1031 * @param p_term_start_month_cd Start month of work term. Valid values are
1032 * defined by 'MONTH_CODE' lookup_type.
1033 * @param p_time_normal_finish Normal end time.
1034 * @param p_time_normal_start Normal start time.
1035 * @param p_update_source_cd Identifies if the position has to be copied into
1036 * the non datetracked table per_all_positions.Valid values are defined by
1037 * 'YES_NO' lookup_type
1038 * @param p_working_hours Number of normal working hours.
1039 * @param p_works_council_approval_flag Identifies if work council approval is
1040 * needed or not. Valid values are defined by 'YES_NO' lookup_type
1041 * @param p_work_period_type_cd Identifies that the position is only used
1042 * during part of the year. Valid values are defined by 'YES_NO' lookup_type
1043 * @param p_work_term_end_day_cd End day of work term. Valid values are defined
1044 * by 'DAY_CODE' lookup_type.
1045 * @param p_work_term_end_month_cd Start day of work term. Valid values are
1046 * defined by 'MONTH_CODE' lookup_type.
1047 * @param p_proposed_fte_for_layoff Proposed FTE for layoff
1048 * @param p_proposed_date_for_layoff Proposed date for layoff
1049 * @param p_pay_basis_id Foreign Key to per_pay_bases.
1050 * @param p_supervisor_id Foreign Key to per_all_people_f.
1051 * @param p_information1 Developer descriptive flexfield segment.
1052 * @param p_information2 Developer descriptive flexfield segment.
1053 * @param p_information3 Developer descriptive flexfield segment.
1054 * @param p_information4 Developer descriptive flexfield segment.
1055 * @param p_information5 Developer descriptive flexfield segment.
1056 * @param p_information6 Developer descriptive flexfield segment.
1057 * @param p_information7 Developer descriptive flexfield segment.
1058 * @param p_information8 Developer descriptive flexfield segment.
1059 * @param p_information9 Developer descriptive flexfield segment.
1060 * @param p_information10 Developer descriptive flexfield segment.
1061 * @param p_information11 Developer descriptive flexfield segment.
1062 * @param p_information12 Developer descriptive flexfield segment.
1063 * @param p_information13 Developer descriptive flexfield segment.
1064 * @param p_information14 Developer descriptive flexfield segment.
1065 * @param p_information15 Developer descriptive flexfield segment.
1066 * @param p_information16 Developer descriptive flexfield segment.
1067 * @param p_information17 Developer descriptive flexfield segment.
1068 * @param p_information18 Developer descriptive flexfield segment.
1069 * @param p_information19 Developer descriptive flexfield segment.
1070 * @param p_information20 Developer descriptive flexfield segment.
1071 * @param p_information21 Developer descriptive flexfield segment.
1072 * @param p_information22 Developer descriptive flexfield segment.
1073 * @param p_information23 Developer descriptive flexfield segment.
1074 * @param p_information24 Developer descriptive flexfield segment.
1075 * @param p_information25 Developer descriptive flexfield segment.
1076 * @param p_information26 Developer descriptive flexfield segment.
1077 * @param p_information27 Developer descriptive flexfield segment.
1078 * @param p_information28 Developer descriptive flexfield segment.
1079 * @param p_information29 Developer descriptive flexfield segment.
1080 * @param p_information30 Developer descriptive flexfield segment.
1081 * @param p_information_category This context value determines which flexfield
1082 * structure to use with the developer descriptive flexfield segments.
1083 * @param p_attribute1 Descriptive flexfield segment.
1084 * @param p_attribute2 Descriptive flexfield segment.
1085 * @param p_attribute3 Descriptive flexfield segment.
1086 * @param p_attribute4 Descriptive flexfield segment.
1087 * @param p_attribute5 Descriptive flexfield segment.
1088 * @param p_attribute6 Descriptive flexfield segment.
1089 * @param p_attribute7 Descriptive flexfield segment.
1090 * @param p_attribute8 Descriptive flexfield segment.
1091 * @param p_attribute9 Descriptive flexfield segment.
1092 * @param p_attribute10 Descriptive flexfield segment.
1093 * @param p_attribute11 Descriptive flexfield segment.
1094 * @param p_attribute12 Descriptive flexfield segment.
1095 * @param p_attribute13 Descriptive flexfield segment.
1096 * @param p_attribute14 Descriptive flexfield segment.
1097 * @param p_attribute15 Descriptive flexfield segment.
1098 * @param p_attribute16 Descriptive flexfield segment.
1099 * @param p_attribute17 Descriptive flexfield segment.
1100 * @param p_attribute18 Descriptive flexfield segment.
1101 * @param p_attribute19 Descriptive flexfield segment.
1102 * @param p_attribute20 Descriptive flexfield segment.
1103 * @param p_attribute21 Descriptive flexfield segment.
1104 * @param p_attribute22 Descriptive flexfield segment.
1105 * @param p_attribute23 Descriptive flexfield segment.
1106 * @param p_attribute24 Descriptive flexfield segment.
1107 * @param p_attribute25 Descriptive flexfield segment.
1108 * @param p_attribute26 Descriptive flexfield segment.
1109 * @param p_attribute27 Descriptive flexfield segment.
1110 * @param p_attribute28 Descriptive flexfield segment.
1111 * @param p_attribute29 Descriptive flexfield segment.
1112 * @param p_attribute30 Descriptive flexfield segment.
1113 * @param p_attribute_category This context value determines which flexfield
1114 * structure to use with the descriptive flexfield segments.
1115 * @param p_segment1 Key flexfield segment.
1116 * @param p_segment2 Key flexfield segment.
1117 * @param p_segment3 Key flexfield segment.
1118 * @param p_segment4 Key flexfield segment.
1119 * @param p_segment5 Key flexfield segment.
1120 * @param p_segment6 Key flexfield segment.
1121 * @param p_segment7 Key flexfield segment.
1122 * @param p_segment8 Key flexfield segment.
1123 * @param p_segment9 Key flexfield segment.
1124 * @param p_segment10 Key flexfield segment.
1125 * @param p_segment11 Key flexfield segment.
1126 * @param p_segment12 Key flexfield segment.
1127 * @param p_segment13 Key flexfield segment.
1128 * @param p_segment14 Key flexfield segment.
1129 * @param p_segment15 Key flexfield segment.
1130 * @param p_segment16 Key flexfield segment.
1131 * @param p_segment17 Key flexfield segment.
1132 * @param p_segment18 Key flexfield segment.
1133 * @param p_segment19 Key flexfield segment.
1134 * @param p_segment20 Key flexfield segment.
1135 * @param p_segment21 Key flexfield segment.
1136 * @param p_segment22 Key flexfield segment.
1137 * @param p_segment23 Key flexfield segment.
1138 * @param p_segment24 Key flexfield segment.
1139 * @param p_segment25 Key flexfield segment.
1140 * @param p_segment26 Key flexfield segment.
1141 * @param p_segment27 Key flexfield segment.
1142 * @param p_segment28 Key flexfield segment.
1143 * @param p_segment29 Key flexfield segment.
1144 * @param p_segment30 Key flexfield segment.
1145 * @param p_concat_segments Concatenated string of segment values
1146 * @param p_request_id When the API is executed from a concurrent program set
1147 * to the concurrent request identifier.
1148 * @param p_program_application_id When the API is executed from a concurrent
1149 * program set to the program's Application.
1150 * @param p_program_id When the API is executed from a concurrent program set
1151 * to the program's identifier.
1152 * @param p_program_update_date When the API is executed from a concurrent
1153 * program set to when the program was ran.
1154 * @param p_object_version_number Pass in the current version number of the
1155 * position to be updated. When the API completes if p_validate is false, will
1156 * be set to the new version number of the updated position. If p_validate is
1157 * true will be set to the same value which was passed in.
1158 * @param p_effective_date Determines when the DateTrack operation comes into
1159 * force.
1160 * @param p_datetrack_mode Indicates which DateTrack mode to use when updating
1161 * the record. You must set to either UPDATE, CORRECTION, UPDATE_OVERRIDE or
1162 * UPDATE_CHANGE_INSERT. Modes available for use with a particular record
1163 * depend on the dates of previous record changes and the effective date of
1164 * this change.
1165 * @rep:displayname Update Position
1166 * @rep:category BUSINESS_ENTITY PER_POSITION
1167 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
1168 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1169 * @rep:primaryinstance
1170 * @rep:scope public
1171 * @rep:lifecycle active
1172 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1173 */
1174 --
1175 -- {End Of Comments}
1176 --
1177 procedure update_position
1178 (p_validate in boolean default false
1179 ,p_position_id in number
1180 ,p_effective_start_date out nocopy date
1181 ,p_effective_end_date out nocopy date
1182 ,p_position_definition_id in out nocopy number
1183 ,p_valid_grades_changed_warning out nocopy boolean
1184 ,p_name in out nocopy varchar2
1185 ,p_language_code in varchar2 default hr_api.userenv_lang
1186 ,p_availability_status_id in number default hr_api.g_number
1187 -- ,p_business_group_id in number default hr_api.g_number
1188 ,p_entry_step_id in number default hr_api.g_number
1189 ,p_entry_grade_rule_id in number default hr_api.g_number
1190 -- ,p_job_id in number default hr_api.g_number
1191 ,p_location_id in number default hr_api.g_number
1192 -- ,p_organization_id in number default hr_api.g_number
1193 ,p_pay_freq_payroll_id in number default hr_api.g_number
1194 ,p_position_transaction_id in number default hr_api.g_number
1195 ,p_prior_position_id in number default hr_api.g_number
1196 ,p_relief_position_id in number default hr_api.g_number
1197 ,p_entry_grade_id in number default hr_api.g_number
1198 ,p_successor_position_id in number default hr_api.g_number
1199 ,p_supervisor_position_id in number default hr_api.g_number
1200 ,p_amendment_date in date default hr_api.g_date
1201 ,p_amendment_recommendation in varchar2 default hr_api.g_varchar2
1202 ,p_amendment_ref_number in varchar2 default hr_api.g_varchar2
1203 ,p_bargaining_unit_cd in varchar2 default hr_api.g_varchar2
1204 ,p_comments in long default hr_api.g_varchar2
1205 ,p_current_job_prop_end_date in date default hr_api.g_date
1206 ,p_current_org_prop_end_date in date default hr_api.g_date
1207 ,p_avail_status_prop_end_date in date default hr_api.g_date
1208 ,p_date_effective in date default hr_api.g_date
1209 ,p_date_end in date default hr_api.g_date
1210 ,p_earliest_hire_date in date default hr_api.g_date
1211 ,p_fill_by_date in date default hr_api.g_date
1212 ,p_frequency in varchar2 default hr_api.g_varchar2
1213 ,p_fte in number default hr_api.g_number
1214 ,p_max_persons in number default hr_api.g_number
1215 ,p_overlap_period in number default hr_api.g_number
1216 ,p_overlap_unit_cd in varchar2 default hr_api.g_varchar2
1217 ,p_pay_term_end_day_cd in varchar2 default hr_api.g_varchar2
1218 ,p_pay_term_end_month_cd in varchar2 default hr_api.g_varchar2
1219 ,p_permanent_temporary_flag in varchar2 default hr_api.g_varchar2
1220 ,p_permit_recruitment_flag in varchar2 default hr_api.g_varchar2
1221 ,p_position_type in varchar2 default hr_api.g_varchar2
1222 ,p_posting_description in varchar2 default hr_api.g_varchar2
1223 ,p_probation_period in number default hr_api.g_number
1224 ,p_probation_period_unit_cd in varchar2 default hr_api.g_varchar2
1225 ,p_replacement_required_flag in varchar2 default hr_api.g_varchar2
1226 ,p_review_flag in varchar2 default hr_api.g_varchar2
1227 ,p_seasonal_flag in varchar2 default hr_api.g_varchar2
1228 ,p_security_requirements in varchar2 default hr_api.g_varchar2
1229 ,p_status in varchar2 default hr_api.g_varchar2
1230 ,p_term_start_day_cd in varchar2 default hr_api.g_varchar2
1231 ,p_term_start_month_cd in varchar2 default hr_api.g_varchar2
1232 ,p_time_normal_finish in varchar2 default hr_api.g_varchar2
1233 ,p_time_normal_start in varchar2 default hr_api.g_varchar2
1234 ,p_update_source_cd in varchar2 default hr_api.g_varchar2
1235 ,p_working_hours in number default hr_api.g_number
1236 ,p_works_council_approval_flag in varchar2 default hr_api.g_varchar2
1237 ,p_work_period_type_cd in varchar2 default hr_api.g_varchar2
1238 ,p_work_term_end_day_cd in varchar2 default hr_api.g_varchar2
1239 ,p_work_term_end_month_cd in varchar2 default hr_api.g_varchar2
1240 ,p_proposed_fte_for_layoff in number default hr_api.g_number
1241 ,p_proposed_date_for_layoff in date default hr_api.g_date
1242 ,p_pay_basis_id in number default hr_api.g_number
1243 ,p_supervisor_id in number default hr_api.g_number
1244 --,p_copied_to_old_table_flag in varchar2 default hr_api.g_varchar2
1245 ,p_information1 in varchar2 default hr_api.g_varchar2
1246 ,p_information2 in varchar2 default hr_api.g_varchar2
1247 ,p_information3 in varchar2 default hr_api.g_varchar2
1248 ,p_information4 in varchar2 default hr_api.g_varchar2
1249 ,p_information5 in varchar2 default hr_api.g_varchar2
1250 ,p_information6 in varchar2 default hr_api.g_varchar2
1251 ,p_information7 in varchar2 default hr_api.g_varchar2
1252 ,p_information8 in varchar2 default hr_api.g_varchar2
1253 ,p_information9 in varchar2 default hr_api.g_varchar2
1254 ,p_information10 in varchar2 default hr_api.g_varchar2
1255 ,p_information11 in varchar2 default hr_api.g_varchar2
1256 ,p_information12 in varchar2 default hr_api.g_varchar2
1257 ,p_information13 in varchar2 default hr_api.g_varchar2
1258 ,p_information14 in varchar2 default hr_api.g_varchar2
1259 ,p_information15 in varchar2 default hr_api.g_varchar2
1260 ,p_information16 in varchar2 default hr_api.g_varchar2
1261 ,p_information17 in varchar2 default hr_api.g_varchar2
1262 ,p_information18 in varchar2 default hr_api.g_varchar2
1263 ,p_information19 in varchar2 default hr_api.g_varchar2
1264 ,p_information20 in varchar2 default hr_api.g_varchar2
1265 ,p_information21 in varchar2 default hr_api.g_varchar2
1266 ,p_information22 in varchar2 default hr_api.g_varchar2
1267 ,p_information23 in varchar2 default hr_api.g_varchar2
1268 ,p_information24 in varchar2 default hr_api.g_varchar2
1269 ,p_information25 in varchar2 default hr_api.g_varchar2
1270 ,p_information26 in varchar2 default hr_api.g_varchar2
1271 ,p_information27 in varchar2 default hr_api.g_varchar2
1272 ,p_information28 in varchar2 default hr_api.g_varchar2
1273 ,p_information29 in varchar2 default hr_api.g_varchar2
1274 ,p_information30 in varchar2 default hr_api.g_varchar2
1275 ,p_information_category in varchar2 default hr_api.g_varchar2
1276 ,p_attribute1 in varchar2 default hr_api.g_varchar2
1277 ,p_attribute2 in varchar2 default hr_api.g_varchar2
1278 ,p_attribute3 in varchar2 default hr_api.g_varchar2
1279 ,p_attribute4 in varchar2 default hr_api.g_varchar2
1280 ,p_attribute5 in varchar2 default hr_api.g_varchar2
1281 ,p_attribute6 in varchar2 default hr_api.g_varchar2
1282 ,p_attribute7 in varchar2 default hr_api.g_varchar2
1283 ,p_attribute8 in varchar2 default hr_api.g_varchar2
1284 ,p_attribute9 in varchar2 default hr_api.g_varchar2
1285 ,p_attribute10 in varchar2 default hr_api.g_varchar2
1286 ,p_attribute11 in varchar2 default hr_api.g_varchar2
1287 ,p_attribute12 in varchar2 default hr_api.g_varchar2
1288 ,p_attribute13 in varchar2 default hr_api.g_varchar2
1289 ,p_attribute14 in varchar2 default hr_api.g_varchar2
1290 ,p_attribute15 in varchar2 default hr_api.g_varchar2
1291 ,p_attribute16 in varchar2 default hr_api.g_varchar2
1292 ,p_attribute17 in varchar2 default hr_api.g_varchar2
1293 ,p_attribute18 in varchar2 default hr_api.g_varchar2
1294 ,p_attribute19 in varchar2 default hr_api.g_varchar2
1295 ,p_attribute20 in varchar2 default hr_api.g_varchar2
1296 ,p_attribute21 in varchar2 default hr_api.g_varchar2
1297 ,p_attribute22 in varchar2 default hr_api.g_varchar2
1298 ,p_attribute23 in varchar2 default hr_api.g_varchar2
1299 ,p_attribute24 in varchar2 default hr_api.g_varchar2
1300 ,p_attribute25 in varchar2 default hr_api.g_varchar2
1301 ,p_attribute26 in varchar2 default hr_api.g_varchar2
1302 ,p_attribute27 in varchar2 default hr_api.g_varchar2
1303 ,p_attribute28 in varchar2 default hr_api.g_varchar2
1304 ,p_attribute29 in varchar2 default hr_api.g_varchar2
1305 ,p_attribute30 in varchar2 default hr_api.g_varchar2
1306 ,p_attribute_category in varchar2 default hr_api.g_varchar2
1307 ,p_segment1 in varchar2 default hr_api.g_varchar2
1308 ,p_segment2 in varchar2 default hr_api.g_varchar2
1309 ,p_segment3 in varchar2 default hr_api.g_varchar2
1310 ,p_segment4 in varchar2 default hr_api.g_varchar2
1311 ,p_segment5 in varchar2 default hr_api.g_varchar2
1312 ,p_segment6 in varchar2 default hr_api.g_varchar2
1313 ,p_segment7 in varchar2 default hr_api.g_varchar2
1314 ,p_segment8 in varchar2 default hr_api.g_varchar2
1315 ,p_segment9 in varchar2 default hr_api.g_varchar2
1316 ,p_segment10 in varchar2 default hr_api.g_varchar2
1317 ,p_segment11 in varchar2 default hr_api.g_varchar2
1318 ,p_segment12 in varchar2 default hr_api.g_varchar2
1319 ,p_segment13 in varchar2 default hr_api.g_varchar2
1320 ,p_segment14 in varchar2 default hr_api.g_varchar2
1321 ,p_segment15 in varchar2 default hr_api.g_varchar2
1322 ,p_segment16 in varchar2 default hr_api.g_varchar2
1323 ,p_segment17 in varchar2 default hr_api.g_varchar2
1324 ,p_segment18 in varchar2 default hr_api.g_varchar2
1325 ,p_segment19 in varchar2 default hr_api.g_varchar2
1326 ,p_segment20 in varchar2 default hr_api.g_varchar2
1327 ,p_segment21 in varchar2 default hr_api.g_varchar2
1328 ,p_segment22 in varchar2 default hr_api.g_varchar2
1329 ,p_segment23 in varchar2 default hr_api.g_varchar2
1330 ,p_segment24 in varchar2 default hr_api.g_varchar2
1331 ,p_segment25 in varchar2 default hr_api.g_varchar2
1332 ,p_segment26 in varchar2 default hr_api.g_varchar2
1333 ,p_segment27 in varchar2 default hr_api.g_varchar2
1334 ,p_segment28 in varchar2 default hr_api.g_varchar2
1335 ,p_segment29 in varchar2 default hr_api.g_varchar2
1336 ,p_segment30 in varchar2 default hr_api.g_varchar2
1337 ,p_concat_segments in varchar2 default hr_api.g_varchar2
1338 ,p_request_id in number default hr_api.g_number
1339 ,p_program_application_id in number default hr_api.g_number
1340 ,p_program_id in number default hr_api.g_number
1341 ,p_program_update_date in date default hr_api.g_date
1342 ,p_object_version_number in out nocopy number
1343 ,p_effective_date in date
1344 ,p_datetrack_mode in varchar2
1345 );
1346 --
1347 -- ----------------------------------------------------------------------------
1348 -- |-----------------------------< delete_position >--------------------------|
1349 -- ----------------------------------------------------------------------------
1350 --
1351 -- {Start Of Comments}
1352 /*#
1353 * This API deletes a position and should be used if you have HR fully
1354 * installed.
1355 *
1356 * This overload version of the delete API provides DateTrack features.
1357 *
1358 * <p><b>Licensing</b><br>
1359 * This API is licensed for use with Human Resources.
1360 *
1361 * <p><b>Prerequisites</b><br>
1362 * The position to be deleted must already exist. The position to be deleted
1363 * must not be used in any assignment.
1364 *
1365 * <p><b>Post Success</b><br>
1366 * The position is deleted successfully from the database.
1367 *
1368 * <p><b>Post Failure</b><br>
1369 * The position is not deleted and an error is raised.
1370 * @param p_validate If true, then validation alone will be performed and the
1371 * database will remain unchanged. If false and all validation checks pass,
1372 * then the database will be modified.
1373 * @param p_position_id Identifies the position to be deleted.
1374 * @param p_effective_start_date If p_validate is false, then set to the
1375 * effective start date for the deleted position row which now exists as of the
1376 * effective date. If p_validate is true or all row instances have been deleted
1377 * then set to null.
1378 * @param p_effective_end_date If p_validate is false, then set to the
1379 * effective end date for the deleted position row which now exists as of the
1380 * effective date. If p_validate is true or all row instances have been deleted
1381 * then set to null.
1382 * @param p_object_version_number Current version number of the position to be
1383 * deleted.
1384 * @param p_effective_date Determines when the DateTrack operation comes into
1385 * force.
1386 * @param p_datetrack_mode Indicates which DateTrack mode to use when deleting
1387 * the record. You must set to either ZAP, DELETE, FUTURE_CHANGE or
1388 * DELETE_NEXT_CHANGE. Modes available for use with a particular record depend
1389 * on the dates of previous record changes and the effective date of this
1390 * change.
1391 * @param p_security_profile_id Security Profile of the current responsibility.
1392 * @rep:displayname Delete Position
1393 * @rep:category BUSINESS_ENTITY PER_POSITION
1394 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
1395 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1396 * @rep:primaryinstance
1397 * @rep:scope public
1398 * @rep:lifecycle active
1399 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1400 */
1401 --
1402 -- {End Of Comments}
1403 --
1404 procedure delete_position
1405 (
1406 p_validate in boolean default false
1407 ,p_position_id in number
1408 ,p_effective_start_date out nocopy date
1409 ,p_effective_end_date out nocopy date
1410 ,p_object_version_number in out nocopy number
1411 ,p_effective_date in date
1412 ,p_datetrack_mode in varchar2
1413 ,p_security_profile_id in number default hr_security.get_security_profile
1414 );
1415 --
1416 -- ----------------------------------------------------------------------------
1417 -- |----------------------------------< lck >---------------------------------|
1418 -- ----------------------------------------------------------------------------
1419 -- {Start Of Comments}
1420 --
1421 -- Description:
1422 --
1423 -- Prerequisites:
1424 --
1425 --
1426 -- In Parameters:
1427 -- Name Reqd Type Description
1428 -- p_position_id Yes number PK of record
1429 -- p_object_version_number Yes number OVN of record
1430 -- p_effective_date Yes date Session Date.
1431 -- p_datetrack_mode Yes varchar2 Datetrack mode.
1432 --
1433 -- Post Success:
1434 --
1435 -- Name Type Description
1436 -- p_validation_start_date Yes Derived Effective Start Date.
1437 -- p_validation_end_date Yes Derived Effective End Date.
1438 --
1439 -- Post Failure:
1440 --
1441 -- Access Status:
1442 -- Public.
1443 --
1444 -- {End Of Comments}
1445 --
1446 procedure lck
1447 (
1448 p_position_id in number
1449 ,p_object_version_number in number
1450 ,p_effective_date in date
1451 ,p_datetrack_mode in varchar2
1452 ,p_validation_start_date out nocopy date
1453 ,p_validation_end_date out nocopy date
1454 ,p_language_code in varchar2 default hr_api.userenv_lang
1455 );
1456 --
1457 -- ----------------------------------------------------------------------------
1458 -- |------------------------< regenerate_position_name >----------------------|
1459 -- ----------------------------------------------------------------------------
1460 -- {Start Of Comments}
1461 --
1462 -- Description:
1463 -- Regenerate_position_name to rebuild position name for only one position
1464 -- from current flexfield values
1465 --
1466 --
1467 -- Prerequisites:
1468 -- If this process is called at the server-side ensure that
1469 -- fnd_profiles are initialized when position flexfield valuesets
1470 -- uses profile values
1471 --
1472 -- In Parameters:
1473 -- Name Reqd Type Description
1474 -- p_position_id Yes Number Position_id of the position
1475 --
1476 --
1477 -- Post Success:
1478 -- regenerates position name
1479 --
1480 -- Post Failure:
1481 -- Throws error message
1482 --
1483 --
1484 -- Access Status:
1485 -- Internal Development Use Only.
1486 --
1487 -- {End Of Comments}
1488 --
1489 procedure regenerate_position_name(p_position_id number);
1490 --
1491 -- ----------------------------------------------------------------------------
1492 -- |------------------------< regenerate_position_names >---------------------|
1493 -- ----------------------------------------------------------------------------
1494 -- {Start Of Comments}
1495 --
1496 -- Description:
1497 -- Regenerate Position Names process is used to rebuild
1498 -- position names using current Position flexfield values.
1499 -- This procedure is called by concurrent program
1500 --
1501 -- Pass p_organization_id if the position names need to be regenerated
1502 -- for all the positions under that organization.
1503 --
1504 -- Pass p_business_group_id if the position name needs to be regenerated
1505 -- for all the positions under that business group
1506 --
1507 -- Pass null to both p_business_group_id and p_organization_id
1508 -- if the position name needs to be regenerated
1509 -- for all the positions in all the business groups
1510 --
1511 -- Prerequisites:
1512 -- None
1513 --
1514 -- In Parameters:
1515 -- Name Reqd Type Description
1516 -- p_business_group_id Yes Number business_group_id or null
1517 -- p_organization_id Yes Number organization_id or null
1518 --
1519 --
1520 -- Post Success:
1521 -- regenerates position names
1522 --
1523 -- Name Type Description
1524 -- retcode Number returns completion status
1525 -- 0 for success,
1526
1527 --
1528 -- Post Failure:
1529 --
1530 -- Name Type Description
1531 -- errbuf Varchar2 return any error messages
1532 -- retcode Number to return any completion status
1533 -- 0 for success,
1534 -- 1 for success with warnings,
1535 -- and 2 for error
1536 --
1537 -- Access Status:
1538 -- Internal Development Use Only.
1539 --
1540 -- {End Of Comments}
1541 --
1542 --
1543 -- ----------------------------------------------------------------------------
1544 -- |------------------------< regenerate_position_names >---------------------|
1545 -- ----------------------------------------------------------------------------
1546 -- Regenerate Position Names process is used to rebuild
1547 -- position names using current Position flexfield values
1548 --
1549 procedure regenerate_position_names(
1550 errbuf out nocopy varchar2
1551 , retcode out nocopy number
1552 , p_business_group_id number,
1553 p_organization_id number);
1554 --
1555 --
1556 -- end of date tracked position apis
1557 --
1558 --
1559 end hr_position_api;