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