DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_LPM_UPD

Source


1 Package Body ota_lpm_upd as
2 /* $Header: otlpmrhi.pkb 120.0 2005/05/29 07:22:37 appldev noship $ */
3 
4 --
5 -- ----------------------------------------------------------------------------
6 -- |                     Private Global Definitions                           |
7 -- ----------------------------------------------------------------------------
8 --
9 g_package  varchar2(33) := '  ota_lpm_upd.';  -- Global package name
10 --
11 -- ----------------------------------------------------------------------------
12 -- |------------------------------< update_dml >------------------------------|
13 -- ----------------------------------------------------------------------------
14 -- {Start Of Comments}
15 --
16 -- Description:
17 --   This procedure controls the actual dml update logic. The processing of
18 --   this procedure is:
19 --   1) Increment the object_version_number by 1 if the object_version_number
20 --      is defined as an attribute for this entity.
21 --   2) To set and unset the g_api_dml status as required (as we are about to
22 --      perform dml).
23 --   3) To update the specified row in the schema using the primary key in
24 --      the predicates.
25 --   4) To trap any constraint violations that may have occurred.
26 --   5) To raise any other errors.
27 --
28 -- Prerequisites:
29 --   This is an internal private procedure which must be called from the upd
30 --   procedure.
31 --
32 -- In Parameters:
33 --   A Pl/Sql record structre.
34 --
35 -- Post Success:
36 --   The specified row will be updated in the schema.
37 --
38 -- Post Failure:
39 --   On the update dml failure it is important to note that we always reset the
40 --   g_api_dml status to false.
41 --   If a check, unique or parent integrity constraint violation is raised the
42 --   constraint_error procedure will be called.
43 --   If any other error is reported, the error will be raised after the
44 --   g_api_dml status is reset.
45 --
46 -- Developer Implementation Notes:
47 --   The update 'set' attribute list should be modified if any of your
48 --   attributes are not updateable.
49 --
50 -- Access Status:
51 --   Internal Row Handler Use Only.
52 --
53 -- {End Of Comments}
54 -- ----------------------------------------------------------------------------
55 Procedure update_dml
56   (p_rec in out nocopy ota_lpm_shd.g_rec_type
57   ) is
58 --
59   l_proc  varchar2(72) := g_package||'update_dml';
60 --
61 Begin
62   hr_utility.set_location('Entering:'||l_proc, 5);
63   --
64   -- Increment the object version
65   p_rec.object_version_number := p_rec.object_version_number + 1;
66   --
67   --
68   --
69   -- Update the ota_learning_path_members Row
70   --
71   update ota_learning_path_members
72     set
73      learning_path_member_id         = p_rec.learning_path_member_id
74     ,learning_path_id                = p_rec.learning_path_id
75     ,activity_version_id             = p_rec.activity_version_id
76     ,course_sequence                 = p_rec.course_sequence
77     ,business_group_id               = p_rec.business_group_id
78     ,duration                        = p_rec.duration
79     ,duration_units                  = p_rec.duration_units
80     ,object_version_number           = p_rec.object_version_number
81     ,attribute_category              = p_rec.attribute_category
82     ,attribute1                      = p_rec.attribute1
83     ,attribute2                      = p_rec.attribute2
84     ,attribute3                      = p_rec.attribute3
85     ,attribute4                      = p_rec.attribute4
86     ,attribute5                      = p_rec.attribute5
87     ,attribute6                      = p_rec.attribute6
88     ,attribute7                      = p_rec.attribute7
89     ,attribute8                      = p_rec.attribute8
90     ,attribute9                      = p_rec.attribute9
91     ,attribute10                     = p_rec.attribute10
92     ,attribute11                     = p_rec.attribute11
93     ,attribute12                     = p_rec.attribute12
94     ,attribute13                     = p_rec.attribute13
95     ,attribute14                     = p_rec.attribute14
96     ,attribute15                     = p_rec.attribute15
97     ,attribute16                     = p_rec.attribute16
98     ,attribute17                     = p_rec.attribute17
99     ,attribute18                     = p_rec.attribute18
100     ,attribute19                     = p_rec.attribute19
101     ,attribute20                     = p_rec.attribute20
102     ,learning_path_section_id        = p_rec.learning_path_section_id
103     ,notify_days_before_target       = p_rec.notify_days_before_target
104     where learning_path_member_id = p_rec.learning_path_member_id;
105   --
106   --
107   --
108   hr_utility.set_location(' Leaving:'||l_proc, 10);
109 --
110 Exception
111   When hr_api.check_integrity_violated Then
112     -- A check constraint has been violated
113     --
114     ota_lpm_shd.constraint_error
115       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
116   When hr_api.parent_integrity_violated Then
117     -- Parent integrity has been violated
118     --
119     ota_lpm_shd.constraint_error
120       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
121   When hr_api.unique_integrity_violated Then
122     -- Unique integrity has been violated
123     --
124     ota_lpm_shd.constraint_error
125       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
126   When Others Then
127     --
128     Raise;
129 End update_dml;
130 --
131 -- ----------------------------------------------------------------------------
132 -- |------------------------------< pre_update >------------------------------|
133 -- ----------------------------------------------------------------------------
134 -- {Start Of Comments}
135 --
136 -- Description:
137 --   This private procedure contains any processing which is required before
138 --   the update dml.
139 --
140 -- Prerequisites:
141 --   This is an internal procedure which is called from the upd procedure.
142 --
143 -- In Parameters:
144 --   A Pl/Sql record structure.
145 --
146 -- Post Success:
147 --   Processing continues.
148 --
149 -- Post Failure:
150 --   If an error has occurred, an error message and exception wil be raised
151 --   but not handled.
152 --
153 -- Developer Implementation Notes:
154 --   Any pre-processing required before the update dml is issued should be
155 --   coded within this procedure. It is important to note that any 3rd party
156 --   maintenance should be reviewed before placing in this procedure.
157 --
158 -- Access Status:
159 --   Internal Row Handler Use Only.
160 --
161 -- {End Of Comments}
162 -- ----------------------------------------------------------------------------
163 Procedure pre_update
164   (p_rec in ota_lpm_shd.g_rec_type
165   ) is
166 --
167   l_proc  varchar2(72) := g_package||'pre_update';
168 --
169 Begin
170   hr_utility.set_location('Entering:'||l_proc, 5);
171   --
172   hr_utility.set_location(' Leaving:'||l_proc, 10);
173 End pre_update;
174 --
175 -- ----------------------------------------------------------------------------
176 -- |-----------------------------< post_update >------------------------------|
177 -- ----------------------------------------------------------------------------
178 -- {Start Of Comments}
179 --
180 -- Description:
181 --   This private procedure contains any processing which is required after
182 --   the update dml.
183 --
184 -- Prerequisites:
185 --   This is an internal procedure which is called from the upd procedure.
186 --
187 -- In Parameters:
188 --   A Pl/Sql record structure.
189 --
190 -- Post Success:
191 --   Processing continues.
192 --
193 -- Post Failure:
194 --   If an error has occurred, an error message and exception will be raised
195 --   but not handled.
196 --
197 -- Developer Implementation Notes:
198 --   Any post-processing required after the update dml is issued should be
199 --   coded within this procedure. It is important to note that any 3rd party
200 --   maintenance should be reviewed before placing in this procedure.
201 --
202 -- Access Status:
203 --   Internal Row Handler Use Only.
204 --
205 -- {End Of Comments}
206 -- ----------------------------------------------------------------------------
207 Procedure post_update
208   (p_effective_date               in date
209   ,p_rec                          in ota_lpm_shd.g_rec_type
210   ) is
211 --
212   l_proc  varchar2(72) := g_package||'post_update';
213 --
214 Begin
215   hr_utility.set_location('Entering:'||l_proc, 5);
216   begin
217     --
218     ota_lpm_rku.after_update
219       (p_effective_date              => p_effective_date
220       ,p_learning_path_member_id
221       => p_rec.learning_path_member_id
222       ,p_learning_path_id
223       => p_rec.learning_path_id
224       ,p_activity_version_id
225       => p_rec.activity_version_id
226       ,p_course_sequence
227       => p_rec.course_sequence
228       ,p_business_group_id
229       => p_rec.business_group_id
230       ,p_duration
231       => p_rec.duration
232       ,p_duration_units
233       => p_rec.duration_units
234       ,p_object_version_number
235       => p_rec.object_version_number
236       ,p_attribute_category
237       => p_rec.attribute_category
238       ,p_attribute1
239       => p_rec.attribute1
240       ,p_attribute2
241       => p_rec.attribute2
242       ,p_attribute3
243       => p_rec.attribute3
244       ,p_attribute4
245       => p_rec.attribute4
246       ,p_attribute5
247       => p_rec.attribute5
248       ,p_attribute6
249       => p_rec.attribute6
250       ,p_attribute7
251       => p_rec.attribute7
252       ,p_attribute8
253       => p_rec.attribute8
254       ,p_attribute9
255       => p_rec.attribute9
256       ,p_attribute10
257       => p_rec.attribute10
258       ,p_attribute11
259       => p_rec.attribute11
260       ,p_attribute12
261       => p_rec.attribute12
262       ,p_attribute13
263       => p_rec.attribute13
264       ,p_attribute14
265       => p_rec.attribute14
266       ,p_attribute15
267       => p_rec.attribute15
268       ,p_attribute16
269       => p_rec.attribute16
270       ,p_attribute17
271       => p_rec.attribute17
272       ,p_attribute18
273       => p_rec.attribute18
274       ,p_attribute19
275       => p_rec.attribute19
276       ,p_attribute20
277       => p_rec.attribute20
278       ,p_learning_path_section_id
279       => p_rec.learning_path_section_id
280       ,p_notify_days_before_target
281       => p_rec.notify_days_before_target
282       ,p_learning_path_id_o
283       => ota_lpm_shd.g_old_rec.learning_path_id
284       ,p_activity_version_id_o
285       => ota_lpm_shd.g_old_rec.activity_version_id
286       ,p_course_sequence_o
287       => ota_lpm_shd.g_old_rec.course_sequence
288       ,p_business_group_id_o
289       => ota_lpm_shd.g_old_rec.business_group_id
290       ,p_duration_o
291       => ota_lpm_shd.g_old_rec.duration
292       ,p_duration_units_o
293       => ota_lpm_shd.g_old_rec.duration_units
294       ,p_object_version_number_o
295       => ota_lpm_shd.g_old_rec.object_version_number
296       ,p_attribute_category_o
297       => ota_lpm_shd.g_old_rec.attribute_category
298       ,p_attribute1_o
299       => ota_lpm_shd.g_old_rec.attribute1
300       ,p_attribute2_o
301       => ota_lpm_shd.g_old_rec.attribute2
302       ,p_attribute3_o
303       => ota_lpm_shd.g_old_rec.attribute3
304       ,p_attribute4_o
305       => ota_lpm_shd.g_old_rec.attribute4
306       ,p_attribute5_o
307       => ota_lpm_shd.g_old_rec.attribute5
308       ,p_attribute6_o
309       => ota_lpm_shd.g_old_rec.attribute6
310       ,p_attribute7_o
311       => ota_lpm_shd.g_old_rec.attribute7
312       ,p_attribute8_o
313       => ota_lpm_shd.g_old_rec.attribute8
314       ,p_attribute9_o
315       => ota_lpm_shd.g_old_rec.attribute9
316       ,p_attribute10_o
317       => ota_lpm_shd.g_old_rec.attribute10
318       ,p_attribute11_o
319       => ota_lpm_shd.g_old_rec.attribute11
320       ,p_attribute12_o
321       => ota_lpm_shd.g_old_rec.attribute12
322       ,p_attribute13_o
323       => ota_lpm_shd.g_old_rec.attribute13
324       ,p_attribute14_o
325       => ota_lpm_shd.g_old_rec.attribute14
326       ,p_attribute15_o
327       => ota_lpm_shd.g_old_rec.attribute15
328       ,p_attribute16_o
329       => ota_lpm_shd.g_old_rec.attribute16
330       ,p_attribute17_o
331       => ota_lpm_shd.g_old_rec.attribute17
332       ,p_attribute18_o
333       => ota_lpm_shd.g_old_rec.attribute18
334       ,p_attribute19_o
335       => ota_lpm_shd.g_old_rec.attribute19
336       ,p_attribute20_o
337       => ota_lpm_shd.g_old_rec.attribute20
338       ,p_learning_path_section_id_o
339       => ota_lpm_shd.g_old_rec.learning_path_section_id
340       ,p_notify_days_before_target_o
341       => ota_lpm_shd.g_old_rec.notify_days_before_target
342       );
343     --
344   exception
345     --
346     when hr_api.cannot_find_prog_unit then
347       --
348       hr_api.cannot_find_prog_unit_error
349         (p_module_name => 'OTA_LEARNING_PATH_MEMBERS'
350         ,p_hook_type   => 'AU');
351       --
352   end;
353   --
354   hr_utility.set_location(' Leaving:'||l_proc, 10);
355 End post_update;
356 --
357 -- ----------------------------------------------------------------------------
358 -- |-----------------------------< convert_defs >-----------------------------|
359 -- ----------------------------------------------------------------------------
360 -- {Start Of Comments}
361 --
362 -- Description:
363 --   The Convert_Defs procedure has one very important function:
364 --   It must return the record structure for the row with all system defaulted
365 --   values converted into its corresponding parameter value for update. When
366 --   we attempt to update a row through the Upd process , certain
367 --   parameters can be defaulted which enables flexibility in the calling of
368 --   the upd process (e.g. only attributes which need to be updated need to be
369 --   specified). For the upd process to determine which attributes
370 --   have NOT been specified we need to check if the parameter has a reserved
371 --   system default value. Therefore, for all parameters which have a
372 --   corresponding reserved system default mechanism specified we need to
373 --   check if a system default is being used. If a system default is being
374 --   used then we convert the defaulted value into its corresponding attribute
375 --   value held in the g_old_rec data structure.
376 --
377 -- Prerequisites:
378 --   This private function can only be called from the upd process.
379 --
380 -- In Parameters:
381 --   A Pl/Sql record structure.
382 --
383 -- Post Success:
384 --   The record structure will be returned with all system defaulted parameter
385 --   values converted into its current row attribute value.
386 --
387 -- Post Failure:
388 --   No direct error handling is required within this function. Any possible
389 --   errors within this procedure will be a PL/SQL value error due to
390 --   conversion of datatypes or data lengths.
391 --
392 -- Developer Implementation Notes:
393 --   None.
394 --
395 -- Access Status:
396 --   Internal Row Handler Use Only.
397 --
398 -- {End Of Comments}
399 -- ----------------------------------------------------------------------------
400 Procedure convert_defs
401   (p_rec in out nocopy ota_lpm_shd.g_rec_type
402   ) is
403 --
404 Begin
405   --
406   -- We must now examine each argument value in the
407   -- p_rec plsql record structure
408   -- to see if a system default is being used. If a system default
409   -- is being used then we must set to the 'current' argument value.
410   --
411   If (p_rec.learning_path_id = hr_api.g_number) then
412     p_rec.learning_path_id :=
413     ota_lpm_shd.g_old_rec.learning_path_id;
414   End If;
415   If (p_rec.activity_version_id = hr_api.g_number) then
416     p_rec.activity_version_id :=
417     ota_lpm_shd.g_old_rec.activity_version_id;
418   End If;
419   If (p_rec.course_sequence = hr_api.g_number) then
420     p_rec.course_sequence :=
421     ota_lpm_shd.g_old_rec.course_sequence;
422   End If;
423   If (p_rec.business_group_id = hr_api.g_number) then
424     p_rec.business_group_id :=
425     ota_lpm_shd.g_old_rec.business_group_id;
426   End If;
427   If (p_rec.duration = hr_api.g_number) then
428     p_rec.duration :=
429     ota_lpm_shd.g_old_rec.duration;
430   End If;
431   If (p_rec.duration_units = hr_api.g_varchar2) then
432     p_rec.duration_units :=
433     ota_lpm_shd.g_old_rec.duration_units;
434   End If;
435   If (p_rec.attribute_category = hr_api.g_varchar2) then
436     p_rec.attribute_category :=
437     ota_lpm_shd.g_old_rec.attribute_category;
438   End If;
439   If (p_rec.attribute1 = hr_api.g_varchar2) then
440     p_rec.attribute1 :=
441     ota_lpm_shd.g_old_rec.attribute1;
442   End If;
443   If (p_rec.attribute2 = hr_api.g_varchar2) then
444     p_rec.attribute2 :=
445     ota_lpm_shd.g_old_rec.attribute2;
446   End If;
447   If (p_rec.attribute3 = hr_api.g_varchar2) then
448     p_rec.attribute3 :=
449     ota_lpm_shd.g_old_rec.attribute3;
450   End If;
451   If (p_rec.attribute4 = hr_api.g_varchar2) then
452     p_rec.attribute4 :=
453     ota_lpm_shd.g_old_rec.attribute4;
454   End If;
455   If (p_rec.attribute5 = hr_api.g_varchar2) then
456     p_rec.attribute5 :=
457     ota_lpm_shd.g_old_rec.attribute5;
458   End If;
459   If (p_rec.attribute6 = hr_api.g_varchar2) then
460     p_rec.attribute6 :=
461     ota_lpm_shd.g_old_rec.attribute6;
462   End If;
463   If (p_rec.attribute7 = hr_api.g_varchar2) then
464     p_rec.attribute7 :=
465     ota_lpm_shd.g_old_rec.attribute7;
466   End If;
467   If (p_rec.attribute8 = hr_api.g_varchar2) then
468     p_rec.attribute8 :=
469     ota_lpm_shd.g_old_rec.attribute8;
470   End If;
471   If (p_rec.attribute9 = hr_api.g_varchar2) then
472     p_rec.attribute9 :=
473     ota_lpm_shd.g_old_rec.attribute9;
474   End If;
475   If (p_rec.attribute10 = hr_api.g_varchar2) then
476     p_rec.attribute10 :=
477     ota_lpm_shd.g_old_rec.attribute10;
478   End If;
479   If (p_rec.attribute11 = hr_api.g_varchar2) then
480     p_rec.attribute11 :=
481     ota_lpm_shd.g_old_rec.attribute11;
482   End If;
483   If (p_rec.attribute12 = hr_api.g_varchar2) then
484     p_rec.attribute12 :=
485     ota_lpm_shd.g_old_rec.attribute12;
486   End If;
487   If (p_rec.attribute13 = hr_api.g_varchar2) then
488     p_rec.attribute13 :=
489     ota_lpm_shd.g_old_rec.attribute13;
490   End If;
491   If (p_rec.attribute14 = hr_api.g_varchar2) then
492     p_rec.attribute14 :=
493     ota_lpm_shd.g_old_rec.attribute14;
494   End If;
495   If (p_rec.attribute15 = hr_api.g_varchar2) then
496     p_rec.attribute15 :=
497     ota_lpm_shd.g_old_rec.attribute15;
498   End If;
499   If (p_rec.attribute16 = hr_api.g_varchar2) then
500     p_rec.attribute16 :=
501     ota_lpm_shd.g_old_rec.attribute16;
502   End If;
503   If (p_rec.attribute17 = hr_api.g_varchar2) then
504     p_rec.attribute17 :=
505     ota_lpm_shd.g_old_rec.attribute17;
506   End If;
507   If (p_rec.attribute18 = hr_api.g_varchar2) then
508     p_rec.attribute18 :=
512     p_rec.attribute19 :=
509     ota_lpm_shd.g_old_rec.attribute18;
510   End If;
511   If (p_rec.attribute19 = hr_api.g_varchar2) then
513     ota_lpm_shd.g_old_rec.attribute19;
514   End If;
515   If (p_rec.attribute20 = hr_api.g_varchar2) then
516     p_rec.attribute20 :=
517     ota_lpm_shd.g_old_rec.attribute20;
518   End If;
519   If (p_rec.learning_path_section_id = hr_api.g_number) then
520     p_rec.learning_path_section_id :=
521     ota_lpm_shd.g_old_rec.learning_path_section_id;
522   End If;
523   If (p_rec.notify_days_before_target = hr_api.g_number) then
524     p_rec.notify_days_before_target :=
525     ota_lpm_shd.g_old_rec.notify_days_before_target;
526   End If;
527   --
528 End convert_defs;
529 --
530 -- ----------------------------------------------------------------------------
531 -- |---------------------------------< upd >----------------------------------|
532 -- ----------------------------------------------------------------------------
533 Procedure upd
534   (p_effective_date               in date
535   ,p_rec                          in out nocopy ota_lpm_shd.g_rec_type
536   ) is
537 --
538   l_proc  varchar2(72) := g_package||'upd';
539 --
540 Begin
541   hr_utility.set_location('Entering:'||l_proc, 5);
542   --
543   -- We must lock the row which we need to update.
544   --
545   ota_lpm_shd.lck
546     (p_rec.learning_path_member_id
547     ,p_rec.object_version_number
548     );
549   --
550   -- 1. During an update system defaults are used to determine if
551   --    arguments have been defaulted or not. We must therefore
552   --    derive the full record structure values to be updated.
553   --
554   -- 2. Call the supporting update validate operations.
555   --
556   convert_defs(p_rec);
557   ota_lpm_bus.update_validate
558      (p_effective_date
559      ,p_rec
560      );
561   --
562   -- Call to raise any errors on multi-message list
566   --
563   hr_multi_message.end_validation_set;
564   --
565   -- Call the supporting pre-update operation
567   ota_lpm_upd.pre_update(p_rec);
568   --
569   -- Update the row.
570   --
571   ota_lpm_upd.update_dml(p_rec);
572   --
573   -- Call the supporting post-update operation
574   --
575   ota_lpm_upd.post_update
576      (p_effective_date
577      ,p_rec
578      );
579   --
580   -- Call to raise any errors on multi-message list
581   hr_multi_message.end_validation_set;
582 End upd;
583 --
584 -- ----------------------------------------------------------------------------
585 -- |---------------------------------< upd >----------------------------------|
586 -- ----------------------------------------------------------------------------
587 Procedure upd
588   (p_effective_date               in     date
589   ,p_learning_path_member_id      in     number
590   ,p_object_version_number        in out nocopy number
591   ,p_learning_path_id             in     number    default hr_api.g_number
592   ,p_activity_version_id          in     number    default hr_api.g_number
593   ,p_business_group_id            in     number    default hr_api.g_number
594   ,p_course_sequence              in     number    default hr_api.g_number
595   ,p_duration                     in     number    default hr_api.g_number
596   ,p_duration_units               in     varchar2  default hr_api.g_varchar2
597   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
598   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
599   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
600   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
601   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
602   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
603   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
604   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
605   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
606   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
607   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
608   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
609   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
610   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
611   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
612   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
613   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
614   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
615   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
616   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
617   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
618   ,p_learning_path_section_id     in     number  default hr_api.g_number
619   ,p_notify_days_before_target    in     number  default hr_api.g_number
620   ) is
621 --
622   l_rec   ota_lpm_shd.g_rec_type;
623   l_proc  varchar2(72) := g_package||'upd';
624 --
625 Begin
626   hr_utility.set_location('Entering:'||l_proc, 5);
627   --
628   -- Call conversion function to turn arguments into the
629   -- l_rec structure.
630   --
631   l_rec :=
632   ota_lpm_shd.convert_args
633   (p_learning_path_member_id
634   ,p_learning_path_id
635   ,p_activity_version_id
636   ,p_course_sequence
637   ,p_business_group_id
638   ,p_duration
639   ,p_duration_units
640   ,p_object_version_number
641   ,p_attribute_category
642   ,p_attribute1
643   ,p_attribute2
644   ,p_attribute3
645   ,p_attribute4
646   ,p_attribute5
647   ,p_attribute6
648   ,p_attribute7
649   ,p_attribute8
650   ,p_attribute9
651   ,p_attribute10
652   ,p_attribute11
653   ,p_attribute12
654   ,p_attribute13
655   ,p_attribute14
656   ,p_attribute15
657   ,p_attribute16
658   ,p_attribute17
659   ,p_attribute18
660   ,p_attribute19
661   ,p_attribute20
662   ,p_learning_path_section_id
663   ,p_notify_days_before_target
664   );
665   --
666   -- Having converted the arguments into the
667   -- plsql record structure we call the corresponding record
668   -- business process.
669   --
670   ota_lpm_upd.upd
671      (p_effective_date
672      ,l_rec
673      );
674   p_object_version_number := l_rec.object_version_number;
675   --
676   hr_utility.set_location(' Leaving:'||l_proc, 10);
677 End upd;
678 --
679 end ota_lpm_upd;