[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;