DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_LEARNING_PATH_API

Source


1 Package Body OTA_LEARNING_PATH_API as
2 /* $Header: otlpsapi.pkb 120.0 2005/05/29 07:23:32 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  OTA_LEARNING_PATH_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< CREATE_ACTIVITY_VERSION >------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_learning_path
13 (
14   p_effective_date               in date,
15   p_validate                     in boolean   default false ,
16   p_path_name                    in varchar2,
17   p_business_group_id            in number  ,
18   p_duration                     in number    default null,
19   p_duration_units               in varchar2  default null,
20   p_start_date_active            in date      default null,
21   p_end_date_active              in date      default null,
22   p_description                  in varchar2  default null,
23   p_objectives                   in varchar2  default null,
24   p_keywords                     in varchar2  default null,
25   p_purpose                      in varchar2  default null,
26   p_attribute_category           in varchar2  default null,
27   p_attribute1                   in varchar2  default null,
28   p_attribute2                   in varchar2  default null,
29   p_attribute3                   in varchar2  default null,
30   p_attribute4                   in varchar2  default null,
31   p_attribute5                   in varchar2  default null,
32   p_attribute6                   in varchar2  default null,
33   p_attribute7                   in varchar2  default null,
34   p_attribute8                   in varchar2  default null,
35   p_attribute9                   in varchar2  default null,
36   p_attribute10                  in varchar2  default null,
37   p_attribute11                  in varchar2  default null,
38   p_attribute12                  in varchar2  default null,
39   p_attribute13                  in varchar2  default null,
40   p_attribute14                  in varchar2  default null,
41   p_attribute15                  in varchar2  default null,
42   p_attribute16                  in varchar2  default null,
43   p_attribute17                  in varchar2  default null,
44   p_attribute18                  in varchar2  default null,
45   p_attribute19                  in varchar2  default null,
46   p_attribute20                  in varchar2  default null,
47   p_path_source_code             in varchar2  default null,
48   p_source_function_code         in varchar2  default null,
49   p_assignment_id                in number    default null,
50   p_source_id                    in number    default null,
51   p_notify_days_before_target    in number    default null,
52   p_person_id                    in number    default null,
53   p_contact_id                   in number    default null,
54   p_display_to_learner_flag      in varchar2  default null,
55   p_public_flag                  in varchar2  default 'Y',
56   p_competency_update_level        in     varchar2  default null,
57   p_learning_path_id             out nocopy number,
58   p_object_version_number        out nocopy number
59 
60   ) is
61   --
62   -- Declare cursors and local variables
63   --
64   l_proc                    varchar2(72) := g_package||' create_learning_path';
65   l_learning_path_id number;
66   l_object_version_number   number;
67   l_effective_date date;
68 begin
69   hr_utility.set_location('Entering:'|| l_proc, 10);
70   --
71   -- Issue a savepoint
72   --
73   savepoint CREATE_LEARNING_PATH;
74   l_effective_date := trunc(p_effective_date);
75 
76 
77   begin
78   ota_learning_path_bk1.create_learning_path_b
79   (  p_effective_date               => p_effective_date
80     ,p_validate                     => p_validate
81     ,p_path_name                    => p_path_name
82     ,p_business_group_id            => p_business_group_id
83     ,p_duration                     => p_duration
84     ,p_duration_units               => p_duration_units
85     ,p_start_date_active            => p_start_date_active
86     ,p_end_date_active              => p_end_date_active
87     ,p_description                  => p_description
88     ,p_objectives                   => p_objectives
89     ,p_keywords                     => p_keywords
90     ,p_purpose                      => p_purpose
91     ,p_attribute_category           => p_attribute_category
92     ,p_attribute1                   => p_attribute1
93     ,p_attribute2                   => p_attribute2
94     ,p_attribute3                   => p_attribute3
95     ,p_attribute4                   => p_attribute4
96     ,p_attribute5                   => p_attribute5
97     ,p_attribute6                   => p_attribute6
98     ,p_attribute7                   => p_attribute7
99     ,p_attribute8                   => p_attribute8
100     ,p_attribute9                   => p_attribute9
101     ,p_attribute10                  => p_attribute10
102     ,p_attribute11                  => p_attribute11
103     ,p_attribute12                  => p_attribute12
104     ,p_attribute13                  => p_attribute13
105     ,p_attribute14                  => p_attribute14
106     ,p_attribute15                  => p_attribute15
107     ,p_attribute16                  => p_attribute16
108     ,p_attribute17                  => p_attribute17
109     ,p_attribute18                  => p_attribute18
110     ,p_attribute19                  => p_attribute19
111     ,p_attribute20                  => p_attribute20
112     ,p_path_source_code             => p_path_source_code
113     ,p_source_function_code         => p_source_function_code
114     ,p_assignment_id                => p_assignment_id
115     ,p_source_id                    => p_source_id
116     ,p_notify_days_before_target    => p_notify_days_before_target
117     ,p_person_id                    => p_person_id
118     ,p_contact_id                   => p_contact_id
119     ,p_display_to_learner_flag      => p_display_to_learner_flag
120     ,p_public_flag                  => p_public_flag
121     ,p_competency_update_level      => p_competency_update_level
122     );
123   exception
124     when hr_api.cannot_find_prog_unit then
125       hr_api.cannot_find_prog_unit_error
126         (p_module_name => 'CREATE_LEARNING_PATH'
127         ,p_hook_type   => 'BP'
128         );
129   end;
130 
131   --
132   -- Process Logic
133   --
134   ota_lps_ins.ins
135   (
136    p_effective_date                 =>   p_effective_date
137   ,p_business_group_id              =>   p_business_group_id
138   ,p_start_date_active              =>   p_start_date_active
139   ,p_end_date_active                =>   p_end_date_active
140   ,p_duration                       =>   p_duration
141   ,p_duration_units                 =>   p_duration_units
142   ,p_attribute_category             =>   p_attribute_category
143   ,p_attribute1                     =>   p_attribute1
144   ,p_attribute2                     =>   p_attribute2
145   ,p_attribute3                     =>   p_attribute3
146   ,p_attribute4                     =>   p_attribute4
147   ,p_attribute5                     =>   p_attribute5
148   ,p_attribute6                     =>   p_attribute6
149   ,p_attribute7                     =>   p_attribute7
150   ,p_attribute8                     =>   p_attribute8
151   ,p_attribute9                     =>   p_attribute9
152   ,p_attribute10                    =>   p_attribute10
153   ,p_attribute11                    =>   p_attribute11
154   ,p_attribute12                    =>   p_attribute12
155   ,p_attribute13                    =>   p_attribute13
156   ,p_attribute14                    =>   p_attribute14
157   ,p_attribute15                    =>   p_attribute15
158   ,p_attribute16                    =>   p_attribute16
159   ,p_attribute17                    =>   p_attribute17
160   ,p_attribute18                    =>   p_attribute18
161   ,p_attribute19                    =>   p_attribute19
162   ,p_attribute20                    =>   p_attribute20
163   ,p_path_source_code               =>   p_path_source_code
164   ,p_source_function_code           =>   p_source_function_code
165   ,p_assignment_id                  =>   p_assignment_id
166   ,p_source_id                      =>   p_source_id
167   ,p_notify_days_before_target      =>   p_notify_days_before_target
168   ,p_person_id                      =>   p_person_id
169   ,p_contact_id                     =>   p_contact_id
170   ,p_display_to_learner_flag        =>   p_display_to_learner_flag
171   ,p_public_flag                    =>   p_public_flag
172   ,p_competency_update_level      => p_competency_update_level
173   ,p_learning_path_id               =>   l_learning_path_id
174   ,p_object_version_number          =>   l_object_version_number
175   );
176   --
177   -- Set all output arguments
178   --
179   p_learning_path_id        := l_learning_path_id;
180   p_object_version_number   := l_object_version_number;
181 
182 
183   ota_lpt_ins.ins_tl
184     (  p_effective_date               => p_effective_date
185       ,p_language_code                => USERENV('LANG')
186       ,p_learning_path_id             => p_learning_path_id
187       ,p_name                         => rtrim(p_path_name)
188       ,p_description                  => p_description
189       ,p_objectives                   => p_objectives
190       ,p_purpose                      => p_purpose
191       ,p_keywords                     => p_keywords
192   );
193 
194 
195   begin
196   ota_learning_path_bk1.create_learning_path_a
197   (  p_effective_date               => p_effective_date
198     ,p_validate                     => p_validate
199     ,p_path_name                    => p_path_name
200     ,p_business_group_id            => p_business_group_id
201     ,p_duration                     => p_duration
202     ,p_duration_units               => p_duration_units
203     ,p_start_date_active            => p_start_date_active
204     ,p_end_date_active              => p_end_date_active
205     ,p_description                  => p_description
206     ,p_objectives                   => p_objectives
207     ,p_keywords                     => p_keywords
208     ,p_purpose                      => p_purpose
209     ,p_attribute_category           => p_attribute_category
210     ,p_attribute1                   => p_attribute1
211     ,p_attribute2                   => p_attribute2
212     ,p_attribute3                   => p_attribute3
213     ,p_attribute4                   => p_attribute4
214     ,p_attribute5                   => p_attribute5
215     ,p_attribute6                   => p_attribute6
216     ,p_attribute7                   => p_attribute7
217     ,p_attribute8                   => p_attribute8
218     ,p_attribute9                   => p_attribute9
219     ,p_attribute10                  => p_attribute10
220     ,p_attribute11                  => p_attribute11
221     ,p_attribute12                  => p_attribute12
222     ,p_attribute13                  => p_attribute13
223     ,p_attribute14                  => p_attribute14
224     ,p_attribute15                  => p_attribute15
225     ,p_attribute16                  => p_attribute16
226     ,p_attribute17                  => p_attribute17
227     ,p_attribute18                  => p_attribute18
228     ,p_attribute19                  => p_attribute19
229     ,p_attribute20                  => p_attribute20
230     ,p_path_source_code             => p_path_source_code
231     ,p_source_function_code         => p_source_function_code
232     ,p_assignment_id                => p_assignment_id
233     ,p_source_id                    => p_source_id
234     ,p_notify_days_before_target    => p_notify_days_before_target
235     ,p_person_id                    => p_person_id
236     ,p_contact_id                   => p_contact_id
237     ,p_display_to_learner_flag      => p_display_to_learner_flag
238     ,p_public_flag                  => p_public_flag
239     ,p_competency_update_level      => p_competency_update_level
240     );
241 
242   exception
243     when hr_api.cannot_find_prog_unit then
244       hr_api.cannot_find_prog_unit_error
245         (p_module_name => 'CREATE_LEARNING_PATH'
246         ,p_hook_type   => 'AP'
247         );
248   end;
249 
250   --
251   -- When in validation only mode raise the Validate_Enabled exception
252   --
253   if p_validate then
254     raise hr_api.validate_enabled;
255   end if;
256 
257   hr_utility.set_location(' Leaving:'||l_proc, 70);
258 exception
259   when hr_api.validate_enabled then
260     --
261     -- As the Validate_Enabled exception has been raised
262     -- we must rollback to the savepoint
263     --
264     rollback to CREATE_LEARNING_PATH;
265     --
266     -- Only set output warning arguments
267     -- (Any key or derived arguments must be set to null
268     -- when validation only mode is being used.)
269     --
270     p_learning_path_id := null;
271     p_object_version_number   := null;
272     hr_utility.set_location(' Leaving:'||l_proc, 80);
273   when others then
274     --
275     -- A validation or unexpected error has occured
276     --
277     rollback to CREATE_LEARNING_PATH;
278     p_learning_path_id     := null;
279     p_object_version_number   := null;
280     hr_utility.set_location(' Leaving:'||l_proc, 90);
281     raise;
282 end create_learning_path;
283 -- ----------------------------------------------------------------------------
284 -- |-------------------------< UPDATE_LEARNING_PATH >-------------------------|
285 -- ----------------------------------------------------------------------------
286 --
287 procedure update_learning_path
288   (
289   p_effective_date               in date,
290   p_learning_path_id             in number,
291   p_object_version_number        in out nocopy number,
292   p_path_name                    in varchar2         default hr_api.g_varchar2,
293   p_description                  in varchar2         default hr_api.g_varchar2,
294   p_objectives                   in varchar2         default hr_api.g_varchar2,
295   p_keywords                     in varchar2         default hr_api.g_varchar2,
296   p_purpose                      in varchar2         default hr_api.g_varchar2,
297   p_duration                     in number           default hr_api.g_number,
298   p_duration_units               in varchar2         default hr_api.g_varchar2,
299   p_start_date_active            in date             default hr_api.g_date,
300   p_end_date_active              in date             default hr_api.g_date,
301   p_attribute_category           in varchar2         default hr_api.g_varchar2,
302   p_attribute1                   in varchar2         default hr_api.g_varchar2,
303   p_attribute2                   in varchar2         default hr_api.g_varchar2,
304   p_attribute3                   in varchar2         default hr_api.g_varchar2,
305   p_attribute4                   in varchar2         default hr_api.g_varchar2,
306   p_attribute5                   in varchar2         default hr_api.g_varchar2,
307   p_attribute6                   in varchar2         default hr_api.g_varchar2,
308   p_attribute7                   in varchar2         default hr_api.g_varchar2,
309   p_attribute8                   in varchar2         default hr_api.g_varchar2,
310   p_attribute9                   in varchar2         default hr_api.g_varchar2,
311   p_attribute10                  in varchar2         default hr_api.g_varchar2,
312   p_attribute11                  in varchar2         default hr_api.g_varchar2,
313   p_attribute12                  in varchar2         default hr_api.g_varchar2,
314   p_attribute13                  in varchar2         default hr_api.g_varchar2,
315   p_attribute14                  in varchar2         default hr_api.g_varchar2,
316   p_attribute15                  in varchar2         default hr_api.g_varchar2,
317   p_attribute16                  in varchar2         default hr_api.g_varchar2,
318   p_attribute17                  in varchar2         default hr_api.g_varchar2,
319   p_attribute18                  in varchar2         default hr_api.g_varchar2,
320   p_attribute19                  in varchar2         default hr_api.g_varchar2,
321   p_attribute20                  in varchar2         default hr_api.g_varchar2,
322   p_business_group_id            in number           default hr_api.g_number,
323   p_path_source_code             in varchar2         default hr_api.g_varchar2,
324   p_source_function_code         in varchar2         default hr_api.g_varchar2,
325   p_assignment_id                in number           default hr_api.g_number,
326   p_source_id                    in number           default hr_api.g_number,
327   p_notify_days_before_target    in number           default hr_api.g_number,
328   p_person_id                    in number           default hr_api.g_number,
329   p_contact_id                   in number           default hr_api.g_number,
330   p_display_to_learner_flag      in varchar2         default hr_api.g_varchar2,
331   p_public_flag                  in varchar2         default hr_api.g_varchar2,
332   p_validate                     in boolean          default false
333   ,p_competency_update_level        in     varchar2  default hr_api.g_varchar2
334   ) is
335   --
336   -- Declare cursors and local variables
337   --
338   l_proc                    varchar2(72) := g_package||' Update Learning Path';
339   l_object_version_number   number := p_object_version_number;
340   l_effective_date date;
341 begin
342   hr_utility.set_location('Entering:'|| l_proc, 10);
343   --
344   -- Issue a savepoint
345   --
346   savepoint UPDATE_LEARNING_PATH;
347   l_effective_date := trunc(p_effective_date);
348 
349   begin
350   ota_learning_path_bk2.update_learning_path_b
351   (p_effective_date               => p_effective_date
352     ,p_learning_path_id             => p_learning_path_id
353     ,p_object_version_number        => p_object_version_number
354     ,p_path_name                    => p_path_name
355     ,p_description                  => p_description
356     ,p_objectives                   => p_objectives
357     ,p_keywords                     => p_keywords
358     ,p_purpose                      => p_purpose
359     ,p_duration                     => p_duration
360     ,p_duration_units               => p_duration_units
361     ,p_start_date_active            => p_start_date_active
362     ,p_end_date_active              => p_end_date_active
363     ,p_attribute_category           => p_attribute_category
364     ,p_attribute1                   => p_attribute1
365     ,p_attribute2                   => p_attribute2
366     ,p_attribute3                   => p_attribute3
367     ,p_attribute4                   => p_attribute4
368     ,p_attribute5                   => p_attribute5
369     ,p_attribute6                   => p_attribute6
370     ,p_attribute7                   => p_attribute7
371     ,p_attribute8                   => p_attribute8
372     ,p_attribute9                   => p_attribute9
373     ,p_attribute10                  => p_attribute10
374     ,p_attribute11                  => p_attribute11
375     ,p_attribute12                  => p_attribute12
376     ,p_attribute13                  => p_attribute13
377     ,p_attribute14                  => p_attribute14
378     ,p_attribute15                  => p_attribute15
379     ,p_attribute16                  => p_attribute16
380     ,p_attribute17                  => p_attribute17
381     ,p_attribute18                  => p_attribute18
382     ,p_attribute19                  => p_attribute19
383     ,p_attribute20                  => p_attribute20
384     ,p_path_source_code             => p_path_source_code
385     ,p_source_function_code         => p_source_function_code
386     ,p_assignment_id                => p_assignment_id
387     ,p_source_id                    => p_source_id
388     ,p_notify_days_before_target    => p_notify_days_before_target
389     ,p_person_id                    => p_person_id
390     ,p_contact_id                   => p_contact_id
391     ,p_display_to_learner_flag      => p_display_to_learner_flag
392     ,p_public_flag                  => p_public_flag
393     ,p_business_group_id            => p_business_group_id
394     ,p_validate                     => p_validate
395     ,p_competency_update_level      => p_competency_update_level
396     );
397 
398 
399   exception
400     when hr_api.cannot_find_prog_unit then
401       hr_api.cannot_find_prog_unit_error
402         (p_module_name => 'UPDATE_LEARNING_PATH'
403         ,p_hook_type   => 'BP'
404         );
405   end;
406 
407   --
408   --
409   -- Process Logic
410   --
411   ota_lps_upd.upd
412   (
413    p_effective_date                 =>   p_effective_date
414   ,p_business_group_id              =>   p_business_group_id
415   ,p_start_date_active            => p_start_date_active
416   ,p_end_date_active              => p_end_date_active
417   ,p_duration                       =>   p_duration
418   ,p_duration_units                 =>   p_duration_units
419   ,p_attribute_category             =>   p_attribute_category
420   ,p_attribute1                     =>   p_attribute1
421   ,p_attribute2                     =>   p_attribute2
422   ,p_attribute3                     =>   p_attribute3
423   ,p_attribute4                     =>   p_attribute4
424   ,p_attribute5                     =>   p_attribute5
425   ,p_attribute6                     =>   p_attribute6
426   ,p_attribute7                     =>   p_attribute7
427   ,p_attribute8                     =>   p_attribute8
428   ,p_attribute9                     =>   p_attribute9
429   ,p_attribute10                    =>   p_attribute10
430   ,p_attribute11                    =>   p_attribute11
431   ,p_attribute12                    =>   p_attribute12
432   ,p_attribute13                    =>   p_attribute13
433   ,p_attribute14                    =>   p_attribute14
434   ,p_attribute15                    =>   p_attribute15
435   ,p_attribute16                    =>   p_attribute16
436   ,p_attribute17                    =>   p_attribute17
437   ,p_attribute18                    =>   p_attribute18
438   ,p_attribute19                    =>   p_attribute19
439   ,p_attribute20                    =>   p_attribute20
440   ,p_path_source_code               =>   p_path_source_code
441   ,p_source_function_code           =>   p_source_function_code
442   ,p_assignment_id                  =>   p_assignment_id
443   ,p_source_id                      =>   p_source_id
444   ,p_notify_days_before_target      =>   p_notify_days_before_target
445   ,p_person_id                      =>   p_person_id
446   ,p_contact_id                     =>   p_contact_id
447   ,p_display_to_learner_flag        =>   p_display_to_learner_flag
448   ,p_public_flag                    =>   p_public_flag
449   ,p_competency_update_level      => p_competency_update_level
450   ,p_learning_path_id               =>   p_learning_path_id
451   ,p_object_version_number          =>   p_object_version_number
452   );
453 
454   ota_lpt_upd.upd_tl
455  ( p_effective_date               => p_effective_date
456   ,p_language_code                => USERENV('LANG')
457   ,p_learning_path_id             => p_learning_path_id
458   ,p_name                         => rtrim(p_path_name)
459   ,p_description                  => p_description
460   ,p_objectives                   => p_objectives
461   ,p_purpose                      => p_purpose
462   ,p_keywords                     => p_keywords
463   );
464 
465 
466   begin
467   ota_learning_path_bk2.update_learning_path_a
468   (p_effective_date               => p_effective_date
469     ,p_learning_path_id             => p_learning_path_id
470     ,p_object_version_number        => p_object_version_number
471     ,p_path_name                    => p_path_name
472     ,p_description                  => p_description
473     ,p_objectives                   => p_objectives
474     ,p_keywords                     => p_keywords
475     ,p_purpose                      => p_purpose
476     ,p_duration                     => p_duration
477     ,p_duration_units               => p_duration_units
478     ,p_start_date_active            => p_start_date_active
479     ,p_end_date_active              => p_end_date_active
480     ,p_attribute_category           => p_attribute_category
481     ,p_attribute1                   => p_attribute1
482     ,p_attribute2                   => p_attribute2
483     ,p_attribute3                   => p_attribute3
484     ,p_attribute4                   => p_attribute4
485     ,p_attribute5                   => p_attribute5
486     ,p_attribute6                   => p_attribute6
487     ,p_attribute7                   => p_attribute7
488     ,p_attribute8                   => p_attribute8
489     ,p_attribute9                   => p_attribute9
490     ,p_attribute10                  => p_attribute10
491     ,p_attribute11                  => p_attribute11
492     ,p_attribute12                  => p_attribute12
493     ,p_attribute13                  => p_attribute13
494     ,p_attribute14                  => p_attribute14
495     ,p_attribute15                  => p_attribute15
496     ,p_attribute16                  => p_attribute16
497     ,p_attribute17                  => p_attribute17
498     ,p_attribute18                  => p_attribute18
499     ,p_attribute19                  => p_attribute19
500     ,p_attribute20                  => p_attribute20
501     ,p_path_source_code             => p_path_source_code
502     ,p_source_function_code         => p_source_function_code
503     ,p_assignment_id                => p_assignment_id
504     ,p_source_id                    => p_source_id
505     ,p_notify_days_before_target    => p_notify_days_before_target
506     ,p_person_id                    => p_person_id
507     ,p_contact_id                   => p_contact_id
508     ,p_display_to_learner_flag      => p_display_to_learner_flag
509     ,p_public_flag                  => p_public_flag
510     ,p_business_group_id            => p_business_group_id
511     ,p_validate                     => p_validate
512     ,p_competency_update_level      => p_competency_update_level
513     );
514 
515 
516   exception
517     when hr_api.cannot_find_prog_unit then
518       hr_api.cannot_find_prog_unit_error
519         (p_module_name => 'UPDATE_LEARNING_PATH'
520         ,p_hook_type   => 'AP'
521         );
522   end;
523 
524 
525   --
526   -- When in validation only mode raise the Validate_Enabled exception
527   --
528   if p_validate then
529     raise hr_api.validate_enabled;
530   end if;
531   --
532   -- Set all output arguments
533   --
534   hr_utility.set_location(' Leaving:'||l_proc, 70);
535 exception
536   when hr_api.validate_enabled then
537     --
538     -- As the Validate_Enabled exception has been raised
539     -- we must rollback to the savepoint
540     --
541     rollback to UPDATE_LEARNING_PATH;
542     --
543     -- Only set output warning arguments
544     -- (Any key or derived arguments must be set to null
545     -- when validation only mode is being used.)
546     --
547     p_object_version_number  := null;
548     hr_utility.set_location(' Leaving:'||l_proc, 80);
549   when others then
550     --
551     -- A validation or unexpected error has occured
552     --
553     rollback to UPDATE_LEARNING_PATH;
554     p_object_version_number  := l_object_version_number;
555     hr_utility.set_location(' Leaving:'||l_proc, 90);
556     raise;
557 end update_learning_path;
558 --
559 -- ----------------------------------------------------------------------------
560 -- |-------------------------< DELETE_LEARNING_PATH >-------------------|
561 -- ----------------------------------------------------------------------------
562 --
563 procedure delete_learning_path
564   (
565   p_learning_path_id                in number,
566   p_object_version_number              in number,
567   p_validate                           in boolean
568   ) is
569   --
570   -- Declare cursors and local variables
571   --
572   l_proc                    varchar2(72) := g_package||' Delete Learning Path';
573   --
574   --
575 begin
576   hr_utility.set_location('Entering:'|| l_proc, 10);
577   --
578   -- Issue a savepoint
579   --
580   savepoint DELETE_LEARNING_PATH;
581   --
582   -- Truncate the time portion from all IN date parameters
583   --
584   --
585 
586   begin
587   ota_learning_path_bk3.delete_learning_path_b
588   (p_learning_path_id             => p_learning_path_id
589     ,p_object_version_number        => p_object_version_number
590     );
591   exception
592     when hr_api.cannot_find_prog_unit then
593       hr_api.cannot_find_prog_unit_error
594         (p_module_name => 'DELETE_LEARNING_PATH'
595         ,p_hook_type   => 'BP'
596         );
597   end;
598 
599   --
600   -- Process Logic
601   --
602   ota_lpt_del.del_tl
603     (p_learning_path_id   => p_learning_path_id
604     );
605 
606   ota_lps_del.del
607   (
608   p_learning_path_id         => p_learning_path_id             ,
609   p_object_version_number    => p_object_version_number
610   );
611 
612 
613   begin
614   ota_learning_path_bk3.delete_learning_path_a
615   (p_learning_path_id             => p_learning_path_id
616     ,p_object_version_number        => p_object_version_number
617     );
618   exception
619     when hr_api.cannot_find_prog_unit then
620       hr_api.cannot_find_prog_unit_error
621         (p_module_name => 'DELETE_LEARNING_PATH'
622         ,p_hook_type   => 'AP'
623         );
624   end;
625 
626   --
627   -- When in validation only mode raise the Validate_Enabled exception
628   --
629   if p_validate then
630     raise hr_api.validate_enabled;
631   end if;
632   --
633   -- Set all output arguments
634   --
635   --
636   hr_utility.set_location(' Leaving:'||l_proc, 170);
637 exception
638   when hr_api.validate_enabled then
639     --
640     -- As the Validate_Enabled exception has been raised
641     -- we must rollback to the savepoint
642     --
643     rollback to DELETE_LEARNING_PATH;
644     --
645     -- Only set output warning arguments
646     -- (Any key or derived arguments must be set to null
647     -- when validation only mode is being used.)
648     --
649     hr_utility.set_location(' Leaving:'||l_proc, 180);
650   when others then
651     --
652     -- A validation or unexpected error has occured
653     --
654     rollback to DELETE_LEARNING_PATH;
655     hr_utility.set_location(' Leaving:'||l_proc, 190);
656     raise;
657 end delete_learning_path;
658 --
659 end ota_learning_path_api;