[Home] [Help]
PACKAGE BODY: APPS.GHR_POSNDT_API
Source
1 Package Body ghr_posndt_api as
2 /* $Header: ghposndt.pkb 120.2 2005/10/06 09:42:02 vravikan noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'ghr_posndt_api.';
7 --
8 -- ---------------------------------------------------------------------------
9 -- |--------------------------< create_position >-----------------------------|
10 -- ---------------------------------------------------------------------------
11 --
12 procedure create_position
13 (p_position_id out nocopy number
14 ,p_effective_start_date out nocopy date
15 ,p_effective_end_date out nocopy date
16 ,p_position_definition_id out nocopy number
17 ,p_name out nocopy varchar2
18 ,p_object_version_number out nocopy number
19 ,p_job_id in number
20 ,p_organization_id in number
21 ,p_effective_date in date
22 ,p_date_effective in date
23 ,p_validate in boolean default false
24 ,p_availability_status_id in number default null
25 ,p_business_group_id in number default null
26 ,p_entry_step_id in number default null
27 ,p_entry_grade_rule_id in number default null
28 ,p_location_id in number default null
29 ,p_pay_freq_payroll_id in number default null
30 ,p_position_transaction_id in number default null
31 ,p_prior_position_id in number default null
32 ,p_relief_position_id in number default null
33 ,p_entry_grade_id in number default null
34 ,p_successor_position_id in number default null
35 ,p_supervisor_position_id in number default null
36 ,p_amendment_date in date default null
37 ,p_amendment_recommendation in varchar2 default null
38 ,p_amendment_ref_number in varchar2 default null
39 ,p_bargaining_unit_cd in varchar2 default null
40 ,p_comments in long default null
41 ,p_current_job_prop_end_date in date default null
42 ,p_current_org_prop_end_date in date default null
43 ,p_avail_status_prop_end_date in date default null
44 ,p_date_end in date default null
45 ,p_earliest_hire_date in date default null
46 ,p_fill_by_date in date default null
47 ,p_frequency in varchar2 default null
48 ,p_fte in number default null
49 ,p_max_persons in number default null
50 ,p_overlap_period in number default null
51 ,p_overlap_unit_cd in varchar2 default null
52 ,p_pay_term_end_day_cd in varchar2 default null
53 ,p_pay_term_end_month_cd in varchar2 default null
54 ,p_permanent_temporary_flag in varchar2 default null
55 ,p_permit_recruitment_flag in varchar2 default null
56 ,p_position_type in varchar2 default 'NONE'
57 ,p_posting_description in varchar2 default null
58 ,p_probation_period in number default null
59 ,p_probation_period_unit_cd in varchar2 default null
60 ,p_replacement_required_flag in varchar2 default null
61 ,p_review_flag in varchar2 default null
62 ,p_seasonal_flag in varchar2 default null
63 ,p_security_requirements in varchar2 default null
64 ,p_status in varchar2 default null
65 ,p_term_start_day_cd in varchar2 default null
66 ,p_term_start_month_cd in varchar2 default null
67 ,p_time_normal_finish in varchar2 default null
68 ,p_time_normal_start in varchar2 default null
69 ,p_update_source_cd in varchar2 default null
70 ,p_working_hours in number default null
71 ,p_works_council_approval_flag in varchar2 default null
72 ,p_work_period_type_cd in varchar2 default null
73 ,p_work_term_end_day_cd in varchar2 default null
74 ,p_work_term_end_month_cd in varchar2 default null
75 ,p_proposed_fte_for_layoff in number default null
76 ,p_proposed_date_for_layoff in date default null
77 ,p_pay_basis_id in number default null
78 ,p_supervisor_id in number default null
79 ,p_information1 in varchar2 default null
80 ,p_information2 in varchar2 default null
81 ,p_information3 in varchar2 default null
82 ,p_information4 in varchar2 default null
83 ,p_information5 in varchar2 default null
84 ,p_information6 in varchar2 default null
85 ,p_information7 in varchar2 default null
86 ,p_information8 in varchar2 default null
87 ,p_information9 in varchar2 default null
88 ,p_information10 in varchar2 default null
89 ,p_information11 in varchar2 default null
90 ,p_information12 in varchar2 default null
91 ,p_information13 in varchar2 default null
92 ,p_information14 in varchar2 default null
93 ,p_information15 in varchar2 default null
94 ,p_information16 in varchar2 default null
95 ,p_information17 in varchar2 default null
96 ,p_information18 in varchar2 default null
97 ,p_information19 in varchar2 default null
98 ,p_information20 in varchar2 default null
99 ,p_information21 in varchar2 default null
100 ,p_information22 in varchar2 default null
101 ,p_information23 in varchar2 default null
102 ,p_information24 in varchar2 default null
103 ,p_information25 in varchar2 default null
104 ,p_information26 in varchar2 default null
105 ,p_information27 in varchar2 default null
106 ,p_information28 in varchar2 default null
107 ,p_information29 in varchar2 default null
108 ,p_information30 in varchar2 default null
109 ,p_information_category in varchar2 default null
110 ,p_attribute1 in varchar2 default null
111 ,p_attribute2 in varchar2 default null
112 ,p_attribute3 in varchar2 default null
113 ,p_attribute4 in varchar2 default null
114 ,p_attribute5 in varchar2 default null
115 ,p_attribute6 in varchar2 default null
116 ,p_attribute7 in varchar2 default null
117 ,p_attribute8 in varchar2 default null
118 ,p_attribute9 in varchar2 default null
119 ,p_attribute10 in varchar2 default null
120 ,p_attribute11 in varchar2 default null
121 ,p_attribute12 in varchar2 default null
122 ,p_attribute13 in varchar2 default null
123 ,p_attribute14 in varchar2 default null
124 ,p_attribute15 in varchar2 default null
125 ,p_attribute16 in varchar2 default null
126 ,p_attribute17 in varchar2 default null
127 ,p_attribute18 in varchar2 default null
128 ,p_attribute19 in varchar2 default null
129 ,p_attribute20 in varchar2 default null
130 ,p_attribute21 in varchar2 default null
131 ,p_attribute22 in varchar2 default null
132 ,p_attribute23 in varchar2 default null
133 ,p_attribute24 in varchar2 default null
134 ,p_attribute25 in varchar2 default null
135 ,p_attribute26 in varchar2 default null
136 ,p_attribute27 in varchar2 default null
137 ,p_attribute28 in varchar2 default null
138 ,p_attribute29 in varchar2 default null
139 ,p_attribute30 in varchar2 default null
140 ,p_attribute_category in varchar2 default null
141 ,p_segment1 in varchar2 default null
142 ,p_segment2 in varchar2 default null
143 ,p_segment3 in varchar2 default null
144 ,p_segment4 in varchar2 default null
145 ,p_segment5 in varchar2 default null
146 ,p_segment6 in varchar2 default null
147 ,p_segment7 in varchar2 default null
148 ,p_segment8 in varchar2 default null
149 ,p_segment9 in varchar2 default null
150 ,p_segment10 in varchar2 default null
151 ,p_segment11 in varchar2 default null
152 ,p_segment12 in varchar2 default null
153 ,p_segment13 in varchar2 default null
154 ,p_segment14 in varchar2 default null
155 ,p_segment15 in varchar2 default null
156 ,p_segment16 in varchar2 default null
157 ,p_segment17 in varchar2 default null
158 ,p_segment18 in varchar2 default null
159 ,p_segment19 in varchar2 default null
160 ,p_segment20 in varchar2 default null
161 ,p_segment21 in varchar2 default null
162 ,p_segment22 in varchar2 default null
163 ,p_segment23 in varchar2 default null
164 ,p_segment24 in varchar2 default null
165 ,p_segment25 in varchar2 default null
166 ,p_segment26 in varchar2 default null
167 ,p_segment27 in varchar2 default null
168 ,p_segment28 in varchar2 default null
169 ,p_segment29 in varchar2 default null
170 ,p_segment30 in varchar2 default null
171 ,p_concat_segments in varchar2 default null
172 ,p_request_id in number default null
173 ,p_program_application_id in number default null
174 ,p_program_id in number default null
175 ,p_program_update_date in date default null
176 ) is
177
178 --
179 -- Declare cursors and local variables
180 --
181 l_proc varchar2(72);
182 l_position_id number;
183 l_effective_start_date date;
184 l_effective_end_date date;
185 l_position_definition_id number;
186 l_name varchar2(2000);
187 l_object_version_number number;
188
189
190 --
191 begin
192 l_proc := g_package||'create_position';
193 hr_utility.set_location('Entering:'|| l_proc, 5);
194 --
195 -- Issue a savepoint if operating in validation only mode.
196 --
197 savepoint ghr_create_position;
198 --
199 hr_utility.set_location(l_proc, 10);
200 --
201
202 -- Set Session Variable so that DB triggers populate hisotry
203 -- correctly for the Federal product.
204
205 ghr_Session.set_session_var_for_core
206 (p_effective_date => p_date_effective);
207 --
208 hr_position_api.create_position
209 (
210 p_position_id => l_position_id
211 ,p_effective_start_date => l_effective_start_date
212 ,p_effective_end_date => l_effective_end_date
213 ,p_position_definition_id => l_position_definition_id
214 ,p_name => l_name
215 ,p_object_version_number => l_object_version_number
216 ,p_job_id => p_job_id
217 ,p_organization_id => p_organization_id
218 ,p_effective_date => p_effective_date
219 ,p_date_effective => p_date_effective
220 ,p_validate => FALSE
221 ,p_availability_status_id => p_availability_status_id
222 ,p_business_group_id => p_business_group_id
223 ,p_entry_step_id => p_entry_step_id
224 ,p_entry_grade_rule_id => p_entry_grade_rule_id
225 ,p_location_id => p_location_id
226 ,p_pay_freq_payroll_id => p_pay_freq_payroll_id
227 ,p_position_transaction_id => p_position_transaction_id
228 ,p_prior_position_id => p_prior_position_id
229 ,p_relief_position_id => p_relief_position_id
230 ,p_entry_grade_id => p_entry_grade_id
231 ,p_successor_position_id => p_successor_position_id
232 ,p_supervisor_position_id => p_supervisor_position_id
233 ,p_amendment_date => p_amendment_date
234 ,p_amendment_recommendation => p_amendment_recommendation
235 ,p_amendment_ref_number => p_amendment_ref_number
236 ,p_bargaining_unit_cd => p_bargaining_unit_cd
237 ,p_comments => p_comments
238 ,p_current_job_prop_end_date => p_current_job_prop_end_date
239 ,p_current_org_prop_end_date => p_current_org_prop_end_date
240 ,p_avail_status_prop_end_date => p_avail_status_prop_end_date
241 ,p_date_end => p_date_end
242 ,p_earliest_hire_date => p_earliest_hire_date
243 ,p_fill_by_date => p_fill_by_date
244 ,p_frequency => p_frequency
245 ,p_fte => p_fte
246 ,p_max_persons => p_max_persons
247 ,p_overlap_period => p_overlap_period
248 ,p_overlap_unit_cd => p_overlap_unit_cd
249 ,p_pay_term_end_day_cd => p_pay_term_end_day_cd
250 ,p_pay_term_end_month_cd => p_pay_term_end_month_cd
251 ,p_permanent_temporary_flag => p_permanent_temporary_flag
252 ,p_permit_recruitment_flag => p_permit_recruitment_flag
253 ,p_position_type => p_position_type
254 ,p_posting_description => p_posting_description
255 ,p_probation_period => p_probation_period
256 ,p_probation_period_unit_cd => p_probation_period_unit_cd
257 ,p_replacement_required_flag => p_replacement_required_flag
258 ,p_review_flag => p_review_flag
259 ,p_seasonal_flag => p_seasonal_flag
260 ,p_security_requirements => p_security_requirements
261 ,p_status => p_status
262 ,p_term_start_day_cd => p_term_start_day_cd
263 ,p_term_start_month_cd => p_term_start_month_cd
264 ,p_time_normal_finish => p_time_normal_finish
265 ,p_time_normal_start => p_time_normal_start
266 ,p_update_source_cd => p_update_source_cd
267 ,p_working_hours => p_working_hours
268 ,p_works_council_approval_flag => p_works_council_approval_flag
269 ,p_work_period_type_cd => p_work_period_type_cd
270 ,p_work_term_end_day_cd => p_work_term_end_day_cd
271 ,p_work_term_end_month_cd => p_work_term_end_month_cd
272 ,p_proposed_fte_for_layoff => p_proposed_fte_for_layoff
273 ,p_proposed_date_for_layoff => p_proposed_date_for_layoff
274 ,p_pay_basis_id => p_pay_basis_id
275 ,p_supervisor_id => p_supervisor_id
276 ,p_information1 => p_information1
277 ,p_information2 => p_information2
278 ,p_information3 => p_information3
279 ,p_information4 => p_information4
280 ,p_information5 => p_information5
281 ,p_information6 => p_information6
282 ,p_information7 => p_information7
283 ,p_information8 => p_information8
284 ,p_information9 => p_information9
285 ,p_information10 => p_information10
286 ,p_information11 => p_information11
287 ,p_information12 => p_information12
288 ,p_information13 => p_information13
292 ,p_information17 => p_information17
289 ,p_information14 => p_information14
290 ,p_information15 => p_information15
291 ,p_information16 => p_information16
293 ,p_information18 => p_information18
294 ,p_information19 => p_information19
295 ,p_information20 => p_information20
296 ,p_information21 => p_information21
297 ,p_information22 => p_information22
298 ,p_information23 => p_information23
299 ,p_information24 => p_information24
300 ,p_information25 => p_information25
301 ,p_information26 => p_information26
302 ,p_information27 => p_information27
303 ,p_information28 => p_information29
304 ,p_information29 => p_information29
305 ,p_information30 => p_information30
306 ,p_information_category => p_information_category
307 ,p_attribute1 => p_attribute1
308 ,p_attribute2 => p_attribute2
309 ,p_attribute3 => p_attribute3
310 ,p_attribute4 => p_attribute4
311 ,p_attribute5 => p_attribute5
312 ,p_attribute6 => p_attribute6
313 ,p_attribute7 => p_attribute7
314 ,p_attribute8 => p_attribute8
315 ,p_attribute9 => p_attribute9
316 ,p_attribute10 => p_attribute10
317 ,p_attribute11 => p_attribute11
318 ,p_attribute12 => p_attribute12
319 ,p_attribute13 => p_attribute13
320 ,p_attribute14 => p_attribute14
321 ,p_attribute15 => p_attribute15
322 ,p_attribute16 => p_attribute16
323 ,p_attribute17 => p_attribute17
324 ,p_attribute18 => p_attribute18
325 ,p_attribute19 => p_attribute19
326 ,p_attribute20 => p_attribute20
327 ,p_attribute21 => p_attribute21
328 ,p_attribute22 => p_attribute22
329 ,p_attribute23 => p_attribute23
330 ,p_attribute24 => p_attribute24
331 ,p_attribute25 => p_attribute25
332 ,p_attribute26 => p_attribute26
333 ,p_attribute27 => p_attribute27
334 ,p_attribute28 => p_attribute28
335 ,p_attribute29 => p_attribute29
336 ,p_attribute30 => p_attribute30
337 ,p_attribute_category => p_attribute_category
338 ,p_segment1 => p_segment1
339 ,p_segment2 => p_segment2
340 ,p_segment3 => p_segment3
341 ,p_segment4 => p_segment4
342 ,p_segment5 => p_segment5
343 ,p_segment6 => p_segment6
344 ,p_segment7 => p_segment7
345 ,p_segment8 => p_segment8
346 ,p_segment9 => p_segment9
347 ,p_segment10 => p_segment10
348 ,p_segment11 => p_segment11
349 ,p_segment12 => p_segment12
350 ,p_segment13 => p_segment13
351 ,p_segment14 => p_segment14
352 ,p_segment15 => p_segment15
353 ,p_segment16 => p_segment16
354 ,p_segment17 => p_segment17
355 ,p_segment18 => p_segment18
356 ,p_segment19 => p_segment19
357 ,p_segment20 => p_segment20
358 ,p_segment21 => p_segment21
359 ,p_segment22 => p_segment22
360 ,p_segment23 => p_segment23
361 ,p_segment24 => p_segment24
362 ,p_segment25 => p_segment25
363 ,p_segment26 => p_segment26
364 ,p_segment27 => p_segment27
365 ,p_segment28 => p_segment28
366 ,p_segment29 => p_segment29
367 ,p_segment30 => p_segment30
368 ,p_concat_segments => p_concat_segments
369 ,p_request_id => p_request_id
370 ,p_program_application_id => p_program_application_id
371 ,p_program_id => p_program_id
372 ,p_program_update_date => p_program_update_date
373 );
374
375 p_position_id := l_position_id;
376 p_effective_start_date := l_effective_start_date;
377 p_effective_end_date := l_effective_end_date;
378 p_position_definition_id := l_position_definition_id;
379 p_name := l_name;
380 p_object_version_number := l_object_version_number;
381
382 hr_utility.set_location(l_proc, 20);
383 --
384 ghr_history_api.post_update_process;
385
386 -- When in validation only mode raise the Validate_Enabled exception
387 --
388 if p_validate then
389 raise hr_api.validate_enabled;
390 end if;
391 p_position_definition_id := p_position_definition_id;
392 p_name := p_name;
393 --
394 hr_utility.set_location(' Leaving:'||l_proc, 50);
395 exception
396 when hr_api.validate_enabled then
397 --
401 ROLLBACK TO ghr_create_position;
398 -- As the Validate_Enabled exception has been raised
399 -- we must rollback to the savepoint
400 --
402 --
403 -- Only set output warning arguments
404 -- (Any key or derived arguments must be set to null
405 -- when validation only mode is being used.)
406 --
407 p_name := null;
408 p_position_id := null;
409 p_position_definition_id := null;
410 p_object_version_number := null;
411 p_effective_start_date := null;
412 p_effective_end_date := null;
413 --
414 When others then
415 ROLLBACK TO ghr_create_position;
416 --
417 -- Reset IN OUT parameters and set OUT parameters
418 --
419 p_name := null;
420 p_position_id := null;
421 p_position_definition_id := null;
422 p_object_version_number := null;
423 p_effective_start_date := null;
424 p_effective_end_date := null;
425 --
426 raise;
427 END create_position;
428 --
429
430 procedure update_position
431 (p_position_id in number
432 ,p_effective_start_date out nocopy date
433 ,p_effective_end_date out nocopy date
434 ,p_position_definition_id in out nocopy number
435 ,p_name in out nocopy varchar2
436 ,p_object_version_number in out nocopy number
437 ,p_effective_date in date
438 ,p_date_effective in date
439 ,p_validate in boolean default false
440 ,p_availability_status_id in number default null
441 ,p_entry_step_id in number default null
442 ,p_entry_grade_rule_id in number default null
443 ,p_location_id in number default null
444 ,p_pay_freq_payroll_id in number default null
445 ,p_position_transaction_id in number default null
446 ,p_prior_position_id in number default null
447 ,p_relief_position_id in number default null
448 ,p_entry_grade_id in number default null
449 ,p_successor_position_id in number default null
450 ,p_supervisor_position_id in number default null
451 ,p_amendment_date in date default null
452 ,p_amendment_recommendation in varchar2 default null
453 ,p_amendment_ref_number in varchar2 default null
454 ,p_bargaining_unit_cd in varchar2 default null
455 ,p_comments in long default null
456 ,p_current_job_prop_end_date in date default null
457 ,p_current_org_prop_end_date in date default null
458 ,p_avail_status_prop_end_date in date default null
459 ,p_date_end in date default null
460 ,p_earliest_hire_date in date default null
461 ,p_fill_by_date in date default null
462 ,p_frequency in varchar2 default null
463 ,p_fte in number default null
464 ,p_max_persons in number default null
465 ,p_overlap_period in number default null
466 ,p_overlap_unit_cd in varchar2 default null
467 ,p_pay_term_end_day_cd in varchar2 default null
468 ,p_pay_term_end_month_cd in varchar2 default null
469 ,p_permanent_temporary_flag in varchar2 default null
470 ,p_permit_recruitment_flag in varchar2 default null
471 ,p_position_type in varchar2 default 'NONE'
472 ,p_posting_description in varchar2 default null
473 ,p_probation_period in number default null
474 ,p_probation_period_unit_cd in varchar2 default null
475 ,p_replacement_required_flag in varchar2 default null
476 ,p_review_flag in varchar2 default null
477 ,p_seasonal_flag in varchar2 default null
478 ,p_security_requirements in varchar2 default null
479 ,p_status in varchar2 default null
480 ,p_term_start_day_cd in varchar2 default null
481 ,p_term_start_month_cd in varchar2 default null
482 ,p_time_normal_finish in varchar2 default null
483 ,p_time_normal_start in varchar2 default null
484 ,p_update_source_cd in varchar2 default null
485 ,p_working_hours in number default null
486 ,p_works_council_approval_flag in varchar2 default null
487 ,p_work_period_type_cd in varchar2 default null
488 ,p_work_term_end_day_cd in varchar2 default null
489 ,p_work_term_end_month_cd in varchar2 default null
490 ,p_proposed_fte_for_layoff in number default null
491 ,p_proposed_date_for_layoff in date default null
492 ,p_pay_basis_id in number default null
493 ,p_supervisor_id in number default null
494 ,p_information1 in varchar2 default null
495 ,p_information2 in varchar2 default null
496 ,p_information3 in varchar2 default null
497 ,p_information4 in varchar2 default null
498 ,p_information5 in varchar2 default null
499 ,p_information6 in varchar2 default null
500 ,p_information7 in varchar2 default null
501 ,p_information8 in varchar2 default null
502 ,p_information9 in varchar2 default null
503 ,p_information10 in varchar2 default null
504 ,p_information11 in varchar2 default null
505 ,p_information12 in varchar2 default null
506 ,p_information13 in varchar2 default null
507 ,p_information14 in varchar2 default null
508 ,p_information15 in varchar2 default null
509 ,p_information16 in varchar2 default null
510 ,p_information17 in varchar2 default null
511 ,p_information18 in varchar2 default null
512 ,p_information19 in varchar2 default null
513 ,p_information20 in varchar2 default null
514 ,p_information21 in varchar2 default null
515 ,p_information22 in varchar2 default null
516 ,p_information23 in varchar2 default null
517 ,p_information24 in varchar2 default null
518 ,p_information25 in varchar2 default null
519 ,p_information26 in varchar2 default null
523 ,p_information30 in varchar2 default null
520 ,p_information27 in varchar2 default null
521 ,p_information28 in varchar2 default null
522 ,p_information29 in varchar2 default null
524 ,p_information_category in varchar2 default null
525 ,p_attribute1 in varchar2 default null
526 ,p_attribute2 in varchar2 default null
527 ,p_attribute3 in varchar2 default null
528 ,p_attribute4 in varchar2 default null
529 ,p_attribute5 in varchar2 default null
530 ,p_attribute6 in varchar2 default null
531 ,p_attribute7 in varchar2 default null
532 ,p_attribute8 in varchar2 default null
533 ,p_attribute9 in varchar2 default null
534 ,p_attribute10 in varchar2 default null
535 ,p_attribute11 in varchar2 default null
536 ,p_attribute12 in varchar2 default null
537 ,p_attribute13 in varchar2 default null
538 ,p_attribute14 in varchar2 default null
539 ,p_attribute15 in varchar2 default null
540 ,p_attribute16 in varchar2 default null
541 ,p_attribute17 in varchar2 default null
542 ,p_attribute18 in varchar2 default null
543 ,p_attribute19 in varchar2 default null
544 ,p_attribute20 in varchar2 default null
545 ,p_attribute21 in varchar2 default null
546 ,p_attribute22 in varchar2 default null
547 ,p_attribute23 in varchar2 default null
548 ,p_attribute24 in varchar2 default null
549 ,p_attribute25 in varchar2 default null
550 ,p_attribute26 in varchar2 default null
551 ,p_attribute27 in varchar2 default null
552 ,p_attribute28 in varchar2 default null
553 ,p_attribute29 in varchar2 default null
554 ,p_attribute30 in varchar2 default null
555 ,p_attribute_category in varchar2 default null
556 ,p_segment1 in varchar2 default null
557 ,p_segment2 in varchar2 default null
558 ,p_segment3 in varchar2 default null
559 ,p_segment4 in varchar2 default null
560 ,p_segment5 in varchar2 default null
561 ,p_segment6 in varchar2 default null
562 ,p_segment7 in varchar2 default null
563 ,p_segment8 in varchar2 default null
564 ,p_segment9 in varchar2 default null
565 ,p_segment10 in varchar2 default null
566 ,p_segment11 in varchar2 default null
567 ,p_segment12 in varchar2 default null
568 ,p_segment13 in varchar2 default null
569 ,p_segment14 in varchar2 default null
570 ,p_segment15 in varchar2 default null
571 ,p_segment16 in varchar2 default null
572 ,p_segment17 in varchar2 default null
573 ,p_segment18 in varchar2 default null
574 ,p_segment19 in varchar2 default null
575 ,p_segment20 in varchar2 default null
576 ,p_segment21 in varchar2 default null
577 ,p_segment22 in varchar2 default null
578 ,p_segment23 in varchar2 default null
579 ,p_segment24 in varchar2 default null
580 ,p_segment25 in varchar2 default null
581 ,p_segment26 in varchar2 default null
582 ,p_segment27 in varchar2 default null
583 ,p_segment28 in varchar2 default null
584 ,p_segment29 in varchar2 default null
585 ,p_segment30 in varchar2 default null
586 ,p_concat_segments in varchar2 default null
587 ,p_request_id in number default null
588 ,p_program_application_id in number default null
589 ,p_program_id in number default null
590 ,p_program_update_date in date default null
591 ,p_datetrack_mode in varchar2
592 ,p_valid_grades_changed_warning out nocopy boolean
593 ) IS
594
595 l_proc VARCHAR2(200);
596 l_effective_start_date hr_all_positions_f.effective_start_date%type;
597 l_effective_end_date hr_all_positions_f.effective_end_date%type;
598 l_position_definition_id hr_all_positions_f.position_definition_id%type;
599 l_name hr_positions_f.name%type;
600 l_object_version_number hr_all_positions_f.object_version_number%type;
601 l_valid_grades_changed_warning BOOLEAN;
602
603 BEGIN
604 l_proc := 'update_position';
605 hr_utility.set_location('Entering:'|| l_proc, 5);
606
607 l_position_definition_id := p_position_definition_id;
608 l_name := p_name;
609 l_object_version_number := p_object_version_number;
610
611 --
612 -- Issue a savepoint if operating in validation only mode.
613 --
614 savepoint ghr_update_position;
615 --
616 hr_utility.set_location(l_proc, 10);
617 --
618 -- Set Session Variable so that DB triggers populate hisotry
619 -- correctly for the Federal product.
620
621 ghr_Session.set_session_var_for_core
622 (p_effective_date => p_date_effective);
623
624 -- Calling update position API
625 hr_position_api.update_position
629 ,p_effective_end_date => l_effective_end_date
626 (p_validate => FALSE
627 ,p_position_id => p_position_id
628 ,p_effective_start_date => l_effective_start_date
630 ,p_position_definition_id => p_position_definition_id
631 ,p_valid_grades_changed_warning => l_valid_grades_changed_warning
632 ,p_name => p_name
633 ,p_availability_status_id => p_availability_status_id
634 ,p_entry_step_id => p_entry_step_id
635 ,p_entry_grade_rule_id => p_entry_grade_rule_id
636 ,p_location_id => p_location_id
637 ,p_pay_freq_payroll_id => p_pay_freq_payroll_id
638 ,p_position_transaction_id => p_position_transaction_id
639 ,p_prior_position_id => p_prior_position_id
640 ,p_relief_position_id => p_relief_position_id
641 ,p_entry_grade_id => p_entry_grade_id
642 ,p_successor_position_id => p_successor_position_id
643 ,p_supervisor_position_id => p_supervisor_position_id
644 ,p_amendment_date => p_amendment_date
645 ,p_amendment_recommendation => p_amendment_recommendation
646 ,p_amendment_ref_number => p_amendment_ref_number
647 ,p_bargaining_unit_cd => p_bargaining_unit_cd
648 ,p_comments => p_comments
649 ,p_current_job_prop_end_date => p_current_job_prop_end_date
650 ,p_current_org_prop_end_date => p_current_org_prop_end_date
651 ,p_avail_status_prop_end_date => p_avail_status_prop_end_date
652 ,p_date_effective => p_date_effective
653 ,p_date_end => p_date_end
654 ,p_earliest_hire_date => p_earliest_hire_date
655 ,p_fill_by_date => p_fill_by_date
656 ,p_frequency => p_frequency
657 ,p_fte => p_fte
658 ,p_max_persons => p_max_persons
659 ,p_overlap_period => p_overlap_period
660 ,p_overlap_unit_cd => p_overlap_unit_cd
661 ,p_pay_term_end_day_cd => p_pay_term_end_day_cd
662 ,p_pay_term_end_month_cd => p_pay_term_end_month_cd
663 ,p_permanent_temporary_flag => p_permanent_temporary_flag
664 ,p_permit_recruitment_flag => p_permit_recruitment_flag
665 ,p_position_type => p_position_type
666 ,p_posting_description => p_posting_description
667 ,p_probation_period => p_probation_period
668 ,p_probation_period_unit_cd => p_probation_period_unit_cd
669 ,p_replacement_required_flag => p_replacement_required_flag
670 ,p_review_flag => p_review_flag
671 ,p_seasonal_flag => p_seasonal_flag
672 ,p_security_requirements => p_security_requirements
673 ,p_status => p_status
674 ,p_term_start_day_cd => p_term_start_day_cd
675 ,p_term_start_month_cd => p_term_start_month_cd
676 ,p_time_normal_finish => p_time_normal_finish
677 ,p_time_normal_start => p_time_normal_start
678 ,p_update_source_cd => p_update_source_cd
679 ,p_working_hours => p_working_hours
680 ,p_works_council_approval_flag => p_works_council_approval_flag
681 ,p_work_period_type_cd => p_work_period_type_cd
682 ,p_work_term_end_day_cd => p_work_term_end_day_cd
683 ,p_work_term_end_month_cd => p_work_term_end_month_cd
684 ,p_proposed_fte_for_layoff => p_proposed_fte_for_layoff
685 ,p_proposed_date_for_layoff => p_proposed_date_for_layoff
686 ,p_pay_basis_id => p_pay_basis_id
687 ,p_supervisor_id => p_supervisor_id
688 ,p_information1 => p_information1
689 ,p_information2 => p_information2
690 ,p_information3 => p_information3
691 ,p_information4 => p_information4
692 ,p_information5 => p_information5
693 ,p_information6 => p_information6
694 ,p_information7 => p_information7
695 ,p_information8 => p_information8
696 ,p_information9 => p_information9
697 ,p_information10 => p_information10
698 ,p_information11 => p_information11
699 ,p_information12 => p_information12
700 ,p_information13 => p_information13
701 ,p_information14 => p_information14
702 ,p_information15 => p_information15
703 ,p_information16 => p_information16
704 ,p_information17 => p_information17
705 ,p_information18 => p_information18
706 ,p_information19 => p_information19
707 ,p_information20 => p_information20
708 ,p_information21 => p_information21
709 ,p_information22 => p_information22
710 ,p_information23 => p_information23
711 ,p_information24 => p_information24
712 ,p_information25 => p_information25
713 ,p_information26 => p_information26
714 ,p_information27 => p_information27
715 ,p_information28 => p_information28
716 ,p_information29 => p_information29
717 ,p_information30 => p_information30
718 ,p_information_category => p_information_category
719 ,p_attribute1 => p_attribute1
720 ,p_attribute2 => p_attribute2
721 ,p_attribute3 => p_attribute3
722 ,p_attribute4 => p_attribute4
723 ,p_attribute5 => p_attribute5
724 ,p_attribute6 => p_attribute6
725 ,p_attribute7 => p_attribute7
726 ,p_attribute8 => p_attribute8
727 ,p_attribute9 => p_attribute9
728 ,p_attribute10 => p_attribute10
729 ,p_attribute11 => p_attribute11
730 ,p_attribute12 => p_attribute12
731 ,p_attribute13 => p_attribute13
732 ,p_attribute14 => p_attribute14
733 ,p_attribute15 => p_attribute15
734 ,p_attribute16 => p_attribute16
735 ,p_attribute17 => p_attribute17
736 ,p_attribute18 => p_attribute18
737 ,p_attribute19 => p_attribute19
738 ,p_attribute20 => p_attribute20
739 ,p_attribute21 => p_attribute21
740 ,p_attribute22 => p_attribute22
741 ,p_attribute23 => p_attribute23
742 ,p_attribute24 => p_attribute24
743 ,p_attribute25 => p_attribute25
744 ,p_attribute26 => p_attribute26
745 ,p_attribute27 => p_attribute27
746 ,p_attribute28 => p_attribute28
747 ,p_attribute29 => p_attribute29
748 ,p_attribute30 => p_attribute30
749 ,p_attribute_category => p_attribute_category
750 ,p_segment1 => p_segment1
751 ,p_segment2 => p_segment2
752 ,p_segment3 => p_segment3
753 ,p_segment4 => p_segment4
754 ,p_segment5 => p_segment5
755 ,p_segment6 => p_segment6
756 ,p_segment7 => p_segment7
757 ,p_segment8 => p_segment8
758 ,p_segment9 => p_segment9
759 ,p_segment10 => p_segment10
760 ,p_segment11 => p_segment11
761 ,p_segment12 => p_segment12
762 ,p_segment13 => p_segment13
763 ,p_segment14 => p_segment14
764 ,p_segment15 => p_segment15
765 ,p_segment16 => p_segment16
766 ,p_segment17 => p_segment17
767 ,p_segment18 => p_segment18
768 ,p_segment19 => p_segment19
769 ,p_segment20 => p_segment20
770 ,p_segment21 => p_segment21
771 ,p_segment22 => p_segment22
772 ,p_segment23 => p_segment23
773 ,p_segment24 => p_segment24
774 ,p_segment25 => p_segment25
775 ,p_segment26 => p_segment26
776 ,p_segment27 => p_segment27
777 ,p_segment28 => p_segment28
778 ,p_segment29 => p_segment29
779 ,p_segment30 => p_segment30
780 ,p_concat_segments => p_concat_segments
781 ,p_request_id => p_request_id
782 ,p_program_application_id => p_program_application_id
783 ,p_program_id => p_program_id
784 ,p_program_update_date => p_program_update_date
785 ,p_object_version_number => p_object_version_number
786 ,p_effective_date => p_effective_date
787 ,p_datetrack_mode => p_datetrack_mode
788 );
789
790 if p_validate then
791 raise hr_api.validate_enabled;
792 end if;
793 p_effective_start_date := l_effective_start_date;
794 p_effective_end_date := l_effective_end_date;
795 l_valid_grades_changed_warning := p_valid_grades_changed_warning;
796 --
797 hr_utility.set_location(l_proc, 20);
798 --
799 ghr_history_api.post_update_process;
800 --
801 hr_utility.set_location(' Leaving:'||l_proc, 50);
802 exception
803 when hr_api.validate_enabled then
804 --
805 -- As the Validate_Enabled exception has been raised
806 -- we must rollback to the savepoint
807 --
808 ROLLBACK TO ghr_update_position;
809 --
810 -- Only set output warning arguments
811 -- (Any key or derived arguments must be set to null
812 -- when validation only mode is being used.)
813 --
814 p_effective_start_date := null;
815 p_effective_end_date := null;
816 p_position_definition_id := l_position_definition_id;
817 p_name := l_name;
818 p_object_version_number := l_object_version_number;
819 p_valid_grades_changed_warning := NULL;
820
821 --
822 When others then
823 ROLLBACK TO ghr_update_position;
824 --
825 -- Reset IN OUT parameters and set OUT parameters
826 p_effective_start_date := null;
827 p_effective_end_date := null;
828 p_position_definition_id := l_position_definition_id;
829 p_name := l_name;
830 p_object_version_number := l_object_version_number;
831 p_valid_grades_changed_warning := NULL;
832 --
833 RAISE;
834
835 END update_position;
836
837
838 END ghr_posndt_api;