DBA Data[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;