DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PRV_INS

Source


1 Package Body ben_prv_ins as
2 /* $Header: beprvrhi.pkb 120.0.12000000.3 2007/07/01 19:16:05 mmudigon noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_prv_ins.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< insert_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml insert logic. The processing of
17 --   this procedure are as follows:
18 --   1) Initialise the object_version_number to 1 if the object_version_number
19 --      is defined as an attribute for this entity.
20 --   2) To set and unset the g_api_dml status as required (as we are about to
21 --      perform dml).
22 --   3) To insert the row into the schema.
23 --   4) To trap any constraint violations that may have occurred.
24 --   5) To raise any other errors.
25 --
26 -- Prerequisites:
27 --   This is an internal private procedure which must be called from the ins
28 --   procedure and must have all mandatory attributes set (except the
29 --   object_version_number which is initialised within this procedure).
30 --
31 -- In Parameters:
32 --   A Pl/Sql record structre.
33 --
34 -- Post Success:
35 --   The specified row will be inserted into the schema.
36 --
37 -- Post Failure:
38 --   On the insert dml failure it is important to note that we always reset the
39 --   g_api_dml status to false.
40 --   If a check, unique or parent integrity constraint violation is raised the
41 --   constraint_error procedure will be called.
42 --   If any other error is reported, the error will be raised after the
43 --   g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 --   None.
47 --
48 -- Access Status:
49 --   Internal Row Handler Use Only.
50 --
51 -- {End Of Comments}
52 -- ----------------------------------------------------------------------------
53 Procedure insert_dml(p_rec in out nocopy ben_prv_shd.g_rec_type) is
54 --
55   l_proc  varchar2(72) := g_package||'insert_dml';
56 --
57 Begin
58   hr_utility.set_location('Entering:'||l_proc, 5);
59   p_rec.object_version_number := 1;  -- Initialise the object version
60   --
61   ben_prv_shd.g_api_dml := true;  -- Set the api dml status
62   --
63   -- Insert the row into: ben_prtt_rt_val
64   --
65   insert into ben_prtt_rt_val
66   (	prtt_rt_val_id,
67 	rt_strt_dt,
68 	rt_end_dt,
69 	rt_typ_cd,
70 	tx_typ_cd,
71 	ordr_num,
72 	acty_typ_cd,
73 	mlt_cd,
74 	acty_ref_perd_cd,
75 	rt_val,
76 	ann_rt_val,
77 	cmcd_rt_val,
78 	cmcd_ref_perd_cd,
79 	bnft_rt_typ_cd,
80 	dsply_on_enrt_flag,
81 	rt_ovridn_flag,
82 	rt_ovridn_thru_dt,
83 	elctns_made_dt,
87 	actl_prem_id,
84 	prtt_rt_val_stat_cd,
85 	prtt_enrt_rslt_id,
86 	cvg_amt_calc_mthd_id,
88 	comp_lvl_fctr_id,
89 	element_entry_value_id,
90 	per_in_ler_id,
91 	ended_per_in_ler_id,
92 	acty_base_rt_id,
93 	prtt_reimbmt_rqst_id,
94         prtt_rmt_aprvd_fr_pymt_id,
95         pp_in_yr_used_num,
96 	business_group_id,
97 	prv_attribute_category,
98 	prv_attribute1,
99 	prv_attribute2,
100 	prv_attribute3,
101 	prv_attribute4,
102 	prv_attribute5,
103 	prv_attribute6,
104 	prv_attribute7,
105 	prv_attribute8,
106 	prv_attribute9,
107 	prv_attribute10,
108 	prv_attribute11,
109 	prv_attribute12,
110 	prv_attribute13,
111 	prv_attribute14,
112 	prv_attribute15,
113 	prv_attribute16,
114 	prv_attribute17,
115 	prv_attribute18,
116 	prv_attribute19,
117 	prv_attribute20,
118 	prv_attribute21,
119 	prv_attribute22,
120 	prv_attribute23,
121 	prv_attribute24,
122 	prv_attribute25,
123 	prv_attribute26,
124 	prv_attribute27,
125 	prv_attribute28,
126 	prv_attribute29,
127 	prv_attribute30,
128         pk_id_table_name,
129         pk_id,
130 	object_version_number
131   )
132   Values
133   (	p_rec.prtt_rt_val_id,
134 	p_rec.rt_strt_dt,
135 	p_rec.rt_end_dt,
136 	p_rec.rt_typ_cd,
137 	p_rec.tx_typ_cd,
138 	p_rec.ordr_num,
139 	p_rec.acty_typ_cd,
140 	p_rec.mlt_cd,
141 	p_rec.acty_ref_perd_cd,
142 	p_rec.rt_val,
143 	p_rec.ann_rt_val,
144 	p_rec.cmcd_rt_val,
145 	p_rec.cmcd_ref_perd_cd,
146 	p_rec.bnft_rt_typ_cd,
147 	p_rec.dsply_on_enrt_flag,
148 	p_rec.rt_ovridn_flag,
149 	p_rec.rt_ovridn_thru_dt,
150 	p_rec.elctns_made_dt,
151 	p_rec.prtt_rt_val_stat_cd,
152 	p_rec.prtt_enrt_rslt_id,
153 	p_rec.cvg_amt_calc_mthd_id,
154 	p_rec.actl_prem_id,
155 	p_rec.comp_lvl_fctr_id,
156 	p_rec.element_entry_value_id,
157 	p_rec.per_in_ler_id,
158 	p_rec.ended_per_in_ler_id,
159 	p_rec.acty_base_rt_id,
160 	p_rec.prtt_reimbmt_rqst_id,
161         p_rec.prtt_rmt_aprvd_fr_pymt_id,
162         p_rec.pp_in_yr_used_num,
163 	p_rec.business_group_id,
164 	p_rec.prv_attribute_category,
165 	p_rec.prv_attribute1,
166 	p_rec.prv_attribute2,
167 	p_rec.prv_attribute3,
168 	p_rec.prv_attribute4,
169 	p_rec.prv_attribute5,
170 	p_rec.prv_attribute6,
171 	p_rec.prv_attribute7,
172 	p_rec.prv_attribute8,
173 	p_rec.prv_attribute9,
174 	p_rec.prv_attribute10,
175 	p_rec.prv_attribute11,
176 	p_rec.prv_attribute12,
177 	p_rec.prv_attribute13,
178 	p_rec.prv_attribute14,
179 	p_rec.prv_attribute15,
180 	p_rec.prv_attribute16,
181 	p_rec.prv_attribute17,
182 	p_rec.prv_attribute18,
183 	p_rec.prv_attribute19,
184 	p_rec.prv_attribute20,
185 	p_rec.prv_attribute21,
186 	p_rec.prv_attribute22,
187 	p_rec.prv_attribute23,
188 	p_rec.prv_attribute24,
189 	p_rec.prv_attribute25,
190 	p_rec.prv_attribute26,
191 	p_rec.prv_attribute27,
192 	p_rec.prv_attribute28,
193 	p_rec.prv_attribute29,
194 	p_rec.prv_attribute30,
195 	p_rec.pk_id_table_name,
196 	p_rec.pk_id,
197 	p_rec.object_version_number
198   );
199   --
200   ben_prv_shd.g_api_dml := false;   -- Unset the api dml status
201   --
202   hr_utility.set_location(' Leaving:'||l_proc, 10);
203 Exception
204   When hr_api.check_integrity_violated Then
205     -- A check constraint has been violated
206     ben_prv_shd.g_api_dml := false;   -- Unset the api dml status
207     ben_prv_shd.constraint_error
208       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
209   When hr_api.parent_integrity_violated Then
210     -- Parent integrity has been violated
211     ben_prv_shd.g_api_dml := false;   -- Unset the api dml status
212     ben_prv_shd.constraint_error
213       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
214   When hr_api.unique_integrity_violated Then
215     -- Unique integrity has been violated
216     ben_prv_shd.g_api_dml := false;   -- Unset the api dml status
217     ben_prv_shd.constraint_error
218       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
219   When Others Then
220     ben_prv_shd.g_api_dml := false;   -- Unset the api dml status
221     Raise;
222 End insert_dml;
223 --
224 -- ----------------------------------------------------------------------------
225 -- |------------------------------< pre_insert >------------------------------|
226 -- ----------------------------------------------------------------------------
227 -- {Start Of Comments}
228 --
229 -- Description:
230 --   This private procedure contains any processing which is required before
231 --   the insert dml. Presently, if the entity has a corresponding primary
232 --   key which is maintained by an associating sequence, the primary key for
233 --   the entity will be populated with the next sequence value in
234 --   preparation for the insert dml.
235 --
236 -- Prerequisites:
237 --   This is an internal procedure which is called from the ins procedure.
238 --
239 -- In Parameters:
240 --   A Pl/Sql record structre.
241 --
242 -- Post Success:
243 --   Processing continues.
244 --
245 -- Post Failure:
246 --   If an error has occurred, an error message and exception will be raised
247 --   but not handled.
248 --
249 -- Developer Implementation Notes:
250 --   Any pre-processing required before the insert dml is issued should be
251 --   coded within this procedure. As stated above, a good example is the
255 --
252 --   generation of a primary key number via a corresponding sequence.
253 --   It is important to note that any 3rd party maintenance should be reviewed
254 --   before placing in this procedure.
256 -- Access Status:
257 --   Internal Row Handler Use Only.
258 --
259 -- {End Of Comments}
260 -- ----------------------------------------------------------------------------
261 Procedure pre_insert(p_rec  in out nocopy ben_prv_shd.g_rec_type) is
262 --
263   l_proc  varchar2(72) := g_package||'pre_insert';
264 --
265   Cursor C_Sel1 is select ben_prtt_rt_val_s.nextval from sys.dual;
266 --
267 Begin
268   hr_utility.set_location('Entering:'||l_proc, 5);
269   --
270   --
271   -- Select the next sequence number
272   --
273   Open C_Sel1;
274   Fetch C_Sel1 Into p_rec.prtt_rt_val_id;
275   Close C_Sel1;
276 
277   if p_rec.rt_strt_dt > p_rec.rt_end_dt and
278      p_rec.prtt_rt_val_stat_cd is null then
279      p_rec.prtt_rt_val_stat_cd := 'VOIDD';
280   end if;
281   --
282   hr_utility.set_location(' Leaving:'||l_proc, 10);
283 End pre_insert;
284 --
285 -- ----------------------------------------------------------------------------
286 -- |-----------------------------< post_insert >------------------------------|
287 -- ----------------------------------------------------------------------------
288 -- {Start Of Comments}
289 --
290 -- Description:
291 --   This private procedure contains any processing which is required after the
292 --   insert dml.
293 --
294 -- Prerequisites:
295 --   This is an internal procedure which is called from the ins procedure.
296 --
297 -- In Parameters:
298 --   A Pl/Sql record structre.
299 --
300 -- Post Success:
301 --   Processing continues.
302 --
303 -- Post Failure:
304 --   If an error has occurred, an error message and exception will be raised
305 --   but not handled.
306 --
307 -- Developer Implementation Notes:
308 --   Any post-processing required after the insert dml is issued should be
309 --   coded within this procedure. It is important to note that any 3rd party
310 --   maintenance should be reviewed before placing in this procedure.
311 --
312 -- Access Status:
313 --   Internal Row Handler Use Only.
314 --
315 -- {End Of Comments}
316 -- ----------------------------------------------------------------------------
317 Procedure post_insert(p_rec in ben_prv_shd.g_rec_type,p_effective_date  in date) is
318 --
319   l_proc  varchar2(72) := g_package||'post_insert';
320 --  p_effective_date date := sysdate;
321   l_old_rec   ben_prv_ler.g_prv_ler_rec ;
322   l_new_rec   ben_prv_ler.g_prv_ler_rec ;
323 --
324 --
325 Begin
326   hr_utility.set_location('Entering:'||l_proc, 5);
327   --
328   begin
329      -- intialising variable for calling ler_check
330      l_new_rec.prtt_enrt_rslt_id := p_rec.prtt_enrt_rslt_id;
331      l_new_rec.business_group_id := p_rec.business_group_id;
332      l_new_rec.rt_strt_dt        := p_rec.rt_strt_dt;
333      l_new_rec.rt_end_dt         := p_rec.rt_end_dt;
334      l_new_rec.cmcd_rt_val       := p_rec.cmcd_rt_val;
335      l_new_rec.ann_rt_val        := p_rec.ann_rt_val;
336      l_new_rec.rt_val            := p_rec.rt_val;
337      l_new_rec.rt_ovridn_flag    := p_rec.rt_ovridn_flag;
338      l_new_rec.elctns_made_dt    := p_rec.elctns_made_dt;
339      l_new_rec.rt_ovridn_thru_dt := p_rec.rt_ovridn_thru_dt;
340      l_new_rec.tx_typ_cd         := p_rec.tx_typ_cd;
341      l_new_rec.acty_typ_cd       := p_rec.acty_typ_cd;
342      l_new_rec.per_in_ler_id     := p_rec.per_in_ler_id;
343      l_new_rec.acty_base_rt_id   := p_rec.acty_base_rt_id;
344      l_new_rec.prtt_rt_val_stat_cd := p_rec.prtt_rt_val_stat_cd;
345      l_new_rec.prtt_rt_val_id      := p_rec.prtt_rt_val_id;
346      -- Start of API User Hook for post_insert.
347     --
348     ben_prv_rki.after_insert
349       (
350   p_prtt_rt_val_id                =>p_rec.prtt_rt_val_id
351  ,p_rt_strt_dt                    =>p_rec.rt_strt_dt
352  ,p_rt_end_dt                     =>p_rec.rt_end_dt
353  ,p_rt_typ_cd                     =>p_rec.rt_typ_cd
354  ,p_tx_typ_cd                     =>p_rec.tx_typ_cd
355  ,p_ordr_num			  => p_rec.ordr_num
356  ,p_acty_typ_cd                   =>p_rec.acty_typ_cd
357  ,p_mlt_cd                        =>p_rec.mlt_cd
358  ,p_acty_ref_perd_cd              =>p_rec.acty_ref_perd_cd
359  ,p_rt_val                        =>p_rec.rt_val
360  ,p_ann_rt_val                    =>p_rec.ann_rt_val
361  ,p_cmcd_rt_val                   =>p_rec.cmcd_rt_val
362  ,p_cmcd_ref_perd_cd              =>p_rec.cmcd_ref_perd_cd
363  ,p_bnft_rt_typ_cd                =>p_rec.bnft_rt_typ_cd
364  ,p_dsply_on_enrt_flag            =>p_rec.dsply_on_enrt_flag
365  ,p_rt_ovridn_flag                =>p_rec.rt_ovridn_flag
366  ,p_rt_ovridn_thru_dt             =>p_rec.rt_ovridn_thru_dt
367  ,p_elctns_made_dt                =>p_rec.elctns_made_dt
368  ,p_prtt_rt_val_stat_cd           => p_rec.prtt_rt_val_stat_cd
369  ,p_prtt_enrt_rslt_id             =>p_rec.prtt_enrt_rslt_id
370  ,p_cvg_amt_calc_mthd_id          =>p_rec.cvg_amt_calc_mthd_id
371  ,p_actl_prem_id                  =>p_rec.actl_prem_id
372  ,p_comp_lvl_fctr_id              =>p_rec.comp_lvl_fctr_id
373  ,p_element_entry_value_id        =>p_rec.element_entry_value_id
374  ,p_per_in_ler_id                 =>p_rec.per_in_ler_id
375  ,p_ended_per_in_ler_id           =>p_rec.ended_per_in_ler_id
376  ,p_acty_base_rt_id               =>p_rec.acty_base_rt_id
377  ,p_prtt_reimbmt_rqst_id          =>p_rec.prtt_reimbmt_rqst_id
378  ,p_prtt_rmt_aprvd_fr_pymt_id     =>P_rec.prtt_rmt_aprvd_fr_pymt_id
379  ,p_pp_in_yr_used_num             =>p_rec.pp_in_yr_used_num
380  ,p_business_group_id             =>p_rec.business_group_id
381  ,p_prv_attribute_category        =>p_rec.prv_attribute_category
385  ,p_prv_attribute4                =>p_rec.prv_attribute4
382  ,p_prv_attribute1                =>p_rec.prv_attribute1
383  ,p_prv_attribute2                =>p_rec.prv_attribute2
384  ,p_prv_attribute3                =>p_rec.prv_attribute3
386  ,p_prv_attribute5                =>p_rec.prv_attribute5
387  ,p_prv_attribute6                =>p_rec.prv_attribute6
388  ,p_prv_attribute7                =>p_rec.prv_attribute7
389  ,p_prv_attribute8                =>p_rec.prv_attribute8
390  ,p_prv_attribute9                =>p_rec.prv_attribute9
391  ,p_prv_attribute10               =>p_rec.prv_attribute10
392  ,p_prv_attribute11               =>p_rec.prv_attribute11
393  ,p_prv_attribute12               =>p_rec.prv_attribute12
394  ,p_prv_attribute13               =>p_rec.prv_attribute13
395  ,p_prv_attribute14               =>p_rec.prv_attribute14
396  ,p_prv_attribute15               =>p_rec.prv_attribute15
397  ,p_prv_attribute16               =>p_rec.prv_attribute16
398  ,p_prv_attribute17               =>p_rec.prv_attribute17
399  ,p_prv_attribute18               =>p_rec.prv_attribute18
400  ,p_prv_attribute19               =>p_rec.prv_attribute19
401  ,p_prv_attribute20               =>p_rec.prv_attribute20
402  ,p_prv_attribute21               =>p_rec.prv_attribute21
403  ,p_prv_attribute22               =>p_rec.prv_attribute22
404  ,p_prv_attribute23               =>p_rec.prv_attribute23
405  ,p_prv_attribute24               =>p_rec.prv_attribute24
406  ,p_prv_attribute25               =>p_rec.prv_attribute25
407  ,p_prv_attribute26               =>p_rec.prv_attribute26
408  ,p_prv_attribute27               =>p_rec.prv_attribute27
409  ,p_prv_attribute28               =>p_rec.prv_attribute28
410  ,p_prv_attribute29               =>p_rec.prv_attribute29
411  ,p_prv_attribute30               =>p_rec.prv_attribute30
412  ,p_pk_id_table_name              =>p_rec.pk_id_table_name
413  ,p_pk_id                         =>p_rec.pk_id
414  ,p_object_version_number         =>p_rec.object_version_number
415  ,p_effective_date                =>p_effective_date
416       );
417  --
418  hr_utility.set_location('DM Mode prv ' ||hr_general.g_data_migrator_mode ,379);
419  if hr_general.g_data_migrator_mode not in ( 'Y','P') then
420     --bug 1408379  caliing ler_chk moved from trigger to here
421      ben_prv_ler.ler_chk(p_old  => l_old_rec
422                      ,p_new =>  l_new_rec
423                      ,p_effective_date => p_effective_date  );
424   End if ;
425  exception
426     --
427     when hr_api.cannot_find_prog_unit then
428       --
429       hr_api.cannot_find_prog_unit_error
430         (p_module_name => 'ben_prtt_rt_val'
431         ,p_hook_type   => 'AI');
432       --
433   end;
434   --
435   -- End of API User Hook for post_insert.
436   --
437   hr_utility.set_location(' Leaving:'||l_proc, 10);
438 End post_insert;
439 --
440 -- ----------------------------------------------------------------------------
441 -- |---------------------------------< ins >----------------------------------|
442 -- ----------------------------------------------------------------------------
443 Procedure ins
444   (
445   p_rec        in out nocopy ben_prv_shd.g_rec_type ,
446   p_effective_date in date
447   ) is
448   --
449   l_proc  varchar2(72) := g_package||'ins';
450 Begin
451 
452   hr_utility.set_location('Entering:'||l_proc, 5);
453 
454   --
455   -- Call the supporting insert validate operations
456   --
457   ben_prv_bus.insert_validate(p_rec,p_effective_date );
458   --
459   -- Call the supporting pre-insert operation
460   --
461   pre_insert(p_rec );
462   --
463   -- Insert the row
464   --
465   insert_dml(p_rec);
466   --
467   -- Call the supporting post-insert operation
468   --
469   post_insert(p_rec,p_effective_date );
470 
471 end ins;
472 --
473 -- ----------------------------------------------------------------------------
474 -- |---------------------------------< ins >----------------------------------|
475 -- ----------------------------------------------------------------------------
476 Procedure ins
477   (
478   p_prtt_rt_val_id               out nocopy number,
479   p_enrt_rt_id			 in number	     default null,
480   p_rt_strt_dt                   in date,
481   p_rt_end_dt                    in date,
482   p_rt_typ_cd                    in varchar2         default null,
483   p_tx_typ_cd                    in varchar2         default null,
484   p_ordr_num			 in number           default null,
485   p_acty_typ_cd                  in varchar2         default null,
486   p_mlt_cd                       in varchar2         default null,
487   p_acty_ref_perd_cd             in varchar2         default null,
488   p_rt_val                       in number           default null,
489   p_ann_rt_val                   in number           default null,
490   p_cmcd_rt_val                  in number           default null,
491   p_cmcd_ref_perd_cd             in varchar2         default null,
492   p_bnft_rt_typ_cd               in varchar2         default null,
493   p_dsply_on_enrt_flag           in varchar2,
494   p_rt_ovridn_flag               in varchar2,
495   p_rt_ovridn_thru_dt            in date             default null,
496   p_elctns_made_dt               in date             default null,
497   p_prtt_rt_val_stat_cd          in varchar2         default null,
498   p_prtt_enrt_rslt_id            in number,
499   p_cvg_amt_calc_mthd_id         in number           default null,
500   p_actl_prem_id                 in number           default null,
501   p_comp_lvl_fctr_id             in number           default null,
502   p_element_entry_value_id       in number           default null,
503   p_per_in_ler_id                in number           default null,
504   p_ended_per_in_ler_id          in number           default null,
505   p_acty_base_rt_id              in number           default null,
506   p_prtt_reimbmt_rqst_id         in number           default null,
507   p_prtt_rmt_aprvd_fr_pymt_id    in number           default null,
508   p_pp_in_yr_used_num            in number           default null,
509   p_business_group_id            in number,
510   p_prv_attribute_category       in varchar2         default null,
511   p_prv_attribute1               in varchar2         default null,
512   p_prv_attribute2               in varchar2         default null,
513   p_prv_attribute3               in varchar2         default null,
514   p_prv_attribute4               in varchar2         default null,
515   p_prv_attribute5               in varchar2         default null,
516   p_prv_attribute6               in varchar2         default null,
517   p_prv_attribute7               in varchar2         default null,
518   p_prv_attribute8               in varchar2         default null,
519   p_prv_attribute9               in varchar2         default null,
520   p_prv_attribute10              in varchar2         default null,
521   p_prv_attribute11              in varchar2         default null,
522   p_prv_attribute12              in varchar2         default null,
523   p_prv_attribute13              in varchar2         default null,
524   p_prv_attribute14              in varchar2         default null,
525   p_prv_attribute15              in varchar2         default null,
526   p_prv_attribute16              in varchar2         default null,
527   p_prv_attribute17              in varchar2         default null,
528   p_prv_attribute18              in varchar2         default null,
529   p_prv_attribute19              in varchar2         default null,
530   p_prv_attribute20              in varchar2         default null,
531   p_prv_attribute21              in varchar2         default null,
532   p_prv_attribute22              in varchar2         default null,
533   p_prv_attribute23              in varchar2         default null,
534   p_prv_attribute24              in varchar2         default null,
535   p_prv_attribute25              in varchar2         default null,
536   p_prv_attribute26              in varchar2         default null,
537   p_prv_attribute27              in varchar2         default null,
538   p_prv_attribute28              in varchar2         default null,
539   p_prv_attribute29              in varchar2         default null,
540   p_prv_attribute30              in varchar2         default null,
541   p_pk_id_table_name             in varchar2         default null,
542   p_pk_id                        in number           default null,
543   p_object_version_number        out nocopy number                      ,
544   p_effective_date               in  date
545   ) is
546 --
547   l_rec	  ben_prv_shd.g_rec_type;
548   l_proc  varchar2(72) := g_package||'ins';
549 --
550 Begin
551   hr_utility.set_location('Entering:'||l_proc, 5);
552   --
553   -- Call conversion function to turn arguments into the
554   -- p_rec structure.
555   --
556   l_rec :=
557   ben_prv_shd.convert_args
558   (
559   null,
560   p_enrt_rt_id,
561   p_rt_strt_dt,
562   p_rt_end_dt,
563   p_rt_typ_cd,
564   p_tx_typ_cd,
565   p_ordr_num,
566   p_acty_typ_cd,
567   p_mlt_cd,
568   p_acty_ref_perd_cd,
569   p_rt_val,
570   p_ann_rt_val,
571   p_cmcd_rt_val,
572   p_cmcd_ref_perd_cd,
573   p_bnft_rt_typ_cd,
574   p_dsply_on_enrt_flag,
575   p_rt_ovridn_flag,
576   p_rt_ovridn_thru_dt,
577   p_elctns_made_dt,
578   p_prtt_rt_val_stat_cd,
579   p_prtt_enrt_rslt_id,
580   p_cvg_amt_calc_mthd_id,
581   p_actl_prem_id,
582   p_comp_lvl_fctr_id,
583   p_element_entry_value_id,
584   p_per_in_ler_id,
585   p_ended_per_in_ler_id,
586   p_acty_base_rt_id,
587   p_prtt_reimbmt_rqst_id,
588   p_prtt_rmt_aprvd_fr_pymt_id,
589   p_pp_in_yr_used_num,
590   p_business_group_id,
591   p_prv_attribute_category,
592   p_prv_attribute1,
593   p_prv_attribute2,
594   p_prv_attribute3,
595   p_prv_attribute4,
596   p_prv_attribute5,
597   p_prv_attribute6,
598   p_prv_attribute7,
599   p_prv_attribute8,
600   p_prv_attribute9,
601   p_prv_attribute10,
602   p_prv_attribute11,
603   p_prv_attribute12,
604   p_prv_attribute13,
605   p_prv_attribute14,
606   p_prv_attribute15,
607   p_prv_attribute16,
608   p_prv_attribute17,
609   p_prv_attribute18,
610   p_prv_attribute19,
611   p_prv_attribute20,
612   p_prv_attribute21,
613   p_prv_attribute22,
614   p_prv_attribute23,
615   p_prv_attribute24,
616   p_prv_attribute25,
617   p_prv_attribute26,
618   p_prv_attribute27,
619   p_prv_attribute28,
620   p_prv_attribute29,
621   p_prv_attribute30,
622   p_pk_id_table_name,
623   p_pk_id,
624   null
625   );
626   --
627   -- Having converted the arguments into the ben_prv_rec
628   -- plsql record structure we call the corresponding record business process.
629   --
630   ins(p_rec => l_rec,p_effective_date => p_effective_date );
631   --
632   -- As the primary key argument(s)
633   -- are specified as an OUT's we must set these values.
634   --
635   p_prtt_rt_val_id := l_rec.prtt_rt_val_id;
636   p_object_version_number := l_rec.object_version_number;
637   --
638   hr_utility.set_location(' Leaving:'||l_proc, 10);
639 End ins;
640 --
641 end ben_prv_ins;