DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PEL_SHD

Source


1 Package Body ben_pel_shd 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_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15   l_proc    varchar2(72) := g_package||'return_api_dml_status';
16 --
17 Begin
18   hr_utility.set_location('Entering:'||l_proc, 5);
19   --
20   Return (nvl(g_api_dml, false));
21   --
22   hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 Procedure constraint_error
29             (p_constraint_name in all_constraints.constraint_name%TYPE) Is
30 --
31   l_proc    varchar2(72) := g_package||'constraint_error';
32 --
33 Begin
34   hr_utility.set_location('Entering:'||l_proc, 5);
35   --
36   If (p_constraint_name = 'BEN_PIL_ELCTBL_CHC_POPL_FK1') Then
37     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
38     fnd_message.set_token('PROCEDURE', l_proc);
39     fnd_message.set_token('STEP','5');
40     fnd_message.raise_error;
41   ElsIf (p_constraint_name = 'BEN_PIL_ELCTBL_CHC_POPL_FK2') Then
42     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
43     fnd_message.set_token('PROCEDURE', l_proc);
44     fnd_message.set_token('STEP','10');
45     fnd_message.raise_error;
46   ElsIf (p_constraint_name = 'BEN_PIL_ELCTBL_CHC_POPL_PK') Then
47     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
48     fnd_message.set_token('PROCEDURE', l_proc);
49     fnd_message.set_token('STEP','15');
50     fnd_message.raise_error;
51   Else
52     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
53     fnd_message.set_token('PROCEDURE', l_proc);
54     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
55     fnd_message.raise_error;
56   End If;
57   --
58   hr_utility.set_location(' Leaving:'||l_proc, 10);
59 End constraint_error;
60 --
61 -- ----------------------------------------------------------------------------
62 -- |-----------------------------< api_updating >-----------------------------|
63 -- ----------------------------------------------------------------------------
64 Function api_updating
65   (
66   p_pil_elctbl_chc_popl_id             in number,
67   p_object_version_number              in number
68   )      Return Boolean Is
69 --
70   --
71   -- Cursor selects the 'current' row from the HR Schema
72   --
73   Cursor C_Sel1 is
74     select
75     pil_elctbl_chc_popl_id,
76     dflt_enrt_dt,
77     dflt_asnd_dt,
78     elcns_made_dt,
79     cls_enrt_dt_to_use_cd,
80     enrt_typ_cycl_cd,
81     enrt_perd_end_dt,
82     enrt_perd_strt_dt,
83     procg_end_dt,
84     pil_elctbl_popl_stat_cd,
85     acty_ref_perd_cd,
86     uom,
87     comments,
88     mgr_ovrid_dt,
89     ws_mgr_id,
90     mgr_ovrid_person_id,
91     assignment_id,
92         --cwb
93         bdgt_acc_cd,
94         pop_cd,
95         bdgt_due_dt,
96         bdgt_export_flag,
97         bdgt_iss_dt,
98         bdgt_stat_cd,
99         ws_acc_cd,
100         ws_due_dt,
101         ws_export_flag,
102         ws_iss_dt,
103         ws_stat_cd,
104         --cwb
105         reinstate_cd,
106         reinstate_ovrdn_cd,
107     auto_asnd_dt,
108         cbr_elig_perd_strt_dt,
109         cbr_elig_perd_end_dt,
110     lee_rsn_id,
111     enrt_perd_id,
112     per_in_ler_id,
113     pgm_id,
114     pl_id,
115     business_group_id,
116     pel_attribute_category,
117     pel_attribute1,
118     pel_attribute2,
119     pel_attribute3,
120     pel_attribute4,
121     pel_attribute5,
122     pel_attribute6,
123     pel_attribute7,
124     pel_attribute8,
125     pel_attribute9,
126     pel_attribute10,
127     pel_attribute11,
128     pel_attribute12,
129     pel_attribute13,
130     pel_attribute14,
131     pel_attribute15,
132     pel_attribute16,
133     pel_attribute17,
134     pel_attribute18,
135     pel_attribute19,
136     pel_attribute20,
137     pel_attribute21,
138     pel_attribute22,
139     pel_attribute23,
140     pel_attribute24,
141     pel_attribute25,
142     pel_attribute26,
143     pel_attribute27,
144     pel_attribute28,
145     pel_attribute29,
146     pel_attribute30,
147     request_id,
148     program_application_id,
149     program_id,
150     program_update_date,
151     object_version_number,
152     defer_deenrol_flag,
153     deenrol_made_dt
154     from    ben_pil_elctbl_chc_popl
155     where   pil_elctbl_chc_popl_id = p_pil_elctbl_chc_popl_id;
156 --
157   l_proc    varchar2(72)    := g_package||'api_updating';
158   l_fct_ret boolean;
159 --
160 Begin
161   hr_utility.set_location('Entering:'||l_proc, 5);
162   --
163   If (
164     p_pil_elctbl_chc_popl_id is null and
165     p_object_version_number is null
166      ) Then
167     --
168     -- One of the primary key arguments is null therefore we must
169     -- set the returning function value to false
170     --
171     l_fct_ret := false;
172   Else
173     If (
174     p_pil_elctbl_chc_popl_id = g_old_rec.pil_elctbl_chc_popl_id and
175     p_object_version_number = g_old_rec.object_version_number
176        ) Then
177       hr_utility.set_location(l_proc, 10);
178       --
179       -- The g_old_rec is current therefore we must
180       -- set the returning function to true
181       --
182       l_fct_ret := true;
183     Else
184       --
185       -- Select the current row into g_old_rec
186       --
187       Open C_Sel1;
188       Fetch C_Sel1 Into g_old_rec;
189       If C_Sel1%notfound Then
190         Close C_Sel1;
191         --
192         -- The primary key is invalid therefore we must error
193         --
194         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
195         fnd_message.raise_error;
196       End If;
197       Close C_Sel1;
198       If (p_object_version_number <> g_old_rec.object_version_number) Then
199         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
200         fnd_message.raise_error;
201       End If;
202       hr_utility.set_location(l_proc, 15);
203       l_fct_ret := true;
204     End If;
205   End If;
206   hr_utility.set_location(' Leaving:'||l_proc, 20);
207   Return (l_fct_ret);
208 --
209 End api_updating;
210 --
211 -- ----------------------------------------------------------------------------
212 -- |---------------------------------< lck >----------------------------------|
213 -- ----------------------------------------------------------------------------
214 Procedure lck
215   (
216   p_pil_elctbl_chc_popl_id             in number,
217   p_object_version_number              in number
218   ) is
219 --
220 -- Cursor selects the 'current' row from the HR Schema
221 --
222   Cursor C_Sel1 is
223     select  pil_elctbl_chc_popl_id,
224     dflt_enrt_dt,
225     dflt_asnd_dt,
226     elcns_made_dt,
227     cls_enrt_dt_to_use_cd,
228     enrt_typ_cycl_cd,
229     enrt_perd_end_dt,
230     enrt_perd_strt_dt,
231     procg_end_dt,
232     pil_elctbl_popl_stat_cd,
233     acty_ref_perd_cd,
234     uom,
235     comments,
236     mgr_ovrid_dt,
237     ws_mgr_id,
238     mgr_ovrid_person_id,
239     assignment_id,
240         --cwb
241         bdgt_acc_cd,
242         pop_cd,
243         bdgt_due_dt,
244         bdgt_export_flag,
245         bdgt_iss_dt,
246         bdgt_stat_cd,
247         ws_acc_cd,
248         ws_due_dt,
249         ws_export_flag,
250         ws_iss_dt,
251         ws_stat_cd,
252         --cwb
253         reinstate_cd,
254         reinstate_ovrdn_cd,
255     auto_asnd_dt,
256         cbr_elig_perd_strt_dt,
257         cbr_elig_perd_end_dt,
258     lee_rsn_id,
259     enrt_perd_id,
260     per_in_ler_id,
261     pgm_id,
262     pl_id,
263     business_group_id,
264     pel_attribute_category,
265     pel_attribute1,
266     pel_attribute2,
267     pel_attribute3,
268     pel_attribute4,
269     pel_attribute5,
270     pel_attribute6,
271     pel_attribute7,
272     pel_attribute8,
273     pel_attribute9,
274     pel_attribute10,
275     pel_attribute11,
276     pel_attribute12,
277     pel_attribute13,
278     pel_attribute14,
279     pel_attribute15,
280     pel_attribute16,
281     pel_attribute17,
282     pel_attribute18,
283     pel_attribute19,
284     pel_attribute20,
285     pel_attribute21,
286     pel_attribute22,
287     pel_attribute23,
288     pel_attribute24,
289     pel_attribute25,
290     pel_attribute26,
291     pel_attribute27,
292     pel_attribute28,
293     pel_attribute29,
294     pel_attribute30,
295     request_id,
296     program_application_id,
297     program_id,
298     program_update_date,
299     object_version_number,
300     defer_deenrol_flag,
301     deenrol_made_dt
302     from    ben_pil_elctbl_chc_popl
303     where   pil_elctbl_chc_popl_id = p_pil_elctbl_chc_popl_id
304     for update nowait;
305 --
306   l_proc    varchar2(72) := g_package||'lck';
307 --
308 Begin
309   hr_utility.set_location('Entering:'||l_proc, 5);
310   --
311   -- Add any mandatory argument checking here:
312   -- Example:
313   -- hr_api.mandatory_arg_error
314   --   (p_api_name       => l_proc,
315   --    p_argument       => 'object_version_number',
316   --    p_argument_value => p_object_version_number);
317   --
318   Open  C_Sel1;
319   Fetch C_Sel1 Into g_old_rec;
320   If C_Sel1%notfound then
321     Close C_Sel1;
322     --
323     -- The primary key is invalid therefore we must error
324     --
325     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
326     fnd_message.raise_error;
327   End If;
328   Close C_Sel1;
329   If (p_object_version_number <> g_old_rec.object_version_number) Then
330         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
331         fnd_message.raise_error;
332       End If;
333 --
334   hr_utility.set_location(' Leaving:'||l_proc, 10);
335 --
336 -- We need to trap the ORA LOCK exception
337 --
338 Exception
339   When HR_Api.Object_Locked then
340     --
341     -- The object is locked therefore we need to supply a meaningful
342     -- error message.
343     --
344     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
345     fnd_message.set_token('TABLE_NAME', 'ben_pil_elctbl_chc_popl');
346     fnd_message.raise_error;
347 End lck;
348 --
349 -- ----------------------------------------------------------------------------
350 -- |-----------------------------< convert_args >-----------------------------|
351 -- ----------------------------------------------------------------------------
352 Function convert_args
353     (
354     p_pil_elctbl_chc_popl_id        in number,
355     p_dflt_enrt_dt                  in date,
356     p_dflt_asnd_dt                  in date,
357     p_elcns_made_dt                 in date,
358     p_cls_enrt_dt_to_use_cd         in varchar2,
359     p_enrt_typ_cycl_cd              in varchar2,
360     p_enrt_perd_end_dt              in date,
361     p_enrt_perd_strt_dt             in date,
362     p_procg_end_dt                  in date,
363     p_pil_elctbl_popl_stat_cd       in varchar2,
364     p_acty_ref_perd_cd              in varchar2,
365     p_uom                           in varchar2,
366     p_comments                           in varchar2,
367     p_mgr_ovrid_dt                           in date,
368     p_ws_mgr_id                           in number,
369     p_mgr_ovrid_person_id                           in number,
370     p_assignment_id                           in number,
371         --cwb
372         p_bdgt_acc_cd                   in varchar2,
373         p_pop_cd                        in varchar2,
374         p_bdgt_due_dt                   in date,
375         p_bdgt_export_flag              in varchar2,
376         p_bdgt_iss_dt                   in date,
377         p_bdgt_stat_cd                  in varchar2,
378         p_ws_acc_cd                     in varchar2,
379         p_ws_due_dt                     in date,
380         p_ws_export_flag                in varchar2,
381         p_ws_iss_dt                     in date,
382         p_ws_stat_cd                    in varchar2,
383         --cwb
384         p_reinstate_cd                  in varchar2,
385         p_reinstate_ovrdn_cd            in varchar2,
386     p_auto_asnd_dt                  in date,
387         p_cbr_elig_perd_strt_dt         in date,
388         p_cbr_elig_perd_end_dt          in date,
389     p_lee_rsn_id                    in number,
390     p_enrt_perd_id                  in number,
391     p_per_in_ler_id                 in number,
392     p_pgm_id                        in number,
393     p_pl_id                         in number,
394     p_business_group_id             in number,
395     p_pel_attribute_category        in varchar2,
396     p_pel_attribute1                in varchar2,
397     p_pel_attribute2                in varchar2,
398     p_pel_attribute3                in varchar2,
399     p_pel_attribute4                in varchar2,
400     p_pel_attribute5                in varchar2,
401     p_pel_attribute6                in varchar2,
402     p_pel_attribute7                in varchar2,
403     p_pel_attribute8                in varchar2,
404     p_pel_attribute9                in varchar2,
405     p_pel_attribute10               in varchar2,
406     p_pel_attribute11               in varchar2,
407     p_pel_attribute12               in varchar2,
408     p_pel_attribute13               in varchar2,
409     p_pel_attribute14               in varchar2,
410     p_pel_attribute15               in varchar2,
411     p_pel_attribute16               in varchar2,
412     p_pel_attribute17               in varchar2,
413     p_pel_attribute18               in varchar2,
414     p_pel_attribute19               in varchar2,
415     p_pel_attribute20               in varchar2,
416     p_pel_attribute21               in varchar2,
417     p_pel_attribute22               in varchar2,
418     p_pel_attribute23               in varchar2,
419     p_pel_attribute24               in varchar2,
420     p_pel_attribute25               in varchar2,
421     p_pel_attribute26               in varchar2,
422     p_pel_attribute27               in varchar2,
423     p_pel_attribute28               in varchar2,
424     p_pel_attribute29               in varchar2,
425     p_pel_attribute30               in varchar2,
426     p_request_id                    in number,
427     p_program_application_id        in number,
428     p_program_id                    in number,
429     p_program_update_date           in date,
430     p_object_version_number         in number,
431     p_defer_deenrol_flag            in varchar2,
432     p_deenrol_made_dt               in date
433     )
434     Return g_rec_type is
438 --
435 --
436   l_rec   g_rec_type;
437   l_proc  varchar2(72) := g_package||'convert_args';
439 Begin
440   --
441   hr_utility.set_location('Entering:'||l_proc, 5);
442   --
443   -- Convert arguments into local l_rec structure.
444   --
445   l_rec.pil_elctbl_chc_popl_id           := p_pil_elctbl_chc_popl_id;
446   l_rec.dflt_enrt_dt                     := p_dflt_enrt_dt;
447   l_rec.dflt_asnd_dt                     := p_dflt_asnd_dt;
448   l_rec.elcns_made_dt                    := p_elcns_made_dt;
449   l_rec.cls_enrt_dt_to_use_cd            := p_cls_enrt_dt_to_use_cd;
450   l_rec.enrt_typ_cycl_cd                 := p_enrt_typ_cycl_cd;
451   l_rec.enrt_perd_end_dt                 := p_enrt_perd_end_dt;
452   l_rec.enrt_perd_strt_dt                := p_enrt_perd_strt_dt;
453   l_rec.procg_end_dt                     := p_procg_end_dt;
454   l_rec.pil_elctbl_popl_stat_cd          := p_pil_elctbl_popl_stat_cd;
455   l_rec.acty_ref_perd_cd                 := p_acty_ref_perd_cd;
456   l_rec.uom                              := p_uom;
457   l_rec.comments                              := p_comments;
458   l_rec.mgr_ovrid_dt                              := p_mgr_ovrid_dt;
459   l_rec.ws_mgr_id                              := p_ws_mgr_id;
460   l_rec.mgr_ovrid_person_id                              := p_mgr_ovrid_person_id;
461   l_rec.assignment_id                              := p_assignment_id;
462   --cwb
463   l_rec.bdgt_acc_cd                      := p_bdgt_acc_cd;
464   l_rec.pop_cd                           := p_pop_cd;
465   l_rec.bdgt_due_dt                      := p_bdgt_due_dt;
466   l_rec.bdgt_export_flag                 := p_bdgt_export_flag;
467   l_rec.bdgt_iss_dt                      := p_bdgt_iss_dt;
468   l_rec.bdgt_stat_cd                     := p_bdgt_stat_cd;
469   l_rec.ws_acc_cd                        := p_ws_acc_cd;
470   l_rec.ws_due_dt                        := p_ws_due_dt;
471   l_rec.ws_export_flag                   := p_ws_export_flag;
472   l_rec.ws_iss_dt                        := p_ws_iss_dt;
473   l_rec.ws_stat_cd                       := p_ws_stat_cd;
474   --cwb
475   l_rec.reinstate_cd                     := p_reinstate_cd;
476   l_rec.reinstate_ovrdn_cd               := p_reinstate_ovrdn_cd;
477   l_rec.auto_asnd_dt                     := p_auto_asnd_dt;
478   l_rec.cbr_elig_perd_strt_dt            := p_cbr_elig_perd_strt_dt;
479   l_rec.cbr_elig_perd_end_dt             := p_cbr_elig_perd_end_dt;
480   l_rec.lee_rsn_id                       := p_lee_rsn_id;
481   l_rec.enrt_perd_id                     := p_enrt_perd_id;
482   l_rec.per_in_ler_id                    := p_per_in_ler_id;
483   l_rec.pgm_id                           := p_pgm_id;
484   l_rec.pl_id                            := p_pl_id;
485   l_rec.business_group_id                := p_business_group_id;
486   l_rec.pel_attribute_category           := p_pel_attribute_category;
487   l_rec.pel_attribute1                   := p_pel_attribute1;
488   l_rec.pel_attribute2                   := p_pel_attribute2;
489   l_rec.pel_attribute3                   := p_pel_attribute3;
490   l_rec.pel_attribute4                   := p_pel_attribute4;
491   l_rec.pel_attribute5                   := p_pel_attribute5;
492   l_rec.pel_attribute6                   := p_pel_attribute6;
493   l_rec.pel_attribute7                   := p_pel_attribute7;
494   l_rec.pel_attribute8                   := p_pel_attribute8;
495   l_rec.pel_attribute9                   := p_pel_attribute9;
496   l_rec.pel_attribute10                  := p_pel_attribute10;
497   l_rec.pel_attribute11                  := p_pel_attribute11;
498   l_rec.pel_attribute12                  := p_pel_attribute12;
499   l_rec.pel_attribute13                  := p_pel_attribute13;
500   l_rec.pel_attribute14                  := p_pel_attribute14;
501   l_rec.pel_attribute15                  := p_pel_attribute15;
502   l_rec.pel_attribute16                  := p_pel_attribute16;
503   l_rec.pel_attribute17                  := p_pel_attribute17;
504   l_rec.pel_attribute18                  := p_pel_attribute18;
505   l_rec.pel_attribute19                  := p_pel_attribute19;
506   l_rec.pel_attribute20                  := p_pel_attribute20;
507   l_rec.pel_attribute21                  := p_pel_attribute21;
508   l_rec.pel_attribute22                  := p_pel_attribute22;
509   l_rec.pel_attribute23                  := p_pel_attribute23;
510   l_rec.pel_attribute24                  := p_pel_attribute24;
511   l_rec.pel_attribute25                  := p_pel_attribute25;
512   l_rec.pel_attribute26                  := p_pel_attribute26;
513   l_rec.pel_attribute27                  := p_pel_attribute27;
514   l_rec.pel_attribute28                  := p_pel_attribute28;
515   l_rec.pel_attribute29                  := p_pel_attribute29;
516   l_rec.pel_attribute30                  := p_pel_attribute30;
517   l_rec.request_id                       := p_request_id;
518   l_rec.program_application_id           := p_program_application_id;
519   l_rec.program_id                       := p_program_id;
520   l_rec.program_update_date              := p_program_update_date;
521   l_rec.object_version_number            := p_object_version_number;
522   l_rec.defer_deenrol_flag               := p_defer_deenrol_flag;
523   l_rec.deenrol_made_dt                  := p_deenrol_made_dt;
524   --
525   -- Return the plsql record structure.
526   --
527   hr_utility.set_location(' Leaving:'||l_proc, 10);
528   Return(l_rec);
529 --
530 End convert_args;
531 --
532 end ben_pel_shd;