DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_LEI_INS

Source


1 Package Body hr_lei_ins as
2 /* $Header: hrleirhi.pkb 120.1.12010000.2 2009/01/28 09:08:21 ghshanka ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  hr_lei_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 --      Note : Dinesh Arora, 2/13/97 Removed the need for setting g_api_dml
23 --             as this is a new table and therfore there is no ovn trigger
24 --             to use it).
25 --   3) To insert the row into the schema.
26 --   4) To trap any constraint violations that may have occurred.
27 --   5) To raise any other errors.
28 --
29 -- Pre Conditions:
30 --   This is an internal private procedure which must be called from the ins
31 --   procedure and must have all mandatory attributes set (except the
32 --   object_version_number which is initialised within this procedure).
33 --
34 -- In Parameters:
35 --   A Pl/Sql record structre.
36 --
37 -- Post Success:
38 --   The specified row will be inserted into the schema.
39 --
40 -- Post Failure:
41 --   On the insert dml failure it is important to note that we always reset the
42 --   g_api_dml status to false.
43 --   If a check, unique or parent integrity constraint violation is raised the
44 --   constraint_error procedure will be called.
45 --   If any other error is reported, the error will be raised after the
46 --   g_api_dml status is reset.
47 --   Note : Dinesh Arora, 2/13/97 Removed the need for setting g_api_dml
48 --          as this is a new table and therfore there is no ovn trigger
49 --          to use it).
50 --
51 -- Developer Implementation Notes:
52 --   None.
53 --
54 -- Access Status:
55 --   Internal Table Handler Use Only.
56 --
57 -- {End Of Comments}
58 -- ----------------------------------------------------------------------------
59 Procedure insert_dml(p_rec in out nocopy hr_lei_shd.g_rec_type) is
60 --
61   l_proc  varchar2(72) := g_package||'insert_dml';
62 --
63 Begin
64   hr_utility.set_location('Entering:'||l_proc, 5);
65   p_rec.object_version_number := 1;  -- Initialise the object version
66   --
67   -- hr_lei_shd.g_api_dml := true;  -- Set the api dml status
68   --
69   -- Insert the row into: hr_location_extra_info
70   --
71   insert into hr_location_extra_info
72   (	location_extra_info_id,
73 	information_type,
74 	location_id,
75 	request_id,
76 	program_application_id,
77 	program_id,
78 	program_update_date,
79 	lei_attribute_category,
80 	lei_attribute1,
81 	lei_attribute2,
82 	lei_attribute3,
83 	lei_attribute4,
84 	lei_attribute5,
85 	lei_attribute6,
86 	lei_attribute7,
87 	lei_attribute8,
88 	lei_attribute9,
89 	lei_attribute10,
90 	lei_attribute11,
91 	lei_attribute12,
92 	lei_attribute13,
93 	lei_attribute14,
94 	lei_attribute15,
95 	lei_attribute16,
96 	lei_attribute17,
97 	lei_attribute18,
98 	lei_attribute19,
99 	lei_attribute20,
100 	lei_information_category,
101 	lei_information1,
102 	lei_information2,
103 	lei_information3,
104 	lei_information4,
105 	lei_information5,
106 	lei_information6,
107 	lei_information7,
108 	lei_information8,
109 	lei_information9,
110 	lei_information10,
111 	lei_information11,
112 	lei_information12,
113 	lei_information13,
114 	lei_information14,
115 	lei_information15,
116 	lei_information16,
117 	lei_information17,
118 	lei_information18,
119 	lei_information19,
120 	lei_information20,
121 	lei_information21,
122 	lei_information22,
123 	lei_information23,
124 	lei_information24,
125 	lei_information25,
126 	lei_information26,
127 	lei_information27,
128 	lei_information28,
129 	lei_information29,
130 	lei_information30,
131 	object_version_number
132   )
133   Values
134   (	p_rec.location_extra_info_id,
135 	p_rec.information_type,
136 	p_rec.location_id,
137 	p_rec.request_id,
138 	p_rec.program_application_id,
139 	p_rec.program_id,
140 	p_rec.program_update_date,
141 	p_rec.lei_attribute_category,
142 	p_rec.lei_attribute1,
143 	p_rec.lei_attribute2,
144 	p_rec.lei_attribute3,
145 	p_rec.lei_attribute4,
146 	p_rec.lei_attribute5,
147 	p_rec.lei_attribute6,
148 	p_rec.lei_attribute7,
149 	p_rec.lei_attribute8,
150 	p_rec.lei_attribute9,
151 	p_rec.lei_attribute10,
152 	p_rec.lei_attribute11,
153 	p_rec.lei_attribute12,
154 	p_rec.lei_attribute13,
155 	p_rec.lei_attribute14,
156 	p_rec.lei_attribute15,
157 	p_rec.lei_attribute16,
158 	p_rec.lei_attribute17,
159 	p_rec.lei_attribute18,
160 	p_rec.lei_attribute19,
161 	p_rec.lei_attribute20,
162 	p_rec.lei_information_category,
163 	p_rec.lei_information1,
164 	p_rec.lei_information2,
165 	p_rec.lei_information3,
166 	p_rec.lei_information4,
167 	p_rec.lei_information5,
168 	p_rec.lei_information6,
169 	p_rec.lei_information7,
170 	p_rec.lei_information8,
171 	p_rec.lei_information9,
172 	p_rec.lei_information10,
173 	p_rec.lei_information11,
174 	p_rec.lei_information12,
175 	p_rec.lei_information13,
176 	p_rec.lei_information14,
177 	p_rec.lei_information15,
178 	p_rec.lei_information16,
179 	p_rec.lei_information17,
180 	p_rec.lei_information18,
181 	p_rec.lei_information19,
182 	p_rec.lei_information20,
183 	p_rec.lei_information21,
184 	p_rec.lei_information22,
185 	p_rec.lei_information23,
186 	p_rec.lei_information24,
187 	p_rec.lei_information25,
188 	p_rec.lei_information26,
189 	p_rec.lei_information27,
190 	p_rec.lei_information28,
191 	p_rec.lei_information29,
192 	p_rec.lei_information30,
193 	p_rec.object_version_number
194   );
195   --
196   --  hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
197   --
198   hr_utility.set_location(' Leaving:'||l_proc, 10);
199 Exception
200   When hr_api.check_integrity_violated Then
201     -- A check constraint has been violated
202     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
203     hr_lei_shd.constraint_error
204       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
205   When hr_api.parent_integrity_violated Then
206     -- Parent integrity has been violated
207     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
208     hr_lei_shd.constraint_error
209       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
210   When hr_api.unique_integrity_violated Then
211     -- Unique integrity has been violated
212     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
213     hr_lei_shd.constraint_error
214       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
215   When Others Then
216     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
217     Raise;
218 End insert_dml;
219 --
220 -- ----------------------------------------------------------------------------
221 -- |------------------------------< pre_insert >------------------------------|
222 -- ----------------------------------------------------------------------------
223 -- {Start Of Comments}
224 --
225 -- Description:
226 --   This private procedure contains any processing which is required before
227 --   the insert dml. Presently, if the entity has a corresponding primary
228 --   key which is maintained by an associating sequence, the primary key for
229 --   the entity will be populated with the next sequence value in
230 --   preparation for the insert dml.
231 --
232 -- Pre Conditions:
233 --   This is an internal procedure which is called from the ins procedure.
234 --
235 -- In Parameters:
236 --   A Pl/Sql record structre.
237 --
238 -- Post Success:
239 --   Processing continues.
240 --
241 -- Post Failure:
242 --   If an error has occurred, an error message and exception will be raised
243 --   but not handled.
244 --
245 -- Developer Implementation Notes:
246 --   Any pre-processing required before the insert dml is issued should be
247 --   coded within this procedure. As stated above, a good example is the
248 --   generation of a primary key number via a corresponding sequence.
249 --   It is important to note that any 3rd party maintenance should be reviewed
250 --   before placing in this procedure.
251 --
252 -- Access Status:
253 --   Internal Table Handler Use Only.
254 --
255 -- {End Of Comments}
256 -- ----------------------------------------------------------------------------
257 Procedure pre_insert(p_rec  in out nocopy hr_lei_shd.g_rec_type) is
258 --
259   l_proc  varchar2(72) := g_package||'pre_insert';
260 --
261   Cursor C_Sel1 is select hr_location_extra_info_s.nextval from sys.dual;
262 --
263 Begin
264   hr_utility.set_location('Entering:'||l_proc, 5);
265   --
266   --
267   -- Select the next sequence number
268   --
269   Open C_Sel1;
270   Fetch C_Sel1 Into p_rec.location_extra_info_id;
271   Close C_Sel1;
272   --
273   hr_utility.set_location(' Leaving:'||l_proc, 10);
274 End pre_insert;
275 --
276 -- ----------------------------------------------------------------------------
277 -- |-----------------------------< post_insert >------------------------------|
278 -- ----------------------------------------------------------------------------
279 -- {Start Of Comments}
280 --
281 -- Description:
282 --   This private procedure contains any processing which is required after the
283 --   insert dml.
284 --
285 -- Pre Conditions:
286 --   This is an internal procedure which is called from the ins procedure.
287 --
288 -- In Parameters:
289 --   A Pl/Sql record structre.
290 --
291 -- Post Success:
292 --   Processing continues.
293 --
294 -- Post Failure:
295 --   If an error has occurred, an error message and exception will be raised
296 --   but not handled.
297 --
298 -- Developer Implementation Notes:
299 --   Any post-processing required after the insert dml is issued should be
300 --   coded within this procedure. It is important to note that any 3rd party
301 --   maintenance should be reviewed before placing in this procedure.
302 --
303 -- Access Status:
304 --   Internal Table Handler Use Only.
305 --
306 -- {End Of Comments}
307 -- ----------------------------------------------------------------------------
308 Procedure post_insert(p_rec in hr_lei_shd.g_rec_type) is
309 --
310   l_proc  varchar2(72) := g_package||'post_insert';
311 --
312 Begin
313   hr_utility.set_location('Entering:'||l_proc, 5);
314   --
315   -- This is a hook point and the user hook for post_insert is called here.
316   --
317   begin
318      hr_lei_rki.after_insert	(
319 	p_location_extra_info_id	=>	p_rec.location_extra_info_id,
320 	p_information_type		=>	p_rec.information_type,
321 	p_location_id			=>	p_rec.location_id,
322 	p_request_id			=>	p_rec.request_id,
323 	p_program_application_id	=>	p_rec.program_application_id,
324 	p_program_id			=>	p_rec.program_id,
325 	p_program_update_date		=>	p_rec.program_update_date,
326 	p_lei_attribute_category	=>	p_rec.lei_attribute_category,
327 	p_lei_attribute1		=>	p_rec.lei_attribute1,
328 	p_lei_attribute2		=>	p_rec.lei_attribute2,
329 	p_lei_attribute3		=>	p_rec.lei_attribute3,
330 	p_lei_attribute4		=>	p_rec.lei_attribute4,
331 	p_lei_attribute5		=>	p_rec.lei_attribute5,
332 	p_lei_attribute6		=>	p_rec.lei_attribute6,
333 	p_lei_attribute7		=>	p_rec.lei_attribute7,
334 	p_lei_attribute8		=>	p_rec.lei_attribute8,
335 	p_lei_attribute9		=>	p_rec.lei_attribute9,
336 	p_lei_attribute10		=>	p_rec.lei_attribute10,
337 	p_lei_attribute11		=>	p_rec.lei_attribute11,
338 	p_lei_attribute12		=>	p_rec.lei_attribute12,
339 	p_lei_attribute13		=>	p_rec.lei_attribute13,
340 	p_lei_attribute14		=>	p_rec.lei_attribute14,
341 	p_lei_attribute15		=>	p_rec.lei_attribute15,
342 	p_lei_attribute16		=>	p_rec.lei_attribute16,
343 	p_lei_attribute17		=>	p_rec.lei_attribute17,
344 	p_lei_attribute18		=>	p_rec.lei_attribute18,
345 	p_lei_attribute19		=>	p_rec.lei_attribute19,
346 	p_lei_attribute20		=>	p_rec.lei_attribute20,
347 	p_lei_information_category	=>	p_rec.lei_information_category,
348 	p_lei_information1		=>	p_rec.lei_information1,
349 	p_lei_information2		=>	p_rec.lei_information2,
350 	p_lei_information3		=>	p_rec.lei_information3,
351 	p_lei_information4		=>	p_rec.lei_information4,
352 	p_lei_information5		=>	p_rec.lei_information5,
353 	p_lei_information6		=>	p_rec.lei_information6,
354 	p_lei_information7		=>	p_rec.lei_information7,
355 	p_lei_information8		=>	p_rec.lei_information8,
356 	p_lei_information9		=>	p_rec.lei_information9,
357 	p_lei_information10		=>	p_rec.lei_information10,
358 	p_lei_information11		=>	p_rec.lei_information11,
359 	p_lei_information12		=>	p_rec.lei_information12,
360 	p_lei_information13		=>	p_rec.lei_information13,
361 	p_lei_information14		=>	p_rec.lei_information14,
362 	p_lei_information15		=>	p_rec.lei_information15,
363 	p_lei_information16		=>	p_rec.lei_information16,
364 	p_lei_information17		=>	p_rec.lei_information17,
365 	p_lei_information18		=>	p_rec.lei_information18,
366 	p_lei_information19		=>	p_rec.lei_information19,
367 	p_lei_information20		=>	p_rec.lei_information20,
368 	p_lei_information21		=>	p_rec.lei_information21,
369 	p_lei_information22		=>	p_rec.lei_information22,
370 	p_lei_information23		=>	p_rec.lei_information23,
371 	p_lei_information24		=>	p_rec.lei_information24,
372 	p_lei_information25		=>	p_rec.lei_information25,
373 	p_lei_information26		=>	p_rec.lei_information26,
374 	p_lei_information27		=>	p_rec.lei_information27,
375 	p_lei_information28		=>	p_rec.lei_information28,
376 	p_lei_information29		=>	p_rec.lei_information29,
377 	p_lei_information30		=>	p_rec.lei_information30
378 	);
379      exception
380         when hr_api.cannot_find_prog_unit then
381              hr_api.cannot_find_prog_unit_error
382 		 (	p_module_name => 'HR_LOCATION_EXTRA_INFO'
383 			,p_hook_type  => 'AI'
384 	        );
385   end;
386   -- End of API User Hook for post_insert.
387   --
388   hr_utility.set_location(' Leaving:'||l_proc, 10);
389 End post_insert;
390 --
391 -- ----------------------------------------------------------------------------
392 -- |---------------------------------< ins >----------------------------------|
393 -- ----------------------------------------------------------------------------
394 Procedure ins
395   (
396   p_rec        in out nocopy hr_lei_shd.g_rec_type,
397   p_validate   in     boolean default false
398   ) is
399 --
400   l_proc  varchar2(72) := g_package||'ins';
401 --
402 Begin
403   hr_utility.set_location('Entering:'||l_proc, 5);
404   --
405   -- Determine if the business process is to be validated.
406   --
407   If p_validate then
408     --
409     -- Issue the savepoint.
410     --
411     SAVEPOINT ins_hr_lei;
412   End If;
413   --
414   -- Call the supporting insert validate operations
415   --
416   hr_lei_bus.insert_validate(p_rec);
417   --
418   -- Call the supporting pre-insert operation
419   --
420   pre_insert(p_rec);
421   --
422   -- Insert the row
423   --
424   insert_dml(p_rec);
425   --
426   -- Call the supporting post-insert operation
427   --
428   post_insert(p_rec);
429   --
430   -- If we are validating then raise the Validate_Enabled exception
431   --
432   If p_validate then
433     Raise HR_Api.Validate_Enabled;
434   End If;
435   --
436   hr_utility.set_location(' Leaving:'||l_proc, 10);
437 Exception
438   When HR_Api.Validate_Enabled Then
439     --
440     -- As the Validate_Enabled exception has been raised
441     -- we must rollback to the savepoint
442     --
443     ROLLBACK TO ins_hr_lei;
444 end ins;
445 --
446 -- ----------------------------------------------------------------------------
447 -- |---------------------------------< ins >----------------------------------|
448 -- ----------------------------------------------------------------------------
449 Procedure ins
450   (
451   p_location_extra_info_id       out nocopy number,
452   p_information_type             in varchar2,
453   p_location_id                  in number,
454   p_request_id                   in number           default null,
455   p_program_application_id       in number           default null,
456   p_program_id                   in number           default null,
457   p_program_update_date          in date             default null,
458   p_lei_attribute_category       in varchar2         default null,
459   p_lei_attribute1               in varchar2         default null,
460   p_lei_attribute2               in varchar2         default null,
461   p_lei_attribute3               in varchar2         default null,
462   p_lei_attribute4               in varchar2         default null,
463   p_lei_attribute5               in varchar2         default null,
464   p_lei_attribute6               in varchar2         default null,
465   p_lei_attribute7               in varchar2         default null,
466   p_lei_attribute8               in varchar2         default null,
467   p_lei_attribute9               in varchar2         default null,
468   p_lei_attribute10              in varchar2         default null,
469   p_lei_attribute11              in varchar2         default null,
470   p_lei_attribute12              in varchar2         default null,
471   p_lei_attribute13              in varchar2         default null,
472   p_lei_attribute14              in varchar2         default null,
473   p_lei_attribute15              in varchar2         default null,
474   p_lei_attribute16              in varchar2         default null,
475   p_lei_attribute17              in varchar2         default null,
476   p_lei_attribute18              in varchar2         default null,
477   p_lei_attribute19              in varchar2         default null,
478   p_lei_attribute20              in varchar2         default null,
479   p_lei_information_category     in varchar2         default null,
480   p_lei_information1             in varchar2         default null,
481   p_lei_information2             in varchar2         default null,
482   p_lei_information3             in varchar2         default null,
483   p_lei_information4             in varchar2         default null,
484   p_lei_information5             in varchar2         default null,
485   p_lei_information6             in varchar2         default null,
486   p_lei_information7             in varchar2         default null,
487   p_lei_information8             in varchar2         default null,
488   p_lei_information9             in varchar2         default null,
489   p_lei_information10            in varchar2         default null,
490   p_lei_information11            in varchar2         default null,
491   p_lei_information12            in varchar2         default null,
492   p_lei_information13            in varchar2         default null,
493   p_lei_information14            in varchar2         default null,
494   p_lei_information15            in varchar2         default null,
495   p_lei_information16            in varchar2         default null,
496   p_lei_information17            in varchar2         default null,
497   p_lei_information18            in varchar2         default null,
498   p_lei_information19            in varchar2         default null,
499   p_lei_information20            in varchar2         default null,
500   p_lei_information21            in varchar2         default null,
501   p_lei_information22            in varchar2         default null,
502   p_lei_information23            in varchar2         default null,
503   p_lei_information24            in varchar2         default null,
504   p_lei_information25            in varchar2         default null,
505   p_lei_information26            in varchar2         default null,
506   p_lei_information27            in varchar2         default null,
507   p_lei_information28            in varchar2         default null,
508   p_lei_information29            in varchar2         default null,
509   p_lei_information30            in varchar2         default null,
510   p_object_version_number        out nocopy number,
511   p_validate                     in boolean   default false
512   ) is
513 --
514   l_rec	  hr_lei_shd.g_rec_type;
515   l_proc  varchar2(72) := g_package||'ins';
516 --
517 Begin
518   hr_utility.set_location('Entering:'||l_proc, 5);
519   --
520   -- Call conversion function to turn arguments into the
521   -- p_rec structure.
522   --
523   l_rec :=
524   hr_lei_shd.convert_args
525   (
526   null,
527   p_information_type,
528   p_location_id,
529   p_request_id,
530   p_program_application_id,
531   p_program_id,
532   p_program_update_date,
533   p_lei_attribute_category,
534   p_lei_attribute1,
535   p_lei_attribute2,
536   p_lei_attribute3,
537   p_lei_attribute4,
538   p_lei_attribute5,
539   p_lei_attribute6,
540   p_lei_attribute7,
541   p_lei_attribute8,
542   p_lei_attribute9,
543   p_lei_attribute10,
544   p_lei_attribute11,
545   p_lei_attribute12,
546   p_lei_attribute13,
547   p_lei_attribute14,
548   p_lei_attribute15,
549   p_lei_attribute16,
550   p_lei_attribute17,
551   p_lei_attribute18,
552   p_lei_attribute19,
553   p_lei_attribute20,
554   p_lei_information_category,
555   p_lei_information1,
556   p_lei_information2,
557   p_lei_information3,
558   p_lei_information4,
559   p_lei_information5,
560   p_lei_information6,
561   p_lei_information7,
562   p_lei_information8,
563   p_lei_information9,
564   p_lei_information10,
565   p_lei_information11,
566   p_lei_information12,
567   p_lei_information13,
568   p_lei_information14,
569   p_lei_information15,
570   p_lei_information16,
571   p_lei_information17,
572   p_lei_information18,
573   p_lei_information19,
574   p_lei_information20,
575   p_lei_information21,
576   p_lei_information22,
577   p_lei_information23,
578   p_lei_information24,
579   p_lei_information25,
580   p_lei_information26,
581   p_lei_information27,
582   p_lei_information28,
583   p_lei_information29,
584   p_lei_information30,
585   null
586   );
587   --
588   -- Having converted the arguments into the hr_lei_rec
589   -- plsql record structure we call the corresponding record business process.
590   --
591   ins(l_rec, p_validate);
592   --
593   -- As the primary key argument(s)
594   -- are specified as an OUT's we must set these values.
595   --
596   p_location_extra_info_id := l_rec.location_extra_info_id;
597   p_object_version_number := l_rec.object_version_number;
598   --
599   hr_utility.set_location(' Leaving:'||l_proc, 10);
600 End ins;
601 --
602 end hr_lei_ins;