DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ABC_INS

Source


1 Package Body per_abc_ins as
2 /* $Header: peabcrhi.pkb 120.1 2005/09/28 05:04 snukala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  per_abc_ins.';  -- Global package name
9 --
10 -- The following global variables are only to be used by
11 -- the set_base_key_value and pre_insert procedures.
12 --
13 g_absence_case_id_i  number   default null;
14 --
15 -- ----------------------------------------------------------------------------
16 -- |------------------------< set_base_key_value >----------------------------|
17 -- ----------------------------------------------------------------------------
18 procedure set_base_key_value
19   (p_absence_case_id  in  number) is
20 --
21   l_proc       varchar2(72) := g_package||'set_base_key_value';
22 --
23 Begin
24   hr_utility.set_location('Entering:'||l_proc, 10);
25   --
26   per_abc_ins.g_absence_case_id_i := p_absence_case_id;
27   --
28   hr_utility.set_location(' Leaving:'||l_proc, 20);
29 End set_base_key_value;
30 --
31 --
32 -- ----------------------------------------------------------------------------
33 -- |------------------------------< insert_dml >------------------------------|
34 -- ----------------------------------------------------------------------------
35 -- {Start Of Comments}
36 --
37 -- Description:
38 --   This procedure controls the actual dml insert logic. The processing of
39 --   this procedure are as follows:
40 --   1) Initialise the object_version_number to 1 if the object_version_number
41 --      is defined as an attribute for this entity.
42 --   2) To set and unset the g_api_dml status as required (as we are about to
43 --      perform dml).
44 --   3) To insert the row into the schema.
45 --   4) To trap any constraint violations that may have occurred.
46 --   5) To raise any other errors.
47 --
48 -- Prerequisites:
49 --   This is an internal private procedure which must be called from the ins
50 --   procedure and must have all mandatory attributes set (except the
51 --   object_version_number which is initialised within this procedure).
52 --
53 -- In Parameters:
54 --   A Pl/Sql record structre.
55 --
56 -- Post Success:
57 --   The specified row will be inserted into the schema.
58 --
59 -- Post Failure:
60 --   On the insert dml failure it is important to note that we always reset the
61 --   g_api_dml status to false.
62 --   If a check, unique or parent integrity constraint violation is raised the
63 --   constraint_error procedure will be called.
64 --   If any other error is reported, the error will be raised after the
65 --   g_api_dml status is reset.
66 --
67 -- Developer Implementation Notes:
68 --   None.
69 --
70 -- Access Status:
71 --   Internal Row Handler Use Only.
72 --
73 -- {End Of Comments}
74 -- ----------------------------------------------------------------------------
75 Procedure insert_dml
76   (p_rec in out nocopy per_abc_shd.g_rec_type
77   ) is
78 --
79   l_proc  varchar2(72) := g_package||'insert_dml';
80 --
81 Begin
82   hr_utility.set_location('Entering:'||l_proc, 5);
83   p_rec.object_version_number := 1;  -- Initialise the object version
84   --
85   per_abc_shd.g_api_dml := true;  -- Set the api dml status
86   --
87   -- Insert the row into: per_absence_cases
88   --
89   insert into per_absence_cases
90       (absence_case_id
91       ,name
92       ,person_id
93       ,incident_id
94       ,absence_category
95       ,ac_information_category
96       ,ac_information1
97       ,ac_information2
98       ,ac_information3
99       ,ac_information4
100       ,ac_information5
101       ,ac_information6
102       ,ac_information7
103       ,ac_information8
104       ,ac_information9
105       ,ac_information10
106       ,ac_information11
107       ,ac_information12
108       ,ac_information13
109       ,ac_information14
110       ,ac_information15
111       ,ac_information16
112       ,ac_information17
113       ,ac_information18
114       ,ac_information19
115       ,ac_information20
116       ,ac_information21
117       ,ac_information22
118       ,ac_information23
119       ,ac_information24
120       ,ac_information25
121       ,ac_information26
122       ,ac_information27
123       ,ac_information28
124       ,ac_information29
125       ,ac_information30
126       ,ac_attribute_category
127       ,attribute1
128       ,attribute2
129       ,attribute3
130       ,attribute4
131       ,attribute5
132       ,attribute6
133       ,attribute7
134       ,attribute8
135       ,attribute9
136       ,attribute10
137       ,attribute11
138       ,attribute12
139       ,attribute13
140       ,attribute14
141       ,attribute15
142       ,attribute16
143       ,attribute17
144       ,attribute18
145       ,attribute19
146       ,attribute20
147       ,attribute21
148       ,attribute22
149       ,attribute23
150       ,attribute24
151       ,attribute25
152       ,attribute26
153       ,attribute27
154       ,attribute28
155       ,attribute29
156       ,attribute30
157       ,object_version_number
158       ,business_group_id
159       ,comments
160       )
161   Values
162     (p_rec.absence_case_id
163     ,p_rec.name
164     ,p_rec.person_id
165     ,p_rec.incident_id
166     ,p_rec.absence_category
167     ,p_rec.ac_information_category
168     ,p_rec.ac_information1
169     ,p_rec.ac_information2
170     ,p_rec.ac_information3
171     ,p_rec.ac_information4
172     ,p_rec.ac_information5
173     ,p_rec.ac_information6
174     ,p_rec.ac_information7
175     ,p_rec.ac_information8
176     ,p_rec.ac_information9
177     ,p_rec.ac_information10
178     ,p_rec.ac_information11
179     ,p_rec.ac_information12
180     ,p_rec.ac_information13
181     ,p_rec.ac_information14
182     ,p_rec.ac_information15
183     ,p_rec.ac_information16
184     ,p_rec.ac_information17
185     ,p_rec.ac_information18
186     ,p_rec.ac_information19
187     ,p_rec.ac_information20
188     ,p_rec.ac_information21
189     ,p_rec.ac_information22
190     ,p_rec.ac_information23
191     ,p_rec.ac_information24
192     ,p_rec.ac_information25
193     ,p_rec.ac_information26
194     ,p_rec.ac_information27
195     ,p_rec.ac_information28
196     ,p_rec.ac_information29
197     ,p_rec.ac_information30
198     ,p_rec.ac_attribute_category
199     ,p_rec.attribute1
200     ,p_rec.attribute2
201     ,p_rec.attribute3
202     ,p_rec.attribute4
203     ,p_rec.attribute5
204     ,p_rec.attribute6
205     ,p_rec.attribute7
206     ,p_rec.attribute8
207     ,p_rec.attribute9
208     ,p_rec.attribute10
209     ,p_rec.attribute11
210     ,p_rec.attribute12
211     ,p_rec.attribute13
212     ,p_rec.attribute14
213     ,p_rec.attribute15
214     ,p_rec.attribute16
215     ,p_rec.attribute17
216     ,p_rec.attribute18
217     ,p_rec.attribute19
218     ,p_rec.attribute20
219     ,p_rec.attribute21
220     ,p_rec.attribute22
221     ,p_rec.attribute23
222     ,p_rec.attribute24
223     ,p_rec.attribute25
224     ,p_rec.attribute26
225     ,p_rec.attribute27
226     ,p_rec.attribute28
227     ,p_rec.attribute29
228     ,p_rec.attribute30
229     ,p_rec.object_version_number
230     ,p_rec.business_group_id
231     ,p_rec.comments
232     );
233   --
234   per_abc_shd.g_api_dml := false;   -- Unset the api dml status
235   --
236   hr_utility.set_location(' Leaving:'||l_proc, 10);
237 Exception
238   When hr_api.check_integrity_violated Then
239     -- A check constraint has been violated
240     per_abc_shd.g_api_dml := false;   -- Unset the api dml status
241     per_abc_shd.constraint_error
242       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
243   When hr_api.parent_integrity_violated Then
244     -- Parent integrity has been violated
245     per_abc_shd.g_api_dml := false;   -- Unset the api dml status
246     per_abc_shd.constraint_error
247       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
248   When hr_api.unique_integrity_violated Then
249     -- Unique integrity has been violated
250     per_abc_shd.g_api_dml := false;   -- Unset the api dml status
251     per_abc_shd.constraint_error
252       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
253   When Others Then
254     per_abc_shd.g_api_dml := false;   -- Unset the api dml status
255     Raise;
256 End insert_dml;
257 --
258 -- ----------------------------------------------------------------------------
259 -- |------------------------------< pre_insert >------------------------------|
260 -- ----------------------------------------------------------------------------
261 -- {Start Of Comments}
262 --
263 -- Description:
264 --   This private procedure contains any processing which is required before
265 --   the insert dml. Presently, if the entity has a corresponding primary
266 --   key which is maintained by an associating sequence, the primary key for
267 --   the entity will be populated with the next sequence value in
268 --   preparation for the insert dml.
269 --
270 -- Prerequisites:
271 --   This is an internal procedure which is called from the ins procedure.
272 --
273 -- In Parameters:
274 --   A Pl/Sql record structure.
275 --
276 -- Post Success:
277 --   Processing continues.
278 --
279 -- Post Failure:
280 --   If an error has occurred, an error message and exception will be raised
281 --   but not handled.
282 --
283 -- Developer Implementation Notes:
284 --   Any pre-processing required before the insert dml is issued should be
285 --   coded within this procedure. As stated above, a good example is the
286 --   generation of a primary key number via a corresponding sequence.
287 --   It is important to note that any 3rd party maintenance should be reviewed
288 --   before placing in this procedure.
289 --
290 -- Access Status:
291 --   Internal Row Handler Use Only.
292 --
293 -- {End Of Comments}
294 -- ----------------------------------------------------------------------------
295 Procedure pre_insert
296   (p_rec  in out nocopy per_abc_shd.g_rec_type
297   ) is
298 --
299   Cursor C_Sel1 is select per_absence_cases_s.nextval from sys.dual;
300 --
301   Cursor C_Sel2 is
302     Select null
303       from per_absence_cases
304      where absence_case_id =
305              per_abc_ins.g_absence_case_id_i;
306 --
307   l_proc   varchar2(72) := g_package||'pre_insert';
308   l_exists varchar2(1);
309 --
310 Begin
311   hr_utility.set_location('Entering:'||l_proc, 5);
312   --
313   If (per_abc_ins.g_absence_case_id_i is not null) Then
314     --
315     -- Verify registered primary key values not already in use
316     --
317     Open C_Sel2;
318     Fetch C_Sel2 into l_exists;
319     If C_Sel2%found Then
320        Close C_Sel2;
321        --
322        -- The primary key values are already in use.
323        --
324        fnd_message.set_name('PER','PER_289391_KEY_ALREADY_USED');
325        fnd_message.set_token('TABLE_NAME','per_absence_cases');
326        fnd_message.raise_error;
327     End If;
328     Close C_Sel2;
329     --
330     -- Use registered key values and clear globals
331     --
332     p_rec.absence_case_id :=
333       per_abc_ins.g_absence_case_id_i;
334     per_abc_ins.g_absence_case_id_i := null;
335   Else
336     --
337     -- No registerd key values, so select the next sequence number
338     --
339     --
340     -- Select the next sequence number
341     --
342     Open C_Sel1;
343     Fetch C_Sel1 Into p_rec.absence_case_id;
344     Close C_Sel1;
345   End If;
346   --
347   hr_utility.set_location(' Leaving:'||l_proc, 10);
348 End pre_insert;
349 --
350 -- ----------------------------------------------------------------------------
351 -- |-----------------------------< post_insert >------------------------------|
352 -- ----------------------------------------------------------------------------
353 -- {Start Of Comments}
354 --
355 -- Description:
356 --   This private procedure contains any processing which is required after
357 --   the insert dml.
358 --
359 -- Prerequisites:
360 --   This is an internal procedure which is called from the ins procedure.
361 --
362 -- In Parameters:
363 --   A Pl/Sql record structre.
364 --
365 -- Post Success:
366 --   Processing continues.
367 --
368 -- Post Failure:
369 --   If an error has occurred, an error message and exception will be raised
370 --   but not handled.
371 --
372 -- Developer Implementation Notes:
373 --   Any post-processing required after the insert dml is issued should be
374 --   coded within this procedure. It is important to note that any 3rd party
375 --   maintenance should be reviewed before placing in this procedure.
376 --
377 -- Access Status:
378 --   Internal Row Handler Use Only.
379 --
380 -- {End Of Comments}
381 -- ----------------------------------------------------------------------------
382 Procedure post_insert
383   (p_rec                          in per_abc_shd.g_rec_type
384   ) is
385 --
386   l_proc  varchar2(72) := g_package||'post_insert';
387 --
388 Begin
389   hr_utility.set_location('Entering:'||l_proc, 5);
390   begin
391     --
392     per_abc_rki.after_insert
393       (p_absence_case_id
394       => p_rec.absence_case_id
395       ,p_name
396       => p_rec.name
397       ,p_person_id
398       => p_rec.person_id
399       ,p_incident_id
400       => p_rec.incident_id
401       ,p_absence_category
402       => p_rec.absence_category
403       ,p_ac_information_category
404       => p_rec.ac_information_category
405       ,p_ac_information1
406       => p_rec.ac_information1
407       ,p_ac_information2
408       => p_rec.ac_information2
409       ,p_ac_information3
410       => p_rec.ac_information3
411       ,p_ac_information4
412       => p_rec.ac_information4
413       ,p_ac_information5
414       => p_rec.ac_information5
415       ,p_ac_information6
416       => p_rec.ac_information6
417       ,p_ac_information7
418       => p_rec.ac_information7
419       ,p_ac_information8
420       => p_rec.ac_information8
421       ,p_ac_information9
422       => p_rec.ac_information9
423       ,p_ac_information10
424       => p_rec.ac_information10
425       ,p_ac_information11
426       => p_rec.ac_information11
427       ,p_ac_information12
428       => p_rec.ac_information12
429       ,p_ac_information13
430       => p_rec.ac_information13
431       ,p_ac_information14
432       => p_rec.ac_information14
433       ,p_ac_information15
434       => p_rec.ac_information15
435       ,p_ac_information16
436       => p_rec.ac_information16
437       ,p_ac_information17
438       => p_rec.ac_information17
439       ,p_ac_information18
440       => p_rec.ac_information18
441       ,p_ac_information19
442       => p_rec.ac_information19
443       ,p_ac_information20
444       => p_rec.ac_information20
445       ,p_ac_information21
446       => p_rec.ac_information21
447       ,p_ac_information22
448       => p_rec.ac_information22
449       ,p_ac_information23
450       => p_rec.ac_information23
451       ,p_ac_information24
452       => p_rec.ac_information24
453       ,p_ac_information25
454       => p_rec.ac_information25
455       ,p_ac_information26
456       => p_rec.ac_information26
457       ,p_ac_information27
458       => p_rec.ac_information27
459       ,p_ac_information28
460       => p_rec.ac_information28
461       ,p_ac_information29
462       => p_rec.ac_information29
463       ,p_ac_information30
464       => p_rec.ac_information30
465       ,p_ac_attribute_category
466       => p_rec.ac_attribute_category
467       ,p_attribute1
468       => p_rec.attribute1
469       ,p_attribute2
470       => p_rec.attribute2
471       ,p_attribute3
472       => p_rec.attribute3
473       ,p_attribute4
474       => p_rec.attribute4
475       ,p_attribute5
476       => p_rec.attribute5
477       ,p_attribute6
478       => p_rec.attribute6
479       ,p_attribute7
480       => p_rec.attribute7
481       ,p_attribute8
482       => p_rec.attribute8
483       ,p_attribute9
484       => p_rec.attribute9
485       ,p_attribute10
486       => p_rec.attribute10
487       ,p_attribute11
488       => p_rec.attribute11
489       ,p_attribute12
490       => p_rec.attribute12
491       ,p_attribute13
492       => p_rec.attribute13
493       ,p_attribute14
494       => p_rec.attribute14
495       ,p_attribute15
496       => p_rec.attribute15
497       ,p_attribute16
498       => p_rec.attribute16
499       ,p_attribute17
500       => p_rec.attribute17
501       ,p_attribute18
502       => p_rec.attribute18
503       ,p_attribute19
504       => p_rec.attribute19
505       ,p_attribute20
506       => p_rec.attribute20
507       ,p_attribute21
508       => p_rec.attribute21
509       ,p_attribute22
510       => p_rec.attribute22
511       ,p_attribute23
512       => p_rec.attribute23
513       ,p_attribute24
514       => p_rec.attribute24
515       ,p_attribute25
516       => p_rec.attribute25
517       ,p_attribute26
518       => p_rec.attribute26
519       ,p_attribute27
520       => p_rec.attribute27
521       ,p_attribute28
522       => p_rec.attribute28
523       ,p_attribute29
524       => p_rec.attribute29
525       ,p_attribute30
526       => p_rec.attribute30
527       ,p_object_version_number
528       => p_rec.object_version_number
529       ,p_business_group_id
530       => p_rec.business_group_id
531       ,p_comments
532       => p_rec.comments
533       );
534     --
535   exception
536     --
537     when hr_api.cannot_find_prog_unit then
538       --
539       hr_api.cannot_find_prog_unit_error
540         (p_module_name => 'PER_ABSENCE_CASES'
541         ,p_hook_type   => 'AI');
542       --
543   end;
544   --
545   hr_utility.set_location(' Leaving:'||l_proc, 10);
546 End post_insert;
547 --
548 -- ----------------------------------------------------------------------------
549 -- |---------------------------------< ins >----------------------------------|
550 -- ----------------------------------------------------------------------------
551 Procedure ins
552   (p_rec                          in out nocopy per_abc_shd.g_rec_type
553   ) is
554 --
555   l_proc  varchar2(72) := g_package||'ins';
556 --
557 Begin
558   hr_utility.set_location('Entering:'||l_proc, 5);
559   --
560   -- Call the supporting insert validate operations
561   --
562   per_abc_bus.insert_validate
563      (p_rec
564      );
565   --
566   -- Call to raise any errors on multi-message list
567   hr_multi_message.end_validation_set;
568   --
569   -- Call the supporting pre-insert operation
570   --
571   per_abc_ins.pre_insert(p_rec);
572   --
573   -- Insert the row
574   --
575   per_abc_ins.insert_dml(p_rec);
576   --
577   -- Call the supporting post-insert operation
578   --
579   per_abc_ins.post_insert
580      (p_rec
581      );
582   --
583   -- Call to raise any errors on multi-message list
584   hr_multi_message.end_validation_set;
585   --
586   hr_utility.set_location('Leaving:'||l_proc, 20);
587 end ins;
588 --
589 -- ----------------------------------------------------------------------------
590 -- |---------------------------------< ins >----------------------------------|
591 -- ----------------------------------------------------------------------------
592 Procedure ins
593   (p_name                           in     varchar2
594   ,p_person_id                      in     number
595   ,p_business_group_id              in     number
596   ,p_incident_id                    in     varchar2 default null
597   ,p_absence_category               in     varchar2 default null
598   ,p_ac_information_category        in     varchar2 default null
599   ,p_ac_information1                in     varchar2 default null
600   ,p_ac_information2                in     varchar2 default null
601   ,p_ac_information3                in     varchar2 default null
602   ,p_ac_information4                in     varchar2 default null
603   ,p_ac_information5                in     varchar2 default null
604   ,p_ac_information6                in     varchar2 default null
605   ,p_ac_information7                in     varchar2 default null
606   ,p_ac_information8                in     varchar2 default null
607   ,p_ac_information9                in     varchar2 default null
608   ,p_ac_information10               in     varchar2 default null
609   ,p_ac_information11               in     varchar2 default null
610   ,p_ac_information12               in     varchar2 default null
611   ,p_ac_information13               in     varchar2 default null
612   ,p_ac_information14               in     varchar2 default null
613   ,p_ac_information15               in     varchar2 default null
614   ,p_ac_information16               in     varchar2 default null
615   ,p_ac_information17               in     varchar2 default null
616   ,p_ac_information18               in     varchar2 default null
617   ,p_ac_information19               in     varchar2 default null
618   ,p_ac_information20               in     varchar2 default null
619   ,p_ac_information21               in     varchar2 default null
620   ,p_ac_information22               in     varchar2 default null
621   ,p_ac_information23               in     varchar2 default null
622   ,p_ac_information24               in     varchar2 default null
623   ,p_ac_information25               in     varchar2 default null
624   ,p_ac_information26               in     varchar2 default null
625   ,p_ac_information27               in     varchar2 default null
626   ,p_ac_information28               in     varchar2 default null
627   ,p_ac_information29               in     varchar2 default null
628   ,p_ac_information30               in     varchar2 default null
629   ,p_ac_attribute_category          in     varchar2 default null
630   ,p_attribute1                     in     varchar2 default null
631   ,p_attribute2                     in     varchar2 default null
632   ,p_attribute3                     in     varchar2 default null
633   ,p_attribute4                     in     varchar2 default null
634   ,p_attribute5                     in     varchar2 default null
635   ,p_attribute6                     in     varchar2 default null
636   ,p_attribute7                     in     varchar2 default null
637   ,p_attribute8                     in     varchar2 default null
638   ,p_attribute9                     in     varchar2 default null
639   ,p_attribute10                    in     varchar2 default null
640   ,p_attribute11                    in     varchar2 default null
641   ,p_attribute12                    in     varchar2 default null
642   ,p_attribute13                    in     varchar2 default null
643   ,p_attribute14                    in     varchar2 default null
644   ,p_attribute15                    in     varchar2 default null
645   ,p_attribute16                    in     varchar2 default null
646   ,p_attribute17                    in     varchar2 default null
647   ,p_attribute18                    in     varchar2 default null
648   ,p_attribute19                    in     varchar2 default null
649   ,p_attribute20                    in     varchar2 default null
650   ,p_attribute21                    in     varchar2 default null
651   ,p_attribute22                    in     varchar2 default null
652   ,p_attribute23                    in     varchar2 default null
653   ,p_attribute24                    in     varchar2 default null
654   ,p_attribute25                    in     varchar2 default null
655   ,p_attribute26                    in     varchar2 default null
656   ,p_attribute27                    in     varchar2 default null
657   ,p_attribute28                    in     varchar2 default null
658   ,p_attribute29                    in     varchar2 default null
659   ,p_attribute30                    in     varchar2 default null
660   ,p_comments                       in     varchar2 default null
661   ,p_absence_case_id                   out nocopy number
662   ,p_object_version_number             out nocopy number
663   ) is
664 --
665   l_rec   per_abc_shd.g_rec_type;
666   l_proc  varchar2(72) := g_package||'ins';
667 --
668 Begin
669   hr_utility.set_location('Entering:'||l_proc, 5);
670   --
671   -- Call conversion function to turn arguments into the
672   -- p_rec structure.
673   --
674   l_rec :=
675   per_abc_shd.convert_args
676     (null
677     ,p_name
678     ,p_person_id
679     ,p_incident_id
680     ,p_absence_category
681     ,p_ac_information_category
682     ,p_ac_information1
683     ,p_ac_information2
684     ,p_ac_information3
685     ,p_ac_information4
686     ,p_ac_information5
687     ,p_ac_information6
688     ,p_ac_information7
689     ,p_ac_information8
690     ,p_ac_information9
691     ,p_ac_information10
692     ,p_ac_information11
693     ,p_ac_information12
694     ,p_ac_information13
695     ,p_ac_information14
696     ,p_ac_information15
697     ,p_ac_information16
698     ,p_ac_information17
699     ,p_ac_information18
700     ,p_ac_information19
701     ,p_ac_information20
702     ,p_ac_information21
703     ,p_ac_information22
704     ,p_ac_information23
705     ,p_ac_information24
706     ,p_ac_information25
707     ,p_ac_information26
708     ,p_ac_information27
709     ,p_ac_information28
710     ,p_ac_information29
711     ,p_ac_information30
712     ,p_ac_attribute_category
713     ,p_attribute1
714     ,p_attribute2
715     ,p_attribute3
716     ,p_attribute4
717     ,p_attribute5
718     ,p_attribute6
719     ,p_attribute7
720     ,p_attribute8
721     ,p_attribute9
722     ,p_attribute10
723     ,p_attribute11
724     ,p_attribute12
725     ,p_attribute13
726     ,p_attribute14
727     ,p_attribute15
728     ,p_attribute16
729     ,p_attribute17
730     ,p_attribute18
731     ,p_attribute19
732     ,p_attribute20
733     ,p_attribute21
734     ,p_attribute22
735     ,p_attribute23
736     ,p_attribute24
737     ,p_attribute25
738     ,p_attribute26
739     ,p_attribute27
740     ,p_attribute28
741     ,p_attribute29
742     ,p_attribute30
743     ,null
744     ,p_business_group_id
745     ,p_comments
746     );
747   --
748   -- Having converted the arguments into the per_abc_rec
749   -- plsql record structure we call the corresponding record business process.
750   --
751   per_abc_ins.ins
752      (l_rec
753      );
754   --
755   -- As the primary key argument(s)
756   -- are specified as an OUT's we must set these values.
757   --
758   p_absence_case_id := l_rec.absence_case_id;
759   p_object_version_number := l_rec.object_version_number;
760   --
761   hr_utility.set_location(' Leaving:'||l_proc, 10);
762 End ins;
763 --
764 end per_abc_ins;