DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_LP_MEMBER_ENROLLMENT_API

Source


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