[Home] [Help]
PACKAGE BODY: APPS.HR_GRADE_STEP_API
Source
1 Package Body hr_grade_step_api as
2 /* $Header: pespsapi.pkb 120.1.12000000.1 2007/01/22 04:39:14 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hr_grade_step.';
7 --
8 --
9 -- ----------------------------------------------------------------------------
10 -- |-----------------------< create_grade_step >------------------------------|
11 -- ----------------------------------------------------------------------------
12 procedure create_grade_step
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_business_group_id in number
16 ,p_spinal_point_id in number
17 ,p_grade_spine_id in number
18 ,p_sequence in number
19 ,p_request_id in number default null
20 ,p_program_application_id in number default null
21 ,p_program_id in number default null
22 ,p_program_update_date in date default null
23 ,p_information_category in varchar2 default null
24 ,p_information1 in varchar2 default null
25 ,p_information2 in varchar2 default null
26 ,p_information3 in varchar2 default null
27 ,p_information4 in varchar2 default null
28 ,p_information5 in varchar2 default null
29 ,p_information6 in varchar2 default null
30 ,p_information7 in varchar2 default null
31 ,p_information8 in varchar2 default null
32 ,p_information9 in varchar2 default null
33 ,p_information10 in varchar2 default null
34 ,p_information11 in varchar2 default null
35 ,p_information12 in varchar2 default null
36 ,p_information13 in varchar2 default null
37 ,p_information14 in varchar2 default null
38 ,p_information15 in varchar2 default null
39 ,p_information16 in varchar2 default null
40 ,p_information17 in varchar2 default null
41 ,p_information18 in varchar2 default null
42 ,p_information19 in varchar2 default null
43 ,p_information20 in varchar2 default null
44 ,p_information21 in varchar2 default null
45 ,p_information22 in varchar2 default null
46 ,p_information23 in varchar2 default null
47 ,p_information24 in varchar2 default null
48 ,p_information25 in varchar2 default null
49 ,p_information26 in varchar2 default null
50 ,p_information27 in varchar2 default null
51 ,p_information28 in varchar2 default null
52 ,p_information29 in varchar2 default null
53 ,p_information30 in varchar2 default null
54 ,p_step_id in out nocopy number
55 ,p_effective_start_date out nocopy date
56 ,p_effective_end_date out nocopy date
57 ,p_object_version_number out nocopy number
58 ) is
59
60 --
61 -- Declare cursors and local variables
62 --
63 l_proc varchar2(72) := g_package||'create_grade_step';
64 l_effective_date date;
65
66 --
67 -- Declare out parameters
68 --
69 l_step_id per_spinal_point_steps_f.step_id%TYPE;
70 l_object_version_number per_spinal_point_steps_f.object_version_number%TYPE;
71 l_effective_start_date date;
72 l_effective_end_date date;
73
74 --
75 begin
76 --
77 hr_utility.set_location('Entering:'|| l_proc, 10);
78
79 l_step_id := p_step_id;
80
81 --
82 -- Issue a savepoint
83 --
84 savepoint create_grade_step;
85
86 hr_utility.set_location(l_proc, 20);
87
88 --
89 -- Truncate the time portion from all IN date parameters
90 --
91 l_effective_date := trunc(p_effective_date);
92
93 --
94 -- Call Before Process User hook for create_grade_step
95 --
96 begin
97 hr_grade_step_bk1.create_grade_step_b
98 (p_effective_date => l_effective_date
99 ,p_business_group_id => p_business_group_id
100 ,p_spinal_point_id => p_spinal_point_id
101 ,p_grade_spine_id => p_grade_spine_id
102 ,p_sequence => p_sequence
103 ,p_request_id => p_request_id
104 ,p_program_application_id => p_program_application_id
105 ,p_program_id => p_program_id
106 ,p_program_update_date => p_program_update_date
107 ,p_information_category => p_information_category
108 ,p_information1 => p_information1
109 ,p_information2 => p_information2
110 ,p_information3 => p_information3
111 ,p_information4 => p_information4
112 ,p_information5 => p_information5
113 ,p_information6 => p_information6
114 ,p_information7 => p_information7
115 ,p_information8 => p_information8
116 ,p_information9 => p_information9
117 ,p_information10 => p_information10
118 ,p_information11 => p_information11
119 ,p_information12 => p_information12
120 ,p_information13 => p_information13
121 ,p_information14 => p_information14
122 ,p_information15 => p_information15
123 ,p_information16 => p_information16
124 ,p_information17 => p_information17
125 ,p_information18 => p_information18
126 ,p_information19 => p_information19
127 ,p_information20 => p_information20
128 ,p_information21 => p_information21
129 ,p_information22 => p_information22
130 ,p_information23 => p_information23
131 ,p_information24 => p_information24
132 ,p_information25 => p_information25
133 ,p_information26 => p_information26
134 ,p_information27 => p_information27
135 ,p_information28 => p_information28
136 ,p_information29 => p_information29
137 ,p_information30 => p_information30
138 );
139 exception
140 when hr_api.cannot_find_prog_unit then
141 hr_api.cannot_find_prog_unit_error
142 (p_module_name => 'CREATE_GRADE_STEP'
143 ,p_hook_type => 'BP'
144 );
145 --
146 -- End of before hook process (create_grade_step)
147 --
148 end;
149
150 hr_utility.set_location(l_proc, 30);
151 --
152 -- Process Logic
153 --
154
155 --
156 -- Insert Grade scale
157 --
158 --
159 per_sps_ins.ins
160 (p_effective_date => l_effective_date
161 ,p_business_group_id => p_business_group_id
162 ,p_spinal_point_id => p_spinal_point_id
163 ,p_grade_spine_id => p_grade_spine_id
164 ,p_sequence => p_sequence
165 ,p_request_id => p_request_id
166 ,p_program_application_id => p_program_application_id
167 ,p_program_id => p_program_id
168 ,p_program_update_date => p_program_update_date
169 ,p_information_category => p_information_category
170 ,p_information1 => p_information1
171 ,p_information2 => p_information2
172 ,p_information3 => p_information3
173 ,p_information4 => p_information4
174 ,p_information5 => p_information5
175 ,p_information6 => p_information6
176 ,p_information7 => p_information7
177 ,p_information8 => p_information8
178 ,p_information9 => p_information9
179 ,p_information10 => p_information10
180 ,p_information11 => p_information11
181 ,p_information12 => p_information12
182 ,p_information13 => p_information13
183 ,p_information14 => p_information14
184 ,p_information15 => p_information15
185 ,p_information16 => p_information16
186 ,p_information17 => p_information17
187 ,p_information18 => p_information18
188 ,p_information19 => p_information19
189 ,p_information20 => p_information20
190 ,p_information21 => p_information21
191 ,p_information22 => p_information22
192 ,p_information23 => p_information23
193 ,p_information24 => p_information24
194 ,p_information25 => p_information25
195 ,p_information26 => p_information26
196 ,p_information27 => p_information27
197 ,p_information28 => p_information28
198 ,p_information29 => p_information29
199 ,p_information30 => p_information30
200 ,p_step_id => l_step_id
201 ,p_object_version_number => l_object_version_number
202 ,p_effective_start_date => l_effective_start_date
203 ,p_effective_end_date => l_effective_end_date
204 );
205
206 hr_utility.set_location(l_proc, 40);
207
208 --
209 --
210 -- Call After Process hook for create_grade_step
211 --
212
213 begin
214 hr_grade_step_bk1.create_grade_step_a
215 (p_effective_date => l_effective_date
216 ,p_business_group_id => p_business_group_id
217 ,p_spinal_point_id => p_spinal_point_id
218 ,p_grade_spine_id => p_grade_spine_id
219 ,p_sequence => p_sequence
220 ,p_request_id => p_request_id
221 ,p_program_application_id => p_program_application_id
222 ,p_program_id => p_program_id
223 ,p_program_update_date => p_program_update_date
224 ,p_information_category => p_information_category
225 ,p_information1 => p_information1
226 ,p_information2 => p_information2
227 ,p_information3 => p_information3
228 ,p_information4 => p_information4
229 ,p_information5 => p_information5
230 ,p_information6 => p_information6
231 ,p_information7 => p_information7
232 ,p_information8 => p_information8
233 ,p_information9 => p_information9
234 ,p_information10 => p_information10
235 ,p_information11 => p_information11
236 ,p_information12 => p_information12
237 ,p_information13 => p_information13
238 ,p_information14 => p_information14
239 ,p_information15 => p_information15
240 ,p_information16 => p_information16
241 ,p_information17 => p_information17
242 ,p_information18 => p_information18
243 ,p_information19 => p_information19
244 ,p_information20 => p_information20
245 ,p_information21 => p_information21
246 ,p_information22 => p_information22
247 ,p_information23 => p_information23
248 ,p_information24 => p_information24
249 ,p_information25 => p_information25
250 ,p_information26 => p_information26
251 ,p_information27 => p_information27
252 ,p_information28 => p_information28
253 ,p_information29 => p_information29
254 ,p_information30 => p_information30
255 ,p_step_id => l_step_id
256 ,p_object_version_number => l_object_version_number
257 ,p_effective_start_date => l_effective_start_date
258 ,p_effective_end_date => l_effective_end_date
259 );
260 exception
261 when hr_api.cannot_find_prog_unit then
262 hr_api.cannot_find_prog_unit_error
263 (p_module_name => 'CREATE_GRADE_STEP'
264 ,p_hook_type => 'AP'
265 );
266 --
267 -- End of after hook process (create_grade_step)
268 --
269 end;
270 --
271 -- When in validation only mode raise the Validate_Enabled exception
272 --
273 if p_validate
274 then
275 raise hr_api.validate_enabled;
276 end if;
277 --
278 hr_utility.set_location(l_proc, 50);
279 --
280 -- Set OUT parameters
281 --
282 p_step_id := l_step_id;
283 p_object_version_number := l_object_version_number;
284 p_effective_start_date := l_effective_start_date;
285 p_effective_end_date := l_effective_end_date;
286 --
287 hr_utility.set_location(' Leaving:' ||l_proc, 60);
288 --
289 exception
290 --
291 when hr_api.validate_enabled then
292 --
293 -- As the Validate_Enabled exception has been raised
294 -- we must rollback to the savepoint
295 --
296 ROLLBACK TO create_grade_step;
297 --
298 -- Set OUT parameters to null
299 -- Only set output warning arguments
300 -- (Any key or derived arguments must be set to null
301 -- when validation only mode is being used.)
302 --
303 p_step_id := null;
304 p_object_version_number := null;
305 p_effective_start_date := null;
306 p_effective_end_date := null;
307 --
308 hr_utility.set_location(' Leaving:'||l_proc, 70);
309 --
310 when others then
311 --
312 -- A validation or unexpected error has occurred
313 --
314 ROLLBACK TO create_grade_step;
315 --
316 hr_utility.set_location(' Leaving:'||l_proc, 80);
317 --
318 p_step_id := null;
319 p_object_version_number := null;
320 p_effective_start_date := null;
321 p_effective_end_date := null;
322 --
323 raise;
324 --
325 end create_grade_step;
326 --
327 -- ----------------------------------------------------------------------------
328 -- |-------------------------< update_grade_step >----------------------------|
329 -- ----------------------------------------------------------------------------
330 --
331 procedure update_grade_step
332 (p_validate in boolean default false
333 ,p_effective_date in date default hr_api.g_date
334 ,p_datetrack_mode in varchar2
335 ,p_step_id in number
336 ,p_object_version_number in out nocopy number
337 ,p_business_group_id in number default hr_api.g_number
338 ,p_spinal_point_id in number default hr_api.g_number
339 ,p_grade_spine_id in number default hr_api.g_number
340 ,p_sequence in number default hr_api.g_number
341 ,p_request_id in number default hr_api.g_number
342 ,p_program_application_id in number default hr_api.g_number
343 ,p_program_id in number default hr_api.g_number
344 ,p_program_update_date in date default hr_api.g_date
345 ,p_information_category in varchar2 default hr_api.g_varchar2
346 ,p_information1 in varchar2 default hr_api.g_varchar2
347 ,p_information2 in varchar2 default hr_api.g_varchar2
351 ,p_information6 in varchar2 default hr_api.g_varchar2
348 ,p_information3 in varchar2 default hr_api.g_varchar2
349 ,p_information4 in varchar2 default hr_api.g_varchar2
350 ,p_information5 in varchar2 default hr_api.g_varchar2
352 ,p_information7 in varchar2 default hr_api.g_varchar2
353 ,p_information8 in varchar2 default hr_api.g_varchar2
354 ,p_information9 in varchar2 default hr_api.g_varchar2
355 ,p_information10 in varchar2 default hr_api.g_varchar2
356 ,p_information11 in varchar2 default hr_api.g_varchar2
357 ,p_information12 in varchar2 default hr_api.g_varchar2
358 ,p_information13 in varchar2 default hr_api.g_varchar2
359 ,p_information14 in varchar2 default hr_api.g_varchar2
360 ,p_information15 in varchar2 default hr_api.g_varchar2
361 ,p_information16 in varchar2 default hr_api.g_varchar2
362 ,p_information17 in varchar2 default hr_api.g_varchar2
363 ,p_information18 in varchar2 default hr_api.g_varchar2
364 ,p_information19 in varchar2 default hr_api.g_varchar2
365 ,p_information20 in varchar2 default hr_api.g_varchar2
366 ,p_information21 in varchar2 default hr_api.g_varchar2
367 ,p_information22 in varchar2 default hr_api.g_varchar2
368 ,p_information23 in varchar2 default hr_api.g_varchar2
369 ,p_information24 in varchar2 default hr_api.g_varchar2
370 ,p_information25 in varchar2 default hr_api.g_varchar2
371 ,p_information26 in varchar2 default hr_api.g_varchar2
372 ,p_information27 in varchar2 default hr_api.g_varchar2
373 ,p_information28 in varchar2 default hr_api.g_varchar2
374 ,p_information29 in varchar2 default hr_api.g_varchar2
375 ,p_information30 in varchar2 default hr_api.g_varchar2
376 ,p_effective_start_date out nocopy date
377 ,p_effective_end_date out nocopy date
378 ) is
379
380 --
381 -- Declare cursors and local variables
382 --
383 l_proc varchar2(72) := g_package||'update_grade_step';
384 l_effective_date date;
385 lv_object_version_number per_spinal_point_steps_f.object_version_number%TYPE;
386
387 --
388 -- Declare out parameters
389 --
390 l_object_version_number per_spinal_point_steps_f.object_version_number%TYPE;
391 l_effective_start_date per_spinal_point_steps_f.effective_start_date%TYPE;
392 l_effective_end_date per_spinal_point_steps_f.effective_end_date%TYPE;
393
394 --
395 begin
396 --
397 hr_utility.set_location('Entering:'|| l_proc, 10);
398 --
399 lv_object_version_number := p_object_version_number;
400
401 --
402 -- Issue a savepoint
403 --
404 savepoint update_grade_step;
405
406 hr_utility.set_location(l_proc, 20);
407
408 --
409 -- Truncate the time portion from all IN date parameters
410 --
411 l_effective_date := trunc(p_effective_date);
412
413 --
414 -- store object version number passed in
415 --
416 l_object_version_number := p_object_version_number;
417
418 --
419 -- Call Before Process User hook for create_grade_step
420 --
421 begin
422 hr_grade_step_bk2.update_grade_step_b
423 (p_effective_date => l_effective_date
424 ,p_step_id => p_step_id
425 ,p_business_group_id => p_business_group_id
426 ,p_spinal_point_id => p_spinal_point_id
427 ,p_grade_spine_id => p_grade_spine_id
428 ,p_sequence => p_sequence
429 ,p_request_id => p_request_id
430 ,p_program_application_id => p_program_application_id
431 ,p_program_id => p_program_id
432 ,p_program_update_date => p_program_update_date
433 ,p_information_category => p_information_category
434 ,p_information1 => p_information1
435 ,p_information2 => p_information2
436 ,p_information3 => p_information3
437 ,p_information4 => p_information4
438 ,p_information5 => p_information5
439 ,p_information6 => p_information6
440 ,p_information7 => p_information7
441 ,p_information8 => p_information8
442 ,p_information9 => p_information9
443 ,p_information10 => p_information10
444 ,p_information11 => p_information11
445 ,p_information12 => p_information12
446 ,p_information13 => p_information13
447 ,p_information14 => p_information14
448 ,p_information15 => p_information15
449 ,p_information16 => p_information16
450 ,p_information17 => p_information17
451 ,p_information18 => p_information18
452 ,p_information19 => p_information19
453 ,p_information20 => p_information20
454 ,p_information21 => p_information21
455 ,p_information22 => p_information22
459 ,p_information26 => p_information26
456 ,p_information23 => p_information23
457 ,p_information24 => p_information24
458 ,p_information25 => p_information25
460 ,p_information27 => p_information27
461 ,p_information28 => p_information28
462 ,p_information29 => p_information29
463 ,p_information30 => p_information30
464 ,p_datetrack_mode => p_datetrack_mode
465 ,p_object_version_number => l_object_version_number
466 );
467 exception
468 when hr_api.cannot_find_prog_unit then
469 hr_api.cannot_find_prog_unit_error
470 (p_module_name => 'UPDATE_GRADE_STEP'
471 ,p_hook_type => 'BP'
472 );
473 --
474 -- End of before hook process (update_grade_step)
475 --
476 end;
477
478 hr_utility.set_location(l_proc, 30);
479 --
480 -- Process Logic
481 --
482
483 l_object_version_number := p_object_version_number;
484
485 --
486 -- Update Progression Point
487 --
488 --
489 per_sps_upd.upd
490 (p_effective_date => l_effective_date
491 ,p_datetrack_mode => p_datetrack_mode
492 ,p_step_id => p_step_id
493 ,p_object_version_number => l_object_version_number
494 ,p_business_group_id => p_business_group_id
495 ,p_spinal_point_id => p_spinal_point_id
496 ,p_grade_spine_id => p_grade_spine_id
497 ,p_sequence => p_sequence
498 ,p_request_id => p_request_id
499 ,p_program_application_id => p_program_application_id
500 ,p_program_id => p_program_id
501 ,p_program_update_date => p_program_update_date
502 ,p_information_category => p_information_category
503 ,p_information1 => p_information1
504 ,p_information2 => p_information2
505 ,p_information3 => p_information3
506 ,p_information4 => p_information4
507 ,p_information5 => p_information5
508 ,p_information6 => p_information6
509 ,p_information7 => p_information7
510 ,p_information8 => p_information8
511 ,p_information9 => p_information9
512 ,p_information10 => p_information10
513 ,p_information11 => p_information11
514 ,p_information12 => p_information12
515 ,p_information13 => p_information13
516 ,p_information14 => p_information14
517 ,p_information15 => p_information15
518 ,p_information16 => p_information16
519 ,p_information17 => p_information17
520 ,p_information18 => p_information18
521 ,p_information19 => p_information19
522 ,p_information20 => p_information20
523 ,p_information21 => p_information21
524 ,p_information22 => p_information22
525 ,p_information23 => p_information23
526 ,p_information24 => p_information24
527 ,p_information25 => p_information25
528 ,p_information26 => p_information26
529 ,p_information27 => p_information27
530 ,p_information28 => p_information28
531 ,p_information29 => p_information29
532 ,p_information30 => p_information30
533 ,p_effective_start_date => l_effective_start_date
534 ,p_effective_end_date => l_effective_end_date
535 );
536
537 --
538 -- Assign the out parameters.
539 --
540 p_object_version_number := l_object_version_number;
541
542 hr_utility.set_location(l_proc, 40);
543
544 --
545 --
546 -- Call After Process hook for update_grade_step
547 --
548
549 begin
550 hr_grade_step_bk2.update_grade_step_a
551 (p_effective_date => l_effective_date
552 ,p_datetrack_mode => p_datetrack_mode
553 ,p_step_id => p_step_id
554 ,p_object_version_number => l_object_version_number
555 ,p_business_group_id => p_business_group_id
556 ,p_spinal_point_id => p_spinal_point_id
557 ,p_grade_spine_id => p_grade_spine_id
558 ,p_sequence => p_sequence
559 ,p_request_id => p_request_id
560 ,p_program_application_id => p_program_application_id
561 ,p_program_id => p_program_id
562 ,p_program_update_date => p_program_update_date
563 ,p_information_category => p_information_category
564 ,p_information1 => p_information1
565 ,p_information2 => p_information2
566 ,p_information3 => p_information3
567 ,p_information4 => p_information4
568 ,p_information5 => p_information5
569 ,p_information6 => p_information6
570 ,p_information7 => p_information7
571 ,p_information8 => p_information8
575 ,p_information12 => p_information12
572 ,p_information9 => p_information9
573 ,p_information10 => p_information10
574 ,p_information11 => p_information11
576 ,p_information13 => p_information13
577 ,p_information14 => p_information14
578 ,p_information15 => p_information15
579 ,p_information16 => p_information16
580 ,p_information17 => p_information17
581 ,p_information18 => p_information18
582 ,p_information19 => p_information19
583 ,p_information20 => p_information20
584 ,p_information21 => p_information21
585 ,p_information22 => p_information22
586 ,p_information23 => p_information23
587 ,p_information24 => p_information24
588 ,p_information25 => p_information25
589 ,p_information26 => p_information26
590 ,p_information27 => p_information27
591 ,p_information28 => p_information28
592 ,p_information29 => p_information29
593 ,p_information30 => p_information30
594 ,p_effective_start_date => l_effective_start_date
595 ,p_effective_end_date => l_effective_end_date
596 );
597 exception
598 when hr_api.cannot_find_prog_unit then
599 hr_api.cannot_find_prog_unit_error
600 (p_module_name => 'UPDATE_GRADE_STEP'
601 ,p_hook_type => 'AP'
602 );
603 --
604 -- End of after hook process (update_grade_step)
605 --
606 end;
607 --
608 -- When in validation only mode raise the Validate_Enabled exception
609 --
610 if p_validate
611 then
612 raise hr_api.validate_enabled;
613 end if;
614 --
615 hr_utility.set_location(l_proc, 50);
616 --
617 -- Set OUT parameters
618 --
619 p_object_version_number := l_object_version_number;
620 p_effective_start_date := l_effective_start_date;
621 p_effective_end_date := l_effective_end_date;
622 --
623 hr_utility.set_location(' Leaving:' ||l_proc, 60);
624 --
625 exception
626 --
627 when hr_api.validate_enabled then
628 --
629 -- As the Validate_Enabled exception has been raised
630 -- we must rollback to the savepoint
631 --
632 rollback to update_grade_step;
633 --
634 -- Set OUT parameters to null
635 -- Only set output warning arguments
636 -- (Any key or derived arguments must be set to null
637 -- when validation only mode is being used.)
638 --
639 p_object_version_number := p_object_version_number;
640 --
641 hr_utility.set_location(' Leaving:'||l_proc, 70);
642 --
643 when others then
644 --
645 -- A validation or unexpected error has occurred
646 --
647 rollback to update_grade_step;
648 --
649 p_object_version_number := lv_object_version_number;
650 p_effective_start_date := null;
651 p_effective_end_date := null;
652 --
653 hr_utility.set_location(' Leaving:'||l_proc, 80);
654 --
655 raise;
656 --
657 end update_grade_step;
658 --
659 --
660 -- ----------------------------------------------------------------------------
661 -- |--------------------------< delete_grade_step >---------------------------|
662 -- ----------------------------------------------------------------------------
663 --
664
665 procedure delete_grade_step
666 (p_validate in boolean
667 ,p_effective_date in date
668 ,p_datetrack_mode in varchar2
669 ,p_step_id in number
670 ,p_object_version_number in out nocopy number
671 ,p_effective_start_date out nocopy date
672 ,p_effective_end_date out nocopy date
673 ) IS
674
675
676 l_proc varchar2(72) := g_package||'delete_grade_step';
677
678 begin
679 hr_utility.set_location('Entering:'|| l_proc, 10);
680
681 delete_grade_step
682 (p_validate => p_validate
683 ,p_effective_date => p_effective_date
684 ,p_datetrack_mode => p_datetrack_mode
685 ,p_step_id => p_step_id
686 ,p_object_version_number => p_object_version_number
687 ,p_effective_start_date => p_effective_start_date
688 ,p_effective_end_date => p_effective_end_date
689 ,p_called_from_del_grd_scale => FALSE
690 );
691 hr_utility.set_location('Leaving:'|| l_proc, 10);
692
693 end;
694 --
695 --
696 --
697 -- ----------------------------------------------------------------------------
698 -- |--------------------------< delete_grade_step >---------------------------|
699 -- ----------------------------------------------------------------------------
700 --
701 procedure delete_grade_step
702 (p_validate in boolean
703 ,p_effective_date in date
704 ,p_datetrack_mode in varchar2
705 ,p_step_id in number
706 ,p_object_version_number in out nocopy number
710 ) IS
707 ,p_effective_start_date out nocopy date
708 ,p_effective_end_date out nocopy date
709 ,p_called_from_del_grd_scale in boolean --bug 4096238
711
712 -- Declare cursors and local variables
713 --
714 l_proc varchar2(72) := g_package||'delete_grade_step';
715 l_effective_date date;
716 lv_object_version_number per_spinal_point_steps_f.object_version_number%TYPE;
717
718
719 --
720 -- Declare out variables
721 --
722 l_object_version_number per_spinal_point_steps_f.object_version_number%TYPE;
723 l_effective_start_date per_spinal_point_steps_f.effective_start_date%TYPE;
724 l_effective_end_date per_spinal_point_steps_f.effective_end_date%TYPE;
725 --
726 begin
727 hr_utility.set_location('Entering:'|| l_proc, 10);
728
729 l_effective_date := trunc(p_effective_date);
730 lv_object_version_number := p_object_version_number;
731
732 --
733 -- Issue a savepoint
734 --
735 savepoint delete_grade_step;
736
737 l_object_version_number := p_object_version_number;
738
739 --
740 -- Call Before Process User Hook
741 --
742 begin
743 hr_grade_step_bk3.delete_grade_step_b
744 (p_effective_date => l_effective_date
745 ,p_datetrack_mode => p_datetrack_mode
746 ,p_step_id => p_step_id
747 ,p_object_version_number => l_object_version_number
748 );
749 exception
750 when hr_api.cannot_find_prog_unit then
751 hr_api.cannot_find_prog_unit_error
752 (p_module_name => 'DELETE_GRADE_STEP'
753 ,p_hook_type => 'BP'
754 );
755 end;
756
757 hr_utility.set_location(l_proc, 20);
758
759 --
760 -- Process Logic
761 --
762
763 per_sps_del.del
764 (p_effective_date => l_effective_date
765 ,p_datetrack_mode => p_datetrack_mode
766 ,p_step_id => p_step_id
767 ,p_object_version_number => l_object_version_number
768 ,p_effective_start_date => l_effective_start_date
769 ,p_effective_end_date => l_effective_end_date
770 ,p_called_from_del_grd_scale => p_called_from_del_grd_scale -- BUG 4096238
771 );
772
773 hr_utility.set_location(l_proc, 30);
774
775 --
776 -- Call After Process User Hook
777 --
778 begin
779 hr_grade_step_bk3.delete_grade_step_a
780 (p_effective_date => l_effective_date
781 ,p_datetrack_mode => p_datetrack_mode
782 ,p_step_id => p_step_id
783 ,p_object_version_number => l_object_version_number
784 ,p_effective_start_date => l_effective_start_date
785 ,p_effective_end_date => l_effective_end_date
786 );
787 exception
788 when hr_api.cannot_find_prog_unit then
789 hr_api.cannot_find_prog_unit_error
790 (p_module_name => 'DELETE_GRADE_STEP'
791 ,p_hook_type => 'AP'
792 );
793 end;
794
795 hr_utility.set_location(l_proc, 40);
796
797 p_object_version_number := l_object_version_number;
798 --
799 -- When in validation only mode raise the Validate_Enabled exception
800 --
801 if p_validate then
802 raise hr_api.validate_enabled;
803 end if;
804
805 --
806 -- Set all output arguments (returned by some dt modes only)
807 --
808 p_object_version_number := l_object_version_number;
809
810 hr_utility.set_location(' Leaving:'||l_proc, 100);
811 exception
812 when hr_api.validate_enabled then
813 hr_utility.set_location(' Leaving...:'||l_proc, 50);
814 --
815 -- As the Validate_Enabled exception has been raised
816 -- we must rollback to the savepoint
817 --
818 rollback to delete_grade_step;
819 --
820 -- Only set output warning arguments
821 -- (Any key or derived arguments must be set to null
822 -- when validation only mode is being used.)
823 --
824 p_effective_start_date := null;
825 p_effective_end_date := null;
826 p_object_version_number := null;
827 --
828 when others then
829 hr_utility.set_location(' Leaving...:'||l_proc, 60);
830 --
831 -- A validation or unexpected error has occured
832 --
833 rollback to delete_grade_step;
834 --
835 -- set in out parameters and set out parameters
836 --
837 p_effective_start_date := null;
838 p_effective_end_date := null;
839 p_object_version_number := lv_object_version_number;
840 --
841 raise;
842 --
843 end delete_grade_step;
844 --
845 end hr_grade_step_api;