DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ORD_INS

Source


1 Package Body hr_ord_ins as
2 /* $Header: hrordrhi.pkb 115.7 2002/12/04 06:20:03 hjonnala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  hr_ord_ins.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< insert_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml insert logic. The processing of
17 --   this procedure are as follows:
18 --   1) Initialise the object_version_number to 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 insert the row into the schema.
23 --   4) To trap any constraint violations that may have occurred.
24 --   5) To raise any other errors.
25 --
26 -- Prerequisites:
27 --   This is an internal private procedure which must be called from the ins
28 --   procedure and must have all mandatory attributes set (except the
29 --   object_version_number which is initialised within this procedure).
30 --
31 -- In Parameters:
32 --   A Pl/Sql record structre.
33 --
34 -- Post Success:
35 --   The specified row will be inserted into the schema.
36 --
37 -- Post Failure:
38 --   On the insert 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 --   None.
47 --
48 -- Access Status:
49 --   Internal Row Handler Use Only.
50 --
51 -- {End Of Comments}
52 -- ----------------------------------------------------------------------------
53 Procedure insert_dml
54   (p_rec in out nocopy hr_ord_shd.g_rec_type
55   ) is
56 --
57   l_proc  varchar2(72) := g_package||'insert_dml';
58 --
59 Begin
60   hr_utility.set_location('Entering:'||l_proc, 5);
61   p_rec.object_version_number := 1;  -- Initialise the object version
62   --
63   --
64   --
65   -- Insert the row into: hr_de_organization_links
66   --
67   insert into hr_de_organization_links
68       (organization_link_id
69       ,parent_organization_id
70       ,child_organization_id
71       ,business_group_id
72       ,org_link_information_category
73       ,org_link_information1
74       ,org_link_information2
75       ,org_link_information3
76       ,org_link_information4
77       ,org_link_information5
78       ,org_link_information6
79       ,org_link_information7
80       ,org_link_information8
81       ,org_link_information9
82       ,org_link_information10
83       ,org_link_information11
84       ,org_link_information12
85       ,org_link_information13
86       ,org_link_information14
87       ,org_link_information15
88       ,org_link_information16
89       ,org_link_information17
90       ,org_link_information18
91       ,org_link_information19
92       ,org_link_information20
93       ,org_link_information21
94       ,org_link_information22
95       ,org_link_information23
96       ,org_link_information24
97       ,org_link_information25
98       ,org_link_information26
99       ,org_link_information27
100       ,org_link_information28
101       ,org_link_information29
102       ,org_link_information30
103       ,attribute_category
104       ,attribute1
105       ,attribute2
106       ,attribute3
107       ,attribute4
108       ,attribute5
109       ,attribute6
110       ,attribute7
111       ,attribute8
112       ,attribute9
113       ,attribute10
114       ,attribute11
115       ,attribute12
116       ,attribute13
117       ,attribute14
118       ,attribute15
119       ,attribute16
120       ,attribute17
121       ,attribute18
122       ,attribute19
123       ,attribute20
124       ,attribute21
125       ,attribute22
126       ,attribute23
127       ,attribute24
128       ,attribute25
129       ,attribute26
130       ,attribute27
131       ,attribute28
132       ,attribute29
133       ,attribute30
134       ,object_version_number
135       ,org_link_type
136       )
137   Values
138     (p_rec.organization_link_id
139     ,p_rec.parent_organization_id
140     ,p_rec.child_organization_id
141     ,p_rec.business_group_id
142     ,p_rec.org_link_information_category
143     ,p_rec.org_link_information1
144     ,p_rec.org_link_information2
145     ,p_rec.org_link_information3
146     ,p_rec.org_link_information4
147     ,p_rec.org_link_information5
148     ,p_rec.org_link_information6
149     ,p_rec.org_link_information7
150     ,p_rec.org_link_information8
151     ,p_rec.org_link_information9
152     ,p_rec.org_link_information10
153     ,p_rec.org_link_information11
154     ,p_rec.org_link_information12
155     ,p_rec.org_link_information13
156     ,p_rec.org_link_information14
157     ,p_rec.org_link_information15
158     ,p_rec.org_link_information16
159     ,p_rec.org_link_information17
160     ,p_rec.org_link_information18
161     ,p_rec.org_link_information19
162     ,p_rec.org_link_information20
163     ,p_rec.org_link_information21
164     ,p_rec.org_link_information22
165     ,p_rec.org_link_information23
166     ,p_rec.org_link_information24
167     ,p_rec.org_link_information25
168     ,p_rec.org_link_information26
169     ,p_rec.org_link_information27
170     ,p_rec.org_link_information28
171     ,p_rec.org_link_information29
172     ,p_rec.org_link_information30
173     ,p_rec.attribute_category
174     ,p_rec.attribute1
175     ,p_rec.attribute2
176     ,p_rec.attribute3
177     ,p_rec.attribute4
178     ,p_rec.attribute5
179     ,p_rec.attribute6
180     ,p_rec.attribute7
181     ,p_rec.attribute8
182     ,p_rec.attribute9
183     ,p_rec.attribute10
184     ,p_rec.attribute11
185     ,p_rec.attribute12
186     ,p_rec.attribute13
187     ,p_rec.attribute14
188     ,p_rec.attribute15
189     ,p_rec.attribute16
190     ,p_rec.attribute17
191     ,p_rec.attribute18
192     ,p_rec.attribute19
193     ,p_rec.attribute20
194     ,p_rec.attribute21
195     ,p_rec.attribute22
196     ,p_rec.attribute23
197     ,p_rec.attribute24
198     ,p_rec.attribute25
199     ,p_rec.attribute26
200     ,p_rec.attribute27
201     ,p_rec.attribute28
202     ,p_rec.attribute29
203     ,p_rec.attribute30
204     ,p_rec.object_version_number
205     ,p_rec.org_link_type
206     );
207   --
208   --
209   --
210   hr_utility.set_location(' Leaving:'||l_proc, 10);
211 Exception
212   When hr_api.check_integrity_violated Then
213     -- A check constraint has been violated
214     --
215     hr_ord_shd.constraint_error
216       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
217   When hr_api.parent_integrity_violated Then
218     -- Parent integrity has been violated
219     --
220     hr_ord_shd.constraint_error
221       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
222   When hr_api.unique_integrity_violated Then
223     -- Unique integrity has been violated
224     --
225     hr_ord_shd.constraint_error
226       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
227   When Others Then
228     --
229     Raise;
230 End insert_dml;
231 --
232 -- ----------------------------------------------------------------------------
233 -- |------------------------------< pre_insert >------------------------------|
234 -- ----------------------------------------------------------------------------
235 -- {Start Of Comments}
236 --
237 -- Description:
238 --   This private procedure contains any processing which is required before
239 --   the insert dml. Presently, if the entity has a corresponding primary
240 --   key which is maintained by an associating sequence, the primary key for
241 --   the entity will be populated with the next sequence value in
242 --   preparation for the insert dml.
243 --
244 -- Prerequisites:
245 --   This is an internal procedure which is called from the ins procedure.
246 --
247 -- In Parameters:
248 --   A Pl/Sql record structre.
249 --
250 -- Post Success:
251 --   Processing continues.
252 --
253 -- Post Failure:
254 --   If an error has occurred, an error message and exception will be raised
255 --   but not handled.
256 --
257 -- Developer Implementation Notes:
258 --   Any pre-processing required before the insert dml is issued should be
259 --   coded within this procedure. As stated above, a good example is the
260 --   generation of a primary key number via a corresponding sequence.
261 --   It is important to note that any 3rd party maintenance should be reviewed
262 --   before placing in this procedure.
263 --
264 -- Access Status:
265 --   Internal Row Handler Use Only.
266 --
267 -- {End Of Comments}
268 -- ----------------------------------------------------------------------------
269 Procedure pre_insert
270   (p_rec  in out nocopy hr_ord_shd.g_rec_type
271   ) is
272 --
273   l_proc  varchar2(72) := g_package||'pre_insert';
274 --
275   Cursor C_Sel1 is select hr_de_organization_links_s.nextval from sys.dual;
276 --
277 Begin
278   hr_utility.set_location('Entering:'||l_proc, 5);
279   --
280   --
281   -- Select the next sequence number
282   --
283   Open C_Sel1;
284   Fetch C_Sel1 Into p_rec.organization_link_id;
285   Close C_Sel1;
286   --
287   hr_utility.set_location(' Leaving:'||l_proc, 10);
288 End pre_insert;
289 --
290 -- ----------------------------------------------------------------------------
291 -- |-----------------------------< post_insert >------------------------------|
292 -- ----------------------------------------------------------------------------
293 -- {Start Of Comments}
294 --
295 -- Description:
296 --   This private procedure contains any processing which is required after
297 --   the insert dml.
298 --
299 -- Prerequisites:
300 --   This is an internal procedure which is called from the ins procedure.
301 --
302 -- In Parameters:
303 --   A Pl/Sql record structre.
304 --
305 -- Post Success:
306 --   Processing continues.
307 --
308 -- Post Failure:
309 --   If an error has occurred, an error message and exception will be raised
310 --   but not handled.
311 --
312 -- Developer Implementation Notes:
313 --   Any post-processing required after the insert dml is issued should be
314 --   coded within this procedure. It is important to note that any 3rd party
315 --   maintenance should be reviewed before placing in this procedure.
316 --
317 -- Access Status:
318 --   Internal Row Handler Use Only.
319 --
320 -- {End Of Comments}
321 -- ----------------------------------------------------------------------------
322 Procedure post_insert
323   (p_effective_date               in date
324   ,p_rec                          in hr_ord_shd.g_rec_type
325   ) is
326 --
327   l_proc  varchar2(72) := g_package||'post_insert';
328 --
329 Begin
330   hr_utility.set_location('Entering:'||l_proc, 5);
331   begin
332     --
333     hr_ord_rki.after_insert
334       (p_effective_date              => p_effective_date
335       ,p_organization_link_id
336       => p_rec.organization_link_id
337       ,p_parent_organization_id
338       => p_rec.parent_organization_id
339       ,p_child_organization_id
340       => p_rec.child_organization_id
341       ,p_business_group_id
342       => p_rec.business_group_id
343       ,p_org_link_information_categor
344       => p_rec.org_link_information_category
345       ,p_org_link_information1
346       => p_rec.org_link_information1
347       ,p_org_link_information2
348       => p_rec.org_link_information2
349       ,p_org_link_information3
350       => p_rec.org_link_information3
351       ,p_org_link_information4
352       => p_rec.org_link_information4
353       ,p_org_link_information5
354       => p_rec.org_link_information5
355       ,p_org_link_information6
356       => p_rec.org_link_information6
357       ,p_org_link_information7
358       => p_rec.org_link_information7
359       ,p_org_link_information8
360       => p_rec.org_link_information8
361       ,p_org_link_information9
362       => p_rec.org_link_information9
363       ,p_org_link_information10
364       => p_rec.org_link_information10
365       ,p_org_link_information11
366       => p_rec.org_link_information11
367       ,p_org_link_information12
368       => p_rec.org_link_information12
369       ,p_org_link_information13
370       => p_rec.org_link_information13
371       ,p_org_link_information14
372       => p_rec.org_link_information14
373       ,p_org_link_information15
374       => p_rec.org_link_information15
375       ,p_org_link_information16
376       => p_rec.org_link_information16
377       ,p_org_link_information17
378       => p_rec.org_link_information17
379       ,p_org_link_information18
380       => p_rec.org_link_information18
381       ,p_org_link_information19
382       => p_rec.org_link_information19
383       ,p_org_link_information20
384       => p_rec.org_link_information20
385       ,p_org_link_information21
386       => p_rec.org_link_information21
387       ,p_org_link_information22
388       => p_rec.org_link_information22
389       ,p_org_link_information23
390       => p_rec.org_link_information23
391       ,p_org_link_information24
392       => p_rec.org_link_information24
393       ,p_org_link_information25
394       => p_rec.org_link_information25
395       ,p_org_link_information26
396       => p_rec.org_link_information26
397       ,p_org_link_information27
398       => p_rec.org_link_information27
399       ,p_org_link_information28
400       => p_rec.org_link_information28
401       ,p_org_link_information29
402       => p_rec.org_link_information29
403       ,p_org_link_information30
404       => p_rec.org_link_information30
405       ,p_attribute_category
406       => p_rec.attribute_category
407       ,p_attribute1
408       => p_rec.attribute1
409       ,p_attribute2
410       => p_rec.attribute2
411       ,p_attribute3
412       => p_rec.attribute3
413       ,p_attribute4
414       => p_rec.attribute4
415       ,p_attribute5
416       => p_rec.attribute5
417       ,p_attribute6
418       => p_rec.attribute6
419       ,p_attribute7
420       => p_rec.attribute7
421       ,p_attribute8
422       => p_rec.attribute8
423       ,p_attribute9
424       => p_rec.attribute9
425       ,p_attribute10
426       => p_rec.attribute10
427       ,p_attribute11
428       => p_rec.attribute11
429       ,p_attribute12
430       => p_rec.attribute12
431       ,p_attribute13
432       => p_rec.attribute13
433       ,p_attribute14
434       => p_rec.attribute14
435       ,p_attribute15
436       => p_rec.attribute15
437       ,p_attribute16
438       => p_rec.attribute16
439       ,p_attribute17
440       => p_rec.attribute17
441       ,p_attribute18
442       => p_rec.attribute18
443       ,p_attribute19
444       => p_rec.attribute19
445       ,p_attribute20
446       => p_rec.attribute20
447       ,p_attribute21
448       => p_rec.attribute21
449       ,p_attribute22
450       => p_rec.attribute22
451       ,p_attribute23
452       => p_rec.attribute23
453       ,p_attribute24
454       => p_rec.attribute24
455       ,p_attribute25
456       => p_rec.attribute25
457       ,p_attribute26
458       => p_rec.attribute26
459       ,p_attribute27
460       => p_rec.attribute27
461       ,p_attribute28
462       => p_rec.attribute28
463       ,p_attribute29
464       => p_rec.attribute29
465       ,p_attribute30
466       => p_rec.attribute30
467       ,p_object_version_number
468       => p_rec.object_version_number
469       ,p_org_link_type
470       => p_rec.org_link_type
471       );
472     --
473   exception
474     --
475     when hr_api.cannot_find_prog_unit then
476       --
477       hr_api.cannot_find_prog_unit_error
478         (p_module_name => 'HR_DE_ORGANIZATION_LINKS'
479         ,p_hook_type   => 'AI');
480       --
481   end;
482   --
483   hr_utility.set_location(' Leaving:'||l_proc, 10);
484 End post_insert;
485 --
486 -- ----------------------------------------------------------------------------
487 -- |---------------------------------< ins >----------------------------------|
488 -- ----------------------------------------------------------------------------
489 Procedure ins
490   (p_effective_date               in date
491   ,p_rec                          in out nocopy hr_ord_shd.g_rec_type
492   ) is
493 --
494   l_proc  varchar2(72) := g_package||'ins';
495 --
496 Begin
497   hr_utility.set_location('Entering:'||l_proc, 5);
498   --
499   -- Call the supporting insert validate operations
500   --
501   hr_ord_bus.insert_validate
502      (p_effective_date
503      ,p_rec
504      );
505   --
506   -- Call the supporting pre-insert operation
507   --
508   hr_ord_ins.pre_insert(p_rec);
509   --
510   -- Insert the row
511   --
512   hr_ord_ins.insert_dml(p_rec);
513   --
514   -- Call the supporting post-insert operation
515   --
516   hr_ord_ins.post_insert
517      (p_effective_date
518      ,p_rec
519      );
520   --
521   hr_utility.set_location('Leaving:'||l_proc, 20);
522 end ins;
523 --
524 -- ----------------------------------------------------------------------------
525 -- |---------------------------------< ins >----------------------------------|
526 -- ----------------------------------------------------------------------------
527 Procedure ins
528   (p_effective_date               in     date
529   ,p_parent_organization_id         in     number
530   ,p_child_organization_id          in     number
531   ,p_business_group_id              in     number
532   ,p_org_link_type                  in     varchar2
533   ,p_org_link_information_categor   in     varchar2 default null
534   ,p_org_link_information1          in     varchar2 default null
535   ,p_org_link_information2          in     varchar2 default null
536   ,p_org_link_information3          in     varchar2 default null
537   ,p_org_link_information4          in     varchar2 default null
538   ,p_org_link_information5          in     varchar2 default null
539   ,p_org_link_information6          in     varchar2 default null
540   ,p_org_link_information7          in     varchar2 default null
541   ,p_org_link_information8          in     varchar2 default null
542   ,p_org_link_information9          in     varchar2 default null
543   ,p_org_link_information10         in     varchar2 default null
544   ,p_org_link_information11         in     varchar2 default null
545   ,p_org_link_information12         in     varchar2 default null
546   ,p_org_link_information13         in     varchar2 default null
547   ,p_org_link_information14         in     varchar2 default null
548   ,p_org_link_information15         in     varchar2 default null
549   ,p_org_link_information16         in     varchar2 default null
550   ,p_org_link_information17         in     varchar2 default null
551   ,p_org_link_information18         in     varchar2 default null
552   ,p_org_link_information19         in     varchar2 default null
553   ,p_org_link_information20         in     varchar2 default null
554   ,p_org_link_information21         in     varchar2 default null
555   ,p_org_link_information22         in     varchar2 default null
556   ,p_org_link_information23         in     varchar2 default null
557   ,p_org_link_information24         in     varchar2 default null
558   ,p_org_link_information25         in     varchar2 default null
559   ,p_org_link_information26         in     varchar2 default null
560   ,p_org_link_information27         in     varchar2 default null
561   ,p_org_link_information28         in     varchar2 default null
562   ,p_org_link_information29         in     varchar2 default null
563   ,p_org_link_information30         in     varchar2 default null
564   ,p_attribute_category             in     varchar2 default null
565   ,p_attribute1                     in     varchar2 default null
566   ,p_attribute2                     in     varchar2 default null
567   ,p_attribute3                     in     varchar2 default null
568   ,p_attribute4                     in     varchar2 default null
569   ,p_attribute5                     in     varchar2 default null
570   ,p_attribute6                     in     varchar2 default null
571   ,p_attribute7                     in     varchar2 default null
572   ,p_attribute8                     in     varchar2 default null
573   ,p_attribute9                     in     varchar2 default null
574   ,p_attribute10                    in     varchar2 default null
575   ,p_attribute11                    in     varchar2 default null
576   ,p_attribute12                    in     varchar2 default null
577   ,p_attribute13                    in     varchar2 default null
578   ,p_attribute14                    in     varchar2 default null
579   ,p_attribute15                    in     varchar2 default null
580   ,p_attribute16                    in     varchar2 default null
581   ,p_attribute17                    in     varchar2 default null
582   ,p_attribute18                    in     varchar2 default null
583   ,p_attribute19                    in     varchar2 default null
584   ,p_attribute20                    in     varchar2 default null
585   ,p_attribute21                    in     varchar2 default null
586   ,p_attribute22                    in     varchar2 default null
587   ,p_attribute23                    in     varchar2 default null
588   ,p_attribute24                    in     varchar2 default null
589   ,p_attribute25                    in     varchar2 default null
590   ,p_attribute26                    in     varchar2 default null
591   ,p_attribute27                    in     varchar2 default null
592   ,p_attribute28                    in     varchar2 default null
593   ,p_attribute29                    in     varchar2 default null
594   ,p_attribute30                    in     varchar2 default null
595   ,p_organization_link_id              out nocopy number
596   ,p_object_version_number             out nocopy number
597   ) is
598 --
599   l_rec   hr_ord_shd.g_rec_type;
600   l_proc  varchar2(72) := g_package||'ins';
601 --
602 Begin
603   hr_utility.set_location('Entering:'||l_proc, 5);
604   --
605   -- Call conversion function to turn arguments into the
606   -- p_rec structure.
607   --
608   l_rec :=
609   hr_ord_shd.convert_args
610     (null
611     ,p_parent_organization_id
612     ,p_child_organization_id
613     ,p_business_group_id
614     ,p_org_link_information_categor
615     ,p_org_link_information1
616     ,p_org_link_information2
617     ,p_org_link_information3
618     ,p_org_link_information4
619     ,p_org_link_information5
620     ,p_org_link_information6
621     ,p_org_link_information7
622     ,p_org_link_information8
623     ,p_org_link_information9
624     ,p_org_link_information10
625     ,p_org_link_information11
626     ,p_org_link_information12
627     ,p_org_link_information13
628     ,p_org_link_information14
629     ,p_org_link_information15
630     ,p_org_link_information16
631     ,p_org_link_information17
632     ,p_org_link_information18
633     ,p_org_link_information19
634     ,p_org_link_information20
635     ,p_org_link_information21
636     ,p_org_link_information22
637     ,p_org_link_information23
638     ,p_org_link_information24
639     ,p_org_link_information25
640     ,p_org_link_information26
641     ,p_org_link_information27
642     ,p_org_link_information28
643     ,p_org_link_information29
644     ,p_org_link_information30
645     ,p_attribute_category
646     ,p_attribute1
647     ,p_attribute2
648     ,p_attribute3
649     ,p_attribute4
650     ,p_attribute5
651     ,p_attribute6
652     ,p_attribute7
653     ,p_attribute8
654     ,p_attribute9
655     ,p_attribute10
656     ,p_attribute11
657     ,p_attribute12
658     ,p_attribute13
659     ,p_attribute14
660     ,p_attribute15
661     ,p_attribute16
662     ,p_attribute17
663     ,p_attribute18
664     ,p_attribute19
665     ,p_attribute20
666     ,p_attribute21
667     ,p_attribute22
668     ,p_attribute23
669     ,p_attribute24
670     ,p_attribute25
671     ,p_attribute26
672     ,p_attribute27
673     ,p_attribute28
674     ,p_attribute29
675     ,p_attribute30
676     ,null
677     ,p_org_link_type
678     );
679   --
680   -- Having converted the arguments into the hr_ord_rec
681   -- plsql record structure we call the corresponding record business process.
682   --
683   hr_ord_ins.ins
684      (p_effective_date
685      ,l_rec
686      );
687   --
688   -- As the primary key argument(s)
689   -- are specified as an OUT's we must set these values.
690   --
691   p_organization_link_id := l_rec.organization_link_id;
692   p_object_version_number := l_rec.object_version_number;
693   --
694   hr_utility.set_location(' Leaving:'||l_proc, 10);
695 End ins;
696 --
697 end hr_ord_ins;