DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_RTS_INS

Source


1 Package Body ben_rts_ins as
2 /* $Header: bertsrhi.pkb 120.1 2006/01/09 14:37 maagrawa noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  ben_rts_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_person_rate_id_i  number   default null;
15 --
16 -- ----------------------------------------------------------------------------
17 -- |------------------------< set_base_key_value >----------------------------|
18 -- ----------------------------------------------------------------------------
19 procedure set_base_key_value
20   (p_person_rate_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_rts_ins.g_person_rate_id_i := p_person_rate_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 -- |------------------------------< insert_dml >------------------------------|
39 -- ----------------------------------------------------------------------------
40 -- {Start Of Comments}
41 --
42 -- Description:
43 --   This procedure controls the actual dml insert logic. The processing of
44 --   this procedure are as follows:
45 --   1) Initialise the object_version_number to 1 if the object_version_number
46 --      is defined as an attribute for this entity.
47 --   2) To set and unset the g_api_dml status as required (as we are about to
48 --      perform dml).
49 --   3) To insert the row into the schema.
50 --   4) To trap any constraint violations that may have occurred.
51 --   5) To raise any other errors.
52 --
53 -- Prerequisites:
54 --   This is an internal private procedure which must be called from the ins
55 --   procedure and must have all mandatory attributes set (except the
56 --   object_version_number which is initialised within this procedure).
57 --
58 -- In Parameters:
59 --   A Pl/Sql record structre.
60 --
61 -- Post Success:
62 --   The specified row will be inserted into the schema.
63 --
64 -- Post Failure:
65 --   On the insert dml failure it is important to note that we always reset the
66 --   g_api_dml status to false.
67 --   If a check, unique or parent integrity constraint violation is raised the
68 --   constraint_error procedure will be called.
69 --   If any other error is reported, the error will be raised after the
70 --   g_api_dml status is reset.
71 --
72 -- Developer Implementation Notes:
73 --   None.
74 --
75 -- Access Status:
76 --   Internal Row Handler Use Only.
77 --
78 -- {End Of Comments}
79 -- ----------------------------------------------------------------------------
80 Procedure insert_dml
81   (p_rec in out nocopy ben_rts_shd.g_rec_type
82   ) is
83 --
84   l_proc  varchar2(72) := g_package||'insert_dml';
85 --
86 Begin
87   if g_debug then
88      hr_utility.set_location('Entering:'||l_proc, 5);
89   end if;
90   p_rec.object_version_number := 1;  -- Initialise the object version
91   --
92   ben_rts_shd.g_api_dml := true;  -- Set the api dml status
93   --
94   -- Insert the row into: ben_cwb_person_rates
95   --
96   insert into ben_cwb_person_rates
97       (person_rate_id
98       ,group_per_in_ler_id
99       ,pl_id
100       ,oipl_id
101       ,group_pl_id
102       ,group_oipl_id
103       ,lf_evt_ocrd_dt
104       ,person_id
105       ,assignment_id
106       ,elig_flag
107       ,ws_val
108       ,ws_mn_val
109       ,ws_mx_val
110       ,ws_incr_val
111       ,elig_sal_val
112       ,stat_sal_val
113       ,oth_comp_val
114       ,tot_comp_val
115       ,misc1_val
116       ,misc2_val
117       ,misc3_val
118       ,rec_val
119       ,rec_mn_val
120       ,rec_mx_val
121       ,rec_incr_val
122       ,ws_val_last_upd_date
123       ,ws_val_last_upd_by
124       ,pay_proposal_id
125       ,element_entry_value_id
126       ,inelig_rsn_cd
127       ,elig_ovrid_dt
128       ,elig_ovrid_person_id
129       ,copy_dist_bdgt_val
130       ,copy_ws_bdgt_val
131       ,copy_rsrv_val
132       ,copy_dist_bdgt_mn_val
133       ,copy_dist_bdgt_mx_val
134       ,copy_dist_bdgt_incr_val
135       ,copy_ws_bdgt_mn_val
136       ,copy_ws_bdgt_mx_val
137       ,copy_ws_bdgt_incr_val
138       ,copy_rsrv_mn_val
139       ,copy_rsrv_mx_val
140       ,copy_rsrv_incr_val
141       ,copy_dist_bdgt_iss_val
142       ,copy_ws_bdgt_iss_val
143       ,copy_dist_bdgt_iss_date
144       ,copy_ws_bdgt_iss_date
145       ,comp_posting_date
146       ,ws_rt_start_date
147       ,currency
148       ,object_version_number
149       )
150   Values
151     (p_rec.person_rate_id
152     ,p_rec.group_per_in_ler_id
153     ,p_rec.pl_id
154     ,p_rec.oipl_id
155     ,p_rec.group_pl_id
156     ,p_rec.group_oipl_id
157     ,p_rec.lf_evt_ocrd_dt
158     ,p_rec.person_id
159     ,p_rec.assignment_id
160     ,p_rec.elig_flag
161     ,p_rec.ws_val
162     ,p_rec.ws_mn_val
163     ,p_rec.ws_mx_val
164     ,p_rec.ws_incr_val
165     ,p_rec.elig_sal_val
166     ,p_rec.stat_sal_val
167     ,p_rec.oth_comp_val
168     ,p_rec.tot_comp_val
169     ,p_rec.misc1_val
170     ,p_rec.misc2_val
171     ,p_rec.misc3_val
172     ,p_rec.rec_val
173     ,p_rec.rec_mn_val
174     ,p_rec.rec_mx_val
175     ,p_rec.rec_incr_val
176     ,p_rec.ws_val_last_upd_date
177     ,p_rec.ws_val_last_upd_by
178     ,p_rec.pay_proposal_id
179     ,p_rec.element_entry_value_id
180     ,p_rec.inelig_rsn_cd
181     ,p_rec.elig_ovrid_dt
182     ,p_rec.elig_ovrid_person_id
183     ,p_rec.copy_dist_bdgt_val
184     ,p_rec.copy_ws_bdgt_val
185     ,p_rec.copy_rsrv_val
186     ,p_rec.copy_dist_bdgt_mn_val
187     ,p_rec.copy_dist_bdgt_mx_val
188     ,p_rec.copy_dist_bdgt_incr_val
189     ,p_rec.copy_ws_bdgt_mn_val
190     ,p_rec.copy_ws_bdgt_mx_val
191     ,p_rec.copy_ws_bdgt_incr_val
192     ,p_rec.copy_rsrv_mn_val
193     ,p_rec.copy_rsrv_mx_val
194     ,p_rec.copy_rsrv_incr_val
195     ,p_rec.copy_dist_bdgt_iss_val
196     ,p_rec.copy_ws_bdgt_iss_val
197     ,p_rec.copy_dist_bdgt_iss_date
198     ,p_rec.copy_ws_bdgt_iss_date
199     ,p_rec.comp_posting_date
200     ,p_rec.ws_rt_start_date
201     ,p_rec.currency
202     ,p_rec.object_version_number
203     );
204   --
205   ben_rts_shd.g_api_dml := false;   -- Unset the api dml status
206   --
207   if g_debug then
208      hr_utility.set_location(' Leaving:'||l_proc, 10);
209   end if;
210 Exception
211   When hr_api.check_integrity_violated Then
212     -- A check constraint has been violated
213     ben_rts_shd.g_api_dml := false;   -- Unset the api dml status
214     ben_rts_shd.constraint_error
215       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
216   When hr_api.parent_integrity_violated Then
217     -- Parent integrity has been violated
218     ben_rts_shd.g_api_dml := false;   -- Unset the api dml status
219     ben_rts_shd.constraint_error
220       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
221   When hr_api.unique_integrity_violated Then
222     -- Unique integrity has been violated
223     ben_rts_shd.g_api_dml := false;   -- Unset the api dml status
224     ben_rts_shd.constraint_error
225       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
226   When Others Then
227     ben_rts_shd.g_api_dml := false;   -- Unset the api dml status
228     Raise;
229 End insert_dml;
230 --
231 -- ----------------------------------------------------------------------------
232 -- |------------------------------< pre_insert >------------------------------|
233 -- ----------------------------------------------------------------------------
234 -- {Start Of Comments}
235 --
236 -- Description:
237 --   This private procedure contains any processing which is required before
238 --   the insert dml. Presently, if the entity has a corresponding primary
239 --   key which is maintained by an associating sequence, the primary key for
240 --   the entity will be populated with the next sequence value in
241 --   preparation for the insert dml.
242 --
243 -- Prerequisites:
244 --   This is an internal procedure which is called from the ins procedure.
245 --
246 -- In Parameters:
247 --   A Pl/Sql record structure.
248 --
249 -- Post Success:
250 --   Processing continues.
251 --
252 -- Post Failure:
253 --   If an error has occurred, an error message and exception will be raised
254 --   but not handled.
255 --
256 -- Developer Implementation Notes:
257 --   Any pre-processing required before the insert dml is issued should be
258 --   coded within this procedure. As stated above, a good example is the
259 --   generation of a primary key number via a corresponding sequence.
260 --   It is important to note that any 3rd party maintenance should be reviewed
261 --   before placing in this procedure.
262 --
263 -- Access Status:
264 --   Internal Row Handler Use Only.
265 --
266 -- {End Of Comments}
267 -- ----------------------------------------------------------------------------
268 Procedure pre_insert
269   (p_rec  in out nocopy ben_rts_shd.g_rec_type
270   ) is
271 --
272   Cursor C_Sel1 is select ben_cwb_person_rates_s.nextval from sys.dual;
273 --
274   Cursor C_Sel2 is
275     Select null
276       from ben_cwb_person_rates
277      where person_rate_id =
278              ben_rts_ins.g_person_rate_id_i;
279 --
280   l_proc   varchar2(72) := g_package||'pre_insert';
281   l_exists varchar2(1);
282 --
283 Begin
284   if g_debug then
285      hr_utility.set_location('Entering:'||l_proc, 5);
286   end if;
287   --
288 If (ben_rts_ins.g_person_rate_id_i is not null) Then
289     --
290     -- Verify registered primary key values not already in use
291     --
292     Open C_Sel2;
293     Fetch C_Sel2 into l_exists;
294     If C_Sel2%found Then
295        Close C_Sel2;
296        --
297        -- The primary key values are already in use.
298        --
299        fnd_message.set_name('PER','PER_289391_KEY_ALREADY_USED');
300        fnd_message.set_token('TABLE_NAME','ben_cwb_person_rates');
301        fnd_message.raise_error;
302     End If;
303     Close C_Sel2;
304     --
305     -- Use registered key values and clear globals
306     --
307     p_rec.person_rate_id :=
308       ben_rts_ins.g_person_rate_id_i;
309     ben_rts_ins.g_person_rate_id_i := null;
310   Else
311     --
312     -- No registerd key values, so select the next sequence number
313     --
314     --
315     -- Select the next sequence number
316     --
317     Open C_Sel1;
318     Fetch C_Sel1 Into p_rec.person_rate_id;
319     Close C_Sel1;
320   End If;
321   --
322   if g_debug then
323      hr_utility.set_location(' Leaving:'||l_proc, 10);
324   end if;
325 End pre_insert;
326 --
327 -- ----------------------------------------------------------------------------
328 -- |-----------------------------< post_insert >------------------------------|
329 -- ----------------------------------------------------------------------------
330 -- {Start Of Comments}
331 --
332 -- Description:
333 --   This private procedure contains any processing which is required after
334 --   the insert dml.
335 --
336 -- Prerequisites:
337 --   This is an internal procedure which is called from the ins procedure.
338 --
339 -- In Parameters:
340 --   A Pl/Sql record structre.
341 --
342 -- Post Success:
343 --   Processing continues.
344 --
345 -- Post Failure:
346 --   If an error has occurred, an error message and exception will be raised
347 --   but not handled.
348 --
349 -- Developer Implementation Notes:
350 --   Any post-processing required after the insert dml is issued should be
351 --   coded within this procedure. It is important to note that any 3rd party
352 --   maintenance should be reviewed before placing in this procedure.
353 --
354 -- Access Status:
355 --   Internal Row Handler Use Only.
356 --
357 -- {End Of Comments}
358 -- ----------------------------------------------------------------------------
359 Procedure post_insert
360   (p_rec                          in ben_rts_shd.g_rec_type
361   ) is
362 --
363   l_proc  varchar2(72) := g_package||'post_insert';
364 --
365 Begin
366   if g_debug then
367      hr_utility.set_location('Entering:'||l_proc, 5);
368   end if;
369   begin
370     --
371     ben_rts_rki.after_insert
372       (p_person_rate_id
373       => p_rec.person_rate_id
374       ,p_group_per_in_ler_id
375       => p_rec.group_per_in_ler_id
376       ,p_pl_id
377       => p_rec.pl_id
378       ,p_oipl_id
379       => p_rec.oipl_id
380       ,p_group_pl_id
381       => p_rec.group_pl_id
382       ,p_group_oipl_id
383       => p_rec.group_oipl_id
384       ,p_lf_evt_ocrd_dt
385       => p_rec.lf_evt_ocrd_dt
386       ,p_person_id
387       => p_rec.person_id
388       ,p_assignment_id
389       => p_rec.assignment_id
390       ,p_elig_flag
391       => p_rec.elig_flag
392       ,p_ws_val
393       => p_rec.ws_val
394       ,p_ws_mn_val
395       => p_rec.ws_mn_val
396       ,p_ws_mx_val
397       => p_rec.ws_mx_val
398       ,p_ws_incr_val
399       => p_rec.ws_incr_val
400       ,p_elig_sal_val
401       => p_rec.elig_sal_val
402       ,p_stat_sal_val
403       => p_rec.stat_sal_val
404       ,p_oth_comp_val
405       => p_rec.oth_comp_val
406       ,p_tot_comp_val
407       => p_rec.tot_comp_val
408       ,p_misc1_val
409       => p_rec.misc1_val
410       ,p_misc2_val
411       => p_rec.misc2_val
412       ,p_misc3_val
413       => p_rec.misc3_val
414       ,p_rec_val
415       => p_rec.rec_val
416       ,p_rec_mn_val
417       => p_rec.rec_mn_val
418       ,p_rec_mx_val
419       => p_rec.rec_mx_val
420       ,p_rec_incr_val
421       => p_rec.rec_incr_val
422       ,p_ws_val_last_upd_date
423       => p_rec.ws_val_last_upd_date
424       ,p_ws_val_last_upd_by
425       => p_rec.ws_val_last_upd_by
426       ,p_pay_proposal_id
427       => p_rec.pay_proposal_id
428       ,p_element_entry_value_id
429       => p_rec.element_entry_value_id
430       ,p_inelig_rsn_cd
431       => p_rec.inelig_rsn_cd
432       ,p_elig_ovrid_dt
433       => p_rec.elig_ovrid_dt
434       ,p_elig_ovrid_person_id
435       => p_rec.elig_ovrid_person_id
436       ,p_copy_dist_bdgt_val
437       => p_rec.copy_dist_bdgt_val
438       ,p_copy_ws_bdgt_val
439       => p_rec.copy_ws_bdgt_val
440       ,p_copy_rsrv_val
441       => p_rec.copy_rsrv_val
442       ,p_copy_dist_bdgt_mn_val
443       => p_rec.copy_dist_bdgt_mn_val
444       ,p_copy_dist_bdgt_mx_val
445       => p_rec.copy_dist_bdgt_mx_val
446       ,p_copy_dist_bdgt_incr_val
447       => p_rec.copy_dist_bdgt_incr_val
448       ,p_copy_ws_bdgt_mn_val
449       => p_rec.copy_ws_bdgt_mn_val
450       ,p_copy_ws_bdgt_mx_val
451       => p_rec.copy_ws_bdgt_mx_val
452       ,p_copy_ws_bdgt_incr_val
453       => p_rec.copy_ws_bdgt_incr_val
454       ,p_copy_rsrv_mn_val
455       => p_rec.copy_rsrv_mn_val
456       ,p_copy_rsrv_mx_val
457       => p_rec.copy_rsrv_mx_val
458       ,p_copy_rsrv_incr_val
459       => p_rec.copy_rsrv_incr_val
460       ,p_copy_dist_bdgt_iss_val
461       => p_rec.copy_dist_bdgt_iss_val
462       ,p_copy_ws_bdgt_iss_val
463       => p_rec.copy_ws_bdgt_iss_val
464       ,p_copy_dist_bdgt_iss_date
465       => p_rec.copy_dist_bdgt_iss_date
466       ,p_copy_ws_bdgt_iss_date
467       => p_rec.copy_ws_bdgt_iss_date
468       ,p_comp_posting_date
469       => p_rec.comp_posting_date
470       ,p_ws_rt_start_date
471       => p_rec.ws_rt_start_date
472       ,p_currency
473       => p_rec.currency
474       ,p_object_version_number
475       => p_rec.object_version_number
476       );
477     --
478   exception
479     --
480     when hr_api.cannot_find_prog_unit then
481       --
482       hr_api.cannot_find_prog_unit_error
483         (p_module_name => 'BEN_CWB_PERSON_RATES'
484         ,p_hook_type   => 'AI');
485       --
486   end;
487   --
488   if g_debug then
489      hr_utility.set_location(' Leaving:'||l_proc, 10);
490   end if;
491 End post_insert;
492 --
493 -- ----------------------------------------------------------------------------
494 -- |---------------------------------< ins >----------------------------------|
495 -- ----------------------------------------------------------------------------
496 Procedure ins
497   (p_rec                          in out nocopy ben_rts_shd.g_rec_type
498   ) is
499 --
500   l_proc  varchar2(72) := g_package||'ins';
501 --
502 Begin
503   if g_debug then
504      hr_utility.set_location('Entering:'||l_proc, 5);
505   end if;
506   --
507   -- Call the supporting insert validate operations
508   --
509   ben_rts_bus.insert_validate
510      (p_rec
511      );
512   --
513   -- Call to raise any errors on multi-message list
514   hr_multi_message.end_validation_set;
515   --
516   -- Call the supporting pre-insert operation
517   --
518   ben_rts_ins.pre_insert(p_rec);
519   --
520   -- Insert the row
521   --
522   ben_rts_ins.insert_dml(p_rec);
523   --
524   -- Call the supporting post-insert operation
525   --
526   ben_rts_ins.post_insert
527      (p_rec
528      );
529   --
530   -- Call to raise any errors on multi-message list
531   hr_multi_message.end_validation_set;
532   --
533   if g_debug then
534      hr_utility.set_location('Leaving:'||l_proc, 20);
535   end if;
536 end ins;
537 --
538 -- ----------------------------------------------------------------------------
539 -- |---------------------------------< ins >----------------------------------|
540 -- ----------------------------------------------------------------------------
541 Procedure ins
542   (p_group_per_in_ler_id            in     number
543   ,p_pl_id                          in     number
544   ,p_oipl_id                        in     number
545   ,p_group_pl_id                    in     number
546   ,p_group_oipl_id                  in     number
547   ,p_lf_evt_ocrd_dt                 in     date     default null
548   ,p_person_id                      in     number   default null
549   ,p_assignment_id                  in     number   default null
550   ,p_elig_flag                      in     varchar2 default null
551   ,p_ws_val                         in     number   default null
552   ,p_ws_mn_val                      in     number   default null
553   ,p_ws_mx_val                      in     number   default null
554   ,p_ws_incr_val                    in     number   default null
555   ,p_elig_sal_val                   in     number   default null
556   ,p_stat_sal_val                   in     number   default null
557   ,p_oth_comp_val                   in     number   default null
558   ,p_tot_comp_val                   in     number   default null
559   ,p_misc1_val                      in     number   default null
560   ,p_misc2_val                      in     number   default null
561   ,p_misc3_val                      in     number   default null
562   ,p_rec_val                        in     number   default null
563   ,p_rec_mn_val                     in     number   default null
564   ,p_rec_mx_val                     in     number   default null
565   ,p_rec_incr_val                   in     number   default null
566   ,p_ws_val_last_upd_date           in     date     default null
567   ,p_ws_val_last_upd_by             in     number   default null
568   ,p_pay_proposal_id                in     number   default null
569   ,p_element_entry_value_id         in     number   default null
570   ,p_inelig_rsn_cd                  in     varchar2 default null
571   ,p_elig_ovrid_dt                  in     date     default null
572   ,p_elig_ovrid_person_id           in     number   default null
573   ,p_copy_dist_bdgt_val             in     number   default null
574   ,p_copy_ws_bdgt_val               in     number   default null
575   ,p_copy_rsrv_val                  in     number   default null
576   ,p_copy_dist_bdgt_mn_val          in     number   default null
577   ,p_copy_dist_bdgt_mx_val          in     number   default null
578   ,p_copy_dist_bdgt_incr_val        in     number   default null
579   ,p_copy_ws_bdgt_mn_val            in     number   default null
580   ,p_copy_ws_bdgt_mx_val            in     number   default null
581   ,p_copy_ws_bdgt_incr_val          in     number   default null
582   ,p_copy_rsrv_mn_val               in     number   default null
583   ,p_copy_rsrv_mx_val               in     number   default null
584   ,p_copy_rsrv_incr_val             in     number   default null
585   ,p_copy_dist_bdgt_iss_val         in     number   default null
586   ,p_copy_ws_bdgt_iss_val           in     number   default null
587   ,p_copy_dist_bdgt_iss_date        in     date     default null
588   ,p_copy_ws_bdgt_iss_date          in     date     default null
589   ,p_comp_posting_date              in     date     default null
590   ,p_ws_rt_start_date               in     date     default null
591   ,p_currency                       in     varchar2 default null
592   ,p_person_rate_id                    out nocopy number
593   ,p_object_version_number             out nocopy number
594   ) is
595 --
596   l_rec   ben_rts_shd.g_rec_type;
597   l_proc  varchar2(72) := g_package||'ins';
598 --
599 Begin
600   if g_debug then
601      hr_utility.set_location('Entering:'||l_proc, 5);
602   end if;
603   --
604   -- Call conversion function to turn arguments into the
605   -- p_rec structure.
606   --
607   l_rec :=
608   ben_rts_shd.convert_args
609     (null
610     ,p_group_per_in_ler_id
611     ,p_pl_id
612     ,p_oipl_id
613     ,p_group_pl_id
614     ,p_group_oipl_id
615     ,p_lf_evt_ocrd_dt
616     ,p_person_id
617     ,p_assignment_id
618     ,p_elig_flag
619     ,p_ws_val
620     ,p_ws_mn_val
621     ,p_ws_mx_val
622     ,p_ws_incr_val
623     ,p_elig_sal_val
624     ,p_stat_sal_val
625     ,p_oth_comp_val
626     ,p_tot_comp_val
627     ,p_misc1_val
628     ,p_misc2_val
629     ,p_misc3_val
630     ,p_rec_val
631     ,p_rec_mn_val
632     ,p_rec_mx_val
633     ,p_rec_incr_val
634     ,p_ws_val_last_upd_date
635     ,p_ws_val_last_upd_by
636     ,p_pay_proposal_id
637     ,p_element_entry_value_id
638     ,p_inelig_rsn_cd
639     ,p_elig_ovrid_dt
640     ,p_elig_ovrid_person_id
641     ,p_copy_dist_bdgt_val
642     ,p_copy_ws_bdgt_val
643     ,p_copy_rsrv_val
644     ,p_copy_dist_bdgt_mn_val
645     ,p_copy_dist_bdgt_mx_val
646     ,p_copy_dist_bdgt_incr_val
647     ,p_copy_ws_bdgt_mn_val
648     ,p_copy_ws_bdgt_mx_val
649     ,p_copy_ws_bdgt_incr_val
650     ,p_copy_rsrv_mn_val
651     ,p_copy_rsrv_mx_val
652     ,p_copy_rsrv_incr_val
653     ,p_copy_dist_bdgt_iss_val
654     ,p_copy_ws_bdgt_iss_val
655     ,p_copy_dist_bdgt_iss_date
656     ,p_copy_ws_bdgt_iss_date
657     ,p_comp_posting_date
658     ,p_ws_rt_start_date
659     ,p_currency
660     ,null
661     );
662   --
663   -- Having converted the arguments into the ben_rts_rec
664   -- plsql record structure we call the corresponding record business process.
665   --
666   ben_rts_ins.ins
667      (l_rec
668      );
669   --
670   --
671   -- As the primary key argument(s)
672   -- are specified as an OUT's we must set these values.
673   --
674   p_person_rate_id := l_rec.person_rate_id;
675   p_object_version_number := l_rec.object_version_number;
676 
677   --
678   if g_debug then
679      hr_utility.set_location(' Leaving:'||l_proc, 10);
680   end if;
681 End ins;
682 --
683 end ben_rts_ins;