DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PEL_INS

Source


1 Package Body ben_pel_ins as
2 /* $Header: bepelrhi.pkb 120.3.12000000.2 2007/05/13 23:02:25 rtagarra noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  ben_pel_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_pel_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_pel_shd.g_api_dml := true;  -- Set the api dml status
62   --
63   -- Insert the row into: ben_pil_elctbl_chc_popl
64   --
65   insert into ben_pil_elctbl_chc_popl
66   ( pil_elctbl_chc_popl_id,
67     dflt_enrt_dt,
68     dflt_asnd_dt,
69     elcns_made_dt,
70     cls_enrt_dt_to_use_cd,
71     enrt_typ_cycl_cd,
72     enrt_perd_end_dt,
73     enrt_perd_strt_dt,
74     procg_end_dt,
75     pil_elctbl_popl_stat_cd,
76     acty_ref_perd_cd,
77     uom,
78     comments,
79     mgr_ovrid_dt,
80     ws_mgr_id,
81     mgr_ovrid_person_id,
82     assignment_id,
83         --cwb
84         bdgt_acc_cd,
85         pop_cd,
86         bdgt_due_dt,
87         bdgt_export_flag,
88         bdgt_iss_dt,
89         bdgt_stat_cd,
90         ws_acc_cd,
91         ws_due_dt,
92         ws_export_flag,
93         ws_iss_dt,
94         ws_stat_cd,
95         --cwb
96         reinstate_cd,
97         reinstate_ovrdn_cd,
98     auto_asnd_dt,
99         cbr_elig_perd_strt_dt,
100         cbr_elig_perd_end_dt,
101     lee_rsn_id,
102     enrt_perd_id,
103     per_in_ler_id,
104     pgm_id,
105     pl_id,
106     business_group_id,
107     pel_attribute_category,
108     pel_attribute1,
109     pel_attribute2,
110     pel_attribute3,
111     pel_attribute4,
112     pel_attribute5,
113     pel_attribute6,
114     pel_attribute7,
115     pel_attribute8,
116     pel_attribute9,
117     pel_attribute10,
118     pel_attribute11,
119     pel_attribute12,
120     pel_attribute13,
121     pel_attribute14,
122     pel_attribute15,
123     pel_attribute16,
124     pel_attribute17,
125     pel_attribute18,
126     pel_attribute19,
127     pel_attribute20,
128     pel_attribute21,
129     pel_attribute22,
130     pel_attribute23,
131     pel_attribute24,
132     pel_attribute25,
133     pel_attribute26,
134     pel_attribute27,
135     pel_attribute28,
136     pel_attribute29,
137     pel_attribute30,
138     request_id,
139     program_application_id,
140     program_id,
141     program_update_date,
142     object_version_number,
143     defer_deenrol_flag,
144     deenrol_made_dt
145   )
146   Values
147   ( p_rec.pil_elctbl_chc_popl_id,
148     p_rec.dflt_enrt_dt,
149     p_rec.dflt_asnd_dt,
150     p_rec.elcns_made_dt,
151     p_rec.cls_enrt_dt_to_use_cd,
152     p_rec.enrt_typ_cycl_cd,
153     p_rec.enrt_perd_end_dt,
154     p_rec.enrt_perd_strt_dt,
155     p_rec.procg_end_dt,
156     p_rec.pil_elctbl_popl_stat_cd,
157     p_rec.acty_ref_perd_cd,
158     p_rec.uom,
159     p_rec.comments,
160     p_rec.mgr_ovrid_dt,
161     p_rec.ws_mgr_id,
162     p_rec.mgr_ovrid_person_id,
163     p_rec.assignment_id,
164         --cwb
165         p_rec.bdgt_acc_cd,
166         p_rec.pop_cd,
167         p_rec.bdgt_due_dt,
168         p_rec.bdgt_export_flag,
169         p_rec.bdgt_iss_dt,
170         p_rec.bdgt_stat_cd,
171         p_rec.ws_acc_cd,
172         p_rec.ws_due_dt,
173         p_rec.ws_export_flag,
174         p_rec.ws_iss_dt,
175         p_rec.ws_stat_cd,
176         --cwb
177         p_rec.reinstate_cd,
178         p_rec.reinstate_ovrdn_cd,
179     p_rec.auto_asnd_dt,
180         p_rec.cbr_elig_perd_strt_dt,
181         p_rec.cbr_elig_perd_end_dt,
182     p_rec.lee_rsn_id,
183     p_rec.enrt_perd_id,
184     p_rec.per_in_ler_id,
185     p_rec.pgm_id,
186     p_rec.pl_id,
187     p_rec.business_group_id,
188     p_rec.pel_attribute_category,
189     p_rec.pel_attribute1,
190     p_rec.pel_attribute2,
191     p_rec.pel_attribute3,
192     p_rec.pel_attribute4,
193     p_rec.pel_attribute5,
194     p_rec.pel_attribute6,
195     p_rec.pel_attribute7,
196     p_rec.pel_attribute8,
197     p_rec.pel_attribute9,
198     p_rec.pel_attribute10,
199     p_rec.pel_attribute11,
200     p_rec.pel_attribute12,
201     p_rec.pel_attribute13,
202     p_rec.pel_attribute14,
203     p_rec.pel_attribute15,
204     p_rec.pel_attribute16,
205     p_rec.pel_attribute17,
206     p_rec.pel_attribute18,
207     p_rec.pel_attribute19,
208     p_rec.pel_attribute20,
209     p_rec.pel_attribute21,
210     p_rec.pel_attribute22,
211     p_rec.pel_attribute23,
212     p_rec.pel_attribute24,
213     p_rec.pel_attribute25,
214     p_rec.pel_attribute26,
215     p_rec.pel_attribute27,
216     p_rec.pel_attribute28,
217     p_rec.pel_attribute29,
218     p_rec.pel_attribute30,
219     p_rec.request_id,
220     p_rec.program_application_id,
221     p_rec.program_id,
222     p_rec.program_update_date,
223     p_rec.object_version_number,
224     p_rec.defer_deenrol_flag,
225     p_rec.deenrol_made_dt
226   );
227   --
228   ben_pel_shd.g_api_dml := false;   -- Unset the api dml status
229   --
230   hr_utility.set_location(' Leaving:'||l_proc, 10);
231 Exception
232   When hr_api.check_integrity_violated Then
233     -- A check constraint has been violated
234     ben_pel_shd.g_api_dml := false;   -- Unset the api dml status
235     ben_pel_shd.constraint_error
236       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
237   When hr_api.parent_integrity_violated Then
238     -- Parent integrity has been violated
239     ben_pel_shd.g_api_dml := false;   -- Unset the api dml status
240     ben_pel_shd.constraint_error
241       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
242   When hr_api.unique_integrity_violated Then
243     -- Unique integrity has been violated
244     ben_pel_shd.g_api_dml := false;   -- Unset the api dml status
245     ben_pel_shd.constraint_error
246       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
247   When Others Then
248     ben_pel_shd.g_api_dml := false;   -- Unset the api dml status
249     Raise;
250 End insert_dml;
251 --
252 -- ----------------------------------------------------------------------------
253 -- |------------------------------< pre_insert >------------------------------|
254 -- ----------------------------------------------------------------------------
255 -- {Start Of Comments}
256 --
257 -- Description:
258 --   This private procedure contains any processing which is required before
259 --   the insert dml. Presently, if the entity has a corresponding primary
260 --   key which is maintained by an associating sequence, the primary key for
261 --   the entity will be populated with the next sequence value in
262 --   preparation for the insert dml.
263 --
264 -- Prerequisites:
265 --   This is an internal procedure which is called from the ins procedure.
266 --
267 -- In Parameters:
268 --   A Pl/Sql record structre.
269 --
270 -- Post Success:
271 --   Processing continues.
272 --
273 -- Post Failure:
274 --   If an error has occurred, an error message and exception will be raised
275 --   but not handled.
276 --
277 -- Developer Implementation Notes:
278 --   Any pre-processing required before the insert dml is issued should be
279 --   coded within this procedure. As stated above, a good example is the
280 --   generation of a primary key number via a corresponding sequence.
281 --   It is important to note that any 3rd party maintenance should be reviewed
282 --   before placing in this procedure.
283 --
284 -- Access Status:
285 --   Internal Row Handler Use Only.
286 --
287 -- {End Of Comments}
288 -- ----------------------------------------------------------------------------
289 Procedure pre_insert(p_rec  in out nocopy ben_pel_shd.g_rec_type) is
290 --
291   l_proc  varchar2(72) := g_package||'pre_insert';
292 --
293   Cursor C_Sel1 is select ben_pil_elctbl_chc_popl_s.nextval from sys.dual;
294 --
295 Begin
296   hr_utility.set_location('Entering:'||l_proc, 5);
297   --
298   --
299   -- Select the next sequence number
300   --
301   Open C_Sel1;
302   Fetch C_Sel1 Into p_rec.pil_elctbl_chc_popl_id;
303   Close C_Sel1;
304   --
305   hr_utility.set_location(' Leaving:'||l_proc, 10);
306 End pre_insert;
307 --
308 -- ----------------------------------------------------------------------------
309 -- |-----------------------------< post_insert >------------------------------|
310 -- ----------------------------------------------------------------------------
311 -- {Start Of Comments}
312 --
313 -- Description:
314 --   This private procedure contains any processing which is required after the
315 --   insert dml.
316 --
317 -- Prerequisites:
318 --   This is an internal procedure which is called from the ins procedure.
319 --
320 -- In Parameters:
321 --   A Pl/Sql record structre.
322 --
323 -- Post Success:
324 --   Processing continues.
325 --
326 -- Post Failure:
327 --   If an error has occurred, an error message and exception will be raised
328 --   but not handled.
329 --
330 -- Developer Implementation Notes:
331 --   Any post-processing required after the insert dml is issued should be
332 --   coded within this procedure. It is important to note that any 3rd party
333 --   maintenance should be reviewed before placing in this procedure.
334 --
335 -- Access Status:
336 --   Internal Row Handler Use Only.
337 --
338 -- {End Of Comments}
339 -- ----------------------------------------------------------------------------
340 Procedure post_insert(
341 p_effective_date in date,p_rec in ben_pel_shd.g_rec_type) is
342 --
343   l_proc  varchar2(72) := g_package||'post_insert';
344 --
345 Begin
346   hr_utility.set_location('Entering:'||l_proc, 5);
347 --
348   --
349   -- Start of API User Hook for post_insert.
350   --
351   begin
352     --
353     ben_pel_rki.after_insert
354       (
355   p_pil_elctbl_chc_popl_id        =>p_rec.pil_elctbl_chc_popl_id
356  ,p_dflt_enrt_dt                  =>p_rec.dflt_enrt_dt
357  ,p_dflt_asnd_dt                  =>p_rec.dflt_asnd_dt
358  ,p_elcns_made_dt                 =>p_rec.elcns_made_dt
359  ,p_cls_enrt_dt_to_use_cd         =>p_rec.cls_enrt_dt_to_use_cd
360  ,p_enrt_typ_cycl_cd              =>p_rec.enrt_typ_cycl_cd
361  ,p_enrt_perd_end_dt              =>p_rec.enrt_perd_end_dt
362  ,p_enrt_perd_strt_dt             =>p_rec.enrt_perd_strt_dt
363  ,p_procg_end_dt                  =>p_rec.procg_end_dt
364  ,p_pil_elctbl_popl_stat_cd       =>p_rec.pil_elctbl_popl_stat_cd
365  ,p_acty_ref_perd_cd              =>p_rec.acty_ref_perd_cd
366  ,p_uom                           =>p_rec.uom
367  ,p_comments                           =>p_rec.comments
368  ,p_mgr_ovrid_dt                           =>p_rec.mgr_ovrid_dt
369  ,p_ws_mgr_id                           =>p_rec.ws_mgr_id
370  ,p_mgr_ovrid_person_id                           =>p_rec.mgr_ovrid_person_id
371  ,p_assignment_id                           =>p_rec.assignment_id
372  --cwb
373  ,p_bdgt_acc_cd                   => p_rec.bdgt_acc_cd
374  ,p_pop_cd                        => p_rec.pop_cd
375  ,p_bdgt_due_dt                   => p_rec.bdgt_due_dt
376  ,p_bdgt_export_flag              => p_rec.bdgt_export_flag
377  ,p_bdgt_iss_dt                   => p_rec.bdgt_iss_dt
378  ,p_bdgt_stat_cd                  => p_rec.bdgt_stat_cd
379  ,p_ws_acc_cd                     => p_rec.ws_acc_cd
380  ,p_ws_due_dt                     => p_rec.ws_due_dt
381  ,p_ws_export_flag                => p_rec.ws_export_flag
382  ,p_ws_iss_dt                     => p_rec.ws_iss_dt
383  ,p_ws_stat_cd                    => p_rec.ws_stat_cd
384  --cwb
385  ,p_reinstate_cd                  =>p_rec.reinstate_cd
386  ,p_reinstate_ovrdn_cd            =>p_rec.reinstate_ovrdn_cd
387  ,p_auto_asnd_dt                  =>p_rec.auto_asnd_dt
388  ,p_cbr_elig_perd_strt_dt         =>p_rec.cbr_elig_perd_strt_dt
389  ,p_cbr_elig_perd_end_dt          =>p_rec.cbr_elig_perd_end_dt
390  ,p_lee_rsn_id                    =>p_rec.lee_rsn_id
391  ,p_enrt_perd_id                  =>p_rec.enrt_perd_id
392  ,p_per_in_ler_id                 =>p_rec.per_in_ler_id
393  ,p_pgm_id                        =>p_rec.pgm_id
394  ,p_pl_id                         =>p_rec.pl_id
395  ,p_business_group_id             =>p_rec.business_group_id
396  ,p_pel_attribute_category        =>p_rec.pel_attribute_category
397  ,p_pel_attribute1                =>p_rec.pel_attribute1
398  ,p_pel_attribute2                =>p_rec.pel_attribute2
399  ,p_pel_attribute3                =>p_rec.pel_attribute3
400  ,p_pel_attribute4                =>p_rec.pel_attribute4
401  ,p_pel_attribute5                =>p_rec.pel_attribute5
402  ,p_pel_attribute6                =>p_rec.pel_attribute6
403  ,p_pel_attribute7                =>p_rec.pel_attribute7
404  ,p_pel_attribute8                =>p_rec.pel_attribute8
405  ,p_pel_attribute9                =>p_rec.pel_attribute9
406  ,p_pel_attribute10               =>p_rec.pel_attribute10
407  ,p_pel_attribute11               =>p_rec.pel_attribute11
408  ,p_pel_attribute12               =>p_rec.pel_attribute12
409  ,p_pel_attribute13               =>p_rec.pel_attribute13
410  ,p_pel_attribute14               =>p_rec.pel_attribute14
411  ,p_pel_attribute15               =>p_rec.pel_attribute15
412  ,p_pel_attribute16               =>p_rec.pel_attribute16
413  ,p_pel_attribute17               =>p_rec.pel_attribute17
414  ,p_pel_attribute18               =>p_rec.pel_attribute18
415  ,p_pel_attribute19               =>p_rec.pel_attribute19
416  ,p_pel_attribute20               =>p_rec.pel_attribute20
417  ,p_pel_attribute21               =>p_rec.pel_attribute21
418  ,p_pel_attribute22               =>p_rec.pel_attribute22
422  ,p_pel_attribute26               =>p_rec.pel_attribute26
419  ,p_pel_attribute23               =>p_rec.pel_attribute23
420  ,p_pel_attribute24               =>p_rec.pel_attribute24
421  ,p_pel_attribute25               =>p_rec.pel_attribute25
423  ,p_pel_attribute27               =>p_rec.pel_attribute27
424  ,p_pel_attribute28               =>p_rec.pel_attribute28
425  ,p_pel_attribute29               =>p_rec.pel_attribute29
426  ,p_pel_attribute30               =>p_rec.pel_attribute30
427  ,p_request_id                    =>p_rec.request_id
428  ,p_program_application_id        =>p_rec.program_application_id
429  ,p_program_id                    =>p_rec.program_id
430  ,p_program_update_date           =>p_rec.program_update_date
431  ,p_object_version_number         =>p_rec.object_version_number
432  ,p_effective_date                =>p_effective_date
433  ,p_defer_deenrol_flag		  =>p_rec.defer_deenrol_flag
434  ,p_deenrol_made_dt               =>p_rec.deenrol_made_dt
435       );
436     --
437   exception
438     --
439     when hr_api.cannot_find_prog_unit then
440       --
441       hr_api.cannot_find_prog_unit_error
442         (p_module_name => 'ben_pil_elctbl_chc_popl'
443         ,p_hook_type   => 'AI');
444       --
445   end;
446   --
447   -- End of API User Hook for post_insert.
448   --
449   --
450   hr_utility.set_location(' Leaving:'||l_proc, 10);
451 End post_insert;
452 --
453 -- ----------------------------------------------------------------------------
454 -- |---------------------------------< ins >----------------------------------|
455 -- ----------------------------------------------------------------------------
456 Procedure ins
457   (
458   p_effective_date in date,
459   p_rec        in out nocopy ben_pel_shd.g_rec_type
460   ) is
461 --
462   l_proc  varchar2(72) := g_package||'ins';
463 --
464 Begin
465   hr_utility.set_location('Entering:'||l_proc, 5);
466   --
467   -- Call the supporting insert validate operations
468   --
469   ben_pel_bus.insert_validate(p_rec
470   ,p_effective_date);
471   --
472   -- Call the supporting pre-insert operation
473   --
474   pre_insert(p_rec);
475   --
476   -- Insert the row
477   --
478   insert_dml(p_rec);
479   --
480   -- Call the supporting post-insert operation
481   --
482   post_insert(p_effective_date,p_rec);
483   --
484   -- added for dbi
485   --
486   -- DBI - Added DBI Event Logging Hooks
487   /* Commented. Need to uncomment when DBI goes into mainline
488   5554590 : Enabled DBI logging into mainline. */
489   if HRI_BPL_BEN_UTIL.enable_ben_col_evt_que then
490     HRI_OPL_BEN_ELCTN_EVNTS_EQ.insert_event (p_rec => p_rec ,
491                                              p_pil_rec => null,
492                                              p_called_from    => 'PEL' ,
493                                              p_effective_date  => p_effective_date,
494                                              p_datetrack_mode  => 'INSERT' );
495 
496   end if;
497   --
498 end ins;
499 --
500 -- ----------------------------------------------------------------------------
501 -- |---------------------------------< ins >----------------------------------|
502 -- ----------------------------------------------------------------------------
503 Procedure ins
504   (
505   p_effective_date in date,
506   p_pil_elctbl_chc_popl_id       out nocopy number,
507   p_dflt_enrt_dt                 in date             default null,
508   p_dflt_asnd_dt                 in date             default null,
509   p_elcns_made_dt                in date             default null,
510   p_cls_enrt_dt_to_use_cd        in varchar2         default null,
511   p_enrt_typ_cycl_cd             in varchar2         default null,
512   p_enrt_perd_end_dt             in date             default null,
513   p_enrt_perd_strt_dt            in date             default null,
514   p_procg_end_dt                 in date             default null,
515   p_pil_elctbl_popl_stat_cd      in varchar2         default null,
516   p_acty_ref_perd_cd             in varchar2         default null,
517   p_uom                          in varchar2         default null,
518   p_comments                          in varchar2         default null,
519   p_mgr_ovrid_dt                          in date         default null,
520   p_ws_mgr_id                          in number         default null,
521   p_mgr_ovrid_person_id                          in number         default null,
522   p_assignment_id                          in number         default null,
523   --cwb
524   p_bdgt_acc_cd                  in varchar2         default null,
525   p_pop_cd                       in varchar2         default null,
526   p_bdgt_due_dt                  in date             default null,
527   p_bdgt_export_flag             in varchar2         default null,
528   p_bdgt_iss_dt                  in date             default null,
529   p_bdgt_stat_cd                 in varchar2         default null,
530   p_ws_acc_cd                    in varchar2         default null,
531   p_ws_due_dt                    in date             default null,
532   p_ws_export_flag               in varchar2         default null,
533   p_ws_iss_dt                    in date             default null,
537   p_reinstate_ovrdn_cd           in varchar2         default null,
534   p_ws_stat_cd                   in varchar2         default null,
535    --cwb
536   p_reinstate_cd                 in varchar2         default null,
538   p_auto_asnd_dt                 in date             default null,
539   p_cbr_elig_perd_strt_dt        in date             default null,
540   p_cbr_elig_perd_end_dt         in date             default null,
541   p_lee_rsn_id                   in number           default null,
542   p_enrt_perd_id                 in number           default null,
543   p_per_in_ler_id                in number,
544   p_pgm_id                       in number           default null,
545   p_pl_id                        in number           default null,
546   p_business_group_id            in number           default null,
547   p_pel_attribute_category       in varchar2         default null,
548   p_pel_attribute1               in varchar2         default null,
549   p_pel_attribute2               in varchar2         default null,
550   p_pel_attribute3               in varchar2         default null,
551   p_pel_attribute4               in varchar2         default null,
552   p_pel_attribute5               in varchar2         default null,
553   p_pel_attribute6               in varchar2         default null,
554   p_pel_attribute7               in varchar2         default null,
555   p_pel_attribute8               in varchar2         default null,
556   p_pel_attribute9               in varchar2         default null,
557   p_pel_attribute10              in varchar2         default null,
558   p_pel_attribute11              in varchar2         default null,
559   p_pel_attribute12              in varchar2         default null,
560   p_pel_attribute13              in varchar2         default null,
561   p_pel_attribute14              in varchar2         default null,
562   p_pel_attribute15              in varchar2         default null,
563   p_pel_attribute16              in varchar2         default null,
564   p_pel_attribute17              in varchar2         default null,
565   p_pel_attribute18              in varchar2         default null,
566   p_pel_attribute19              in varchar2         default null,
567   p_pel_attribute20              in varchar2         default null,
568   p_pel_attribute21              in varchar2         default null,
569   p_pel_attribute22              in varchar2         default null,
570   p_pel_attribute23              in varchar2         default null,
571   p_pel_attribute24              in varchar2         default null,
572   p_pel_attribute25              in varchar2         default null,
573   p_pel_attribute26              in varchar2         default null,
574   p_pel_attribute27              in varchar2         default null,
575   p_pel_attribute28              in varchar2         default null,
576   p_pel_attribute29              in varchar2         default null,
577   p_pel_attribute30              in varchar2         default null,
578   p_request_id                   in number           default null,
579   p_program_application_id       in number           default null,
580   p_program_id                   in number           default null,
581   p_program_update_date          in date             default null,
582   p_object_version_number        out nocopy number,
583   p_defer_deenrol_flag           in varchar2         default 'N',
584   p_deenrol_made_dt              in date             default null
585   ) is
586 --
587   l_rec   ben_pel_shd.g_rec_type;
588   l_proc  varchar2(72) := g_package||'ins';
589 --
590 Begin
591   hr_utility.set_location('Entering:'||l_proc, 5);
592   --
593   -- Call conversion function to turn arguments into the
594   -- p_rec structure.
595   --
596   l_rec :=
597   ben_pel_shd.convert_args
598   (
599   null,
600   p_dflt_enrt_dt,
601   p_dflt_asnd_dt,
602   p_elcns_made_dt,
603   p_cls_enrt_dt_to_use_cd,
604   p_enrt_typ_cycl_cd,
605   p_enrt_perd_end_dt,
606   p_enrt_perd_strt_dt,
607   p_procg_end_dt,
608   p_pil_elctbl_popl_stat_cd,
609   p_acty_ref_perd_cd,
610   p_uom,
611   p_comments,
612   p_mgr_ovrid_dt,
613   p_ws_mgr_id,
614   p_mgr_ovrid_person_id,
615   p_assignment_id,
616   --cwb
617   p_bdgt_acc_cd,
618   p_pop_cd,
619   p_bdgt_due_dt,
620   p_bdgt_export_flag,
621   p_bdgt_iss_dt,
622   p_bdgt_stat_cd,
623   p_ws_acc_cd,
624   p_ws_due_dt,
625   p_ws_export_flag,
626   p_ws_iss_dt,
627   p_ws_stat_cd,
628   --cwb
629   p_reinstate_cd,
630   p_reinstate_ovrdn_cd,
631   p_auto_asnd_dt,
632   p_cbr_elig_perd_strt_dt,
633   p_cbr_elig_perd_end_dt,
634   p_lee_rsn_id,
635   p_enrt_perd_id,
636   p_per_in_ler_id,
637   p_pgm_id,
638   p_pl_id,
639   p_business_group_id,
640   p_pel_attribute_category,
641   p_pel_attribute1,
642   p_pel_attribute2,
643   p_pel_attribute3,
644   p_pel_attribute4,
645   p_pel_attribute5,
646   p_pel_attribute6,
647   p_pel_attribute7,
648   p_pel_attribute8,
649   p_pel_attribute9,
650   p_pel_attribute10,
651   p_pel_attribute11,
652   p_pel_attribute12,
653   p_pel_attribute13,
654   p_pel_attribute14,
655   p_pel_attribute15,
656   p_pel_attribute16,
657   p_pel_attribute17,
658   p_pel_attribute18,
659   p_pel_attribute19,
660   p_pel_attribute20,
661   p_pel_attribute21,
662   p_pel_attribute22,
663   p_pel_attribute23,
664   p_pel_attribute24,
665   p_pel_attribute25,
666   p_pel_attribute26,
667   p_pel_attribute27,
668   p_pel_attribute28,
669   p_pel_attribute29,
670   p_pel_attribute30,
671   p_request_id,
672   p_program_application_id,
673   p_program_id,
674   p_program_update_date,
675   null,
676   p_defer_deenrol_flag,
677   p_deenrol_made_dt
678   );
679   --
680   -- Having converted the arguments into the ben_pel_rec
681   -- plsql record structure we call the corresponding record business process.
682   --
683   ins(
684     p_effective_date,l_rec);
685   --
686   -- As the primary key argument(s)
687   -- are specified as an OUT's we must set these values.
688   --
689   p_pil_elctbl_chc_popl_id := l_rec.pil_elctbl_chc_popl_id;
690   p_object_version_number := l_rec.object_version_number;
691   --
692   hr_utility.set_location(' Leaving:'||l_proc, 10);
693 End ins;
694 --
695 end ben_pel_ins;