DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_AIF_INS

Source


1 Package Body pay_aif_ins as
2 /* $Header: pyaifrhi.pkb 120.3.12020000.2 2012/07/04 20:39:11 amnaraya ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pay_aif_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_action_information_id_i  number   default null;
14 --
15 -- ----------------------------------------------------------------------------
16 -- |------------------------< set_base_key_value >----------------------------|
17 -- ----------------------------------------------------------------------------
18 procedure set_base_key_value
19   (p_action_information_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   pay_aif_ins.g_action_information_id_i := p_action_information_id;
27   --
28   hr_utility.set_location(' Leaving:'||l_proc, 20);
29 End set_base_key_value;
30 --
31 -- ----------------------------------------------------------------------------
32 -- |------------------------------< insert_dml >------------------------------|
33 -- ----------------------------------------------------------------------------
34 -- {Start Of Comments}
35 --
36 -- Description:
37 --   This procedure controls the actual dml insert logic. The processing of
38 --   this procedure are as follows:
39 --   1) Initialise the object_version_number to 1 if the object_version_number
40 --      is defined as an attribute for this entity.
41 --   2) To set and unset the g_api_dml status as required (as we are about to
42 --      perform dml).
43 --   3) To insert the row into the schema.
44 --   4) To trap any constraint violations that may have occurred.
45 --   5) To raise any other errors.
46 --
47 -- Prerequisites:
48 --   This is an internal private procedure which must be called from the ins
49 --   procedure and must have all mandatory attributes set (except the
50 --   object_version_number which is initialised within this procedure).
51 --
52 -- In Parameters:
53 --   A Pl/Sql record structre.
54 --
55 -- Post Success:
56 --   The specified row will be inserted into the schema.
57 --
58 -- Post Failure:
59 --   On the insert dml failure it is important to note that we always reset the
60 --   g_api_dml status to false.
61 --   If a check, unique or parent integrity constraint violation is raised the
62 --   constraint_error procedure will be called.
63 --   If any other error is reported, the error will be raised after the
64 --   g_api_dml status is reset.
65 --
69 -- Access Status:
66 -- Developer Implementation Notes:
67 --   None.
68 --
70 --   Internal Row Handler Use Only.
71 --
72 -- {End Of Comments}
73 -- ----------------------------------------------------------------------------
74 Procedure insert_dml
75   (p_rec in out nocopy pay_aif_shd.g_rec_type
76   ) is
77 --
78   l_proc  varchar2(72) := g_package||'insert_dml';
79 --
80 Begin
81   hr_utility.set_location('Entering:'||l_proc, 5);
82   p_rec.object_version_number := 1;  -- Initialise the object version
83   --
84   --
85   --
86   -- Insert the row into: pay_action_information
87   --
88   insert into pay_action_information
89       (action_information_id
90       ,action_context_id
91       ,action_context_type
92       ,tax_unit_id
93       ,jurisdiction_code
94       ,source_id
95       ,source_text
96       ,tax_group
97       ,object_version_number
98       ,effective_date
99       ,assignment_id
100       ,action_information_category
101       ,action_information1
102       ,action_information2
103       ,action_information3
104       ,action_information4
105       ,action_information5
106       ,action_information6
107       ,action_information7
108       ,action_information8
109       ,action_information9
110       ,action_information10
111       ,action_information11
112       ,action_information12
113       ,action_information13
114       ,action_information14
115       ,action_information15
116       ,action_information16
117       ,action_information17
118       ,action_information18
119       ,action_information19
120       ,action_information20
121       ,action_information21
122       ,action_information22
123       ,action_information23
124       ,action_information24
125       ,action_information25
126       ,action_information26
127       ,action_information27
128       ,action_information28
129       ,action_information29
130       ,action_information30
131       )
132   Values
133     (p_rec.action_information_id
134     ,p_rec.action_context_id
135     ,p_rec.action_context_type
136     ,p_rec.tax_unit_id
137     ,p_rec.jurisdiction_code
138     ,p_rec.source_id
139     ,p_rec.source_text
140     ,p_rec.tax_group
141     ,p_rec.object_version_number
142     ,p_rec.effective_date
143     ,p_rec.assignment_id
144     ,p_rec.action_information_category
145     ,p_rec.action_information1
146     ,p_rec.action_information2
147     ,p_rec.action_information3
148     ,p_rec.action_information4
149     ,p_rec.action_information5
150     ,p_rec.action_information6
151     ,p_rec.action_information7
152     ,p_rec.action_information8
153     ,p_rec.action_information9
154     ,p_rec.action_information10
155     ,p_rec.action_information11
156     ,p_rec.action_information12
157     ,p_rec.action_information13
158     ,p_rec.action_information14
159     ,p_rec.action_information15
160     ,p_rec.action_information16
161     ,p_rec.action_information17
162     ,p_rec.action_information18
163     ,p_rec.action_information19
164     ,p_rec.action_information20
165     ,p_rec.action_information21
166     ,p_rec.action_information22
167     ,p_rec.action_information23
168     ,p_rec.action_information24
169     ,p_rec.action_information25
170     ,p_rec.action_information26
171     ,p_rec.action_information27
172     ,p_rec.action_information28
173     ,p_rec.action_information29
174     ,p_rec.action_information30
175     );
176   --
177   --
178   --
179   hr_utility.set_location(' Leaving:'||l_proc, 10);
180 Exception
181   When hr_api.check_integrity_violated Then
182     -- A check constraint has been violated
183     --
184     pay_aif_shd.constraint_error
185       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
186   When hr_api.parent_integrity_violated Then
187     -- Parent integrity has been violated
188     --
189     pay_aif_shd.constraint_error
190       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
191   When hr_api.unique_integrity_violated Then
192     -- Unique integrity has been violated
193     --
194     pay_aif_shd.constraint_error
195       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
196   When Others Then
197     --
198     Raise;
199 End insert_dml;
200 --
201 -- ----------------------------------------------------------------------------
202 -- |------------------------------< pre_insert >------------------------------|
203 -- ----------------------------------------------------------------------------
204 -- {Start Of Comments}
205 --
206 -- Description:
207 --   This private procedure contains any processing which is required before
208 --   the insert dml. Presently, if the entity has a corresponding primary
209 --   key which is maintained by an associating sequence, the primary key for
210 --   the entity will be populated with the next sequence value in
211 --   preparation for the insert dml.
212 --
213 -- Prerequisites:
214 --   This is an internal procedure which is called from the ins procedure.
215 --
216 -- In Parameters:
217 --   A Pl/Sql record structre.
218 --
219 -- Post Success:
220 --   Processing continues.
221 --
222 -- Post Failure:
223 --   If an error has occurred, an error message and exception will be raised
224 --   but not handled.
225 --
226 -- Developer Implementation Notes:
230 --   It is important to note that any 3rd party maintenance should be reviewed
227 --   Any pre-processing required before the insert dml is issued should be
228 --   coded within this procedure. As stated above, a good example is the
229 --   generation of a primary key number via a corresponding sequence.
231 --   before placing in this procedure.
232 --
233 -- Access Status:
234 --   Internal Row Handler Use Only.
235 --
236 -- {End Of Comments}
237 -- ----------------------------------------------------------------------------
238 Procedure pre_insert
239   (p_rec  in out nocopy pay_aif_shd.g_rec_type
240   ) is
241 --
242   l_proc  varchar2(72) := g_package||'pre_insert';
243   l_exists varchar2(1);
244 --
245   Cursor C_Sel1 is select pay_action_information_s.nextval from sys.dual;
246 --
247   Cursor C_Sel2 is
248     Select null
249       from pay_action_information
250      where action_information_id =
251              pay_aif_ins.g_action_information_id_i;
252 --
253 Begin
254   hr_utility.set_location('Entering:'||l_proc, 5);
255   --
256   If (pay_aif_ins.g_action_information_id_i is not null) Then
257     --
258     -- Verify registered primary key values not already in use
259     --
260     Open C_Sel2;
261     Fetch C_Sel2 into l_exists;
262     If C_Sel2%found Then
263        Close C_Sel2;
264        --
265        -- The primary key values are already in use.
266        --
267        fnd_message.set_name('PER','PER_289391_KEY_ALREADY_USED');
268        fnd_message.set_token('TABLE_NAME','pay_action_information');
269        fnd_message.raise_error;
270     End If;
271     Close C_Sel2;
272     --
273     -- Use registered key values and clear globals
274     --
275     p_rec.action_information_id :=
276       pay_aif_ins.g_action_information_id_i;
277     pay_aif_ins.g_action_information_id_i := null;
278   Else
279     --
280     -- No registerd key values, so select the next sequence number
281     --
282     -- Select the next sequence number
283     --
284     Open C_Sel1;
285     Fetch C_Sel1 Into p_rec.action_information_id;
286     Close C_Sel1;
287   End If;
288   --
289   hr_utility.set_location(' Leaving:'||l_proc, 10);
290 End pre_insert;
291 --
292 -- ----------------------------------------------------------------------------
293 -- |-----------------------------< post_insert >------------------------------|
294 -- ----------------------------------------------------------------------------
295 -- {Start Of Comments}
296 --
297 -- Description:
298 --   This private procedure contains any processing which is required after the
299 --   insert dml.
300 --
301 -- Prerequisites:
302 --   This is an internal procedure which is called from the ins procedure.
303 --
304 -- In Parameters:
305 --   A Pl/Sql record structre.
306 --
307 -- Post Success:
308 --   Processing continues.
309 --
310 -- Post Failure:
311 --   If an error has occurred, an error message and exception will be raised
312 --   but not handled.
313 --
314 -- Developer Implementation Notes:
315 --   Any post-processing required after the insert dml is issued should be
316 --   coded within this procedure. It is important to note that any 3rd party
317 --   maintenance should be reviewed before placing in this procedure.
318 --
319 -- Access Status:
320 --   Internal Row Handler Use Only.
321 --
322 -- {End Of Comments}
323 -- ----------------------------------------------------------------------------
324 Procedure post_insert
325   (p_rec                          in pay_aif_shd.g_rec_type
326   ) is
327 --
328   l_proc  varchar2(72) := g_package||'post_insert';
329 --
330 Begin
331   hr_utility.set_location('Entering:'||l_proc, 5);
332   begin
333     --
334     pay_aif_rki.after_insert
335       (p_action_information_id
336       => p_rec.action_information_id
337       ,p_action_context_id
338       => p_rec.action_context_id
339       ,p_action_context_type
340       => p_rec.action_context_type
341       ,p_tax_unit_id
342       => p_rec.tax_unit_id
343       ,p_jurisdiction_code
344       => p_rec.jurisdiction_code
345       ,p_source_id
346       => p_rec.source_id
347       ,p_source_text
348       => p_rec.source_text
349       ,p_tax_group
350       => p_rec.tax_group
351       ,p_object_version_number
352       => p_rec.object_version_number
353       ,p_effective_date
354       => p_rec.effective_date
355       ,p_assignment_id
356       => p_rec.assignment_id
357       ,p_action_information_category
358       => p_rec.action_information_category
359       ,p_action_information1
360       => p_rec.action_information1
361       ,p_action_information2
362       => p_rec.action_information2
363       ,p_action_information3
364       => p_rec.action_information3
365       ,p_action_information4
366       => p_rec.action_information4
367       ,p_action_information5
368       => p_rec.action_information5
369       ,p_action_information6
370       => p_rec.action_information6
371       ,p_action_information7
372       => p_rec.action_information7
373       ,p_action_information8
374       => p_rec.action_information8
375       ,p_action_information9
376       => p_rec.action_information9
377       ,p_action_information10
378       => p_rec.action_information10
379       ,p_action_information11
380       => p_rec.action_information11
384       => p_rec.action_information13
381       ,p_action_information12
382       => p_rec.action_information12
383       ,p_action_information13
385       ,p_action_information14
386       => p_rec.action_information14
387       ,p_action_information15
388       => p_rec.action_information15
389       ,p_action_information16
390       => p_rec.action_information16
391       ,p_action_information17
392       => p_rec.action_information17
393       ,p_action_information18
394       => p_rec.action_information18
395       ,p_action_information19
396       => p_rec.action_information19
397       ,p_action_information20
398       => p_rec.action_information20
399       ,p_action_information21
400       => p_rec.action_information21
401       ,p_action_information22
402       => p_rec.action_information22
403       ,p_action_information23
404       => p_rec.action_information23
405       ,p_action_information24
406       => p_rec.action_information24
407       ,p_action_information25
408       => p_rec.action_information25
409       ,p_action_information26
410       => p_rec.action_information26
411       ,p_action_information27
412       => p_rec.action_information27
413       ,p_action_information28
414       => p_rec.action_information28
415       ,p_action_information29
416       => p_rec.action_information29
417       ,p_action_information30
418       => p_rec.action_information30
419       );
420     --
421   exception
422     --
423     when hr_api.cannot_find_prog_unit then
424       --
425       hr_api.cannot_find_prog_unit_error
426         (p_module_name => 'PAY_ACTION_INFORMATION'
427         ,p_hook_type   => 'AI');
428       --
429   end;
430   --
431   hr_utility.set_location(' Leaving:'||l_proc, 10);
432 End post_insert;
433 --
434 -- ----------------------------------------------------------------------------
435 -- |---------------------------------< ins >----------------------------------|
436 -- ----------------------------------------------------------------------------
437 Procedure ins
438   (p_rec                          in out nocopy pay_aif_shd.g_rec_type
439   ) is
440 --
441   l_proc  varchar2(72) := g_package||'ins';
442 --
443 Begin
444   hr_utility.set_location('Entering:'||l_proc, 5);
445   --
446   -- Call the supporting insert validate operations
447   --
448   pay_aif_bus.insert_validate
449      (p_rec
450      );
451   --
452   -- Call to raise any errors on multi-message list
453   --
454   hr_multi_message.end_validation_set;
455   --
456   -- Call the supporting pre-insert operation
457   --
458   pay_aif_ins.pre_insert(p_rec);
459   --
460   -- Insert the row
461   --
462   pay_aif_ins.insert_dml(p_rec);
463   --
464   -- Call the supporting post-insert operation
465   --
466   pay_aif_ins.post_insert
467      (p_rec
468      );
469   --
470   -- Call to raise any errors on multi-message list
471   --
472   hr_multi_message.end_validation_set;
473   --
474   hr_utility.set_location('Leaving:'||l_proc, 20);
475 end ins;
476 --
477 -- ----------------------------------------------------------------------------
478 -- |---------------------------------< ins >----------------------------------|
479 -- ----------------------------------------------------------------------------
480 Procedure ins
481   (p_action_context_id              in     number
482   ,p_action_context_type            in     varchar2
483   ,p_effective_date                 in     date
484   ,p_assignment_id                  in     number
485   ,p_action_information_category    in     varchar2
486   ,p_tax_unit_id                    in     number   default null
487   ,p_jurisdiction_code              in     varchar2 default null
488   ,p_source_id                      in     number   default null
489   ,p_source_text                    in     varchar2 default null
490   ,p_tax_group                      in     varchar2 default null
491   ,p_action_information1            in     varchar2 default null
492   ,p_action_information2            in     varchar2 default null
493   ,p_action_information3            in     varchar2 default null
494   ,p_action_information4            in     varchar2 default null
495   ,p_action_information5            in     varchar2 default null
496   ,p_action_information6            in     varchar2 default null
497   ,p_action_information7            in     varchar2 default null
498   ,p_action_information8            in     varchar2 default null
499   ,p_action_information9            in     varchar2 default null
500   ,p_action_information10           in     varchar2 default null
501   ,p_action_information11           in     varchar2 default null
502   ,p_action_information12           in     varchar2 default null
503   ,p_action_information13           in     varchar2 default null
504   ,p_action_information14           in     varchar2 default null
505   ,p_action_information15           in     varchar2 default null
506   ,p_action_information16           in     varchar2 default null
507   ,p_action_information17           in     varchar2 default null
508   ,p_action_information18           in     varchar2 default null
509   ,p_action_information19           in     varchar2 default null
510   ,p_action_information20           in     varchar2 default null
511   ,p_action_information21           in     varchar2 default null
512   ,p_action_information22           in     varchar2 default null
513   ,p_action_information23           in     varchar2 default null
514   ,p_action_information24           in     varchar2 default null
518   ,p_action_information28           in     varchar2 default null
515   ,p_action_information25           in     varchar2 default null
516   ,p_action_information26           in     varchar2 default null
517   ,p_action_information27           in     varchar2 default null
519   ,p_action_information29           in     varchar2 default null
520   ,p_action_information30           in     varchar2 default null
521   ,p_action_information_id             out nocopy number
522   ,p_object_version_number             out nocopy number
523   ) is
524 --
525   l_rec	  pay_aif_shd.g_rec_type;
526   l_proc  varchar2(72) := g_package||'ins';
527 --
528 Begin
529   hr_utility.set_location('Entering:'||l_proc, 5);
530   --
531   -- Call conversion function to turn arguments into the
532   -- p_rec structure.
533   --
534   l_rec :=
535   pay_aif_shd.convert_args
536     (null
537     ,p_action_context_id
538     ,p_action_context_type
539     ,p_tax_unit_id
540     ,p_jurisdiction_code
541     ,p_source_id
542     ,p_source_text
543     ,p_tax_group
544     ,null
545     ,p_effective_date
546     ,p_assignment_id
547     ,p_action_information_category
548     ,p_action_information1
549     ,p_action_information2
550     ,p_action_information3
551     ,p_action_information4
552     ,p_action_information5
553     ,p_action_information6
554     ,p_action_information7
555     ,p_action_information8
556     ,p_action_information9
557     ,p_action_information10
558     ,p_action_information11
559     ,p_action_information12
560     ,p_action_information13
561     ,p_action_information14
562     ,p_action_information15
563     ,p_action_information16
564     ,p_action_information17
565     ,p_action_information18
566     ,p_action_information19
567     ,p_action_information20
568     ,p_action_information21
569     ,p_action_information22
570     ,p_action_information23
571     ,p_action_information24
572     ,p_action_information25
573     ,p_action_information26
574     ,p_action_information27
575     ,p_action_information28
576     ,p_action_information29
577     ,p_action_information30
578     );
579   --
580   -- Having converted the arguments into the pay_aif_rec
581   -- plsql record structure we call the corresponding record business process.
582   --
583   pay_aif_ins.ins
584      (l_rec
585      );
586   --
587   -- As the primary key argument(s)
588   -- are specified as an OUT's we must set these values.
589   --
590   p_action_information_id := l_rec.action_information_id;
591   p_object_version_number := l_rec.object_version_number;
592   --
593   hr_utility.set_location(' Leaving:'||l_proc, 10);
594 End ins;
595 --
596 end pay_aif_ins;