DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_TAT_UPD

Source


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