1 Package BEN_DETERMINE_ACTUAL_PREMIUM as
2 /* $Header: benacprm.pkh 120.1.12010000.1 2008/07/29 12:02:34 appldev ship $ */
3 --------------------------------------------------------------------------------
4 /*
5 +==============================================================================+
6 | Copyright (c) 1997 Oracle Corporation |
7 | Redwood Shores, California, USA |
8 | All rights reserved. |
9 +==============================================================================+
10 Name:
11 Determine Actual Premiums
12
13 Purpose:
14 This program determines the actual premium used for rates calculations.
15
16 History:
17 Date Who Version What?
18 ---- --- ------- -----
19 20 Apr 97 Ty Hayden 110.0 Created.
20 18 Jan 99 G Perry 115.2 LED V ED
21 09 Mar 99 G Perry 115.3 IS to AS.
22 27 May 99 maagrawa 115.4 Modified the procedure to pass
23 in reqd. values as parameters,if
24 choice is not available.
25 25 Jun 99 T Guy 115.5 Added Total premium changes.
26 02 Feb 00 lmcdonal 115.6 Break the computation of premium
27 into a separate procedure so that
28 it can be called independently.
29 Bug 1166174.
30 15 mar 01 tilak 115.7 g_computed_prem_val is added
31 This is used to store the value of the
32 computed premium, whic can be used for
33 calcualtion mode only to get the ammount
34 In this mode ele_chc_id,benefit is not inserted
35 so the global_variable to get the value
36 07-apr-04 tjesumic 115.8 fonm parameter added
37 15-nov-04 kmahendr 115.10 Added parameter p_mode
38 10-Aug-07 bmanyam 115.11 6330056: Added g_computed_prem_tbl
39
40 */
41 --------------------------------------------------------------------------------
42 -- COMPUTE_PREMIUM
43 --------------------------------------------------------------------------------
44 g_computed_prem_val ben_enrt_prem.val%type ;
45 --
46 -- 6330056 : Added a pl/sql table g_computed_prem_tbl to capture calculated
47 -- premium values, as there may be multiple premiums attached to
48 -- same object. After this change, the previously used global value
49 -- g_computed_prem_val will become redundant.
50 --
51 type g_computed_prem_rec is record
52 (actl_prem_id ben_actl_prem_f.actl_prem_id%type
53 ,val ben_enrt_prem.val%type);
54
55 type g_computed_prem_tab is table of g_computed_prem_rec
56 index by binary_integer;
57
58 g_computed_prem_tbl g_computed_prem_tab;
59
60
61 PROCEDURE compute_premium
62 (p_person_id in number,
63 p_lf_evt_ocrd_dt IN date,
64 p_effective_date IN date,
65 p_business_group_id in number,
66 p_per_in_ler_id in number,
67 p_ler_id in number,
68 p_actl_prem_id in number,
69 p_perform_rounding_flg IN boolean default true,
70 p_calc_only_rt_val_flag in boolean default false,
71 p_pgm_id in number,
72 p_pl_typ_id in number,
73 p_pl_id in number,
74 p_oipl_id in number,
75 p_opt_id in number,
76 p_elig_per_elctbl_chc_id in number,
77 p_enrt_bnft_id in number,
78 p_bnft_amt in number,
79 p_prem_val in number,
80 p_mlt_cd in varchar2,
81 p_bnft_rt_typ_cd in varchar2,
82 p_val_calc_rl in number,
83 p_rndg_cd in varchar2,
84 p_rndg_rl in number,
85 p_upr_lmt_val in number,
86 p_lwr_lmt_val in number,
87 p_upr_lmt_calc_rl in number,
88 p_lwr_lmt_calc_rl in number,
89 ---bof FONM
90 p_fonm_cvg_strt_dt in date default null ,
91 p_fonm_rt_strt_dt in date default null ,
92 --- eof FONM
93 p_computed_val out nocopy number);
94
95
96 --------------------------------------------------------------------------------
97 -- main
98 --------------------------------------------------------------------------------
99 PROCEDURE main
100 ( p_person_id in number,
101 p_effective_date IN date,
102 p_lf_evt_ocrd_dt IN date,
103 p_perform_rounding_flg IN boolean default true,
104 p_calc_only_rt_val_flag in boolean default false,
105 p_pgm_id in number default null,
106 p_pl_id in number default null,
107 p_oipl_id in number default null,
108 p_pl_typ_id in number default null,
109 p_per_in_ler_id in number default null,
110 p_ler_id in number default null,
111 p_bnft_amt in number default null,
112 p_business_group_id in number default null,
113 p_mode in varchar2 default null
114 );
115
116 end ben_determine_actual_premium;