DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ITP_INS

Source


1 Package Body hr_itp_ins as
2 /* $Header: hritprhi.pkb 115.11 2003/12/03 07:01:45 adhunter noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  hr_itp_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_itp_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   hr_utility.set_location('Entering:'||to_char(p_rec.previous_navigation_item_id), 5);
62   hr_utility.set_location('Entering:'||to_char(p_rec.next_navigation_item_id), 5);
63   p_rec.object_version_number := 1;  -- Initialise the object version
64   --
65   --
66   --
67   --
68   -- Insert the row into: hr_item_properties_b
69   --
70   insert into hr_item_properties_b
71       (item_property_id
72       ,object_version_number
73       ,form_item_id
74       ,template_item_id
75       ,template_item_context_id
76       ,alignment
77       ,bevel
78       ,case_restriction
79       ,enabled
80       ,format_mask
81       ,height
82       ,information_formula_id
83       ,information_parameter_item_id1
84       ,information_parameter_item_id2
85       ,information_parameter_item_id3
86       ,information_parameter_item_id4
87       ,information_parameter_item_id5
88       ,insert_allowed
89       ,prompt_alignment_offset
90       ,prompt_display_style
91       ,prompt_edge
92       ,prompt_edge_alignment
93       ,prompt_edge_offset
94       ,prompt_text_alignment
95       ,query_allowed
96       ,required
97       ,update_allowed
98       ,validation_formula_id
99       ,validation_parameter_item_id1
100       ,validation_parameter_item_id2
101       ,validation_parameter_item_id3
102       ,validation_parameter_item_id4
103       ,validation_parameter_item_id5
104       ,visible
105       ,width
106       ,x_position
107       ,y_position
108       ,information_category
109       ,information1
110       ,information2
111       ,information3
112       ,information4
113       ,information5
114       ,information6
115       ,information7
116       ,information8
117       ,information9
118       ,information10
119       ,information11
120       ,information12
121       ,information13
122       ,information14
123       ,information15
124       ,information16
125       ,information17
126       ,information18
127       ,information19
128       ,information20
129       ,information21
130       ,information22
131       ,information23
132       ,information24
133       ,information25
134       ,information26
135       ,information27
136       ,information28
137       ,information29
138       ,information30
139       ,next_navigation_item_id
140       ,previous_navigation_item_id
141       )
142   Values
143     (p_rec.item_property_id
144     ,p_rec.object_version_number
145     ,p_rec.form_item_id
146     ,p_rec.template_item_id
147     ,p_rec.template_item_context_id
148     ,p_rec.alignment
149     ,p_rec.bevel
150     ,p_rec.case_restriction
151     ,p_rec.enabled
152     ,p_rec.format_mask
153     ,p_rec.height
154     ,p_rec.information_formula_id
155     ,p_rec.information_parameter_item_id1
156     ,p_rec.information_parameter_item_id2
157     ,p_rec.information_parameter_item_id3
158     ,p_rec.information_parameter_item_id4
159     ,p_rec.information_parameter_item_id5
160     ,p_rec.insert_allowed
161     ,p_rec.prompt_alignment_offset
162     ,p_rec.prompt_display_style
163     ,p_rec.prompt_edge
164     ,p_rec.prompt_edge_alignment
165     ,p_rec.prompt_edge_offset
166     ,p_rec.prompt_text_alignment
167     ,p_rec.query_allowed
168     ,p_rec.required
169     ,p_rec.update_allowed
170     ,p_rec.validation_formula_id
171     ,p_rec.validation_parameter_item_id1
172     ,p_rec.validation_parameter_item_id2
173     ,p_rec.validation_parameter_item_id3
174     ,p_rec.validation_parameter_item_id4
175     ,p_rec.validation_parameter_item_id5
176     ,p_rec.visible
177     ,p_rec.width
178     ,p_rec.x_position
179     ,p_rec.y_position
180     ,p_rec.information_category
181     ,p_rec.information1
182     ,p_rec.information2
183     ,p_rec.information3
184     ,p_rec.information4
185     ,p_rec.information5
186     ,p_rec.information6
187     ,p_rec.information7
188     ,p_rec.information8
189     ,p_rec.information9
190     ,p_rec.information10
191     ,p_rec.information11
192     ,p_rec.information12
193     ,p_rec.information13
194     ,p_rec.information14
195     ,p_rec.information15
196     ,p_rec.information16
197     ,p_rec.information17
198     ,p_rec.information18
199     ,p_rec.information19
200     ,p_rec.information20
201     ,p_rec.information21
202     ,p_rec.information22
203     ,p_rec.information23
204     ,p_rec.information24
205     ,p_rec.information25
206     ,p_rec.information26
207     ,p_rec.information27
208     ,p_rec.information28
209     ,p_rec.information29
210     ,p_rec.information30
211     ,p_rec.next_navigation_item_id
212     ,p_rec.previous_navigation_item_id
213     );
214   --
215   --
216   --
217   hr_utility.set_location(' Leaving:'||l_proc, 10);
218 Exception
219   When hr_api.check_integrity_violated Then
220     -- A check constraint has been violated
221     --
222     hr_itp_shd.constraint_error
223       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
224   When hr_api.parent_integrity_violated Then
225     -- Parent integrity has been violated
226     --
227     hr_itp_shd.constraint_error
228       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
229   When hr_api.unique_integrity_violated Then
230     -- Unique integrity has been violated
231     --
232     hr_itp_shd.constraint_error
233       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
234   When Others Then
235     --
236     Raise;
237 End insert_dml;
238 --
239 -- ----------------------------------------------------------------------------
240 -- |------------------------------< pre_insert >------------------------------|
241 -- ----------------------------------------------------------------------------
242 -- {Start Of Comments}
243 --
244 -- Description:
245 --   This private procedure contains any processing which is required before
246 --   the insert dml. Presently, if the entity has a corresponding primary
247 --   key which is maintained by an associating sequence, the primary key for
248 --   the entity will be populated with the next sequence value in
249 --   preparation for the insert dml.
250 --
251 -- Prerequisites:
252 --   This is an internal procedure which is called from the ins procedure.
253 --
254 -- In Parameters:
255 --   A Pl/Sql record structre.
256 --
257 -- Post Success:
258 --   Processing continues.
259 --
260 -- Post Failure:
261 --   If an error has occurred, an error message and exception will be raised
262 --   but not handled.
263 --
264 -- Developer Implementation Notes:
265 --   Any pre-processing required before the insert dml is issued should be
266 --   coded within this procedure. As stated above, a good example is the
267 --   generation of a primary key number via a corresponding sequence.
268 --   It is important to note that any 3rd party maintenance should be reviewed
269 --   before placing in this procedure.
270 --
271 -- Access Status:
272 --   Internal Row Handler Use Only.
273 --
274 -- {End Of Comments}
275 -- ----------------------------------------------------------------------------
276 Procedure pre_insert
277   (p_rec  in out nocopy hr_itp_shd.g_rec_type
278   ) is
279 --
280   l_proc  varchar2(72) := g_package||'pre_insert';
281 --
282   Cursor C_Sel1 is select hr_item_properties_b_s.nextval from sys.dual;
283 --
284 Begin
285   hr_utility.set_location('Entering:'||l_proc, 5);
286   --
287   --
288   -- Select the next sequence number
289   --
290   Open C_Sel1;
291   Fetch C_Sel1 Into p_rec.item_property_id;
292   Close C_Sel1;
293   --
294   hr_utility.set_location(' Leaving:'||l_proc, 10);
295 End pre_insert;
296 --
297 -- ----------------------------------------------------------------------------
298 -- |-----------------------------< post_insert >------------------------------|
299 -- ----------------------------------------------------------------------------
300 -- {Start Of Comments}
301 --
302 -- Description:
303 --   This private procedure contains any processing which is required after the
304 --   insert dml.
305 --
306 -- Prerequisites:
307 --   This is an internal procedure which is called from the ins procedure.
308 --
309 -- In Parameters:
310 --   A Pl/Sql record structre.
311 --
312 -- Post Success:
313 --   Processing continues.
314 --
315 -- Post Failure:
316 --   If an error has occurred, an error message and exception will be raised
317 --   but not handled.
318 --
319 -- Developer Implementation Notes:
320 --   Any post-processing required after the insert dml is issued should be
321 --   coded within this procedure. It is important to note that any 3rd party
322 --   maintenance should be reviewed before placing in this procedure.
323 --
324 -- Access Status:
325 --   Internal Row Handler Use Only.
326 --
327 -- {End Of Comments}
328 -- ----------------------------------------------------------------------------
329 Procedure post_insert
330   (p_effective_date               in date
331   ,p_rec                          in hr_itp_shd.g_rec_type
332   ) is
333 --
334   l_proc  varchar2(72) := g_package||'post_insert';
335 --
336 Begin
337   hr_utility.set_location('Entering:'||l_proc, 5);
338   begin
339     --
340     hr_itp_rki.after_insert
341       (p_effective_date              => p_effective_date
342       ,p_object_version_number
343       => p_rec.object_version_number
344       ,p_item_property_id
345       => p_rec.item_property_id
346       ,p_form_item_id
347       => p_rec.form_item_id
348       ,p_template_item_id
349       => p_rec.template_item_id
350       ,p_template_item_context_id
351       => p_rec.template_item_context_id
352       ,p_alignment
353       => p_rec.alignment
354       ,p_bevel
355       => p_rec.bevel
356       ,p_case_restriction
357       => p_rec.case_restriction
358       ,p_enabled
359       => p_rec.enabled
360       ,p_format_mask
361       => p_rec.format_mask
362       ,p_height
363       => p_rec.height
364       ,p_information_formula_id
365       => p_rec.information_formula_id
366       ,p_information_param_item_id1
367       => p_rec.information_parameter_item_id1
368       ,p_information_param_item_id2
369       => p_rec.information_parameter_item_id2
370       ,p_information_param_item_id3
371       => p_rec.information_parameter_item_id3
372       ,p_information_param_item_id4
373       => p_rec.information_parameter_item_id4
374       ,p_information_param_item_id5
375       => p_rec.information_parameter_item_id5
376       ,p_insert_allowed
377       => p_rec.insert_allowed
378       ,p_prompt_alignment_offset
379       => p_rec.prompt_alignment_offset
380       ,p_prompt_display_style
381       => p_rec.prompt_display_style
382       ,p_prompt_edge
383       => p_rec.prompt_edge
384       ,p_prompt_edge_alignment
385       => p_rec.prompt_edge_alignment
386       ,p_prompt_edge_offset
387       => p_rec.prompt_edge_offset
388       ,p_prompt_text_alignment
389       => p_rec.prompt_text_alignment
390       ,p_query_allowed
391       => p_rec.query_allowed
392       ,p_required
393       => p_rec.required
394       ,p_update_allowed
395       => p_rec.update_allowed
396       ,p_validation_formula_id
397       => p_rec.validation_formula_id
398       ,p_validation_param_item_id1
399       => p_rec.validation_parameter_item_id1
400       ,p_validation_param_item_id2
401       => p_rec.validation_parameter_item_id2
402       ,p_validation_param_item_id3
403       => p_rec.validation_parameter_item_id3
404       ,p_validation_param_item_id4
405       => p_rec.validation_parameter_item_id4
406       ,p_validation_param_item_id5
407       => p_rec.validation_parameter_item_id5
408       ,p_visible
409       => p_rec.visible
410       ,p_width
411       => p_rec.width
412       ,p_x_position
413       => p_rec.x_position
414       ,p_y_position
415       => p_rec.y_position
416       ,p_information_category
417       => p_rec.information_category
418       ,p_information1
419       => p_rec.information1
420       ,p_information2
421       => p_rec.information2
422       ,p_information3
423       => p_rec.information3
424       ,p_information4
425       => p_rec.information4
426       ,p_information5
427       => p_rec.information5
428       ,p_information6
429       => p_rec.information6
430       ,p_information7
431       => p_rec.information7
432       ,p_information8
433       => p_rec.information8
434       ,p_information9
435       => p_rec.information9
436       ,p_information10
437       => p_rec.information10
438       ,p_information11
439       => p_rec.information11
440       ,p_information12
444       ,p_information14
441       => p_rec.information12
442       ,p_information13
443       => p_rec.information13
445       => p_rec.information14
446       ,p_information15
447       => p_rec.information15
448       ,p_information16
449       => p_rec.information16
450       ,p_information17
451       => p_rec.information17
452       ,p_information18
453       => p_rec.information18
454       ,p_information19
455       => p_rec.information19
456       ,p_information20
457       => p_rec.information20
458       ,p_information21
459       => p_rec.information21
460       ,p_information22
461       => p_rec.information22
462       ,p_information23
463       => p_rec.information23
464       ,p_information24
465       => p_rec.information24
466       ,p_information25
467       => p_rec.information25
468       ,p_information26
469       => p_rec.information26
470       ,p_information27
471       => p_rec.information27
472       ,p_information28
473       => p_rec.information28
474       ,p_information29
475       => p_rec.information29
476       ,p_information30
477       => p_rec.information30
478       ,p_next_navigation_item_id
479       => p_rec.next_navigation_item_id
480       ,p_previous_navigation_item_id
481       => p_rec.previous_navigation_item_id
482       );
483     --
484   exception
485     --
486     when hr_api.cannot_find_prog_unit then
487       --
488       hr_api.cannot_find_prog_unit_error
489         (p_module_name => 'HR_ITEM_PROPERTIES_B'
490         ,p_hook_type   => 'AI');
491       --
492   end;
493   --
494   hr_utility.set_location(' Leaving:'||l_proc, 10);
495 End post_insert;
496 --
497 -- ----------------------------------------------------------------------------
498 -- |---------------------------------< ins >----------------------------------|
499 -- ----------------------------------------------------------------------------
500 Procedure ins
501   (p_effective_date               in date
502   ,p_rec                          in out nocopy hr_itp_shd.g_rec_type
503   ) is
504 --
505   l_proc  varchar2(72) := g_package||'ins';
506 --
507 Begin
508   hr_utility.set_location('Entering:'||l_proc, 5);
509   --
510   -- Call the supporting insert validate operations
511   --
512   hr_itp_bus.insert_validate
513      (p_effective_date
514      ,p_rec
515      );
516   --
517   -- Call the supporting pre-insert operation
518   --
519   hr_itp_ins.pre_insert(p_rec);
520   --
521   -- Insert the row
522   --
523   hr_itp_ins.insert_dml(p_rec);
524   --
525   -- Call the supporting post-insert operation
526   --
527   hr_itp_ins.post_insert
528      (p_effective_date
529      ,p_rec
530      );
531   --
532   hr_utility.set_location('Leaving:'||l_proc, 20);
533 end ins;
534 --
535 -- ----------------------------------------------------------------------------
536 -- |---------------------------------< ins >----------------------------------|
537 -- ----------------------------------------------------------------------------
538 Procedure ins
539   (p_effective_date               in     date
540   ,p_form_item_id                   in     number   default null
541   ,p_template_item_id               in     number   default null
542   ,p_template_item_context_id       in     number   default null
543   ,p_alignment                      in     number   default null
544   ,p_bevel                          in     number   default null
545   ,p_case_restriction               in     number   default null
546   ,p_enabled                        in     number   default null
547   ,p_format_mask                    in     varchar2 default null
548   ,p_height                         in     number   default null
549   ,p_information_formula_id         in     number   default null
550   ,p_information_param_item_id1     in     number   default null
551   ,p_information_param_item_id2     in     number   default null
552   ,p_information_param_item_id3     in     number   default null
553   ,p_information_param_item_id4     in     number   default null
554   ,p_information_param_item_id5     in     number   default null
555   ,p_insert_allowed                 in     number   default null
556   ,p_prompt_alignment_offset        in     number   default null
557   ,p_prompt_display_style           in     number   default null
558   ,p_prompt_edge                    in     number   default null
559   ,p_prompt_edge_alignment          in     number   default null
560   ,p_prompt_edge_offset             in     number   default null
561   ,p_prompt_text_alignment          in     number   default null
562   ,p_query_allowed                  in     number   default null
563   ,p_required                       in     number   default null
564   ,p_update_allowed                 in     number   default null
565   ,p_validation_formula_id          in     number   default null
566   ,p_validation_param_item_id1      in     number   default null
567   ,p_validation_param_item_id2      in     number   default null
568   ,p_validation_param_item_id3      in     number   default null
569   ,p_validation_param_item_id4      in     number   default null
570   ,p_validation_param_item_id5      in     number   default null
574   ,p_y_position                     in     number   default null
571   ,p_visible                        in     number   default null
572   ,p_width                          in     number   default null
573   ,p_x_position                     in     number   default null
575   ,p_information_category           in     varchar2 default null
576   ,p_information1                   in     varchar2 default null
577   ,p_information2                   in     varchar2 default null
578   ,p_information3                   in     varchar2 default null
579   ,p_information4                   in     varchar2 default null
580   ,p_information5                   in     varchar2 default null
581   ,p_information6                   in     varchar2 default null
582   ,p_information7                   in     varchar2 default null
583   ,p_information8                   in     varchar2 default null
584   ,p_information9                   in     varchar2 default null
585   ,p_information10                  in     varchar2 default null
586   ,p_information11                  in     varchar2 default null
587   ,p_information12                  in     varchar2 default null
588   ,p_information13                  in     varchar2 default null
589   ,p_information14                  in     varchar2 default null
590   ,p_information15                  in     varchar2 default null
591   ,p_information16                  in     varchar2 default null
592   ,p_information17                  in     varchar2 default null
593   ,p_information18                  in     varchar2 default null
594   ,p_information19                  in     varchar2 default null
595   ,p_information20                  in     varchar2 default null
596   ,p_information21                  in     varchar2 default null
597   ,p_information22                  in     varchar2 default null
598   ,p_information23                  in     varchar2 default null
599   ,p_information24                  in     varchar2 default null
600   ,p_information25                  in     varchar2 default null
601   ,p_information26                  in     varchar2 default null
602   ,p_information27                  in     varchar2 default null
603   ,p_information28                  in     varchar2 default null
604   ,p_information29                  in     varchar2 default null
605   ,p_information30                  in     varchar2 default null
606   ,p_next_navigation_item_id        in     number   default null
607   ,p_previous_navigation_item_id    in     number   default null
608   ,p_item_property_id           out nocopy number
609   ,p_object_version_number      out nocopy number
610   ) is
611 --
612   l_rec   hr_itp_shd.g_rec_type;
613   l_proc  varchar2(72) := g_package||'ins';
614 --
615 Begin
616   hr_utility.set_location('Entering:'||l_proc, 5);
617   --
618   -- Call conversion function to turn arguments into the
619   -- p_rec structure.
620   --
621   l_rec :=
622   hr_itp_shd.convert_args
623     (null
624     ,p_object_version_number
625     ,p_form_item_id
626     ,p_template_item_id
627     ,p_template_item_context_id
628     ,p_alignment
629     ,p_bevel
630     ,p_case_restriction
631     ,p_enabled
632     ,p_format_mask
633     ,p_height
634     ,p_information_formula_id
635     ,p_information_param_item_id1
636     ,p_information_param_item_id2
637     ,p_information_param_item_id3
638     ,p_information_param_item_id4
639     ,p_information_param_item_id5
640     ,p_insert_allowed
641     ,p_prompt_alignment_offset
642     ,p_prompt_display_style
643     ,p_prompt_edge
644     ,p_prompt_edge_alignment
645     ,p_prompt_edge_offset
646     ,p_prompt_text_alignment
647     ,p_query_allowed
648     ,p_required
649     ,p_update_allowed
650     ,p_validation_formula_id
651     ,p_validation_param_item_id1
652     ,p_validation_param_item_id2
653     ,p_validation_param_item_id3
654     ,p_validation_param_item_id4
655     ,p_validation_param_item_id5
656     ,p_visible
657     ,p_width
658     ,p_x_position
659     ,p_y_position
660     ,p_information_category
661     ,p_information1
662     ,p_information2
663     ,p_information3
664     ,p_information4
665     ,p_information5
666     ,p_information6
667     ,p_information7
668     ,p_information8
669     ,p_information9
670     ,p_information10
671     ,p_information11
672     ,p_information12
673     ,p_information13
674     ,p_information14
675     ,p_information15
676     ,p_information16
677     ,p_information17
678     ,p_information18
679     ,p_information19
680     ,p_information20
681     ,p_information21
682     ,p_information22
683     ,p_information23
684     ,p_information24
685     ,p_information25
686     ,p_information26
687     ,p_information27
688     ,p_information28
689     ,p_information29
690     ,p_information30
691     ,p_next_navigation_item_id
692     ,p_previous_navigation_item_id
693     );
694   --
695   -- Having converted the arguments into the hr_itp_rec
696   -- plsql record structure we call the corresponding record business process.
697   --
698   hr_itp_ins.ins
699      (p_effective_date
700      ,l_rec
701      );
702   --
703   -- As the primary key argument(s)
704   -- are specified as an OUT's we must set these values.
705   --
706   p_item_property_id := l_rec.item_property_id;
707   p_object_version_number := l_rec.object_version_number;
708   --
709   hr_utility.set_location(' Leaving:'||l_proc, 10);
710 End ins;
711 --
712 end hr_itp_ins;