DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PROGRAM_API

Source


1 Package Body ben_Program_api as
2 /* $Header: bepgmapi.pkb 120.0 2005/05/28 10:46:40 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  ben_Program_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_Program >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_Program
13   (p_validate                       in  boolean   default false
14   ,p_pgm_id                         out nocopy number
15   ,p_effective_start_date           out nocopy date
16   ,p_effective_end_date             out nocopy date
17   ,p_name                           in  varchar2  default null
18   ,p_dpnt_adrs_rqd_flag             in  varchar2  default null
19   ,p_pgm_prvds_no_auto_enrt_flag    in  varchar2  default null
20   ,p_dpnt_dob_rqd_flag              in  varchar2  default null
21   ,p_pgm_prvds_no_dflt_enrt_flag    in  varchar2  default null
22   ,p_dpnt_legv_id_rqd_flag          in  varchar2  default null
23   ,p_dpnt_dsgn_lvl_cd               in  varchar2  default null
24   ,p_pgm_stat_cd                    in  varchar2  default null
25   ,p_ivr_ident                      in  varchar2  default null
26   ,p_pgm_typ_cd                     in  varchar2  default null
27   ,p_elig_apls_flag                 in  varchar2  default 'N'
28   ,p_uses_all_asmts_for_rts_flag    in  varchar2  default null
29   ,p_url_ref_name                   in  varchar2  default null
30   ,p_pgm_desc                       in  varchar2  default null
31   ,p_prtn_elig_ovrid_alwd_flag      in  varchar2  default null
32   ,p_pgm_use_all_asnts_elig_flag    in  varchar2  default null
33   ,p_dpnt_dsgn_cd                   in  varchar2  default null
34   ,p_mx_dpnt_pct_prtt_lf_amt        in  number    default null
35   ,p_mx_sps_pct_prtt_lf_amt         in  number    default null
36   ,p_acty_ref_perd_cd               in  varchar2  default null
37   ,p_coord_cvg_for_all_pls_flg      in  varchar2  default null
38   ,p_enrt_cvg_end_dt_cd             in  varchar2  default null
39   ,p_enrt_cvg_end_dt_rl             in  number    default null
40   ,p_dpnt_cvg_end_dt_cd             in  varchar2  default null
41   ,p_dpnt_cvg_end_dt_rl             in  number    default null
42   ,p_dpnt_cvg_strt_dt_cd            in  varchar2  default null
43   ,p_dpnt_cvg_strt_dt_rl            in  number    default null
44   ,p_dpnt_dsgn_no_ctfn_rqd_flag     in  varchar2  default null
45   ,p_drvbl_fctr_dpnt_elig_flag      in  varchar2  default null
46   ,p_drvbl_fctr_prtn_elig_flag      in  varchar2  default null
47   ,p_enrt_cvg_strt_dt_cd            in  varchar2  default null
48   ,p_enrt_cvg_strt_dt_rl            in  number    default null
49   ,p_enrt_info_rt_freq_cd           in  varchar2  default null
50   ,p_rt_strt_dt_cd                  in  varchar2  default null
51   ,p_rt_strt_dt_rl                  in  number    default null
52   ,p_rt_end_dt_cd                   in  varchar2  default null
53   ,p_rt_end_dt_rl                   in  number    default null
54   ,p_pgm_grp_cd                     in  varchar2  default null
55   ,p_pgm_uom                        in  varchar2  default null
56   ,p_drvbl_fctr_apls_rts_flag       in  varchar2  default null
57   ,p_alws_unrstrctd_enrt_flag       in  varchar2  default null
58   ,p_enrt_cd                        in  varchar2  default null
59   ,p_enrt_mthd_cd                   in  varchar2  default null
60   ,p_poe_lvl_cd                     in  varchar2  default null
61   ,p_enrt_rl                        in  number    default null
62   ,p_auto_enrt_mthd_rl              in  number    default null
63   ,p_trk_inelig_per_flag            in  varchar2  default null
64   ,p_business_group_id              in  number    default null
65   ,p_per_cvrd_cd                    in  varchar2  default null
66   ,P_vrfy_fmly_mmbr_rl              in  number    default null
67   ,P_vrfy_fmly_mmbr_cd              in  varchar2  default null
68   ,P_short_name                     in  varchar2  default null        /*FHR*/
69   ,p_short_code		     	    in  varchar2  default null        /*FHR*/
70     ,p_legislation_code		     	    in  varchar2  default null        /*FHR*/
71     ,p_legislation_subgroup		     	    in  varchar2  default null        /*FHR*/
72   ,p_Dflt_pgm_flag                  in  Varchar2  default null
73   ,p_Use_prog_points_flag           in  Varchar2  default null
74   ,p_Dflt_step_cd                   in  Varchar2  default null
75   ,p_Dflt_step_rl                   in  number    default null
76   ,p_Update_salary_cd               in  Varchar2  default null
77   ,p_Use_multi_pay_rates_flag       in  Varchar2  default null
78   ,p_dflt_element_type_id           in  number    default null
79   ,p_Dflt_input_value_id            in  number    default null
80   ,p_Use_scores_cd                  in  Varchar2  default null
81   ,p_Scores_calc_mthd_cd            in  Varchar2  default null
82   ,p_Scores_calc_rl                 in  number    default null
83   ,p_gsp_allow_override_flag         in  varchar2  default null
84   ,p_use_variable_rates_flag         in  varchar2  default null
85   ,p_salary_calc_mthd_cd         in  varchar2  default null
86   ,p_salary_calc_mthd_rl         in  number  default null
87   ,p_susp_if_dpnt_ssn_nt_prv_cd    in  varchar2  default null
88   ,p_susp_if_dpnt_dob_nt_prv_cd    in  varchar2  default null
89   ,p_susp_if_dpnt_adr_nt_prv_cd    in  varchar2  default null
90   ,p_susp_if_ctfn_not_dpnt_flag    in  varchar2  default 'Y'
91   ,p_dpnt_ctfn_determine_cd        in  varchar2  default null
92   ,p_pgm_attribute_category         in  varchar2  default null
93   ,p_pgm_attribute1                 in  varchar2  default null
94   ,p_pgm_attribute2                 in  varchar2  default null
95   ,p_pgm_attribute3                 in  varchar2  default null
96   ,p_pgm_attribute4                 in  varchar2  default null
97   ,p_pgm_attribute5                 in  varchar2  default null
98   ,p_pgm_attribute6                 in  varchar2  default null
99   ,p_pgm_attribute7                 in  varchar2  default null
100   ,p_pgm_attribute8                 in  varchar2  default null
101   ,p_pgm_attribute9                 in  varchar2  default null
102   ,p_pgm_attribute10                in  varchar2  default null
103   ,p_pgm_attribute11                in  varchar2  default null
104   ,p_pgm_attribute12                in  varchar2  default null
105   ,p_pgm_attribute13                in  varchar2  default null
106   ,p_pgm_attribute14                in  varchar2  default null
107   ,p_pgm_attribute15                in  varchar2  default null
108   ,p_pgm_attribute16                in  varchar2  default null
109   ,p_pgm_attribute17                in  varchar2  default null
110   ,p_pgm_attribute18                in  varchar2  default null
111   ,p_pgm_attribute19                in  varchar2  default null
112   ,p_pgm_attribute20                in  varchar2  default null
113   ,p_pgm_attribute21                in  varchar2  default null
114   ,p_pgm_attribute22                in  varchar2  default null
115   ,p_pgm_attribute23                in  varchar2  default null
116   ,p_pgm_attribute24                in  varchar2  default null
117   ,p_pgm_attribute25                in  varchar2  default null
118   ,p_pgm_attribute26                in  varchar2  default null
119   ,p_pgm_attribute27                in  varchar2  default null
120   ,p_pgm_attribute28                in  varchar2  default null
121   ,p_pgm_attribute29                in  varchar2  default null
122   ,p_pgm_attribute30                in  varchar2  default null
123   ,p_object_version_number          out nocopy number
124   ,p_effective_date                 in  date
125   ) is
126   --
127   -- Declare cursors and local variables
128   --
129   l_pgm_id ben_pgm_f.pgm_id%TYPE;
130   l_effective_start_date ben_pgm_f.effective_start_date%TYPE;
131   l_effective_end_date ben_pgm_f.effective_end_date%TYPE;
132   l_proc varchar2(72) := g_package||'create_Program';
133   l_object_version_number ben_pgm_f.object_version_number%TYPE;
134   --
135 begin
136   --
137   hr_utility.set_location('Entering:'|| l_proc, 10);
138   --
139   -- Issue a savepoint if operating in validation only mode
140   --
141   savepoint create_Program;
142   --
143   hr_utility.set_location(l_proc, 20);
144   --
145   -- Process Logic
146   --
147   begin
148     --
149     -- Start of API User Hook for the before hook of create_Program
150     --
151     ben_Program_bk1.create_Program_b
152       (
153        p_name                           =>  p_name
154       ,p_dpnt_adrs_rqd_flag             =>  p_dpnt_adrs_rqd_flag
155       ,p_pgm_prvds_no_auto_enrt_flag    =>  p_pgm_prvds_no_auto_enrt_flag
156       ,p_dpnt_dob_rqd_flag              =>  p_dpnt_dob_rqd_flag
157       ,p_pgm_prvds_no_dflt_enrt_flag    =>  p_pgm_prvds_no_dflt_enrt_flag
158       ,p_dpnt_legv_id_rqd_flag          =>  p_dpnt_legv_id_rqd_flag
159       ,p_dpnt_dsgn_lvl_cd               =>  p_dpnt_dsgn_lvl_cd
160       ,p_pgm_stat_cd                    =>  p_pgm_stat_cd
161       ,p_ivr_ident                      =>  p_ivr_ident
162       ,p_pgm_typ_cd                     =>  p_pgm_typ_cd
163       ,p_elig_apls_flag                 =>  p_elig_apls_flag
164       ,p_uses_all_asmts_for_rts_flag    =>  p_uses_all_asmts_for_rts_flag
165       ,p_url_ref_name                   =>  p_url_ref_name
166       ,p_pgm_desc                       =>  p_pgm_desc
167       ,p_prtn_elig_ovrid_alwd_flag      =>  p_prtn_elig_ovrid_alwd_flag
168       ,p_pgm_use_all_asnts_elig_flag    =>  p_pgm_use_all_asnts_elig_flag
169       ,p_dpnt_dsgn_cd                   =>  p_dpnt_dsgn_cd
170       ,p_mx_dpnt_pct_prtt_lf_amt        =>  p_mx_dpnt_pct_prtt_lf_amt
171       ,p_mx_sps_pct_prtt_lf_amt         =>  p_mx_sps_pct_prtt_lf_amt
172       ,p_acty_ref_perd_cd               =>  p_acty_ref_perd_cd
173       ,p_coord_cvg_for_all_pls_flg      =>  p_coord_cvg_for_all_pls_flg
174       ,p_enrt_cvg_end_dt_cd             =>  p_enrt_cvg_end_dt_cd
175       ,p_enrt_cvg_end_dt_rl             =>  p_enrt_cvg_end_dt_rl
176       ,p_dpnt_cvg_end_dt_cd             =>  p_dpnt_cvg_end_dt_cd
177       ,p_dpnt_cvg_end_dt_rl             =>  p_dpnt_cvg_end_dt_rl
178       ,p_dpnt_cvg_strt_dt_cd            =>  p_dpnt_cvg_strt_dt_cd
179       ,p_dpnt_cvg_strt_dt_rl            =>  p_dpnt_cvg_strt_dt_rl
180       ,p_dpnt_dsgn_no_ctfn_rqd_flag     =>  p_dpnt_dsgn_no_ctfn_rqd_flag
181       ,p_drvbl_fctr_dpnt_elig_flag      =>  p_drvbl_fctr_dpnt_elig_flag
182       ,p_drvbl_fctr_prtn_elig_flag      =>  p_drvbl_fctr_prtn_elig_flag
183       ,p_enrt_cvg_strt_dt_cd            =>  p_enrt_cvg_strt_dt_cd
184       ,p_enrt_cvg_strt_dt_rl            =>  p_enrt_cvg_strt_dt_rl
185       ,p_enrt_info_rt_freq_cd           =>  p_enrt_info_rt_freq_cd
186       ,p_rt_strt_dt_cd                  =>  p_rt_strt_dt_cd
187       ,p_rt_strt_dt_rl                  =>  p_rt_strt_dt_rl
188       ,p_rt_end_dt_cd                   =>  p_rt_end_dt_cd
189       ,p_rt_end_dt_rl                   =>  p_rt_end_dt_rl
190       ,p_pgm_grp_cd                     =>  p_pgm_grp_cd
191       ,p_pgm_uom                        =>  p_pgm_uom
192       ,p_drvbl_fctr_apls_rts_flag       =>  p_drvbl_fctr_apls_rts_flag
193       ,p_alws_unrstrctd_enrt_flag       =>  p_alws_unrstrctd_enrt_flag
194       ,p_enrt_cd                        =>  p_enrt_cd
195       ,p_enrt_mthd_cd                   =>  p_enrt_mthd_cd
196       ,p_poe_lvl_cd                     =>  p_poe_lvl_cd
197       ,p_enrt_rl                        =>  p_enrt_rl
198       ,p_auto_enrt_mthd_rl              =>  p_auto_enrt_mthd_rl
199       ,p_trk_inelig_per_flag            =>  p_trk_inelig_per_flag
200       ,p_business_group_id              =>  p_business_group_id
201       ,p_per_cvrd_cd                    =>  p_per_cvrd_cd
202       ,P_vrfy_fmly_mmbr_rl              =>  P_vrfy_fmly_mmbr_rl
203       ,P_vrfy_fmly_mmbr_cd              =>  P_vrfy_fmly_mmbr_cd
204       ,p_short_name			=>  p_short_name		/*FHR*/
205       ,p_short_code			=>  p_short_code		/*FHR*/
206             ,p_legislation_code			=>  p_legislation_code		/*FHR*/
207             ,p_legislation_subgroup			=>  p_legislation_subgroup		/*FHR*/
208       ,p_Dflt_pgm_flag                  =>  p_Dflt_pgm_flag
209       ,p_Use_prog_points_flag           =>  p_Use_prog_points_flag
210       ,p_Dflt_step_cd                   =>  p_Dflt_step_cd
211       ,p_Dflt_step_rl                   =>  p_Dflt_step_rl
212       ,p_Update_salary_cd               =>  p_Update_salary_cd
213       ,p_Use_multi_pay_rates_flag        =>  p_Use_multi_pay_rates_flag
214       ,p_dflt_element_type_id           =>  p_dflt_element_type_id
215       ,p_Dflt_input_value_id            =>  p_Dflt_input_value_id
216       ,p_Use_scores_cd                  =>  p_Use_scores_cd
217       ,p_Scores_calc_mthd_cd            =>  p_Scores_calc_mthd_cd
218       ,p_Scores_calc_rl                 =>  p_Scores_calc_rl
219       ,p_gsp_allow_override_flag         =>  p_gsp_allow_override_flag
220       ,p_use_variable_rates_flag         =>  p_use_variable_rates_flag
221       ,p_salary_calc_mthd_cd         =>  p_salary_calc_mthd_cd
222       ,p_salary_calc_mthd_rl         =>  p_salary_calc_mthd_rl
223       ,p_susp_if_dpnt_ssn_nt_prv_cd     =>  p_susp_if_dpnt_ssn_nt_prv_cd
224       ,p_susp_if_dpnt_dob_nt_prv_cd     =>  p_susp_if_dpnt_dob_nt_prv_cd
225       ,p_susp_if_dpnt_adr_nt_prv_cd     =>  p_susp_if_dpnt_adr_nt_prv_cd
226       ,p_susp_if_ctfn_not_dpnt_flag     =>  p_susp_if_ctfn_not_dpnt_flag
227       ,p_dpnt_ctfn_determine_cd         =>  p_dpnt_ctfn_determine_cd
228       ,p_pgm_attribute_category         =>  p_pgm_attribute_category
229       ,p_pgm_attribute1                 =>  p_pgm_attribute1
230       ,p_pgm_attribute2                 =>  p_pgm_attribute2
231       ,p_pgm_attribute3                 =>  p_pgm_attribute3
232       ,p_pgm_attribute4                 =>  p_pgm_attribute4
233       ,p_pgm_attribute5                 =>  p_pgm_attribute5
234       ,p_pgm_attribute6                 =>  p_pgm_attribute6
235       ,p_pgm_attribute7                 =>  p_pgm_attribute7
236       ,p_pgm_attribute8                 =>  p_pgm_attribute8
237       ,p_pgm_attribute9                 =>  p_pgm_attribute9
238       ,p_pgm_attribute10                =>  p_pgm_attribute10
239       ,p_pgm_attribute11                =>  p_pgm_attribute11
240       ,p_pgm_attribute12                =>  p_pgm_attribute12
241       ,p_pgm_attribute13                =>  p_pgm_attribute13
242       ,p_pgm_attribute14                =>  p_pgm_attribute14
243       ,p_pgm_attribute15                =>  p_pgm_attribute15
244       ,p_pgm_attribute16                =>  p_pgm_attribute16
245       ,p_pgm_attribute17                =>  p_pgm_attribute17
246       ,p_pgm_attribute18                =>  p_pgm_attribute18
247       ,p_pgm_attribute19                =>  p_pgm_attribute19
248       ,p_pgm_attribute20                =>  p_pgm_attribute20
249       ,p_pgm_attribute21                =>  p_pgm_attribute21
250       ,p_pgm_attribute22                =>  p_pgm_attribute22
251       ,p_pgm_attribute23                =>  p_pgm_attribute23
252       ,p_pgm_attribute24                =>  p_pgm_attribute24
253       ,p_pgm_attribute25                =>  p_pgm_attribute25
254       ,p_pgm_attribute26                =>  p_pgm_attribute26
255       ,p_pgm_attribute27                =>  p_pgm_attribute27
256       ,p_pgm_attribute28                =>  p_pgm_attribute28
257       ,p_pgm_attribute29                =>  p_pgm_attribute29
258       ,p_pgm_attribute30                =>  p_pgm_attribute30
259       ,p_effective_date                 => trunc(p_effective_date)
260       );
261   exception
262     when hr_api.cannot_find_prog_unit then
263       hr_api.cannot_find_prog_unit_error
264         (
265          p_module_name => 'CREATE_Program'
266         ,p_hook_type   => 'BP'
267         );
268     --
269     -- End of API User Hook for the before hook of create_Program
270     --
271   end;
272   --
273   ben_pgm_ins.ins
274     (
275      p_pgm_id                        => l_pgm_id
276     ,p_effective_start_date          => l_effective_start_date
277     ,p_effective_end_date            => l_effective_end_date
278     ,p_name                          => p_name
279     ,p_dpnt_adrs_rqd_flag            => p_dpnt_adrs_rqd_flag
280     ,p_pgm_prvds_no_auto_enrt_flag   => p_pgm_prvds_no_auto_enrt_flag
281     ,p_dpnt_dob_rqd_flag             => p_dpnt_dob_rqd_flag
282     ,p_pgm_prvds_no_dflt_enrt_flag   => p_pgm_prvds_no_dflt_enrt_flag
283     ,p_dpnt_legv_id_rqd_flag         => p_dpnt_legv_id_rqd_flag
284     ,p_dpnt_dsgn_lvl_cd              => p_dpnt_dsgn_lvl_cd
285     ,p_pgm_stat_cd                   => p_pgm_stat_cd
286     ,p_ivr_ident                     => p_ivr_ident
287     ,p_pgm_typ_cd                    => p_pgm_typ_cd
288     ,p_elig_apls_flag                => p_elig_apls_flag
289     ,p_uses_all_asmts_for_rts_flag   => p_uses_all_asmts_for_rts_flag
290     ,p_url_ref_name                  => p_url_ref_name
291     ,p_pgm_desc                      => p_pgm_desc
292     ,p_prtn_elig_ovrid_alwd_flag     => p_prtn_elig_ovrid_alwd_flag
293     ,p_pgm_use_all_asnts_elig_flag   => p_pgm_use_all_asnts_elig_flag
294     ,p_dpnt_dsgn_cd                  => p_dpnt_dsgn_cd
295     ,p_mx_dpnt_pct_prtt_lf_amt       => p_mx_dpnt_pct_prtt_lf_amt
296     ,p_mx_sps_pct_prtt_lf_amt        => p_mx_sps_pct_prtt_lf_amt
297     ,p_acty_ref_perd_cd              => p_acty_ref_perd_cd
298     ,p_coord_cvg_for_all_pls_flg     => p_coord_cvg_for_all_pls_flg
299     ,p_enrt_cvg_end_dt_cd            => p_enrt_cvg_end_dt_cd
300     ,p_enrt_cvg_end_dt_rl            => p_enrt_cvg_end_dt_rl
301     ,p_dpnt_cvg_end_dt_cd            => p_dpnt_cvg_end_dt_cd
302     ,p_dpnt_cvg_end_dt_rl            => p_dpnt_cvg_end_dt_rl
303     ,p_dpnt_cvg_strt_dt_cd           => p_dpnt_cvg_strt_dt_cd
304     ,p_dpnt_cvg_strt_dt_rl           => p_dpnt_cvg_strt_dt_rl
305     ,p_dpnt_dsgn_no_ctfn_rqd_flag    => p_dpnt_dsgn_no_ctfn_rqd_flag
306     ,p_drvbl_fctr_dpnt_elig_flag     => p_drvbl_fctr_dpnt_elig_flag
307     ,p_drvbl_fctr_prtn_elig_flag     => p_drvbl_fctr_prtn_elig_flag
308     ,p_enrt_cvg_strt_dt_cd           => p_enrt_cvg_strt_dt_cd
309     ,p_enrt_cvg_strt_dt_rl           => p_enrt_cvg_strt_dt_rl
310     ,p_enrt_info_rt_freq_cd          => p_enrt_info_rt_freq_cd
311     ,p_rt_strt_dt_cd                 => p_rt_strt_dt_cd
312     ,p_rt_strt_dt_rl                 => p_rt_strt_dt_rl
313     ,p_rt_end_dt_cd                  => p_rt_end_dt_cd
314     ,p_rt_end_dt_rl                  => p_rt_end_dt_rl
315     ,p_pgm_grp_cd                    => p_pgm_grp_cd
316     ,p_pgm_uom                       => p_pgm_uom
317     ,p_drvbl_fctr_apls_rts_flag      => p_drvbl_fctr_apls_rts_flag
318     ,p_alws_unrstrctd_enrt_flag      =>  p_alws_unrstrctd_enrt_flag
319     ,p_enrt_cd                       =>  p_enrt_cd
320     ,p_enrt_mthd_cd                  =>  p_enrt_mthd_cd
321     ,p_poe_lvl_cd                    =>  p_poe_lvl_cd
322     ,p_enrt_rl                       =>  p_enrt_rl
323     ,p_auto_enrt_mthd_rl             =>  p_auto_enrt_mthd_rl
324     ,p_trk_inelig_per_flag           => p_trk_inelig_per_flag
325     ,p_business_group_id             => p_business_group_id
326     ,p_per_cvrd_cd                   =>  p_per_cvrd_cd
327     ,P_vrfy_fmly_mmbr_rl             =>  P_vrfy_fmly_mmbr_rl
328     ,P_vrfy_fmly_mmbr_cd             =>  P_vrfy_fmly_mmbr_cd
329     ,p_short_name		     =>  p_short_name		/*FHR*/
330     ,p_short_code		     =>  p_short_code		/*FHR*/
331         ,p_legislation_code		     =>  p_legislation_code		/*FHR*/
332         ,p_legislation_subgroup		     =>  p_legislation_subgroup		/*FHR*/
333     ,p_Dflt_pgm_flag                 =>  p_Dflt_pgm_flag
334     ,p_Use_prog_points_flag          =>  p_Use_prog_points_flag
335     ,p_Dflt_step_cd                  =>  p_Dflt_step_cd
336     ,p_Dflt_step_rl                  =>  p_Dflt_step_rl
337     ,p_Update_salary_cd              =>  p_Update_salary_cd
338     ,p_Use_multi_pay_rates_flag       =>  p_Use_multi_pay_rates_flag
339     ,p_dflt_element_type_id          =>  p_dflt_element_type_id
340     ,p_Dflt_input_value_id           =>  p_Dflt_input_value_id
341     ,p_Use_scores_cd                 =>  p_Use_scores_cd
342     ,p_Scores_calc_mthd_cd           =>  p_Scores_calc_mthd_cd
343     ,p_Scores_calc_rl                =>  p_Scores_calc_rl
344     ,p_gsp_allow_override_flag        => p_gsp_allow_override_flag
345     ,p_use_variable_rates_flag        => p_use_variable_rates_flag
346     ,p_salary_calc_mthd_cd        => p_salary_calc_mthd_cd
347     ,p_salary_calc_mthd_rl        => p_salary_calc_mthd_rl
348     ,p_susp_if_dpnt_ssn_nt_prv_cd     =>  p_susp_if_dpnt_ssn_nt_prv_cd
349     ,p_susp_if_dpnt_dob_nt_prv_cd     =>  p_susp_if_dpnt_dob_nt_prv_cd
350     ,p_susp_if_dpnt_adr_nt_prv_cd     =>  p_susp_if_dpnt_adr_nt_prv_cd
351     ,p_susp_if_ctfn_not_dpnt_flag     =>  p_susp_if_ctfn_not_dpnt_flag
352     ,p_dpnt_ctfn_determine_cd         =>  p_dpnt_ctfn_determine_cd
353     ,p_pgm_attribute_category        => p_pgm_attribute_category
354     ,p_pgm_attribute1                => p_pgm_attribute1
355     ,p_pgm_attribute2                => p_pgm_attribute2
356     ,p_pgm_attribute3                => p_pgm_attribute3
357     ,p_pgm_attribute4                => p_pgm_attribute4
358     ,p_pgm_attribute5                => p_pgm_attribute5
359     ,p_pgm_attribute6                => p_pgm_attribute6
360     ,p_pgm_attribute7                => p_pgm_attribute7
361     ,p_pgm_attribute8                => p_pgm_attribute8
362     ,p_pgm_attribute9                => p_pgm_attribute9
363     ,p_pgm_attribute10               => p_pgm_attribute10
364     ,p_pgm_attribute11               => p_pgm_attribute11
365     ,p_pgm_attribute12               => p_pgm_attribute12
366     ,p_pgm_attribute13               => p_pgm_attribute13
367     ,p_pgm_attribute14               => p_pgm_attribute14
368     ,p_pgm_attribute15               => p_pgm_attribute15
369     ,p_pgm_attribute16               => p_pgm_attribute16
370     ,p_pgm_attribute17               => p_pgm_attribute17
371     ,p_pgm_attribute18               => p_pgm_attribute18
372     ,p_pgm_attribute19               => p_pgm_attribute19
373     ,p_pgm_attribute20               => p_pgm_attribute20
374     ,p_pgm_attribute21               => p_pgm_attribute21
375     ,p_pgm_attribute22               => p_pgm_attribute22
376     ,p_pgm_attribute23               => p_pgm_attribute23
377     ,p_pgm_attribute24               => p_pgm_attribute24
378     ,p_pgm_attribute25               => p_pgm_attribute25
379     ,p_pgm_attribute26               => p_pgm_attribute26
380     ,p_pgm_attribute27               => p_pgm_attribute27
381     ,p_pgm_attribute28               => p_pgm_attribute28
382     ,p_pgm_attribute29               => p_pgm_attribute29
383     ,p_pgm_attribute30               => p_pgm_attribute30
384     ,p_object_version_number         => l_object_version_number
385     ,p_effective_date                => trunc(p_effective_date)
386     );
387   --
388   begin
389     --
390     -- Start of API User Hook for the after hook of create_Program
391     --
392     ben_Program_bk1.create_Program_a
393       (
394        p_pgm_id                         =>  l_pgm_id
395       ,p_effective_start_date           =>  l_effective_start_date
396       ,p_effective_end_date             =>  l_effective_end_date
397       ,p_name                           =>  p_name
398       ,p_dpnt_adrs_rqd_flag             =>  p_dpnt_adrs_rqd_flag
399       ,p_pgm_prvds_no_auto_enrt_flag    =>  p_pgm_prvds_no_auto_enrt_flag
400       ,p_dpnt_dob_rqd_flag              =>  p_dpnt_dob_rqd_flag
401       ,p_pgm_prvds_no_dflt_enrt_flag    =>  p_pgm_prvds_no_dflt_enrt_flag
402       ,p_dpnt_legv_id_rqd_flag          =>  p_dpnt_legv_id_rqd_flag
403       ,p_dpnt_dsgn_lvl_cd               =>  p_dpnt_dsgn_lvl_cd
404       ,p_pgm_stat_cd                    =>  p_pgm_stat_cd
405       ,p_ivr_ident                      =>  p_ivr_ident
406       ,p_pgm_typ_cd                     =>  p_pgm_typ_cd
407       ,p_elig_apls_flag                 =>  p_elig_apls_flag
408       ,p_uses_all_asmts_for_rts_flag    =>  p_uses_all_asmts_for_rts_flag
409       ,p_url_ref_name                   =>  p_url_ref_name
410       ,p_pgm_desc                       =>  p_pgm_desc
411       ,p_prtn_elig_ovrid_alwd_flag      =>  p_prtn_elig_ovrid_alwd_flag
412       ,p_pgm_use_all_asnts_elig_flag    =>  p_pgm_use_all_asnts_elig_flag
413       ,p_dpnt_dsgn_cd                   =>  p_dpnt_dsgn_cd
414       ,p_mx_dpnt_pct_prtt_lf_amt        =>  p_mx_dpnt_pct_prtt_lf_amt
415       ,p_mx_sps_pct_prtt_lf_amt         =>  p_mx_sps_pct_prtt_lf_amt
416       ,p_acty_ref_perd_cd               =>  p_acty_ref_perd_cd
417       ,p_coord_cvg_for_all_pls_flg      =>  p_coord_cvg_for_all_pls_flg
418       ,p_enrt_cvg_end_dt_cd             =>  p_enrt_cvg_end_dt_cd
419       ,p_enrt_cvg_end_dt_rl             =>  p_enrt_cvg_end_dt_rl
420       ,p_dpnt_cvg_end_dt_cd             =>  p_dpnt_cvg_end_dt_cd
421       ,p_dpnt_cvg_end_dt_rl             =>  p_dpnt_cvg_end_dt_rl
422       ,p_dpnt_cvg_strt_dt_cd            =>  p_dpnt_cvg_strt_dt_cd
423       ,p_dpnt_cvg_strt_dt_rl            =>  p_dpnt_cvg_strt_dt_rl
424       ,p_dpnt_dsgn_no_ctfn_rqd_flag     =>  p_dpnt_dsgn_no_ctfn_rqd_flag
425       ,p_drvbl_fctr_dpnt_elig_flag      =>  p_drvbl_fctr_dpnt_elig_flag
426       ,p_drvbl_fctr_prtn_elig_flag      =>  p_drvbl_fctr_prtn_elig_flag
427       ,p_enrt_cvg_strt_dt_cd            =>  p_enrt_cvg_strt_dt_cd
428       ,p_enrt_cvg_strt_dt_rl            =>  p_enrt_cvg_strt_dt_rl
429       ,p_enrt_info_rt_freq_cd           =>  p_enrt_info_rt_freq_cd
430       ,p_rt_strt_dt_cd                  =>  p_rt_strt_dt_cd
431       ,p_rt_strt_dt_rl                  =>  p_rt_strt_dt_rl
432       ,p_rt_end_dt_cd                   =>  p_rt_end_dt_cd
433       ,p_rt_end_dt_rl                   =>  p_rt_end_dt_rl
434       ,p_pgm_grp_cd                     =>  p_pgm_grp_cd
435       ,p_pgm_uom                        =>  p_pgm_uom
436       ,p_drvbl_fctr_apls_rts_flag       =>  p_drvbl_fctr_apls_rts_flag
437       ,p_alws_unrstrctd_enrt_flag       =>  p_alws_unrstrctd_enrt_flag
438       ,p_enrt_cd                        =>  p_enrt_cd
439       ,p_enrt_mthd_cd                   =>  p_enrt_mthd_cd
440       ,p_poe_lvl_cd                     =>  p_poe_lvl_cd
441       ,p_enrt_rl                        =>  p_enrt_rl
442       ,p_auto_enrt_mthd_rl              =>  p_auto_enrt_mthd_rl
443       ,p_trk_inelig_per_flag            =>  p_trk_inelig_per_flag
444       ,p_business_group_id              =>  p_business_group_id
445       ,p_per_cvrd_cd                    =>  p_per_cvrd_cd
446       ,P_vrfy_fmly_mmbr_rl              =>  P_vrfy_fmly_mmbr_rl
447       ,P_vrfy_fmly_mmbr_cd              =>  P_vrfy_fmly_mmbr_cd
448       ,p_short_name			=>  p_short_name		/*FHR*/
449       ,p_short_code			=>  p_short_code		/*FHR*/
450             ,p_legislation_code			=>  p_legislation_code		/*FHR*/
451             ,p_legislation_subgroup			=>  p_legislation_subgroup		/*FHR*/
452       ,p_Dflt_pgm_flag                  =>  p_Dflt_pgm_flag
453       ,p_Use_prog_points_flag           =>  p_Use_prog_points_flag
454       ,p_Dflt_step_cd                   =>  p_Dflt_step_cd
455       ,p_Dflt_step_rl                   =>  p_Dflt_step_rl
456       ,p_Update_salary_cd               =>  p_Update_salary_cd
457       ,p_Use_multi_pay_rates_flag        =>  p_Use_multi_pay_rates_flag
458       ,p_dflt_element_type_id           =>  p_dflt_element_type_id
459       ,p_Dflt_input_value_id            =>  p_Dflt_input_value_id
460       ,p_Use_scores_cd                  =>  p_Use_scores_cd
461       ,p_Scores_calc_mthd_cd            =>  p_Scores_calc_mthd_cd
462       ,p_Scores_calc_rl                 =>  p_Scores_calc_rl
463       ,p_gsp_allow_override_flag         =>  p_gsp_allow_override_flag
464       ,p_use_variable_rates_flag         =>  p_use_variable_rates_flag
465       ,p_salary_calc_mthd_cd         =>  p_salary_calc_mthd_cd
466       ,p_salary_calc_mthd_rl         =>  p_salary_calc_mthd_rl
467       ,p_susp_if_dpnt_ssn_nt_prv_cd     =>  p_susp_if_dpnt_ssn_nt_prv_cd
468       ,p_susp_if_dpnt_dob_nt_prv_cd     =>  p_susp_if_dpnt_dob_nt_prv_cd
469       ,p_susp_if_dpnt_adr_nt_prv_cd     =>  p_susp_if_dpnt_adr_nt_prv_cd
470       ,p_susp_if_ctfn_not_dpnt_flag     =>  p_susp_if_ctfn_not_dpnt_flag
471       ,p_dpnt_ctfn_determine_cd         =>  p_dpnt_ctfn_determine_cd
472       ,p_pgm_attribute_category         =>  p_pgm_attribute_category
473       ,p_pgm_attribute1                 =>  p_pgm_attribute1
474       ,p_pgm_attribute2                 =>  p_pgm_attribute2
475       ,p_pgm_attribute3                 =>  p_pgm_attribute3
476       ,p_pgm_attribute4                 =>  p_pgm_attribute4
477       ,p_pgm_attribute5                 =>  p_pgm_attribute5
478       ,p_pgm_attribute6                 =>  p_pgm_attribute6
479       ,p_pgm_attribute7                 =>  p_pgm_attribute7
480       ,p_pgm_attribute8                 =>  p_pgm_attribute8
481       ,p_pgm_attribute9                 =>  p_pgm_attribute9
482       ,p_pgm_attribute10                =>  p_pgm_attribute10
483       ,p_pgm_attribute11                =>  p_pgm_attribute11
484       ,p_pgm_attribute12                =>  p_pgm_attribute12
485       ,p_pgm_attribute13                =>  p_pgm_attribute13
486       ,p_pgm_attribute14                =>  p_pgm_attribute14
487       ,p_pgm_attribute15                =>  p_pgm_attribute15
488       ,p_pgm_attribute16                =>  p_pgm_attribute16
489       ,p_pgm_attribute17                =>  p_pgm_attribute17
490       ,p_pgm_attribute18                =>  p_pgm_attribute18
491       ,p_pgm_attribute19                =>  p_pgm_attribute19
492       ,p_pgm_attribute20                =>  p_pgm_attribute20
493       ,p_pgm_attribute21                =>  p_pgm_attribute21
494       ,p_pgm_attribute22                =>  p_pgm_attribute22
495       ,p_pgm_attribute23                =>  p_pgm_attribute23
496       ,p_pgm_attribute24                =>  p_pgm_attribute24
497       ,p_pgm_attribute25                =>  p_pgm_attribute25
498       ,p_pgm_attribute26                =>  p_pgm_attribute26
499       ,p_pgm_attribute27                =>  p_pgm_attribute27
500       ,p_pgm_attribute28                =>  p_pgm_attribute28
501       ,p_pgm_attribute29                =>  p_pgm_attribute29
502       ,p_pgm_attribute30                =>  p_pgm_attribute30
503       ,p_object_version_number          =>  l_object_version_number
504       ,p_effective_date                 => trunc(p_effective_date)
505       );
506   exception
507     when hr_api.cannot_find_prog_unit then
508       hr_api.cannot_find_prog_unit_error
509         (p_module_name => 'CREATE_Program'
510         ,p_hook_type   => 'AP'
511         );
512     --
513     -- End of API User Hook for the after hook of create_Program
514     --
515   end;
516   --
517   hr_utility.set_location(l_proc, 60);
518   --
519   -- When in validation only mode raise the Validate_Enabled exception
520   --
521   if p_validate then
522     raise hr_api.validate_enabled;
523   end if;
524   --
525   -- Set all output arguments
526   --
527   p_pgm_id := l_pgm_id;
528   p_effective_start_date := l_effective_start_date;
529   p_effective_end_date := l_effective_end_date;
530   p_object_version_number := l_object_version_number;
531   --
532   hr_utility.set_location(' Leaving:'||l_proc, 70);
533   --
534 exception
535   --
536   when hr_api.validate_enabled then
537     --
538     -- As the Validate_Enabled exception has been raised
539     -- we must rollback to the savepoint
540     --
541     ROLLBACK TO create_Program;
542     --
543     -- Only set output warning arguments
544     -- (Any key or derived arguments must be set to null
545     -- when validation only mode is being used.)
546     --
547     p_pgm_id := null;
548     p_effective_start_date := null;
549     p_effective_end_date := null;
550     p_object_version_number  := null;
551     hr_utility.set_location(' Leaving:'||l_proc, 80);
552     --
553   when others then
554     --
555     -- A validation or unexpected error has occured
556     --
557     ROLLBACK TO create_Program;
558     raise;
559     --
560 end create_Program;
561 -- ----------------------------------------------------------------------------
562 -- |------------------------< update_Program >--- ------------------|
563 -- ----------------------------------------------------------------------------
564 --
565 procedure update_Program
566   (p_validate                       in  boolean   default false
567   ,p_pgm_id                         in  number
568   ,p_effective_start_date           out nocopy date
569   ,p_effective_end_date             out nocopy date
570   ,p_name                           in  varchar2  default hr_api.g_varchar2
571   ,p_dpnt_adrs_rqd_flag             in  varchar2  default hr_api.g_varchar2
572   ,p_pgm_prvds_no_auto_enrt_flag    in  varchar2  default hr_api.g_varchar2
573   ,p_dpnt_dob_rqd_flag              in  varchar2  default hr_api.g_varchar2
574   ,p_pgm_prvds_no_dflt_enrt_flag    in  varchar2  default hr_api.g_varchar2
575   ,p_dpnt_legv_id_rqd_flag          in  varchar2  default hr_api.g_varchar2
576   ,p_dpnt_dsgn_lvl_cd               in  varchar2  default hr_api.g_varchar2
577   ,p_pgm_stat_cd                    in  varchar2  default hr_api.g_varchar2
578   ,p_ivr_ident                      in  varchar2  default hr_api.g_varchar2
579   ,p_pgm_typ_cd                     in  varchar2  default hr_api.g_varchar2
580   ,p_elig_apls_flag                 in  varchar2  default hr_api.g_varchar2
581   ,p_uses_all_asmts_for_rts_flag    in  varchar2  default hr_api.g_varchar2
582   ,p_url_ref_name                   in  varchar2  default hr_api.g_varchar2
583   ,p_pgm_desc                       in  varchar2  default hr_api.g_varchar2
584   ,p_prtn_elig_ovrid_alwd_flag      in  varchar2  default hr_api.g_varchar2
585   ,p_pgm_use_all_asnts_elig_flag    in  varchar2  default hr_api.g_varchar2
586   ,p_dpnt_dsgn_cd                   in  varchar2  default hr_api.g_varchar2
587   ,p_mx_dpnt_pct_prtt_lf_amt        in  number    default hr_api.g_number
588   ,p_mx_sps_pct_prtt_lf_amt         in  number    default hr_api.g_number
589   ,p_acty_ref_perd_cd               in  varchar2  default hr_api.g_varchar2
590   ,p_coord_cvg_for_all_pls_flg      in  varchar2  default hr_api.g_varchar2
591   ,p_enrt_cvg_end_dt_cd             in  varchar2  default hr_api.g_varchar2
592   ,p_enrt_cvg_end_dt_rl             in  number    default hr_api.g_number
593   ,p_dpnt_cvg_end_dt_cd             in  varchar2  default hr_api.g_varchar2
594   ,p_dpnt_cvg_end_dt_rl             in  number    default hr_api.g_number
595   ,p_dpnt_cvg_strt_dt_cd            in  varchar2  default hr_api.g_varchar2
596   ,p_dpnt_cvg_strt_dt_rl            in  number    default hr_api.g_number
597   ,p_dpnt_dsgn_no_ctfn_rqd_flag     in  varchar2  default hr_api.g_varchar2
598   ,p_drvbl_fctr_dpnt_elig_flag      in  varchar2  default hr_api.g_varchar2
599   ,p_drvbl_fctr_prtn_elig_flag      in  varchar2  default hr_api.g_varchar2
600   ,p_enrt_cvg_strt_dt_cd            in  varchar2  default hr_api.g_varchar2
601   ,p_enrt_cvg_strt_dt_rl            in  number    default hr_api.g_number
602   ,p_enrt_info_rt_freq_cd           in  varchar2  default hr_api.g_varchar2
603   ,p_rt_strt_dt_cd                  in  varchar2  default hr_api.g_varchar2
604   ,p_rt_strt_dt_rl                  in  number    default hr_api.g_number
605   ,p_rt_end_dt_cd                   in  varchar2  default hr_api.g_varchar2
606   ,p_rt_end_dt_rl                   in  number    default hr_api.g_number
607   ,p_pgm_grp_cd                     in  varchar2  default hr_api.g_varchar2
608   ,p_pgm_uom                        in  varchar2  default hr_api.g_varchar2
609   ,p_drvbl_fctr_apls_rts_flag       in  varchar2  default hr_api.g_varchar2
610   ,p_alws_unrstrctd_enrt_flag       in  varchar2  default hr_api.g_varchar2
611   ,p_enrt_cd                        in  varchar2  default hr_api.g_varchar2
612   ,p_enrt_mthd_cd                   in  varchar2  default hr_api.g_varchar2
613   ,p_poe_lvl_cd                     in  varchar2  default hr_api.g_varchar2
614   ,p_enrt_rl                        in  number    default hr_api.g_number
615   ,p_auto_enrt_mthd_rl              in  number    default hr_api.g_number
616   ,p_trk_inelig_per_flag            in  varchar2  default hr_api.g_varchar2
617   ,p_business_group_id              in  number    default hr_api.g_number
618   ,p_per_cvrd_cd                    in  varchar2  default hr_api.g_varchar2
619   ,P_vrfy_fmly_mmbr_rl              in  number    default hr_api.g_number
620   ,P_vrfy_fmly_mmbr_cd              in  varchar2  default hr_api.g_varchar2
621   ,P_short_name                     in  varchar2  default hr_api.g_varchar2     /*FHR*/
622   ,P_short_code                     in  varchar2  default hr_api.g_varchar2     /*FHR*/
623     ,P_legislation_code                     in  varchar2  default hr_api.g_varchar2     /*FHR*/
624     ,P_legislation_subgroup                     in  varchar2  default hr_api.g_varchar2     /*FHR*/
625   ,p_Dflt_pgm_flag                  in  Varchar2  default hr_api.g_varchar2
626   ,p_Use_prog_points_flag           in  Varchar2  default hr_api.g_varchar2
627   ,p_Dflt_step_cd                   in  Varchar2  default hr_api.g_varchar2
628   ,p_Dflt_step_rl                   in  number    default hr_api.g_number
629   ,p_Update_salary_cd               in  Varchar2  default hr_api.g_varchar2
630   ,p_Use_multi_pay_rates_flag       in  Varchar2  default hr_api.g_varchar2
631   ,p_dflt_element_type_id           in  number    default hr_api.g_number
632   ,p_Dflt_input_value_id            in  number    default hr_api.g_number
633   ,p_Use_scores_cd                  in  Varchar2  default hr_api.g_varchar2
634   ,p_Scores_calc_mthd_cd            in  Varchar2  default hr_api.g_varchar2
635   ,p_Scores_calc_rl                 in  number    default hr_api.g_number
636   ,p_gsp_allow_override_flag         in  varchar2  default hr_api.g_varchar2
637   ,p_use_variable_rates_flag         in  varchar2  default hr_api.g_varchar2
638   ,p_salary_calc_mthd_cd         in  varchar2  default hr_api.g_varchar2
639   ,p_salary_calc_mthd_rl         in  number  default hr_api.g_number
640   ,p_susp_if_dpnt_ssn_nt_prv_cd      in  varchar2   default hr_api.g_varchar2
641   ,p_susp_if_dpnt_dob_nt_prv_cd      in  varchar2   default hr_api.g_varchar2
642   ,p_susp_if_dpnt_adr_nt_prv_cd      in  varchar2   default hr_api.g_varchar2
643   ,p_susp_if_ctfn_not_dpnt_flag      in  varchar2   default hr_api.g_varchar2
644   ,p_dpnt_ctfn_determine_cd          in  varchar2   default hr_api.g_varchar2
645   ,p_pgm_attribute_category         in  varchar2  default hr_api.g_varchar2
646   ,p_pgm_attribute1                 in  varchar2  default hr_api.g_varchar2
647   ,p_pgm_attribute2                 in  varchar2  default hr_api.g_varchar2
648   ,p_pgm_attribute3                 in  varchar2  default hr_api.g_varchar2
649   ,p_pgm_attribute4                 in  varchar2  default hr_api.g_varchar2
650   ,p_pgm_attribute5                 in  varchar2  default hr_api.g_varchar2
651   ,p_pgm_attribute6                 in  varchar2  default hr_api.g_varchar2
652   ,p_pgm_attribute7                 in  varchar2  default hr_api.g_varchar2
653   ,p_pgm_attribute8                 in  varchar2  default hr_api.g_varchar2
654   ,p_pgm_attribute9                 in  varchar2  default hr_api.g_varchar2
655   ,p_pgm_attribute10                in  varchar2  default hr_api.g_varchar2
656   ,p_pgm_attribute11                in  varchar2  default hr_api.g_varchar2
657   ,p_pgm_attribute12                in  varchar2  default hr_api.g_varchar2
658   ,p_pgm_attribute13                in  varchar2  default hr_api.g_varchar2
659   ,p_pgm_attribute14                in  varchar2  default hr_api.g_varchar2
660   ,p_pgm_attribute15                in  varchar2  default hr_api.g_varchar2
661   ,p_pgm_attribute16                in  varchar2  default hr_api.g_varchar2
662   ,p_pgm_attribute17                in  varchar2  default hr_api.g_varchar2
663   ,p_pgm_attribute18                in  varchar2  default hr_api.g_varchar2
664   ,p_pgm_attribute19                in  varchar2  default hr_api.g_varchar2
665   ,p_pgm_attribute20                in  varchar2  default hr_api.g_varchar2
666   ,p_pgm_attribute21                in  varchar2  default hr_api.g_varchar2
667   ,p_pgm_attribute22                in  varchar2  default hr_api.g_varchar2
668   ,p_pgm_attribute23                in  varchar2  default hr_api.g_varchar2
669   ,p_pgm_attribute24                in  varchar2  default hr_api.g_varchar2
670   ,p_pgm_attribute25                in  varchar2  default hr_api.g_varchar2
671   ,p_pgm_attribute26                in  varchar2  default hr_api.g_varchar2
672   ,p_pgm_attribute27                in  varchar2  default hr_api.g_varchar2
673   ,p_pgm_attribute28                in  varchar2  default hr_api.g_varchar2
674   ,p_pgm_attribute29                in  varchar2  default hr_api.g_varchar2
675   ,p_pgm_attribute30                in  varchar2  default hr_api.g_varchar2
676   ,p_object_version_number          in out nocopy number
677   ,p_effective_date                 in  date
678   ,p_datetrack_mode                 in  varchar2
679   ) is
680   --
681   -- Declare cursors and local variables
682   --
683   l_proc varchar2(72) := g_package||'update_Program';
684   l_object_version_number ben_pgm_f.object_version_number%TYPE;
685   l_effective_start_date ben_pgm_f.effective_start_date%TYPE;
686   l_effective_end_date ben_pgm_f.effective_end_date%TYPE;
687   --
688 begin
689   --
690   hr_utility.set_location('Entering:'|| l_proc, 10);
691   --
692   -- Issue a savepoint if operating in validation only mode
693   --
694   savepoint update_Program;
695   --
696   hr_utility.set_location(l_proc, 20);
697   --
698   -- Process Logic
699   --
700   l_object_version_number := p_object_version_number;
701   --
702   begin
703     --
704     -- Start of API User Hook for the before hook of update_Program
705     --
706     ben_Program_bk2.update_Program_b
707       (
708        p_pgm_id                         =>  p_pgm_id
709       ,p_name                           =>  p_name
710       ,p_dpnt_adrs_rqd_flag             =>  p_dpnt_adrs_rqd_flag
711       ,p_pgm_prvds_no_auto_enrt_flag    =>  p_pgm_prvds_no_auto_enrt_flag
712       ,p_dpnt_dob_rqd_flag              =>  p_dpnt_dob_rqd_flag
713       ,p_pgm_prvds_no_dflt_enrt_flag    =>  p_pgm_prvds_no_dflt_enrt_flag
714       ,p_dpnt_legv_id_rqd_flag          =>  p_dpnt_legv_id_rqd_flag
715       ,p_dpnt_dsgn_lvl_cd               =>  p_dpnt_dsgn_lvl_cd
716       ,p_pgm_stat_cd                    =>  p_pgm_stat_cd
717       ,p_ivr_ident                      =>  p_ivr_ident
718       ,p_pgm_typ_cd                     =>  p_pgm_typ_cd
719       ,p_elig_apls_flag                 =>  p_elig_apls_flag
720       ,p_uses_all_asmts_for_rts_flag    =>  p_uses_all_asmts_for_rts_flag
721       ,p_url_ref_name                   =>  p_url_ref_name
722       ,p_pgm_desc                       =>  p_pgm_desc
723       ,p_prtn_elig_ovrid_alwd_flag      =>  p_prtn_elig_ovrid_alwd_flag
724       ,p_pgm_use_all_asnts_elig_flag    =>  p_pgm_use_all_asnts_elig_flag
725       ,p_dpnt_dsgn_cd                   =>  p_dpnt_dsgn_cd
726       ,p_mx_dpnt_pct_prtt_lf_amt        =>  p_mx_dpnt_pct_prtt_lf_amt
727       ,p_mx_sps_pct_prtt_lf_amt         =>  p_mx_sps_pct_prtt_lf_amt
728       ,p_acty_ref_perd_cd               =>  p_acty_ref_perd_cd
729       ,p_coord_cvg_for_all_pls_flg      =>  p_coord_cvg_for_all_pls_flg
730       ,p_enrt_cvg_end_dt_cd             =>  p_enrt_cvg_end_dt_cd
731       ,p_enrt_cvg_end_dt_rl             =>  p_enrt_cvg_end_dt_rl
732       ,p_dpnt_cvg_end_dt_cd             =>  p_dpnt_cvg_end_dt_cd
733       ,p_dpnt_cvg_end_dt_rl             =>  p_dpnt_cvg_end_dt_rl
734       ,p_dpnt_cvg_strt_dt_cd            =>  p_dpnt_cvg_strt_dt_cd
735       ,p_dpnt_cvg_strt_dt_rl            =>  p_dpnt_cvg_strt_dt_rl
736       ,p_dpnt_dsgn_no_ctfn_rqd_flag     =>  p_dpnt_dsgn_no_ctfn_rqd_flag
737       ,p_drvbl_fctr_dpnt_elig_flag      =>  p_drvbl_fctr_dpnt_elig_flag
738       ,p_drvbl_fctr_prtn_elig_flag      =>  p_drvbl_fctr_prtn_elig_flag
739       ,p_enrt_cvg_strt_dt_cd            =>  p_enrt_cvg_strt_dt_cd
740       ,p_enrt_cvg_strt_dt_rl            =>  p_enrt_cvg_strt_dt_rl
741       ,p_enrt_info_rt_freq_cd           =>  p_enrt_info_rt_freq_cd
742       ,p_rt_strt_dt_cd                  =>  p_rt_strt_dt_cd
743       ,p_rt_strt_dt_rl                  =>  p_rt_strt_dt_rl
744       ,p_rt_end_dt_cd                   =>  p_rt_end_dt_cd
745       ,p_rt_end_dt_rl                   =>  p_rt_end_dt_rl
746       ,p_pgm_grp_cd                     =>  p_pgm_grp_cd
747       ,p_pgm_uom                        =>  p_pgm_uom
748       ,p_drvbl_fctr_apls_rts_flag       =>  p_drvbl_fctr_apls_rts_flag
749       ,p_alws_unrstrctd_enrt_flag       =>  p_alws_unrstrctd_enrt_flag
750       ,p_enrt_cd                        =>  p_enrt_cd
751       ,p_enrt_mthd_cd                   =>  p_enrt_mthd_cd
752       ,p_poe_lvl_cd                     =>  p_poe_lvl_cd
753       ,p_enrt_rl                        =>  p_enrt_rl
754       ,p_auto_enrt_mthd_rl              =>  p_auto_enrt_mthd_rl
755       ,p_trk_inelig_per_flag            =>  p_trk_inelig_per_flag
756       ,p_business_group_id              =>  p_business_group_id
757       ,p_per_cvrd_cd                    =>  p_per_cvrd_cd
758       ,P_vrfy_fmly_mmbr_rl              =>  P_vrfy_fmly_mmbr_rl
759       ,P_vrfy_fmly_mmbr_cd              =>  P_vrfy_fmly_mmbr_cd
760       ,p_short_name			=>  p_short_name      	 	/*FHR*/
761       ,p_short_code			=>  p_short_code      	 	/*FHR*/
762             ,p_legislation_code			=>  p_legislation_code      	 	/*FHR*/
763             ,p_legislation_subgroup			=>  p_legislation_subgroup      	 	/*FHR*/
764       ,p_Dflt_pgm_flag                  =>  p_Dflt_pgm_flag
765       ,p_Use_prog_points_flag           =>  p_Use_prog_points_flag
766       ,p_Dflt_step_cd                   =>  p_Dflt_step_cd
767       ,p_Dflt_step_rl                   =>  p_Dflt_step_rl
768       ,p_Update_salary_cd               =>  p_Update_salary_cd
769       ,p_Use_multi_pay_rates_flag        =>  p_Use_multi_pay_rates_flag
770       ,p_dflt_element_type_id           =>  p_dflt_element_type_id
771       ,p_Dflt_input_value_id            =>  p_Dflt_input_value_id
772       ,p_Use_scores_cd                  =>  p_Use_scores_cd
773       ,p_Scores_calc_mthd_cd            =>  p_Scores_calc_mthd_cd
774       ,p_Scores_calc_rl                 =>  p_Scores_calc_rl
775       ,p_gsp_allow_override_flag         =>  p_gsp_allow_override_flag
776       ,p_use_variable_rates_flag         =>  p_use_variable_rates_flag
777       ,p_salary_calc_mthd_cd         =>  p_salary_calc_mthd_cd
778       ,p_salary_calc_mthd_rl         =>  p_salary_calc_mthd_rl
779       ,p_susp_if_dpnt_ssn_nt_prv_cd     =>  p_susp_if_dpnt_ssn_nt_prv_cd
780       ,p_susp_if_dpnt_dob_nt_prv_cd     =>  p_susp_if_dpnt_dob_nt_prv_cd
781       ,p_susp_if_dpnt_adr_nt_prv_cd     =>  p_susp_if_dpnt_adr_nt_prv_cd
782       ,p_susp_if_ctfn_not_dpnt_flag     =>  p_susp_if_ctfn_not_dpnt_flag
783       ,p_dpnt_ctfn_determine_cd         =>  p_dpnt_ctfn_determine_cd
784       ,p_pgm_attribute_category         =>  p_pgm_attribute_category
785       ,p_pgm_attribute1                 =>  p_pgm_attribute1
786       ,p_pgm_attribute2                 =>  p_pgm_attribute2
787       ,p_pgm_attribute3                 =>  p_pgm_attribute3
788       ,p_pgm_attribute4                 =>  p_pgm_attribute4
789       ,p_pgm_attribute5                 =>  p_pgm_attribute5
790       ,p_pgm_attribute6                 =>  p_pgm_attribute6
791       ,p_pgm_attribute7                 =>  p_pgm_attribute7
792       ,p_pgm_attribute8                 =>  p_pgm_attribute8
793       ,p_pgm_attribute9                 =>  p_pgm_attribute9
794       ,p_pgm_attribute10                =>  p_pgm_attribute10
795       ,p_pgm_attribute11                =>  p_pgm_attribute11
796       ,p_pgm_attribute12                =>  p_pgm_attribute12
797       ,p_pgm_attribute13                =>  p_pgm_attribute13
798       ,p_pgm_attribute14                =>  p_pgm_attribute14
799       ,p_pgm_attribute15                =>  p_pgm_attribute15
800       ,p_pgm_attribute16                =>  p_pgm_attribute16
801       ,p_pgm_attribute17                =>  p_pgm_attribute17
802       ,p_pgm_attribute18                =>  p_pgm_attribute18
803       ,p_pgm_attribute19                =>  p_pgm_attribute19
804       ,p_pgm_attribute20                =>  p_pgm_attribute20
805       ,p_pgm_attribute21                =>  p_pgm_attribute21
806       ,p_pgm_attribute22                =>  p_pgm_attribute22
807       ,p_pgm_attribute23                =>  p_pgm_attribute23
808       ,p_pgm_attribute24                =>  p_pgm_attribute24
809       ,p_pgm_attribute25                =>  p_pgm_attribute25
810       ,p_pgm_attribute26                =>  p_pgm_attribute26
811       ,p_pgm_attribute27                =>  p_pgm_attribute27
812       ,p_pgm_attribute28                =>  p_pgm_attribute28
813       ,p_pgm_attribute29                =>  p_pgm_attribute29
814       ,p_pgm_attribute30                =>  p_pgm_attribute30
815       ,p_object_version_number          =>  p_object_version_number
816     ,p_effective_date                      => trunc(p_effective_date)
817     ,p_datetrack_mode                      => p_datetrack_mode
818       );
819   exception
820     when hr_api.cannot_find_prog_unit then
821       hr_api.cannot_find_prog_unit_error
822         (p_module_name => 'UPDATE_Program'
823         ,p_hook_type   => 'BP'
824         );
825     --
826     -- End of API User Hook for the before hook of update_Program
827     --
828   end;
829   --
830   ben_pgm_upd.upd
831     (
832      p_pgm_id                        => p_pgm_id
833     ,p_effective_start_date          => l_effective_start_date
834     ,p_effective_end_date            => l_effective_end_date
835     ,p_name                          => p_name
836     ,p_dpnt_adrs_rqd_flag            => p_dpnt_adrs_rqd_flag
837     ,p_pgm_prvds_no_auto_enrt_flag   => p_pgm_prvds_no_auto_enrt_flag
838     ,p_dpnt_dob_rqd_flag             => p_dpnt_dob_rqd_flag
839     ,p_pgm_prvds_no_dflt_enrt_flag   => p_pgm_prvds_no_dflt_enrt_flag
840     ,p_dpnt_legv_id_rqd_flag         => p_dpnt_legv_id_rqd_flag
841     ,p_dpnt_dsgn_lvl_cd              => p_dpnt_dsgn_lvl_cd
842     ,p_pgm_stat_cd                   => p_pgm_stat_cd
843     ,p_ivr_ident                     => p_ivr_ident
844     ,p_pgm_typ_cd                    => p_pgm_typ_cd
845     ,p_elig_apls_flag                => p_elig_apls_flag
846     ,p_uses_all_asmts_for_rts_flag   => p_uses_all_asmts_for_rts_flag
847     ,p_url_ref_name                  => p_url_ref_name
848     ,p_pgm_desc                      => p_pgm_desc
849     ,p_prtn_elig_ovrid_alwd_flag     => p_prtn_elig_ovrid_alwd_flag
850     ,p_pgm_use_all_asnts_elig_flag   => p_pgm_use_all_asnts_elig_flag
851     ,p_dpnt_dsgn_cd                  => p_dpnt_dsgn_cd
852     ,p_mx_dpnt_pct_prtt_lf_amt       => p_mx_dpnt_pct_prtt_lf_amt
853     ,p_mx_sps_pct_prtt_lf_amt        => p_mx_sps_pct_prtt_lf_amt
854     ,p_acty_ref_perd_cd              => p_acty_ref_perd_cd
855     ,p_coord_cvg_for_all_pls_flg     => p_coord_cvg_for_all_pls_flg
856     ,p_enrt_cvg_end_dt_cd            => p_enrt_cvg_end_dt_cd
857     ,p_enrt_cvg_end_dt_rl            => p_enrt_cvg_end_dt_rl
858     ,p_dpnt_cvg_end_dt_cd            => p_dpnt_cvg_end_dt_cd
859     ,p_dpnt_cvg_end_dt_rl            => p_dpnt_cvg_end_dt_rl
860     ,p_dpnt_cvg_strt_dt_cd           => p_dpnt_cvg_strt_dt_cd
861     ,p_dpnt_cvg_strt_dt_rl           => p_dpnt_cvg_strt_dt_rl
862     ,p_dpnt_dsgn_no_ctfn_rqd_flag    => p_dpnt_dsgn_no_ctfn_rqd_flag
863     ,p_drvbl_fctr_dpnt_elig_flag     => p_drvbl_fctr_dpnt_elig_flag
864     ,p_drvbl_fctr_prtn_elig_flag     => p_drvbl_fctr_prtn_elig_flag
865     ,p_enrt_cvg_strt_dt_cd           => p_enrt_cvg_strt_dt_cd
866     ,p_enrt_cvg_strt_dt_rl           => p_enrt_cvg_strt_dt_rl
867     ,p_enrt_info_rt_freq_cd          => p_enrt_info_rt_freq_cd
868     ,p_rt_strt_dt_cd                 => p_rt_strt_dt_cd
869     ,p_rt_strt_dt_rl                 => p_rt_strt_dt_rl
870     ,p_rt_end_dt_cd                  => p_rt_end_dt_cd
871     ,p_rt_end_dt_rl                  => p_rt_end_dt_rl
872     ,p_pgm_grp_cd                    => p_pgm_grp_cd
873     ,p_pgm_uom                       => p_pgm_uom
874     ,p_drvbl_fctr_apls_rts_flag      => p_drvbl_fctr_apls_rts_flag
875     ,p_alws_unrstrctd_enrt_flag      =>  p_alws_unrstrctd_enrt_flag
876     ,p_enrt_cd                       =>  p_enrt_cd
877     ,p_enrt_mthd_cd                  =>  p_enrt_mthd_cd
878     ,p_poe_lvl_cd                    =>  p_poe_lvl_cd
879     ,p_enrt_rl                       =>  p_enrt_rl
880     ,p_auto_enrt_mthd_rl             =>  p_auto_enrt_mthd_rl
881     ,p_trk_inelig_per_flag           => p_trk_inelig_per_flag
882     ,p_business_group_id             => p_business_group_id
883     ,p_per_cvrd_cd                   =>  p_per_cvrd_cd
884     ,P_vrfy_fmly_mmbr_rl             =>  P_vrfy_fmly_mmbr_rl
885     ,P_vrfy_fmly_mmbr_cd             =>  P_vrfy_fmly_mmbr_cd
886     ,p_short_name	             =>  p_short_name      	 	/*FHR*/
887     ,p_short_code		     =>  p_short_code      	 	/*FHR*/
888         ,p_legislation_code		     =>  p_legislation_code      	 	/*FHR*/
889         ,p_legislation_subgroup		     =>  p_legislation_subgroup      	 	/*FHR*/
890     ,p_Dflt_pgm_flag                 =>  p_Dflt_pgm_flag
891     ,p_Use_prog_points_flag          =>  p_Use_prog_points_flag
892     ,p_Dflt_step_cd                  =>  p_Dflt_step_cd
893     ,p_Dflt_step_rl                  =>  p_Dflt_step_rl
894     ,p_Update_salary_cd              =>  p_Update_salary_cd
895     ,p_Use_multi_pay_rates_flag       =>  p_Use_multi_pay_rates_flag
896     ,p_dflt_element_type_id          =>  p_dflt_element_type_id
897     ,p_Dflt_input_value_id           =>  p_Dflt_input_value_id
898     ,p_Use_scores_cd                 =>  p_Use_scores_cd
899     ,p_Scores_calc_mthd_cd           =>  p_Scores_calc_mthd_cd
900     ,p_Scores_calc_rl                =>  p_Scores_calc_rl
901     ,p_gsp_allow_override_flag        => p_gsp_allow_override_flag
902     ,p_use_variable_rates_flag        => p_use_variable_rates_flag
903     ,p_salary_calc_mthd_cd        => p_salary_calc_mthd_cd
904     ,p_salary_calc_mthd_rl        => p_salary_calc_mthd_rl
905     ,p_susp_if_dpnt_ssn_nt_prv_cd     =>  p_susp_if_dpnt_ssn_nt_prv_cd
906     ,p_susp_if_dpnt_dob_nt_prv_cd     =>  p_susp_if_dpnt_dob_nt_prv_cd
907     ,p_susp_if_dpnt_adr_nt_prv_cd     =>  p_susp_if_dpnt_adr_nt_prv_cd
908     ,p_susp_if_ctfn_not_dpnt_flag     =>  p_susp_if_ctfn_not_dpnt_flag
909     ,p_dpnt_ctfn_determine_cd         =>  p_dpnt_ctfn_determine_cd
910     ,p_pgm_attribute_category        => p_pgm_attribute_category
911     ,p_pgm_attribute1                => p_pgm_attribute1
912     ,p_pgm_attribute2                => p_pgm_attribute2
913     ,p_pgm_attribute3                => p_pgm_attribute3
914     ,p_pgm_attribute4                => p_pgm_attribute4
915     ,p_pgm_attribute5                => p_pgm_attribute5
916     ,p_pgm_attribute6                => p_pgm_attribute6
917     ,p_pgm_attribute7                => p_pgm_attribute7
918     ,p_pgm_attribute8                => p_pgm_attribute8
919     ,p_pgm_attribute9                => p_pgm_attribute9
920     ,p_pgm_attribute10               => p_pgm_attribute10
921     ,p_pgm_attribute11               => p_pgm_attribute11
922     ,p_pgm_attribute12               => p_pgm_attribute12
923     ,p_pgm_attribute13               => p_pgm_attribute13
924     ,p_pgm_attribute14               => p_pgm_attribute14
925     ,p_pgm_attribute15               => p_pgm_attribute15
926     ,p_pgm_attribute16               => p_pgm_attribute16
927     ,p_pgm_attribute17               => p_pgm_attribute17
928     ,p_pgm_attribute18               => p_pgm_attribute18
929     ,p_pgm_attribute19               => p_pgm_attribute19
930     ,p_pgm_attribute20               => p_pgm_attribute20
931     ,p_pgm_attribute21               => p_pgm_attribute21
932     ,p_pgm_attribute22               => p_pgm_attribute22
933     ,p_pgm_attribute23               => p_pgm_attribute23
934     ,p_pgm_attribute24               => p_pgm_attribute24
935     ,p_pgm_attribute25               => p_pgm_attribute25
936     ,p_pgm_attribute26               => p_pgm_attribute26
937     ,p_pgm_attribute27               => p_pgm_attribute27
938     ,p_pgm_attribute28               => p_pgm_attribute28
939     ,p_pgm_attribute29               => p_pgm_attribute29
940     ,p_pgm_attribute30               => p_pgm_attribute30
941     ,p_object_version_number         => l_object_version_number
942     ,p_effective_date                => trunc(p_effective_date)
943     ,p_datetrack_mode                => p_datetrack_mode
944     );
945   --
946   begin
947     --
948     -- Start of API User Hook for the after hook of update_Program
949     --
950     ben_Program_bk2.update_Program_a
951       (
952        p_pgm_id                         =>  p_pgm_id
953       ,p_effective_start_date           =>  l_effective_start_date
954       ,p_effective_end_date             =>  l_effective_end_date
955       ,p_name                           =>  p_name
956       ,p_dpnt_adrs_rqd_flag             =>  p_dpnt_adrs_rqd_flag
957       ,p_pgm_prvds_no_auto_enrt_flag    =>  p_pgm_prvds_no_auto_enrt_flag
958       ,p_dpnt_dob_rqd_flag              =>  p_dpnt_dob_rqd_flag
959       ,p_pgm_prvds_no_dflt_enrt_flag    =>  p_pgm_prvds_no_dflt_enrt_flag
960       ,p_dpnt_legv_id_rqd_flag          =>  p_dpnt_legv_id_rqd_flag
961       ,p_dpnt_dsgn_lvl_cd               =>  p_dpnt_dsgn_lvl_cd
962       ,p_pgm_stat_cd                    =>  p_pgm_stat_cd
963       ,p_ivr_ident                      =>  p_ivr_ident
964       ,p_pgm_typ_cd                     =>  p_pgm_typ_cd
965       ,p_elig_apls_flag                 =>  p_elig_apls_flag
966       ,p_uses_all_asmts_for_rts_flag    =>  p_uses_all_asmts_for_rts_flag
967       ,p_url_ref_name                   =>  p_url_ref_name
968       ,p_pgm_desc                       =>  p_pgm_desc
969       ,p_prtn_elig_ovrid_alwd_flag      =>  p_prtn_elig_ovrid_alwd_flag
970       ,p_pgm_use_all_asnts_elig_flag    =>  p_pgm_use_all_asnts_elig_flag
971       ,p_dpnt_dsgn_cd                   =>  p_dpnt_dsgn_cd
972       ,p_mx_dpnt_pct_prtt_lf_amt        =>  p_mx_dpnt_pct_prtt_lf_amt
973       ,p_mx_sps_pct_prtt_lf_amt         =>  p_mx_sps_pct_prtt_lf_amt
974       ,p_acty_ref_perd_cd               =>  p_acty_ref_perd_cd
975       ,p_coord_cvg_for_all_pls_flg      =>  p_coord_cvg_for_all_pls_flg
976       ,p_enrt_cvg_end_dt_cd             =>  p_enrt_cvg_end_dt_cd
977       ,p_enrt_cvg_end_dt_rl             =>  p_enrt_cvg_end_dt_rl
978       ,p_dpnt_cvg_end_dt_cd             =>  p_dpnt_cvg_end_dt_cd
979       ,p_dpnt_cvg_end_dt_rl             =>  p_dpnt_cvg_end_dt_rl
980       ,p_dpnt_cvg_strt_dt_cd            =>  p_dpnt_cvg_strt_dt_cd
981       ,p_dpnt_cvg_strt_dt_rl            =>  p_dpnt_cvg_strt_dt_rl
982       ,p_dpnt_dsgn_no_ctfn_rqd_flag     =>  p_dpnt_dsgn_no_ctfn_rqd_flag
983       ,p_drvbl_fctr_dpnt_elig_flag      =>  p_drvbl_fctr_dpnt_elig_flag
984       ,p_drvbl_fctr_prtn_elig_flag      =>  p_drvbl_fctr_prtn_elig_flag
985       ,p_enrt_cvg_strt_dt_cd            =>  p_enrt_cvg_strt_dt_cd
986       ,p_enrt_cvg_strt_dt_rl            =>  p_enrt_cvg_strt_dt_rl
987       ,p_enrt_info_rt_freq_cd           =>  p_enrt_info_rt_freq_cd
988       ,p_rt_strt_dt_cd                  =>  p_rt_strt_dt_cd
989       ,p_rt_strt_dt_rl                  =>  p_rt_strt_dt_rl
990       ,p_rt_end_dt_cd                   =>  p_rt_end_dt_cd
991       ,p_rt_end_dt_rl                   =>  p_rt_end_dt_rl
992       ,p_pgm_grp_cd                     =>  p_pgm_grp_cd
993       ,p_pgm_uom                        =>  p_pgm_uom
994       ,p_drvbl_fctr_apls_rts_flag       =>  p_drvbl_fctr_apls_rts_flag
995       ,p_alws_unrstrctd_enrt_flag       =>  p_alws_unrstrctd_enrt_flag
996       ,p_enrt_cd                        =>  p_enrt_cd
997       ,p_enrt_mthd_cd                   =>  p_enrt_mthd_cd
998       ,p_poe_lvl_cd                     =>  p_poe_lvl_cd
999       ,p_enrt_rl                        =>  p_enrt_rl
1000       ,p_auto_enrt_mthd_rl              =>  p_auto_enrt_mthd_rl
1001       ,p_trk_inelig_per_flag            =>  p_trk_inelig_per_flag
1002       ,p_business_group_id              =>  p_business_group_id
1003       ,p_per_cvrd_cd                    =>  p_per_cvrd_cd
1004       ,P_vrfy_fmly_mmbr_rl              =>  P_vrfy_fmly_mmbr_rl
1005       ,P_vrfy_fmly_mmbr_cd              =>  P_vrfy_fmly_mmbr_cd
1006       ,p_short_name			=>  p_short_name      	 	/*FHR*/
1007       ,p_short_code			=>  p_short_code      	 	/*FHR*/
1008             ,p_legislation_code			=>  p_legislation_code      	 	/*FHR*/
1009             ,p_legislation_subgroup			=>  p_legislation_subgroup      	 	/*FHR*/
1010       ,p_Dflt_pgm_flag                  =>  p_Dflt_pgm_flag
1011       ,p_Use_prog_points_flag           =>  p_Use_prog_points_flag
1012       ,p_Dflt_step_cd                   =>  p_Dflt_step_cd
1013       ,p_Dflt_step_rl                   =>  p_Dflt_step_rl
1014       ,p_Update_salary_cd               =>  p_Update_salary_cd
1015       ,p_Use_multi_pay_rates_flag        =>  p_Use_multi_pay_rates_flag
1016       ,p_dflt_element_type_id           =>  p_dflt_element_type_id
1017       ,p_Dflt_input_value_id            =>  p_Dflt_input_value_id
1018       ,p_Use_scores_cd                  =>  p_Use_scores_cd
1019       ,p_Scores_calc_mthd_cd            =>  p_Scores_calc_mthd_cd
1020       ,p_Scores_calc_rl                 =>  p_Scores_calc_rl
1021       ,p_gsp_allow_override_flag         =>  p_gsp_allow_override_flag
1022       ,p_use_variable_rates_flag         =>  p_use_variable_rates_flag
1023       ,p_salary_calc_mthd_cd         =>  p_salary_calc_mthd_cd
1024       ,p_salary_calc_mthd_rl         =>  p_salary_calc_mthd_rl
1025       ,p_susp_if_dpnt_ssn_nt_prv_cd     =>  p_susp_if_dpnt_ssn_nt_prv_cd
1026       ,p_susp_if_dpnt_dob_nt_prv_cd     =>  p_susp_if_dpnt_dob_nt_prv_cd
1027       ,p_susp_if_dpnt_adr_nt_prv_cd     =>  p_susp_if_dpnt_adr_nt_prv_cd
1028       ,p_susp_if_ctfn_not_dpnt_flag     =>  p_susp_if_ctfn_not_dpnt_flag
1029       ,p_dpnt_ctfn_determine_cd         =>  p_dpnt_ctfn_determine_cd
1030       ,p_pgm_attribute_category         =>  p_pgm_attribute_category
1031       ,p_pgm_attribute1                 =>  p_pgm_attribute1
1032       ,p_pgm_attribute2                 =>  p_pgm_attribute2
1033       ,p_pgm_attribute3                 =>  p_pgm_attribute3
1034       ,p_pgm_attribute4                 =>  p_pgm_attribute4
1035       ,p_pgm_attribute5                 =>  p_pgm_attribute5
1036       ,p_pgm_attribute6                 =>  p_pgm_attribute6
1037       ,p_pgm_attribute7                 =>  p_pgm_attribute7
1038       ,p_pgm_attribute8                 =>  p_pgm_attribute8
1039       ,p_pgm_attribute9                 =>  p_pgm_attribute9
1040       ,p_pgm_attribute10                =>  p_pgm_attribute10
1041       ,p_pgm_attribute11                =>  p_pgm_attribute11
1042       ,p_pgm_attribute12                =>  p_pgm_attribute12
1043       ,p_pgm_attribute13                =>  p_pgm_attribute13
1044       ,p_pgm_attribute14                =>  p_pgm_attribute14
1045       ,p_pgm_attribute15                =>  p_pgm_attribute15
1046       ,p_pgm_attribute16                =>  p_pgm_attribute16
1047       ,p_pgm_attribute17                =>  p_pgm_attribute17
1048       ,p_pgm_attribute18                =>  p_pgm_attribute18
1049       ,p_pgm_attribute19                =>  p_pgm_attribute19
1050       ,p_pgm_attribute20                =>  p_pgm_attribute20
1051       ,p_pgm_attribute21                =>  p_pgm_attribute21
1052       ,p_pgm_attribute22                =>  p_pgm_attribute22
1053       ,p_pgm_attribute23                =>  p_pgm_attribute23
1054       ,p_pgm_attribute24                =>  p_pgm_attribute24
1055       ,p_pgm_attribute25                =>  p_pgm_attribute25
1056       ,p_pgm_attribute26                =>  p_pgm_attribute26
1057       ,p_pgm_attribute27                =>  p_pgm_attribute27
1058       ,p_pgm_attribute28                =>  p_pgm_attribute28
1059       ,p_pgm_attribute29                =>  p_pgm_attribute29
1060       ,p_pgm_attribute30                =>  p_pgm_attribute30
1061       ,p_object_version_number          =>  l_object_version_number
1062       ,p_effective_date                     => trunc(p_effective_date)
1063       ,p_datetrack_mode                     => p_datetrack_mode
1064       );
1065   exception
1066     when hr_api.cannot_find_prog_unit then
1067       hr_api.cannot_find_prog_unit_error
1068         (p_module_name => 'UPDATE_Program'
1069         ,p_hook_type   => 'AP'
1070         );
1071     --
1072     -- End of API User Hook for the after hook of update_Program
1073     --
1074   end;
1075   --
1076   hr_utility.set_location(l_proc, 60);
1077   --
1078   -- When in validation only mode raise the Validate_Enabled exception
1079   --
1080   if p_validate then
1081     raise hr_api.validate_enabled;
1082   end if;
1083   --
1084   -- Set all output arguments
1085   --
1086   p_object_version_number := l_object_version_number;
1087   p_effective_start_date := l_effective_start_date;
1088   p_effective_end_date := l_effective_end_date;
1089   --
1090   hr_utility.set_location(' Leaving:'||l_proc, 70);
1091   --
1092 exception
1093   --
1094   when hr_api.validate_enabled then
1095     --
1096     -- As the Validate_Enabled exception has been raised
1097     -- we must rollback to the savepoint
1098     --
1099     ROLLBACK TO update_Program;
1100     --
1101     -- Only set output warning arguments
1102     -- (Any key or derived arguments must be set to null
1103     -- when validation only mode is being used.)
1104     --
1105     hr_utility.set_location(' Leaving:'||l_proc, 80);
1106     --
1107   when others then
1108     --
1109     -- A validation or unexpected error has occured
1110     --
1111     ROLLBACK TO update_Program;
1112     /* Inserted for nocopy changes */
1113     p_object_version_number := l_object_version_number;
1114     p_effective_start_date := null;
1115     p_effective_end_date := null;
1116     raise;
1117     --
1118 end update_Program;
1119 -- ----------------------------------------------------------------------------
1120 -- |------------------------< delete_Program >----------------------|
1121 -- ----------------------------------------------------------------------------
1122 --
1123 procedure delete_Program
1124   (p_validate                       in  boolean  default false
1125   ,p_pgm_id                         in  number
1126   ,p_effective_start_date           out nocopy date
1127   ,p_effective_end_date             out nocopy date
1128   ,p_object_version_number          in out nocopy number
1129   ,p_effective_date                 in  date
1130   ,p_datetrack_mode                 in  varchar2
1131   ) is
1132   --
1133   -- Declare cursors and local variables
1134   --
1135   l_proc varchar2(72) := g_package||'update_Program';
1136   l_object_version_number ben_pgm_f.object_version_number%TYPE;
1137   l_effective_start_date ben_pgm_f.effective_start_date%TYPE;
1138   l_effective_end_date ben_pgm_f.effective_end_date%TYPE;
1139   --
1140 begin
1141   --
1142   hr_utility.set_location('Entering:'|| l_proc, 10);
1143   --
1144   -- Issue a savepoint if operating in validation only mode
1145   --
1146   savepoint delete_Program;
1147   --
1148   hr_utility.set_location(l_proc, 20);
1149   --
1150   -- Process Logic
1151   --
1152   l_object_version_number := p_object_version_number;
1153   --
1154   --
1155   begin
1156     --
1157     -- Start of API User Hook for the before hook of delete_Program
1158     --
1159     ben_Program_bk3.delete_Program_b
1160       (
1161        p_pgm_id                         =>  p_pgm_id
1162       ,p_object_version_number          =>  p_object_version_number
1163     ,p_effective_date                      => trunc(p_effective_date)
1164     ,p_datetrack_mode                      => p_datetrack_mode
1165       );
1166   exception
1167     when hr_api.cannot_find_prog_unit then
1168       hr_api.cannot_find_prog_unit_error
1169         (p_module_name => 'DELETE_Program'
1170         ,p_hook_type   => 'BP'
1171         );
1172     --
1173     -- End of API User Hook for the before hook of delete_Program
1174     --
1175   end;
1176   --
1177   ben_pgm_del.del
1178     (
1179      p_pgm_id                        => p_pgm_id
1180     ,p_effective_start_date          => l_effective_start_date
1181     ,p_effective_end_date            => l_effective_end_date
1182     ,p_object_version_number         => l_object_version_number
1183     ,p_effective_date                => p_effective_date
1184     ,p_datetrack_mode                => p_datetrack_mode
1185     );
1186   --
1187   begin
1188     --
1189     -- Start of API User Hook for the after hook of delete_Program
1190     --
1191     ben_Program_bk3.delete_Program_a
1192       (
1193        p_pgm_id                         =>  p_pgm_id
1194       ,p_effective_start_date           =>  l_effective_start_date
1195       ,p_effective_end_date             =>  l_effective_end_date
1196       ,p_object_version_number          =>  l_object_version_number
1197     ,p_effective_date                      => trunc(p_effective_date)
1198     ,p_datetrack_mode                      => p_datetrack_mode
1199       );
1200   exception
1201     when hr_api.cannot_find_prog_unit then
1202       hr_api.cannot_find_prog_unit_error
1203         (p_module_name => 'DELETE_Program'
1204         ,p_hook_type   => 'AP'
1205         );
1206     --
1207     -- End of API User Hook for the after hook of delete_Program
1208     --
1209   end;
1210   --
1211   hr_utility.set_location(l_proc, 60);
1212   --
1213   -- When in validation only mode raise the Validate_Enabled exception
1214   --
1215   if p_validate then
1216     raise hr_api.validate_enabled;
1217   end if;
1218   --
1219   hr_utility.set_location(' Leaving:'||l_proc, 70);
1220   --
1221 exception
1222   --
1223   when hr_api.validate_enabled then
1224     --
1225     -- As the Validate_Enabled exception has been raised
1226     -- we must rollback to the savepoint
1227     --
1228     ROLLBACK TO delete_Program;
1229     --
1230     -- Only set output warning arguments
1231     -- (Any key or derived arguments must be set to null
1232     -- when validation only mode is being used.)
1233     --
1234     p_effective_start_date := null;
1235     p_effective_end_date := null;
1236     --
1237   when others then
1238     --
1239     -- A validation or unexpected error has occured
1240     --
1241     ROLLBACK TO delete_Program;
1242     /* Inserted for nocopy changes */
1243     p_object_version_number := l_object_version_number;
1244     p_effective_start_date := null;
1245     p_effective_end_date := null;
1246     raise;
1247     --
1248 end delete_Program;
1249 --
1250 -- ----------------------------------------------------------------------------
1251 -- |-------------------------------< lck >------------------------------------|
1252 -- ----------------------------------------------------------------------------
1253 --
1254 procedure lck
1255   (
1256    p_pgm_id                   in     number
1257   ,p_object_version_number          in     number
1258   ,p_effective_date                 in     date
1259   ,p_datetrack_mode                 in     varchar2
1260   ,p_validation_start_date          out nocopy    date
1261   ,p_validation_end_date            out nocopy    date
1262   ) is
1263   --
1264   --
1265   -- Declare cursors and local variables
1266   --
1267   l_proc varchar2(72) := g_package||'lck';
1268   l_validation_start_date date;
1269   l_validation_end_date date;
1270   --
1271 begin
1272   --
1273   hr_utility.set_location('Entering:'|| l_proc, 10);
1274   --
1275   ben_pgm_shd.lck
1276     (
1277       p_pgm_id                 => p_pgm_id
1278      ,p_validation_start_date      => l_validation_start_date
1279      ,p_validation_end_date        => l_validation_end_date
1280      ,p_object_version_number      => p_object_version_number
1281      ,p_effective_date             => p_effective_date
1282      ,p_datetrack_mode             => p_datetrack_mode
1283     );
1284   --
1285   hr_utility.set_location(' Leaving:'||l_proc, 70);
1286   --
1287 end lck;
1288 --
1289 end ben_Program_api;