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