DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_RUN_TYPE_API

Source


1 Package Body pay_run_type_api as
2 /* $Header: pyprtapi.pkb 115.6 2003/02/01 13:41:18 prsundar noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  pay_run_type_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< create_run_type >-----------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_run_type
13   (p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_language_code                 in     varchar2 default hr_api.userenv_lang
16   ,p_run_type_name                 in     varchar2
17   ,p_run_method                    in     varchar2
18   ,p_business_group_id             in     number   default null
19   ,p_legislation_code              in     varchar2 default null
20   ,p_shortname                     in     varchar2 default null
21   ,p_srs_flag                      in     varchar2 default 'Y'
22   ,p_run_information_category	   in     varchar2 default null
23   ,p_run_information1		   in     varchar2 default null
24   ,p_run_information2		   in     varchar2 default null
25   ,p_run_information3		   in     varchar2 default null
26   ,p_run_information4		   in	  varchar2 default null
27   ,p_run_information5		   in     varchar2 default null
28   ,p_run_information6		   in     varchar2 default null
29   ,p_run_information7		   in     varchar2 default null
30   ,p_run_information8		   in     varchar2 default null
31   ,p_run_information9		   in	  varchar2 default null
32   ,p_run_information10		   in     varchar2 default null
33   ,p_run_information11		   in     varchar2 default null
34   ,p_run_information12		   in     varchar2 default null
35   ,p_run_information13		   in     varchar2 default null
36   ,p_run_information14		   in	  varchar2 default null
37   ,p_run_information15		   in     varchar2 default null
38   ,p_run_information16		   in     varchar2 default null
39   ,p_run_information17		   in     varchar2 default null
40   ,p_run_information18		   in     varchar2 default null
41   ,p_run_information19		   in	  varchar2 default null
42   ,p_run_information20		   in     varchar2 default null
43   ,p_run_information21		   in     varchar2 default null
44   ,p_run_information22		   in     varchar2 default null
45   ,p_run_information23		   in     varchar2 default null
46   ,p_run_information24		   in	  varchar2 default null
47   ,p_run_information25		   in     varchar2 default null
48   ,p_run_information26		   in     varchar2 default null
49   ,p_run_information27		   in     varchar2 default null
50   ,p_run_information28		   in     varchar2 default null
51   ,p_run_information29		   in	  varchar2 default null
52   ,p_run_information30		   in     varchar2 default null
53   ,p_run_type_id                      out nocopy number
54   ,p_effective_start_date             out nocopy date
55   ,p_effective_end_date               out nocopy date
56   ,p_object_version_number            out nocopy number
57   ) is
58   --
59   -- Declare cursors and local variables
60   --
61   l_proc                varchar2(72) := g_package||'create_run_type';
62   l_effective_date      date;
63   l_language_code       varchar2(4);
64   --
65   -- Declare OUT variables
66   --
67   l_run_type_id              pay_run_types_f.run_type_id%TYPE;
68   l_object_version_number    pay_run_types_f.object_version_number%TYPE;
69   l_effective_start_date     pay_run_types_f.effective_start_date%TYPE;
70   l_effective_end_date       pay_run_types_f.effective_end_date%TYPE;
71   --
72 begin
73   hr_utility.set_location('Entering:'|| l_proc, 10);
74   --
75   -- Issue a savepoint
76   --
77   savepoint create_run_type;
78   --
79   -- Validate the language provided
80   --
81   l_language_code := p_language_code;
82   hr_api.validate_language_code(p_language_code => l_language_code);
83   --
84   -- Truncate the time portion from all IN date parameters
85   --
86     l_effective_date := trunc(p_effective_date);
87     hr_utility.set_location(l_proc, 20);
88   --
89   -- Call Before Process User Hook
90   --
91   begin
92     pay_run_type_bk1.create_run_type_b
93       (p_effective_date                => l_effective_date
94       ,p_language_code                 => l_language_code
95       ,p_run_type_name                 => p_run_type_name
96       ,p_run_method                    => p_run_method
97       ,p_business_group_id             => p_business_group_id
98       ,p_legislation_code              => p_legislation_code
99       ,p_shortname                     => p_shortname
100       ,p_srs_flag                      => p_srs_flag
101       ,p_run_information_category      => p_run_information_category
102       ,p_run_information1	       => p_run_information1
103       ,p_run_information2	       => p_run_information2
104       ,p_run_information3	       => p_run_information3
105       ,p_run_information4	       => p_run_information4
106       ,p_run_information5	       => p_run_information5
107       ,p_run_information6	       => p_run_information6
108       ,p_run_information7	       => p_run_information7
109       ,p_run_information8	       => p_run_information8
110       ,p_run_information9	       => p_run_information9
111       ,p_run_information10	       => p_run_information10
112       ,p_run_information11	       => p_run_information11
113       ,p_run_information12	       => p_run_information12
114       ,p_run_information13	       => p_run_information13
115       ,p_run_information14	       => p_run_information14
116       ,p_run_information15	       => p_run_information15
117       ,p_run_information16	       => p_run_information16
118       ,p_run_information17	       => p_run_information17
119       ,p_run_information18	       => p_run_information18
120       ,p_run_information19	       => p_run_information19
121       ,p_run_information20	       => p_run_information20
122       ,p_run_information21	       => p_run_information21
123       ,p_run_information22	       => p_run_information22
124       ,p_run_information23	       => p_run_information23
125       ,p_run_information24	       => p_run_information24
126       ,p_run_information25	       => p_run_information25
127       ,p_run_information26	       => p_run_information26
128       ,p_run_information27	       => p_run_information27
129       ,p_run_information28	       => p_run_information28
130       ,p_run_information29	       => p_run_information29
131       ,p_run_information30	       => p_run_information30
132       );
133   exception
134     when hr_api.cannot_find_prog_unit then
135       hr_api.cannot_find_prog_unit_error
136         (p_module_name => 'create_run_type'
137         ,p_hook_type   => 'BP'
138         );
139   end;
140   hr_utility.set_location(l_proc, 30);
141   --
142   -- Validation in addition to Row Handlers
143   --
144   hr_utility.set_location(l_proc, 40);
145   --
146   -- Process Logic
147   --
148   -- Call the row handler
149   --
150     pay_prt_ins.ins
151        (p_effective_date              => l_effective_date
152        ,p_run_type_name               => p_run_type_name
153        ,p_run_method                  => p_run_method
154        ,p_business_group_id           => p_business_group_id
155        ,p_legislation_code            => p_legislation_code
156        ,p_shortname                   => p_shortname
157        ,p_srs_flag                    => p_srs_flag
158        ,p_run_information_category    => p_run_information_category
159        ,p_run_information1	      => p_run_information1
160        ,p_run_information2	      => p_run_information2
161        ,p_run_information3	      => p_run_information3
162        ,p_run_information4	      => p_run_information4
163        ,p_run_information5	      => p_run_information5
164        ,p_run_information6	      => p_run_information6
165        ,p_run_information7	      => p_run_information7
166        ,p_run_information8	      => p_run_information8
167        ,p_run_information9	      => p_run_information9
168        ,p_run_information10	      => p_run_information10
169        ,p_run_information11	      => p_run_information11
170        ,p_run_information12	      => p_run_information12
171        ,p_run_information13	      => p_run_information13
172        ,p_run_information14	      => p_run_information14
173        ,p_run_information15	      => p_run_information15
174        ,p_run_information16	      => p_run_information16
175        ,p_run_information17	      => p_run_information17
176        ,p_run_information18	      => p_run_information18
177        ,p_run_information19	      => p_run_information19
178        ,p_run_information20	      => p_run_information20
179        ,p_run_information21	      => p_run_information21
180        ,p_run_information22	      => p_run_information22
181        ,p_run_information23	      => p_run_information23
182        ,p_run_information24	      => p_run_information24
183        ,p_run_information25	      => p_run_information25
184        ,p_run_information26	      => p_run_information26
185        ,p_run_information27	      => p_run_information27
186        ,p_run_information28	      => p_run_information28
187        ,p_run_information29	      => p_run_information29
188        ,p_run_information30	      => p_run_information30
189        ,p_run_type_id                 => l_run_type_id
190        ,p_object_version_number       => l_object_version_number
191        ,p_effective_start_date        => l_effective_start_date
192        ,p_effective_end_date          => l_effective_end_date
193        );
194     --
195     hr_utility.set_location(l_proc, 50);
196   --
197   -- Create the translation rows
198   --
199     pay_rtt_ins.ins_tl(p_language_code => l_language_code
200                       ,p_run_type_id   => l_run_type_id
201                       ,p_run_type_name => p_run_type_name
202                       ,p_shortname     => p_shortname
203                       );
204   --
205   -- Call After Process User Hook
206   --
207   begin
208     pay_run_type_bk1.create_run_type_a
209       (p_effective_date                => l_effective_date
210       ,p_language_code                 => l_language_code
211       ,p_run_type_name                 => p_run_type_name
212       ,p_run_method                    => p_run_method
213       ,p_business_group_id             => p_business_group_id
214       ,p_legislation_code              => p_legislation_code
215       ,p_shortname                     => p_shortname
216       ,p_srs_flag                      => p_srs_flag
217       ,p_run_information_category      => p_run_information_category
218       ,p_run_information1	       => p_run_information1
219       ,p_run_information2	       => p_run_information2
220       ,p_run_information3	       => p_run_information3
221       ,p_run_information4	       => p_run_information4
222       ,p_run_information5	       => p_run_information5
223       ,p_run_information6	       => p_run_information6
224       ,p_run_information7	       => p_run_information7
225       ,p_run_information8	       => p_run_information8
226       ,p_run_information9	       => p_run_information9
227       ,p_run_information10	       => p_run_information10
228       ,p_run_information11	       => p_run_information11
229       ,p_run_information12	       => p_run_information12
230       ,p_run_information13	       => p_run_information13
231       ,p_run_information14	       => p_run_information14
232       ,p_run_information15	       => p_run_information15
233       ,p_run_information16	       => p_run_information16
234       ,p_run_information17	       => p_run_information17
235       ,p_run_information18	       => p_run_information18
236       ,p_run_information19	       => p_run_information19
237       ,p_run_information20	       => p_run_information20
238       ,p_run_information21	       => p_run_information21
239       ,p_run_information22	       => p_run_information22
240       ,p_run_information23	       => p_run_information23
241       ,p_run_information24	       => p_run_information24
242       ,p_run_information25	       => p_run_information25
243       ,p_run_information26	       => p_run_information26
244       ,p_run_information27	       => p_run_information27
245       ,p_run_information28	       => p_run_information28
246       ,p_run_information29	       => p_run_information29
247       ,p_run_information30	       => p_run_information30
248       ,p_run_type_id                   => l_run_type_id
249       ,p_effective_start_date          => l_effective_start_date
250       ,p_effective_end_date            => l_effective_end_date
251       ,p_object_version_number         => l_object_version_number
252       );
253   exception
254     when hr_api.cannot_find_prog_unit then
255       hr_api.cannot_find_prog_unit_error
256         (p_module_name => 'create_run_type_a'
257         ,p_hook_type   => 'AP'
258         );
259   end;
260   hr_utility.set_location(l_proc, 60);
261   --
262   -- When in validation only mode raise the Validate_Enabled exception
263   --
264   if p_validate then
265     raise hr_api.validate_enabled;
266   end if;
267   --
268   -- Set all output arguments
269   --
270   p_run_type_id            := l_run_type_id;
271   p_effective_start_date   := l_effective_start_date;
272   p_effective_end_date     := l_effective_end_date;
273   p_object_version_number  := l_object_version_number;
274   --
275   hr_utility.set_location(' Leaving:'||l_proc, 70);
276 exception
277   when hr_api.validate_enabled then
278     --
279     -- As the Validate_Enabled exception has been raised
280     -- we must rollback to the savepoint
281     --
282     rollback to create_run_type;
283     --
284     -- Only set output warning arguments
285     -- (Any key or derived arguments must be set to null
286     -- when validation only mode is being used.)
287     --
288     p_run_type_id            := null;
289     p_object_version_number  := null;
290     p_effective_start_date   := null;
291     p_effective_end_date     := null;
292     hr_utility.set_location(' Leaving:'||l_proc, 80);
293   when others then
294     --
295     -- A validation or unexpected error has occured
296     --
297     rollback to create_run_type;
298     raise;
299     hr_utility.set_location(' Leaving:'||l_proc, 90);
300 end create_run_type;
301 --
302 -- ----------------------------------------------------------------------------
303 -- |--------------------------< update_run_type >-----------------------------|
304 -- ----------------------------------------------------------------------------
305 --
306 procedure update_run_type
307   (p_validate                      in     boolean  default false
308   ,p_effective_date                in     date
309   ,p_datetrack_update_mode         in     varchar2
310   ,p_language_code                 in     varchar2 default hr_api.userenv_lang
311   ,p_run_type_id                   in     number
312   ,p_object_version_number         in out nocopy number
313   ,p_business_group_id             in     number   default hr_api.g_number
314   ,p_legislation_code              in     varchar2 default hr_api.g_varchar2
315   ,p_shortname                     in     varchar2 default hr_api.g_varchar2
316   ,p_srs_flag                      in     varchar2 default hr_api.g_varchar2
317   ,p_run_information_category	   in     varchar2 default hr_api.g_varchar2
318   ,p_run_information1		   in     varchar2 default hr_api.g_varchar2
319   ,p_run_information2		   in     varchar2 default hr_api.g_varchar2
320   ,p_run_information3		   in     varchar2 default hr_api.g_varchar2
321   ,p_run_information4		   in     varchar2 default hr_api.g_varchar2
322   ,p_run_information5		   in     varchar2 default hr_api.g_varchar2
323   ,p_run_information6		   in     varchar2 default hr_api.g_varchar2
324   ,p_run_information7		   in     varchar2 default hr_api.g_varchar2
325   ,p_run_information8		   in     varchar2 default hr_api.g_varchar2
326   ,p_run_information9		   in     varchar2 default hr_api.g_varchar2
327   ,p_run_information10		   in     varchar2 default hr_api.g_varchar2
328   ,p_run_information11		   in     varchar2 default hr_api.g_varchar2
329   ,p_run_information12		   in     varchar2 default hr_api.g_varchar2
330   ,p_run_information13		   in     varchar2 default hr_api.g_varchar2
331   ,p_run_information14		   in     varchar2 default hr_api.g_varchar2
332   ,p_run_information15		   in     varchar2 default hr_api.g_varchar2
333   ,p_run_information16		   in     varchar2 default hr_api.g_varchar2
334   ,p_run_information17		   in     varchar2 default hr_api.g_varchar2
335   ,p_run_information18		   in     varchar2 default hr_api.g_varchar2
336   ,p_run_information19		   in     varchar2 default hr_api.g_varchar2
337   ,p_run_information20		   in     varchar2 default hr_api.g_varchar2
338   ,p_run_information21		   in     varchar2 default hr_api.g_varchar2
339   ,p_run_information22		   in     varchar2 default hr_api.g_varchar2
340   ,p_run_information23		   in     varchar2 default hr_api.g_varchar2
341   ,p_run_information24		   in     varchar2 default hr_api.g_varchar2
342   ,p_run_information25		   in     varchar2 default hr_api.g_varchar2
343   ,p_run_information26		   in     varchar2 default hr_api.g_varchar2
344   ,p_run_information27		   in     varchar2 default hr_api.g_varchar2
345   ,p_run_information28		   in     varchar2 default hr_api.g_varchar2
346   ,p_run_information29		   in     varchar2 default hr_api.g_varchar2
347   ,p_run_information30		   in     varchar2 default hr_api.g_varchar2
348   ,p_effective_start_date             out nocopy date
349   ,p_effective_end_date               out nocopy date
350   ) is
351   --
352   -- Declare cursors and local variables
353   --
354 
355   l_proc                varchar2(72) := g_package||'update_run_type';
356   l_effective_date      date;
357   l_language_code       varchar2(4);
358   --
359   -- Declare OUT variables
360   --
361   l_effective_start_date     pay_run_types_f.effective_start_date%TYPE;
362   l_effective_end_date       pay_run_types_f.effective_end_date%TYPE;
363   --
364   -- Declare IN OUT variable
365   --
366   l_object_version_number    pay_run_types_f.object_version_number%TYPE;
367   --
368 begin
369   hr_utility.set_location('Entering:'|| l_proc, 10);
370   --
371   -- Issue a savepoint and assign in-out parameters to local variable
372   --
373   l_object_version_number := p_object_version_number;
374   savepoint update_run_type;
375   --
376   -- Validate language code
377   --
378   l_language_code := p_language_code;
379   hr_api.validate_language_code(p_language_code => l_language_code);
380   --
381   -- Truncate the time portion from all IN date parameters
382   --
383     l_effective_date := trunc(p_effective_date);
384     hr_utility.set_location(l_proc, 20);
385   --
386   -- Call Before Process User Hook
387   --
388   begin
389     pay_run_type_bk2.update_run_type_b
390       (p_effective_date                => l_effective_date
391       ,p_datetrack_update_mode         => p_datetrack_update_mode
392       ,p_language_code                 => l_language_code
393       ,p_run_type_id                   => p_run_type_id
394       ,p_object_version_number         => p_object_version_number
395       ,p_business_group_id             => p_business_group_id
396       ,p_legislation_code              => p_legislation_code
397       ,p_shortname                     => p_shortname
398       ,p_srs_flag                      => p_srs_flag
399       ,p_run_information_category      => p_run_information_category
400       ,p_run_information1	       => p_run_information1
401       ,p_run_information2	       => p_run_information2
402       ,p_run_information3	       => p_run_information3
403       ,p_run_information4	       => p_run_information4
404       ,p_run_information5	       => p_run_information5
405       ,p_run_information6	       => p_run_information6
406       ,p_run_information7	       => p_run_information7
407       ,p_run_information8	       => p_run_information8
408       ,p_run_information9	       => p_run_information9
409       ,p_run_information10	       => p_run_information10
410       ,p_run_information11	       => p_run_information11
411       ,p_run_information12	       => p_run_information12
412       ,p_run_information13	       => p_run_information13
413       ,p_run_information14	       => p_run_information14
414       ,p_run_information15	       => p_run_information15
415       ,p_run_information16	       => p_run_information16
416       ,p_run_information17	       => p_run_information17
417       ,p_run_information18	       => p_run_information18
418       ,p_run_information19	       => p_run_information19
419       ,p_run_information20	       => p_run_information20
420       ,p_run_information21	       => p_run_information21
421       ,p_run_information22	       => p_run_information22
422       ,p_run_information23	       => p_run_information23
423       ,p_run_information24	       => p_run_information24
424       ,p_run_information25	       => p_run_information25
425       ,p_run_information26	       => p_run_information26
426       ,p_run_information27	       => p_run_information27
427       ,p_run_information28	       => p_run_information28
428       ,p_run_information29	       => p_run_information29
429       ,p_run_information30	       => p_run_information30
430       );
431   exception
432     when hr_api.cannot_find_prog_unit then
433       hr_api.cannot_find_prog_unit_error
434         (p_module_name => 'update_run_type'
435         ,p_hook_type   => 'BP'
436         );
437   end;
438   hr_utility.set_location(l_proc, 30);
439   --
440   -- Validation in addition to Row Handlers
441   --
442   hr_utility.set_location(l_proc, 40);
443   --
444   -- Process Logic
445   --
446   -- Call the row handler
447   --
448     pay_prt_upd.upd
449        (p_effective_date              => l_effective_date
450        ,p_datetrack_mode              => p_datetrack_update_mode
451        ,p_run_type_id                 => p_run_type_id
452        ,p_object_version_number       => p_object_version_number
453        ,p_shortname                   => p_shortname
454        ,p_srs_flag                    => p_srs_flag
455        ,p_run_information_category    => p_run_information_category
456        ,p_run_information1	      => p_run_information1
457        ,p_run_information2	      => p_run_information2
458        ,p_run_information3	      => p_run_information3
459        ,p_run_information4	      => p_run_information4
460        ,p_run_information5	      => p_run_information5
461        ,p_run_information6	      => p_run_information6
462        ,p_run_information7	      => p_run_information7
463        ,p_run_information8	      => p_run_information8
464        ,p_run_information9	      => p_run_information9
465        ,p_run_information10	      => p_run_information10
466        ,p_run_information11	      => p_run_information11
467        ,p_run_information12	      => p_run_information12
468        ,p_run_information13	      => p_run_information13
469        ,p_run_information14	      => p_run_information14
470        ,p_run_information15	      => p_run_information15
471        ,p_run_information16	      => p_run_information16
472        ,p_run_information17	      => p_run_information17
473        ,p_run_information18	      => p_run_information18
474        ,p_run_information19	      => p_run_information19
475        ,p_run_information20	      => p_run_information20
476        ,p_run_information21	      => p_run_information21
477        ,p_run_information22	      => p_run_information22
478        ,p_run_information23	      => p_run_information23
479        ,p_run_information24	      => p_run_information24
480        ,p_run_information25	      => p_run_information25
481        ,p_run_information26	      => p_run_information26
482        ,p_run_information27	      => p_run_information27
483        ,p_run_information28	      => p_run_information28
484        ,p_run_information29	      => p_run_information29
485        ,p_run_information30	      => p_run_information30
486        ,p_effective_start_date        => l_effective_start_date
487        ,p_effective_end_date          => l_effective_end_date
488        );
489     --
490     hr_utility.set_location(l_proc, 50);
491   --
492   -- Call the upd tl table
493   --
494     pay_rtt_upd.upd_tl
495         (p_language_code => l_language_code
496         ,p_run_type_id   => p_run_type_id
497         ,p_shortname     => p_shortname
498         );
499   --
500   -- Call After Process User Hook
501   --
502   begin
503     pay_run_type_bk2.update_run_type_a
504       (p_effective_date                => l_effective_date
505       ,p_datetrack_update_mode         => p_datetrack_update_mode
506       ,p_language_code                 => l_language_code
507       ,p_run_type_id                   => p_run_type_id
508       ,p_object_version_number         => p_object_version_number
509       ,p_business_group_id             => p_business_group_id
510       ,p_legislation_code              => p_legislation_code
511       ,p_shortname                     => p_shortname
512       ,p_srs_flag                      => p_srs_flag
513       ,p_effective_start_date          => l_effective_start_date
514       ,p_effective_end_date            => l_effective_end_date
515       ,p_run_information_category      => p_run_information_category
516       ,p_run_information1	       => p_run_information1
517       ,p_run_information2	       => p_run_information2
518       ,p_run_information3	       => p_run_information3
519       ,p_run_information4	       => p_run_information4
520       ,p_run_information5	       => p_run_information5
521       ,p_run_information6	       => p_run_information6
522       ,p_run_information7	       => p_run_information7
523       ,p_run_information8	       => p_run_information8
524       ,p_run_information9	       => p_run_information9
525       ,p_run_information10	       => p_run_information10
526       ,p_run_information11	       => p_run_information11
527       ,p_run_information12	       => p_run_information12
528       ,p_run_information13	       => p_run_information13
529       ,p_run_information14	       => p_run_information14
530       ,p_run_information15	       => p_run_information15
531       ,p_run_information16	       => p_run_information16
532       ,p_run_information17	       => p_run_information17
533       ,p_run_information18	       => p_run_information18
534       ,p_run_information19	       => p_run_information19
535       ,p_run_information20	       => p_run_information20
536       ,p_run_information21	       => p_run_information21
537       ,p_run_information22	       => p_run_information22
538       ,p_run_information23	       => p_run_information23
539       ,p_run_information24	       => p_run_information24
540       ,p_run_information25	       => p_run_information25
541       ,p_run_information26	       => p_run_information26
542       ,p_run_information27	       => p_run_information27
543       ,p_run_information28	       => p_run_information28
544       ,p_run_information29	       => p_run_information29
545       ,p_run_information30	       => p_run_information30
546       );
547   exception
548     when hr_api.cannot_find_prog_unit then
549       hr_api.cannot_find_prog_unit_error
550         (p_module_name => 'update_run_type_a'
551         ,p_hook_type   => 'AP'
552         );
553   end;
554   hr_utility.set_location(l_proc, 60);
555   --
556   -- When in validation only mode raise the Validate_Enabled exception
557   --
558   if p_validate then
559     raise hr_api.validate_enabled;
560   end if;
561   --
562   -- Set all output arguments
563   --
564   p_effective_start_date   := l_effective_start_date;
565   p_effective_end_date     := l_effective_end_date;
566   p_object_version_number  := p_object_version_number;
567   --
568   hr_utility.set_location(' Leaving:'||l_proc, 70);
569 exception
570   when hr_api.validate_enabled then
571     --
572     -- As the Validate_Enabled exception has been raised
573     -- we must rollback to the savepoint
574     --
575     rollback to update_run_type;
576     --
577     -- Only set output warning arguments
578     -- (Any key or derived arguments must be set to null
579     -- when validation only mode is being used.)
580     --
581     p_object_version_number  := l_object_version_number;
582     p_effective_start_date   := null;
583     p_effective_end_date     := null;
584     hr_utility.set_location(' Leaving:'||l_proc, 80);
585   when others then
586     --
587     -- A validation or unexpected error has occured
588     --
589     rollback to update_run_type;
590     raise;
591     hr_utility.set_location(' Leaving:'||l_proc, 90);
592 end update_run_type;
593 -- ----------------------------------------------------------------------------
594 -- |----------------------------< delete_run_type >---------------------------|
595 -- ----------------------------------------------------------------------------
596 procedure delete_run_type
597   (p_validate                      in     boolean  default false
598   ,p_effective_date                in     date
599   ,p_datetrack_delete_mode         in     varchar2
600   ,p_run_type_id                   in     number
601   ,p_object_version_number         in out nocopy number
602   ,p_business_group_id             in     number   default hr_api.g_number
603   ,p_legislation_code              in     varchar2 default hr_api.g_varchar2
604   ,p_effective_start_date             out nocopy date
605   ,p_effective_end_date               out nocopy date
606   ) is
607   --
608   -- Declare cursors and local variables
609   --
610   l_proc               varchar2(72) := g_package||'delete_run_type';
611   l_effective_date     date;
612   --
613   -- Declare OUT variables
614   --
615   l_effective_start_date  pay_run_types_f.effective_start_date%type;
616   l_effective_end_date    pay_run_types_f.effective_end_date%type;
617   l_validation_start_date date;
618   l_validation_end_date   date;
619   l_object_version_number pay_run_types_f.object_version_number%type;
620   --
621 begin
622   hr_utility.set_location('Entering:'|| l_proc, 5);
623   --
624   -- Issue a savepoint and assign in-out parameters to local variable
625   --
626   savepoint delete_run_type;
627   l_object_version_number := p_object_version_number;
628   --
629   hr_utility.set_location(l_proc, 10);
630   --
631     l_effective_date := trunc(p_effective_date);
632   --
633   -- Call Before Process User Hook
634   --
635   begin
636     pay_run_type_bk3.delete_run_type_b
637       (p_effective_date            => l_effective_date
638       ,p_datetrack_delete_mode     => p_datetrack_delete_mode
639       ,p_run_type_id               => p_run_type_id
640       ,p_object_version_number     => p_object_version_number
641       ,p_business_group_id         => p_business_group_id
642       ,p_legislation_code          => p_legislation_code
643       );
644   exception
645     when hr_api.cannot_find_prog_unit then
646       hr_api.cannot_find_prog_unit_error
647         (p_module_name => 'delete_run_type'
648         ,p_hook_type   => 'BP'
649         );
650   end;
651   --
652   hr_utility.set_location(l_proc, 20);
653   --
654   -- Validation in addition to Row Handlers
655   --
656     hr_utility.set_location(l_proc, 30);
657   --
658   -- Lock the non-translated table row handler for ZAP datetrack delete mode
659   --
660   if p_datetrack_delete_mode = hr_api.g_zap then
661   --
662     pay_prt_shd.lck(p_effective_date        => l_effective_date
663                    ,p_datetrack_mode        => p_datetrack_delete_mode
664                    ,p_run_type_id           => p_run_type_id
665                    ,p_object_version_number => p_object_version_number
666                    ,p_validation_start_date => l_validation_start_date
667                    ,p_validation_end_date   => l_validation_end_date
668                    );
669   --
670   -- Call tl table delete row handler
671   --
672     pay_rtt_del.del_tl(p_run_type_id => p_run_type_id);
673     --
674   end if; -- mode = ZAP
675   --
676   -- Call the row handler to delete the run_type
677   --
678     pay_prt_del.del
679       (p_effective_date               => l_effective_date
680       ,p_datetrack_mode               => p_datetrack_delete_mode
681       ,p_run_type_id                  => p_run_type_id
682       ,p_object_version_number        => p_object_version_number
683       ,p_effective_start_date         => l_effective_start_date
684       ,p_effective_end_date           => l_effective_end_date
685       );
686   --
687   hr_utility.set_location(l_proc, 50);
688   --
689   -- Call After Process User Hook
690   --
691   begin
692     pay_run_type_bk3.delete_run_type_a
693       (p_effective_date            => l_effective_date
694       ,p_datetrack_delete_mode     => p_datetrack_delete_mode
695       ,p_run_type_id               => p_run_type_id
696       ,p_object_version_number     => p_object_version_number
697       ,p_business_group_id         => p_business_group_id
698       ,p_legislation_code          => p_legislation_code
699       ,p_effective_start_date      => l_effective_start_date
700       ,p_effective_end_date        => l_effective_end_date
701       );
702     --
703   end;
704   hr_utility.set_location(l_proc, 60);
705   --
706   -- When in validation only mode raise the Validate_Enabled exception
707   --
708   if p_validate then
709     raise hr_api.validate_enabled;
710   end if;
711   --
712   -- Set out parameters
713   --
714     p_object_version_number := p_object_version_number;
715     p_effective_start_date  := l_effective_start_date;
716     p_effective_end_date    := l_effective_end_date;
717     --
718   hr_utility.set_location(l_proc, 70);
719 exception
720   when hr_api.validate_enabled then
721     --
722     -- As the Validate_Enabled exception has been raised
723     -- we must rollback to the savepoint
724     --
725     ROLLBACK TO delete_run_type;
726     --
727     -- Only set output warning arguments
728     -- (Any key or derived arguments must be set to null
729     -- when validation only mode is being used.)
730     --
731     p_object_version_number := l_object_version_number;
732     p_effective_start_date  := null;
733     p_effective_end_date    := null;
734     --
735   when others then
736     --
737     -- A validation or unexpected error has occurred
738     --
739     ROLLBACK TO delete_run_type;
740     raise;
741   hr_utility.set_location(' Leaving:'||l_proc, 80);
742   --
743 end delete_run_type;
744 -- ----------------------------------------------------------------------------
745 end pay_run_type_api;