DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CPI_INS

Source


1 Package Body ben_cpi_ins as
2 /* $Header: becpirhi.pkb 120.0 2005/05/28 01:13 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  ben_cpi_ins.';  -- Global package name
9 g_debug boolean := hr_utility.debug_enabled;
10 --
11 -- The following global variables are only to be used by
12 -- the set_base_key_value and pre_insert procedures.
13 --
14 g_group_per_in_ler_id_i  number   default null;
15 --
16 -- ----------------------------------------------------------------------------
17 -- |------------------------< set_base_key_value >----------------------------|
18 -- ----------------------------------------------------------------------------
19 procedure set_base_key_value
20   (p_group_per_in_ler_id  in  number) is
21 --
22   l_proc       varchar2(72) := g_package||'set_base_key_value';
23 --
24 Begin
25   if g_debug then
26      hr_utility.set_location('Entering:'||l_proc, 10);
27   end if;
28   --
29   ben_cpi_ins.g_group_per_in_ler_id_i := p_group_per_in_ler_id;
30   --
31   if g_debug then
32      hr_utility.set_location(' Leaving:'||l_proc, 20);
33   end if;
34 End set_base_key_value;
35 --
36 --
37 -- ----------------------------------------------------------------------------
38 -- |-----------------------< create_app_ownerships >--------------------------|
39 -- ----------------------------------------------------------------------------
40 --
41 -- Description:
42 --   This procedure inserts a row into the HR_APPLICATION_OWNERSHIPS table
43 --   when the row handler is called in the appropriate mode.
44 --
45 -- ----------------------------------------------------------------------------
46 PROCEDURE create_app_ownerships(p_pk_column  IN varchar2
47                                ,p_pk_value   IN varchar2) IS
48 --
49 CURSOR csr_definition IS
50   SELECT product_short_name
51     FROM hr_owner_definitions
52    WHERE session_id = hr_startup_data_api_support.g_session_id;
53 --
54 BEGIN
55   --
56   IF (hr_startup_data_api_support.return_startup_mode IN
57                                ('STARTUP','GENERIC')) THEN
58      --
59      FOR c1 IN csr_definition LOOP
60        --
61        INSERT INTO hr_application_ownerships
62          (key_name
63          ,key_value
64          ,product_name
65          )
66        VALUES
67          (p_pk_column
68          ,fnd_number.number_to_canonical(p_pk_value)
69          ,c1.product_short_name
70          );
71      END LOOP;
72   END IF;
73 END create_app_ownerships;
74 --
75 -- ----------------------------------------------------------------------------
76 -- |-----------------------< create_app_ownerships >--------------------------|
77 -- ----------------------------------------------------------------------------
78 PROCEDURE create_app_ownerships(p_pk_column IN varchar2
79                                ,p_pk_value  IN number) IS
80 --
81 BEGIN
82   create_app_ownerships(p_pk_column, to_char(p_pk_value));
83 END create_app_ownerships;
84 --
85 -- ----------------------------------------------------------------------------
86 -- |------------------------------< insert_dml >------------------------------|
87 -- ----------------------------------------------------------------------------
88 -- {Start Of Comments}
89 --
90 -- Description:
91 --   This procedure controls the actual dml insert logic. The processing of
92 --   this procedure are as follows:
93 --   1) Initialise the object_version_number to 1 if the object_version_number
94 --      is defined as an attribute for this entity.
95 --   2) To set and unset the g_api_dml status as required (as we are about to
96 --      perform dml).
97 --   3) To insert the row into the schema.
98 --   4) To trap any constraint violations that may have occurred.
99 --   5) To raise any other errors.
100 --
101 -- Prerequisites:
102 --   This is an internal private procedure which must be called from the ins
103 --   procedure and must have all mandatory attributes set (except the
104 --   object_version_number which is initialised within this procedure).
105 --
106 -- In Parameters:
107 --   A Pl/Sql record structre.
108 --
109 -- Post Success:
110 --   The specified row will be inserted into the schema.
111 --
112 -- Post Failure:
113 --   On the insert dml failure it is important to note that we always reset the
114 --   g_api_dml status to false.
115 --   If a check, unique or parent integrity constraint violation is raised the
116 --   constraint_error procedure will be called.
117 --   If any other error is reported, the error will be raised after the
118 --   g_api_dml status is reset.
119 --
120 -- Developer Implementation Notes:
121 --   None.
122 --
123 -- Access Status:
124 --   Internal Row Handler Use Only.
125 --
126 -- {End Of Comments}
127 -- ----------------------------------------------------------------------------
128 Procedure insert_dml
129   (p_rec in out nocopy ben_cpi_shd.g_rec_type
130   ) is
131 --
132   l_proc  varchar2(72) := g_package||'insert_dml';
133 --
134 Begin
135   if g_debug then
136      hr_utility.set_location('Entering:'||l_proc, 5);
137   end if;
138   p_rec.object_version_number := 1;  -- Initialise the object version
139   --
140   ben_cpi_shd.g_api_dml := true;  -- Set the api dml status
141   --
142   -- Insert the row into: ben_cwb_person_info
143   --
144   insert into ben_cwb_person_info
145       (group_per_in_ler_id
146       ,assignment_id
147       ,person_id
148       ,supervisor_id
149       ,effective_date
150       ,full_name
151       ,brief_name
152       ,custom_name
153       ,supervisor_full_name
154       ,supervisor_brief_name
155       ,supervisor_custom_name
156       ,legislation_code
157       ,years_employed
158       ,years_in_job
159       ,years_in_position
160       ,years_in_grade
161       ,employee_number
162       ,start_date
163       ,original_start_date
164       ,adjusted_svc_date
165       ,base_salary
166       ,base_salary_change_date
167       ,payroll_name
168       ,performance_rating
169       ,performance_rating_type
170       ,performance_rating_date
171       ,business_group_id
172       ,organization_id
173       ,job_id
174       ,grade_id
175       ,position_id
176       ,people_group_id
177       ,soft_coding_keyflex_id
178       ,location_id
179       ,pay_rate_id
180       ,assignment_status_type_id
181       ,frequency
182       ,grade_annulization_factor
183       ,pay_annulization_factor
184       ,grd_min_val
185       ,grd_max_val
186       ,grd_mid_point
187       ,grd_quartile
188       ,grd_comparatio
189       ,emp_category
190       ,change_reason
191       ,normal_hours
192       ,email_address
193       ,base_salary_frequency
194       ,new_assgn_ovn
195       ,new_perf_event_id
196       ,new_perf_review_id
197       ,post_process_stat_cd
198       ,feedback_rating
199       ,feedback_comments
200       ,object_version_number
201       ,custom_segment1
202       ,custom_segment2
203       ,custom_segment3
204       ,custom_segment4
205       ,custom_segment5
206       ,custom_segment6
207       ,custom_segment7
208       ,custom_segment8
209       ,custom_segment9
210       ,custom_segment10
211       ,custom_segment11
212       ,custom_segment12
213       ,custom_segment13
214       ,custom_segment14
215       ,custom_segment15
216       ,custom_segment16
217       ,custom_segment17
218       ,custom_segment18
219       ,custom_segment19
220       ,custom_segment20
221       ,people_group_name
222       ,people_group_segment1
223       ,people_group_segment2
224       ,people_group_segment3
225       ,people_group_segment4
226       ,people_group_segment5
227       ,people_group_segment6
228       ,people_group_segment7
229       ,people_group_segment8
230       ,people_group_segment9
231       ,people_group_segment10
232       ,people_group_segment11
233       ,ass_attribute_category
234       ,ass_attribute1
235       ,ass_attribute2
236       ,ass_attribute3
237       ,ass_attribute4
238       ,ass_attribute5
239       ,ass_attribute6
240       ,ass_attribute7
241       ,ass_attribute8
242       ,ass_attribute9
243       ,ass_attribute10
244       ,ass_attribute11
245       ,ass_attribute12
246       ,ass_attribute13
247       ,ass_attribute14
248       ,ass_attribute15
249       ,ass_attribute16
250       ,ass_attribute17
251       ,ass_attribute18
252       ,ass_attribute19
253       ,ass_attribute20
254       ,ass_attribute21
255       ,ass_attribute22
256       ,ass_attribute23
257       ,ass_attribute24
258       ,ass_attribute25
259       ,ass_attribute26
260       ,ass_attribute27
261       ,ass_attribute28
262       ,ass_attribute29
263       ,ass_attribute30
264       ,ws_comments
265       ,cpi_attribute_category
266       ,cpi_attribute1
267       ,cpi_attribute2
268       ,cpi_attribute3
269       ,cpi_attribute4
270       ,cpi_attribute5
271       ,cpi_attribute6
272       ,cpi_attribute7
273       ,cpi_attribute8
274       ,cpi_attribute9
275       ,cpi_attribute10
276       ,cpi_attribute11
277       ,cpi_attribute12
278       ,cpi_attribute13
279       ,cpi_attribute14
280       ,cpi_attribute15
281       ,cpi_attribute16
282       ,cpi_attribute17
283       ,cpi_attribute18
284       ,cpi_attribute19
285       ,cpi_attribute20
286       ,cpi_attribute21
287       ,cpi_attribute22
288       ,cpi_attribute23
289       ,cpi_attribute24
290       ,cpi_attribute25
291       ,cpi_attribute26
292       ,cpi_attribute27
293       ,cpi_attribute28
294       ,cpi_attribute29
295       ,cpi_attribute30
296       ,feedback_date
297       )
298   Values
299     (p_rec.group_per_in_ler_id
300     ,p_rec.assignment_id
301     ,p_rec.person_id
302     ,p_rec.supervisor_id
303     ,p_rec.effective_date
304     ,p_rec.full_name
305     ,p_rec.brief_name
306     ,p_rec.custom_name
307     ,p_rec.supervisor_full_name
308     ,p_rec.supervisor_brief_name
309     ,p_rec.supervisor_custom_name
310     ,p_rec.legislation_code
311     ,p_rec.years_employed
312     ,p_rec.years_in_job
313     ,p_rec.years_in_position
314     ,p_rec.years_in_grade
315     ,p_rec.employee_number
316     ,p_rec.start_date
317     ,p_rec.original_start_date
318     ,p_rec.adjusted_svc_date
319     ,p_rec.base_salary
320     ,p_rec.base_salary_change_date
321     ,p_rec.payroll_name
322     ,p_rec.performance_rating
323     ,p_rec.performance_rating_type
324     ,p_rec.performance_rating_date
325     ,p_rec.business_group_id
326     ,p_rec.organization_id
327     ,p_rec.job_id
328     ,p_rec.grade_id
329     ,p_rec.position_id
330     ,p_rec.people_group_id
331     ,p_rec.soft_coding_keyflex_id
332     ,p_rec.location_id
333     ,p_rec.pay_rate_id
334     ,p_rec.assignment_status_type_id
335     ,p_rec.frequency
336     ,p_rec.grade_annulization_factor
337     ,p_rec.pay_annulization_factor
338     ,p_rec.grd_min_val
339     ,p_rec.grd_max_val
340     ,p_rec.grd_mid_point
341     ,p_rec.grd_quartile
342     ,p_rec.grd_comparatio
343     ,p_rec.emp_category
344     ,p_rec.change_reason
345     ,p_rec.normal_hours
346     ,p_rec.email_address
347     ,p_rec.base_salary_frequency
348     ,p_rec.new_assgn_ovn
349     ,p_rec.new_perf_event_id
350     ,p_rec.new_perf_review_id
351     ,p_rec.post_process_stat_cd
352     ,p_rec.feedback_rating
353     ,p_rec.feedback_comments
354     ,p_rec.object_version_number
355     ,p_rec.custom_segment1
356     ,p_rec.custom_segment2
357     ,p_rec.custom_segment3
358     ,p_rec.custom_segment4
359     ,p_rec.custom_segment5
360     ,p_rec.custom_segment6
361     ,p_rec.custom_segment7
362     ,p_rec.custom_segment8
363     ,p_rec.custom_segment9
364     ,p_rec.custom_segment10
365     ,p_rec.custom_segment11
366     ,p_rec.custom_segment12
367     ,p_rec.custom_segment13
368     ,p_rec.custom_segment14
369     ,p_rec.custom_segment15
370     ,p_rec.custom_segment16
371     ,p_rec.custom_segment17
372     ,p_rec.custom_segment18
373     ,p_rec.custom_segment19
374     ,p_rec.custom_segment20
375     ,p_rec.people_group_name
376     ,p_rec.people_group_segment1
377     ,p_rec.people_group_segment2
378     ,p_rec.people_group_segment3
379     ,p_rec.people_group_segment4
380     ,p_rec.people_group_segment5
381     ,p_rec.people_group_segment6
382     ,p_rec.people_group_segment7
383     ,p_rec.people_group_segment8
384     ,p_rec.people_group_segment9
385     ,p_rec.people_group_segment10
386     ,p_rec.people_group_segment11
387     ,p_rec.ass_attribute_category
388     ,p_rec.ass_attribute1
389     ,p_rec.ass_attribute2
390     ,p_rec.ass_attribute3
391     ,p_rec.ass_attribute4
392     ,p_rec.ass_attribute5
393     ,p_rec.ass_attribute6
394     ,p_rec.ass_attribute7
395     ,p_rec.ass_attribute8
396     ,p_rec.ass_attribute9
397     ,p_rec.ass_attribute10
398     ,p_rec.ass_attribute11
399     ,p_rec.ass_attribute12
400     ,p_rec.ass_attribute13
401     ,p_rec.ass_attribute14
402     ,p_rec.ass_attribute15
403     ,p_rec.ass_attribute16
404     ,p_rec.ass_attribute17
405     ,p_rec.ass_attribute18
406     ,p_rec.ass_attribute19
407     ,p_rec.ass_attribute20
408     ,p_rec.ass_attribute21
409     ,p_rec.ass_attribute22
410     ,p_rec.ass_attribute23
411     ,p_rec.ass_attribute24
412     ,p_rec.ass_attribute25
413     ,p_rec.ass_attribute26
414     ,p_rec.ass_attribute27
415     ,p_rec.ass_attribute28
416     ,p_rec.ass_attribute29
417     ,p_rec.ass_attribute30
418     ,p_rec.ws_comments
419     ,p_rec.cpi_attribute_category
420     ,p_rec.cpi_attribute1
421     ,p_rec.cpi_attribute2
422     ,p_rec.cpi_attribute3
423     ,p_rec.cpi_attribute4
424     ,p_rec.cpi_attribute5
425     ,p_rec.cpi_attribute6
426     ,p_rec.cpi_attribute7
427     ,p_rec.cpi_attribute8
428     ,p_rec.cpi_attribute9
429     ,p_rec.cpi_attribute10
430     ,p_rec.cpi_attribute11
431     ,p_rec.cpi_attribute12
432     ,p_rec.cpi_attribute13
433     ,p_rec.cpi_attribute14
434     ,p_rec.cpi_attribute15
435     ,p_rec.cpi_attribute16
436     ,p_rec.cpi_attribute17
437     ,p_rec.cpi_attribute18
438     ,p_rec.cpi_attribute19
439     ,p_rec.cpi_attribute20
440     ,p_rec.cpi_attribute21
441     ,p_rec.cpi_attribute22
442     ,p_rec.cpi_attribute23
443     ,p_rec.cpi_attribute24
444     ,p_rec.cpi_attribute25
445     ,p_rec.cpi_attribute26
446     ,p_rec.cpi_attribute27
447     ,p_rec.cpi_attribute28
448     ,p_rec.cpi_attribute29
449     ,p_rec.cpi_attribute30
450     ,p_rec.feedback_date
451     );
452   --
453   ben_cpi_shd.g_api_dml := false;   -- Unset the api dml status
454   --
455   if g_debug then
456      hr_utility.set_location(' Leaving:'||l_proc, 10);
457   end if;
458 Exception
459   When hr_api.check_integrity_violated Then
460     -- A check constraint has been violated
461     ben_cpi_shd.g_api_dml := false;   -- Unset the api dml status
462     ben_cpi_shd.constraint_error
463       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
464   When hr_api.parent_integrity_violated Then
465     -- Parent integrity has been violated
466     ben_cpi_shd.g_api_dml := false;   -- Unset the api dml status
467     ben_cpi_shd.constraint_error
468       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
469   When hr_api.unique_integrity_violated Then
470     -- Unique integrity has been violated
471     ben_cpi_shd.g_api_dml := false;   -- Unset the api dml status
472     ben_cpi_shd.constraint_error
473       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
474   When Others Then
475     ben_cpi_shd.g_api_dml := false;   -- Unset the api dml status
476     Raise;
477 End insert_dml;
478 --
479 -- ----------------------------------------------------------------------------
480 -- |------------------------------< pre_insert >------------------------------|
481 -- ----------------------------------------------------------------------------
482 -- {Start Of Comments}
483 --
484 -- Description:
485 --   This private procedure contains any processing which is required before
486 --   the insert dml. Presently, if the entity has a corresponding primary
487 --   key which is maintained by an associating sequence, the primary key for
488 --   the entity will be populated with the next sequence value in
489 --   preparation for the insert dml.
490 --
491 -- Prerequisites:
492 --   This is an internal procedure which is called from the ins procedure.
493 --
494 -- In Parameters:
495 --   A Pl/Sql record structure.
496 --
497 -- Post Success:
498 --   Processing continues.
499 --
500 -- Post Failure:
501 --   If an error has occurred, an error message and exception will be raised
502 --   but not handled.
503 --
504 -- Developer Implementation Notes:
505 --   Any pre-processing required before the insert dml is issued should be
506 --   coded within this procedure. As stated above, a good example is the
507 --   generation of a primary key number via a corresponding sequence.
508 --   It is important to note that any 3rd party maintenance should be reviewed
509 --   before placing in this procedure.
510 --
511 -- Access Status:
512 --   Internal Row Handler Use Only.
513 --
514 -- {End Of Comments}
515 -- ----------------------------------------------------------------------------
516 Procedure pre_insert
517   (p_rec  in out nocopy ben_cpi_shd.g_rec_type
518   ) is
519 --
520   Cursor C_Sel2 is
521     Select null
522       from ben_cwb_person_info
523      where group_per_in_ler_id =
524              ben_cpi_ins.g_group_per_in_ler_id_i;
525 --
526   l_proc   varchar2(72) := g_package||'pre_insert';
527   l_exists varchar2(1);
528 --
529 Begin
530   if g_debug then
531      hr_utility.set_location('Entering:'||l_proc, 5);
532   end if;
533   --
534   If (ben_cpi_ins.g_group_per_in_ler_id_i is not null) Then
535     --
536     -- Verify registered primary key values not already in use
537     --
538     Open C_Sel2;
539     Fetch C_Sel2 into l_exists;
540     If C_Sel2%found Then
541        Close C_Sel2;
542        --
543        -- The primary key values are already in use.
544        --
545        fnd_message.set_name('PER','PER_289391_KEY_ALREADY_USED');
546        fnd_message.set_token('TABLE_NAME','ben_cwb_person_info');
547        fnd_message.raise_error;
548     End If;
549     Close C_Sel2;
550     --
551     -- Use registered key values and clear globals
552     --
553     p_rec.group_per_in_ler_id :=
554       ben_cpi_ins.g_group_per_in_ler_id_i;
555     ben_cpi_ins.g_group_per_in_ler_id_i := null;
556   Else
557      null;
558 /*    --
559     -- No registerd key values, so select the next sequence number
560     --
561     --
562     -- Select the next sequence number
563     --
564     Open C_Sel1;
565     Fetch C_Sel1 Into p_rec.group_per_in_ler_id;
566     Close C_Sel1; */
567   End If;
568   --
569   if g_debug then
570      hr_utility.set_location(' Leaving:'||l_proc, 10);
571   end if;
572 End pre_insert;
573 --
574 -- ----------------------------------------------------------------------------
575 -- |-----------------------------< post_insert >------------------------------|
576 -- ----------------------------------------------------------------------------
577 -- {Start Of Comments}
578 --
579 -- Description:
580 --   This private procedure contains any processing which is required after
581 --   the insert dml.
582 --
583 -- Prerequisites:
584 --   This is an internal procedure which is called from the ins procedure.
585 --
586 -- In Parameters:
587 --   A Pl/Sql record structre.
588 --
589 -- Post Success:
590 --   Processing continues.
591 --
592 -- Post Failure:
593 --   If an error has occurred, an error message and exception will be raised
594 --   but not handled.
595 --
596 -- Developer Implementation Notes:
597 --   Any post-processing required after the insert dml is issued should be
598 --   coded within this procedure. It is important to note that any 3rd party
599 --   maintenance should be reviewed before placing in this procedure.
600 --
601 -- Access Status:
602 --   Internal Row Handler Use Only.
603 --
604 -- {End Of Comments}
605 -- ----------------------------------------------------------------------------
606 Procedure post_insert
607   (p_rec                          in ben_cpi_shd.g_rec_type
608   ) is
609 --
610   l_proc  varchar2(72) := g_package||'post_insert';
611 --
612 Begin
613   if g_debug then
614      hr_utility.set_location('Entering:'||l_proc, 5);
615   end if;
616   begin
617     --
618     -- insert ownerships if applicable
619     create_app_ownerships
620       ('GROUP_PER_IN_LER_ID', p_rec.group_per_in_ler_id
621       );
622     --
623     --
624     ben_cpi_rki.after_insert
625       (p_group_per_in_ler_id
626       => p_rec.group_per_in_ler_id
627       ,p_assignment_id
628       => p_rec.assignment_id
629       ,p_person_id
630       => p_rec.person_id
631       ,p_supervisor_id
632       => p_rec.supervisor_id
633       ,p_effective_date
634       => p_rec.effective_date
635       ,p_full_name
636       => p_rec.full_name
637       ,p_brief_name
638       => p_rec.brief_name
639       ,p_custom_name
640       => p_rec.custom_name
641       ,p_supervisor_full_name
642       => p_rec.supervisor_full_name
643       ,p_supervisor_brief_name
644       => p_rec.supervisor_brief_name
645       ,p_supervisor_custom_name
646       => p_rec.supervisor_custom_name
647       ,p_legislation_code
648       => p_rec.legislation_code
649       ,p_years_employed
650       => p_rec.years_employed
651       ,p_years_in_job
652       => p_rec.years_in_job
653       ,p_years_in_position
654       => p_rec.years_in_position
655       ,p_years_in_grade
656       => p_rec.years_in_grade
657       ,p_employee_number
658       => p_rec.employee_number
659       ,p_start_date
660       => p_rec.start_date
661       ,p_original_start_date
662       => p_rec.original_start_date
663       ,p_adjusted_svc_date
664       => p_rec.adjusted_svc_date
665       ,p_base_salary
666       => p_rec.base_salary
667       ,p_base_salary_change_date
668       => p_rec.base_salary_change_date
669       ,p_payroll_name
670       => p_rec.payroll_name
671       ,p_performance_rating
672       => p_rec.performance_rating
673       ,p_performance_rating_type
674       => p_rec.performance_rating_type
675       ,p_performance_rating_date
676       => p_rec.performance_rating_date
677       ,p_business_group_id
678       => p_rec.business_group_id
679       ,p_organization_id
680       => p_rec.organization_id
681       ,p_job_id
682       => p_rec.job_id
683       ,p_grade_id
684       => p_rec.grade_id
685       ,p_position_id
686       => p_rec.position_id
687       ,p_people_group_id
688       => p_rec.people_group_id
689       ,p_soft_coding_keyflex_id
690       => p_rec.soft_coding_keyflex_id
691       ,p_location_id
692       => p_rec.location_id
693       ,p_pay_rate_id
694       => p_rec.pay_rate_id
695       ,p_assignment_status_type_id
696       => p_rec.assignment_status_type_id
697       ,p_frequency
698       => p_rec.frequency
699       ,p_grade_annulization_factor
700       => p_rec.grade_annulization_factor
701       ,p_pay_annulization_factor
702       => p_rec.pay_annulization_factor
703       ,p_grd_min_val
704       => p_rec.grd_min_val
705       ,p_grd_max_val
706       => p_rec.grd_max_val
707       ,p_grd_mid_point
708       => p_rec.grd_mid_point
709       ,p_grd_quartile
710       => p_rec.grd_quartile
711       ,p_grd_comparatio
712       => p_rec.grd_comparatio
713       ,p_emp_category
714       => p_rec.emp_category
715       ,p_change_reason
716       => p_rec.change_reason
717       ,p_normal_hours
718       => p_rec.normal_hours
719       ,p_email_address
720       => p_rec.email_address
721       ,p_base_salary_frequency
722       => p_rec.base_salary_frequency
723       ,p_new_assgn_ovn
724       => p_rec.new_assgn_ovn
725       ,p_new_perf_event_id
726       => p_rec.new_perf_event_id
727       ,p_new_perf_review_id
728       => p_rec.new_perf_review_id
729       ,p_post_process_stat_cd
730       => p_rec.post_process_stat_cd
731       ,p_feedback_rating
732       => p_rec.feedback_rating
733       ,p_feedback_comments
734       => p_rec.feedback_comments
735       ,p_object_version_number
736       => p_rec.object_version_number
737       ,p_custom_segment1
738       => p_rec.custom_segment1
739       ,p_custom_segment2
740       => p_rec.custom_segment2
741       ,p_custom_segment3
742       => p_rec.custom_segment3
743       ,p_custom_segment4
744       => p_rec.custom_segment4
745       ,p_custom_segment5
746       => p_rec.custom_segment5
747       ,p_custom_segment6
748       => p_rec.custom_segment6
749       ,p_custom_segment7
750       => p_rec.custom_segment7
751       ,p_custom_segment8
752       => p_rec.custom_segment8
753       ,p_custom_segment9
754       => p_rec.custom_segment9
755       ,p_custom_segment10
756       => p_rec.custom_segment10
757       ,p_custom_segment11
758       => p_rec.custom_segment11
759       ,p_custom_segment12
760       => p_rec.custom_segment12
761       ,p_custom_segment13
762       => p_rec.custom_segment13
763       ,p_custom_segment14
764       => p_rec.custom_segment14
765       ,p_custom_segment15
766       => p_rec.custom_segment15
767       ,p_custom_segment16
768       => p_rec.custom_segment16
769       ,p_custom_segment17
770       => p_rec.custom_segment17
771       ,p_custom_segment18
772       => p_rec.custom_segment18
773       ,p_custom_segment19
774       => p_rec.custom_segment19
775       ,p_custom_segment20
776       => p_rec.custom_segment20
777       ,p_people_group_name
778       => p_rec.people_group_name
779       ,p_people_group_segment1
780       => p_rec.people_group_segment1
781       ,p_people_group_segment2
782       => p_rec.people_group_segment2
783       ,p_people_group_segment3
784       => p_rec.people_group_segment3
785       ,p_people_group_segment4
786       => p_rec.people_group_segment4
787       ,p_people_group_segment5
788       => p_rec.people_group_segment5
789       ,p_people_group_segment6
790       => p_rec.people_group_segment6
791       ,p_people_group_segment7
792       => p_rec.people_group_segment7
793       ,p_people_group_segment8
794       => p_rec.people_group_segment8
795       ,p_people_group_segment9
796       => p_rec.people_group_segment9
797       ,p_people_group_segment10
798       => p_rec.people_group_segment10
799       ,p_people_group_segment11
800       => p_rec.people_group_segment11
801       ,p_ass_attribute_category
802       => p_rec.ass_attribute_category
803       ,p_ass_attribute1
804       => p_rec.ass_attribute1
805       ,p_ass_attribute2
806       => p_rec.ass_attribute2
807       ,p_ass_attribute3
808       => p_rec.ass_attribute3
809       ,p_ass_attribute4
810       => p_rec.ass_attribute4
811       ,p_ass_attribute5
812       => p_rec.ass_attribute5
813       ,p_ass_attribute6
814       => p_rec.ass_attribute6
815       ,p_ass_attribute7
816       => p_rec.ass_attribute7
817       ,p_ass_attribute8
818       => p_rec.ass_attribute8
819       ,p_ass_attribute9
820       => p_rec.ass_attribute9
821       ,p_ass_attribute10
822       => p_rec.ass_attribute10
823       ,p_ass_attribute11
824       => p_rec.ass_attribute11
825       ,p_ass_attribute12
826       => p_rec.ass_attribute12
827       ,p_ass_attribute13
828       => p_rec.ass_attribute13
829       ,p_ass_attribute14
830       => p_rec.ass_attribute14
831       ,p_ass_attribute15
832       => p_rec.ass_attribute15
833       ,p_ass_attribute16
834       => p_rec.ass_attribute16
835       ,p_ass_attribute17
836       => p_rec.ass_attribute17
837       ,p_ass_attribute18
838       => p_rec.ass_attribute18
839       ,p_ass_attribute19
840       => p_rec.ass_attribute19
841       ,p_ass_attribute20
842       => p_rec.ass_attribute20
843       ,p_ass_attribute21
844       => p_rec.ass_attribute21
845       ,p_ass_attribute22
846       => p_rec.ass_attribute22
847       ,p_ass_attribute23
848       => p_rec.ass_attribute23
849       ,p_ass_attribute24
850       => p_rec.ass_attribute24
851       ,p_ass_attribute25
852       => p_rec.ass_attribute25
853       ,p_ass_attribute26
854       => p_rec.ass_attribute26
855       ,p_ass_attribute27
856       => p_rec.ass_attribute27
857       ,p_ass_attribute28
858       => p_rec.ass_attribute28
859       ,p_ass_attribute29
860       => p_rec.ass_attribute29
861       ,p_ass_attribute30
862       => p_rec.ass_attribute30
863       ,p_ws_comments
864       => p_rec.ws_comments
865       ,p_cpi_attribute_category
866       => p_rec.cpi_attribute_category
867       ,p_cpi_attribute1
868       => p_rec.cpi_attribute1
869       ,p_cpi_attribute2
870       => p_rec.cpi_attribute2
871       ,p_cpi_attribute3
872       => p_rec.cpi_attribute3
873       ,p_cpi_attribute4
874       => p_rec.cpi_attribute4
875       ,p_cpi_attribute5
876       => p_rec.cpi_attribute5
877       ,p_cpi_attribute6
878       => p_rec.cpi_attribute6
879       ,p_cpi_attribute7
880       => p_rec.cpi_attribute7
881       ,p_cpi_attribute8
882       => p_rec.cpi_attribute8
883       ,p_cpi_attribute9
884       => p_rec.cpi_attribute9
885       ,p_cpi_attribute10
886       => p_rec.cpi_attribute10
887       ,p_cpi_attribute11
888       => p_rec.cpi_attribute11
889       ,p_cpi_attribute12
890       => p_rec.cpi_attribute12
891       ,p_cpi_attribute13
892       => p_rec.cpi_attribute13
893       ,p_cpi_attribute14
894       => p_rec.cpi_attribute14
895       ,p_cpi_attribute15
896       => p_rec.cpi_attribute15
897       ,p_cpi_attribute16
898       => p_rec.cpi_attribute16
899       ,p_cpi_attribute17
900       => p_rec.cpi_attribute17
901       ,p_cpi_attribute18
902       => p_rec.cpi_attribute18
903       ,p_cpi_attribute19
904       => p_rec.cpi_attribute19
905       ,p_cpi_attribute20
906       => p_rec.cpi_attribute20
907       ,p_cpi_attribute21
908       => p_rec.cpi_attribute21
909       ,p_cpi_attribute22
910       => p_rec.cpi_attribute22
911       ,p_cpi_attribute23
912       => p_rec.cpi_attribute23
913       ,p_cpi_attribute24
914       => p_rec.cpi_attribute24
915       ,p_cpi_attribute25
916       => p_rec.cpi_attribute25
917       ,p_cpi_attribute26
918       => p_rec.cpi_attribute26
919       ,p_cpi_attribute27
920       => p_rec.cpi_attribute27
921       ,p_cpi_attribute28
922       => p_rec.cpi_attribute28
923       ,p_cpi_attribute29
924       => p_rec.cpi_attribute29
925       ,p_cpi_attribute30
926       => p_rec.cpi_attribute30
927       ,p_feedback_date
928       => p_rec.feedback_date
929       );
930     --
931   exception
932     --
933     when hr_api.cannot_find_prog_unit then
934       --
935       hr_api.cannot_find_prog_unit_error
936         (p_module_name => 'BEN_CWB_PERSON_INFO'
937         ,p_hook_type   => 'AI');
938       --
939   end;
940   --
941   if g_debug then
942      hr_utility.set_location(' Leaving:'||l_proc, 10);
943   end if;
944 End post_insert;
945 --
946 -- ----------------------------------------------------------------------------
947 -- |---------------------------------< ins >----------------------------------|
948 -- ----------------------------------------------------------------------------
949 Procedure ins
950   (p_rec                          in out nocopy ben_cpi_shd.g_rec_type
951   ) is
952 --
953   l_proc  varchar2(72) := g_package||'ins';
954 --
955 Begin
956   if g_debug then
957      hr_utility.set_location('Entering:'||l_proc, 5);
958   end if;
959   --
960   -- Call the supporting insert validate operations
961   --
962   ben_cpi_bus.insert_validate
963      (p_rec
964      );
965   --
966   -- Call to raise any errors on multi-message list
967   hr_multi_message.end_validation_set;
968   --
969   -- Call the supporting pre-insert operation
970   --
971   ben_cpi_ins.pre_insert(p_rec);
972   --
973   -- Insert the row
974   --
975   ben_cpi_ins.insert_dml(p_rec);
976   --
977   -- Call the supporting post-insert operation
978   --
979   ben_cpi_ins.post_insert
980      (p_rec
981      );
982   --
983   -- Call to raise any errors on multi-message list
984   hr_multi_message.end_validation_set;
985   --
986   if g_debug then
987      hr_utility.set_location('Leaving:'||l_proc, 20);
988   end if;
989 end ins;
990 --
991 -- ----------------------------------------------------------------------------
992 -- |---------------------------------< ins >----------------------------------|
993 -- ----------------------------------------------------------------------------
994 Procedure ins
995   (p_group_per_in_ler_id            in     number
996   ,p_assignment_id                  in     number   default null
997   ,p_person_id                      in     number   default null
998   ,p_supervisor_id                  in     number   default null
999   ,p_effective_date                 in     date     default null
1000   ,p_full_name                      in     varchar2 default null
1001   ,p_brief_name                     in     varchar2 default null
1002   ,p_custom_name                    in     varchar2 default null
1003   ,p_supervisor_full_name           in     varchar2 default null
1004   ,p_supervisor_brief_name          in     varchar2 default null
1005   ,p_supervisor_custom_name         in     varchar2 default null
1006   ,p_legislation_code               in     varchar2 default null
1007   ,p_years_employed                 in     number   default null
1008   ,p_years_in_job                   in     number   default null
1009   ,p_years_in_position              in     number   default null
1010   ,p_years_in_grade                 in     number   default null
1011   ,p_employee_number                in     varchar2 default null
1012   ,p_start_date                     in     date     default null
1013   ,p_original_start_date            in     date     default null
1014   ,p_adjusted_svc_date              in     date     default null
1015   ,p_base_salary                    in     number   default null
1016   ,p_base_salary_change_date        in     date     default null
1017   ,p_payroll_name                   in     varchar2 default null
1018   ,p_performance_rating             in     varchar2 default null
1019   ,p_performance_rating_type        in     varchar2 default null
1020   ,p_performance_rating_date        in     date     default null
1021   ,p_business_group_id              in     number   default null
1022   ,p_organization_id                in     number   default null
1023   ,p_job_id                         in     number   default null
1024   ,p_grade_id                       in     number   default null
1025   ,p_position_id                    in     number   default null
1026   ,p_people_group_id                in     number   default null
1027   ,p_soft_coding_keyflex_id         in     number   default null
1028   ,p_location_id                    in     number   default null
1029   ,p_pay_rate_id                    in     number   default null
1030   ,p_assignment_status_type_id      in     number   default null
1031   ,p_frequency                      in     varchar2 default null
1032   ,p_grade_annulization_factor      in     number   default null
1033   ,p_pay_annulization_factor        in     number   default null
1034   ,p_grd_min_val                    in     number   default null
1035   ,p_grd_max_val                    in     number   default null
1036   ,p_grd_mid_point                  in     number   default null
1037   ,p_grd_quartile                   in     varchar2 default null
1038   ,p_grd_comparatio                 in     number   default null
1039   ,p_emp_category                   in     varchar2 default null
1040   ,p_change_reason                  in     varchar2 default null
1041   ,p_normal_hours                   in     number   default null
1042   ,p_email_address                  in     varchar2 default null
1043   ,p_base_salary_frequency          in     varchar2 default null
1044   ,p_new_assgn_ovn                  in     number   default null
1045   ,p_new_perf_event_id              in     number   default null
1046   ,p_new_perf_review_id             in     number   default null
1047   ,p_post_process_stat_cd           in     varchar2 default null
1048   ,p_feedback_rating                in     varchar2 default null
1049   ,p_feedback_comments              in     varchar2 default null
1050   ,p_custom_segment1                in     varchar2 default null
1051   ,p_custom_segment2                in     varchar2 default null
1052   ,p_custom_segment3                in     varchar2 default null
1053   ,p_custom_segment4                in     varchar2 default null
1054   ,p_custom_segment5                in     varchar2 default null
1055   ,p_custom_segment6                in     varchar2 default null
1056   ,p_custom_segment7                in     varchar2 default null
1057   ,p_custom_segment8                in     varchar2 default null
1058   ,p_custom_segment9                in     varchar2 default null
1059   ,p_custom_segment10               in     varchar2 default null
1060   ,p_custom_segment11               in     number   default null
1061   ,p_custom_segment12               in     number   default null
1062   ,p_custom_segment13               in     number   default null
1063   ,p_custom_segment14               in     number   default null
1064   ,p_custom_segment15               in     number   default null
1065   ,p_custom_segment16               in     number   default null
1066   ,p_custom_segment17               in     number   default null
1067   ,p_custom_segment18               in     number   default null
1068   ,p_custom_segment19               in     number   default null
1069   ,p_custom_segment20               in     number   default null
1070   ,p_people_group_name              in     varchar2 default null
1071   ,p_people_group_segment1          in     varchar2 default null
1072   ,p_people_group_segment2          in     varchar2 default null
1073   ,p_people_group_segment3          in     varchar2 default null
1074   ,p_people_group_segment4          in     varchar2 default null
1075   ,p_people_group_segment5          in     varchar2 default null
1076   ,p_people_group_segment6          in     varchar2 default null
1077   ,p_people_group_segment7          in     varchar2 default null
1078   ,p_people_group_segment8          in     varchar2 default null
1079   ,p_people_group_segment9          in     varchar2 default null
1080   ,p_people_group_segment10         in     varchar2 default null
1081   ,p_people_group_segment11         in     varchar2 default null
1082   ,p_ass_attribute_category         in     varchar2 default null
1083   ,p_ass_attribute1                 in     varchar2 default null
1084   ,p_ass_attribute2                 in     varchar2 default null
1085   ,p_ass_attribute3                 in     varchar2 default null
1086   ,p_ass_attribute4                 in     varchar2 default null
1087   ,p_ass_attribute5                 in     varchar2 default null
1088   ,p_ass_attribute6                 in     varchar2 default null
1089   ,p_ass_attribute7                 in     varchar2 default null
1090   ,p_ass_attribute8                 in     varchar2 default null
1091   ,p_ass_attribute9                 in     varchar2 default null
1092   ,p_ass_attribute10                in     varchar2 default null
1093   ,p_ass_attribute11                in     varchar2 default null
1094   ,p_ass_attribute12                in     varchar2 default null
1095   ,p_ass_attribute13                in     varchar2 default null
1096   ,p_ass_attribute14                in     varchar2 default null
1097   ,p_ass_attribute15                in     varchar2 default null
1098   ,p_ass_attribute16                in     varchar2 default null
1099   ,p_ass_attribute17                in     varchar2 default null
1100   ,p_ass_attribute18                in     varchar2 default null
1101   ,p_ass_attribute19                in     varchar2 default null
1102   ,p_ass_attribute20                in     varchar2 default null
1103   ,p_ass_attribute21                in     varchar2 default null
1104   ,p_ass_attribute22                in     varchar2 default null
1105   ,p_ass_attribute23                in     varchar2 default null
1106   ,p_ass_attribute24                in     varchar2 default null
1107   ,p_ass_attribute25                in     varchar2 default null
1108   ,p_ass_attribute26                in     varchar2 default null
1109   ,p_ass_attribute27                in     varchar2 default null
1110   ,p_ass_attribute28                in     varchar2 default null
1111   ,p_ass_attribute29                in     varchar2 default null
1112   ,p_ass_attribute30                in     varchar2 default null
1113   ,p_ws_comments                    in     varchar2 default null
1114   ,p_cpi_attribute_category         in     varchar2 default null
1115   ,p_cpi_attribute1                 in     varchar2 default null
1116   ,p_cpi_attribute2                 in     varchar2 default null
1117   ,p_cpi_attribute3                 in     varchar2 default null
1118   ,p_cpi_attribute4                 in     varchar2 default null
1119   ,p_cpi_attribute5                 in     varchar2 default null
1120   ,p_cpi_attribute6                 in     varchar2 default null
1121   ,p_cpi_attribute7                 in     varchar2 default null
1122   ,p_cpi_attribute8                 in     varchar2 default null
1123   ,p_cpi_attribute9                 in     varchar2 default null
1124   ,p_cpi_attribute10                in     varchar2 default null
1125   ,p_cpi_attribute11                in     varchar2 default null
1126   ,p_cpi_attribute12                in     varchar2 default null
1127   ,p_cpi_attribute13                in     varchar2 default null
1128   ,p_cpi_attribute14                in     varchar2 default null
1129   ,p_cpi_attribute15                in     varchar2 default null
1130   ,p_cpi_attribute16                in     varchar2 default null
1131   ,p_cpi_attribute17                in     varchar2 default null
1132   ,p_cpi_attribute18                in     varchar2 default null
1133   ,p_cpi_attribute19                in     varchar2 default null
1134   ,p_cpi_attribute20                in     varchar2 default null
1135   ,p_cpi_attribute21                in     varchar2 default null
1136   ,p_cpi_attribute22                in     varchar2 default null
1137   ,p_cpi_attribute23                in     varchar2 default null
1138   ,p_cpi_attribute24                in     varchar2 default null
1139   ,p_cpi_attribute25                in     varchar2 default null
1140   ,p_cpi_attribute26                in     varchar2 default null
1141   ,p_cpi_attribute27                in     varchar2 default null
1142   ,p_cpi_attribute28                in     varchar2 default null
1143   ,p_cpi_attribute29                in     varchar2 default null
1144   ,p_cpi_attribute30                in     varchar2 default null
1145   ,p_feedback_date                  in     date     default null
1146   ,p_object_version_number             out nocopy number
1147   ) is
1148 --
1149   l_rec   ben_cpi_shd.g_rec_type;
1150   l_proc  varchar2(72) := g_package||'ins';
1151 --
1152 Begin
1153   if g_debug then
1154      hr_utility.set_location('Entering:'||l_proc, 5);
1155   end if;
1156   --
1157   -- Call conversion function to turn arguments into the
1158   -- p_rec structure.
1159   --
1160   l_rec :=
1161   ben_cpi_shd.convert_args
1162     (p_group_per_in_ler_id
1163     ,p_assignment_id
1164     ,p_person_id
1165     ,p_supervisor_id
1166     ,p_effective_date
1167     ,p_full_name
1168     ,p_brief_name
1169     ,p_custom_name
1170     ,p_supervisor_full_name
1171     ,p_supervisor_brief_name
1172     ,p_supervisor_custom_name
1173     ,p_legislation_code
1174     ,p_years_employed
1175     ,p_years_in_job
1176     ,p_years_in_position
1177     ,p_years_in_grade
1178     ,p_employee_number
1179     ,p_start_date
1180     ,p_original_start_date
1181     ,p_adjusted_svc_date
1182     ,p_base_salary
1183     ,p_base_salary_change_date
1184     ,p_payroll_name
1185     ,p_performance_rating
1186     ,p_performance_rating_type
1187     ,p_performance_rating_date
1188     ,p_business_group_id
1189     ,p_organization_id
1190     ,p_job_id
1191     ,p_grade_id
1192     ,p_position_id
1193     ,p_people_group_id
1194     ,p_soft_coding_keyflex_id
1195     ,p_location_id
1196     ,p_pay_rate_id
1197     ,p_assignment_status_type_id
1198     ,p_frequency
1199     ,p_grade_annulization_factor
1200     ,p_pay_annulization_factor
1201     ,p_grd_min_val
1202     ,p_grd_max_val
1203     ,p_grd_mid_point
1204     ,p_grd_quartile
1205     ,p_grd_comparatio
1206     ,p_emp_category
1207     ,p_change_reason
1208     ,p_normal_hours
1209     ,p_email_address
1210     ,p_base_salary_frequency
1211     ,p_new_assgn_ovn
1212     ,p_new_perf_event_id
1213     ,p_new_perf_review_id
1214     ,p_post_process_stat_cd
1215     ,p_feedback_rating
1216     ,p_feedback_comments
1217     ,null
1218     ,p_custom_segment1
1219     ,p_custom_segment2
1220     ,p_custom_segment3
1221     ,p_custom_segment4
1222     ,p_custom_segment5
1223     ,p_custom_segment6
1224     ,p_custom_segment7
1225     ,p_custom_segment8
1226     ,p_custom_segment9
1227     ,p_custom_segment10
1228     ,p_custom_segment11
1229     ,p_custom_segment12
1230     ,p_custom_segment13
1231     ,p_custom_segment14
1232     ,p_custom_segment15
1233     ,p_custom_segment16
1234     ,p_custom_segment17
1235     ,p_custom_segment18
1236     ,p_custom_segment19
1237     ,p_custom_segment20
1238     ,p_people_group_name
1239     ,p_people_group_segment1
1240     ,p_people_group_segment2
1241     ,p_people_group_segment3
1242     ,p_people_group_segment4
1243     ,p_people_group_segment5
1244     ,p_people_group_segment6
1245     ,p_people_group_segment7
1246     ,p_people_group_segment8
1247     ,p_people_group_segment9
1248     ,p_people_group_segment10
1249     ,p_people_group_segment11
1250     ,p_ass_attribute_category
1251     ,p_ass_attribute1
1252     ,p_ass_attribute2
1253     ,p_ass_attribute3
1254     ,p_ass_attribute4
1255     ,p_ass_attribute5
1256     ,p_ass_attribute6
1257     ,p_ass_attribute7
1258     ,p_ass_attribute8
1259     ,p_ass_attribute9
1260     ,p_ass_attribute10
1261     ,p_ass_attribute11
1262     ,p_ass_attribute12
1263     ,p_ass_attribute13
1264     ,p_ass_attribute14
1265     ,p_ass_attribute15
1266     ,p_ass_attribute16
1267     ,p_ass_attribute17
1268     ,p_ass_attribute18
1269     ,p_ass_attribute19
1270     ,p_ass_attribute20
1271     ,p_ass_attribute21
1272     ,p_ass_attribute22
1273     ,p_ass_attribute23
1274     ,p_ass_attribute24
1275     ,p_ass_attribute25
1276     ,p_ass_attribute26
1277     ,p_ass_attribute27
1278     ,p_ass_attribute28
1279     ,p_ass_attribute29
1280     ,p_ass_attribute30
1281     ,p_ws_comments
1282     ,p_cpi_attribute_category
1283     ,p_cpi_attribute1
1284     ,p_cpi_attribute2
1285     ,p_cpi_attribute3
1286     ,p_cpi_attribute4
1287     ,p_cpi_attribute5
1288     ,p_cpi_attribute6
1289     ,p_cpi_attribute7
1290     ,p_cpi_attribute8
1291     ,p_cpi_attribute9
1292     ,p_cpi_attribute10
1293     ,p_cpi_attribute11
1294     ,p_cpi_attribute12
1295     ,p_cpi_attribute13
1296     ,p_cpi_attribute14
1297     ,p_cpi_attribute15
1298     ,p_cpi_attribute16
1299     ,p_cpi_attribute17
1300     ,p_cpi_attribute18
1301     ,p_cpi_attribute19
1302     ,p_cpi_attribute20
1303     ,p_cpi_attribute21
1304     ,p_cpi_attribute22
1305     ,p_cpi_attribute23
1306     ,p_cpi_attribute24
1307     ,p_cpi_attribute25
1308     ,p_cpi_attribute26
1309     ,p_cpi_attribute27
1310     ,p_cpi_attribute28
1311     ,p_cpi_attribute29
1312     ,p_cpi_attribute30
1313     ,p_feedback_date
1314     );
1315   --
1316   -- Having converted the arguments into the ben_cpi_rec
1317   -- plsql record structure we call the corresponding record business process.
1318   --
1319   ben_cpi_ins.ins
1320      (l_rec
1321      );
1322   --
1323   p_object_version_number := l_rec.object_version_number;
1324   --
1325   if g_debug then
1326      hr_utility.set_location(' Leaving:'||l_proc, 10);
1327   end if;
1328 End ins;
1329 --
1330 end ben_cpi_ins;