procedure dcgn_dccm_crc (
in_period in varchar2,
in_soc in varchar2,
in_actv_date in varchar2,
o_soc_rcc_amt out number,
o_ind out char
)
is
-- working variables
nbase_amt number (19, 4) default 0;
namt number (19, 4) default 0;
nmax_rate number (19, 4) default 0;
nmin_rate number (19, 4) default 0;
ntmp_amt number (19, 4) default 0;
bissocfound boolean default false;
vservice_feature varchar2 (10); --:1:2
vsoc char (9);
deffective_date date;
vfeature_code char (6);
crc_charge_lvl_code char (1);
crc_usg_depend_code char (1);
crc_rate_qty_type char (1);
vsoc_v char (9);
veffective_date_v varchar2 (14);
vfeature_code_v char (6);
bamt_cal_ind boolean;
namt_ws number (19, 4);
bsoc_ind boolean;
twhen timestamp ( 3 );
ierr_code integer;
vmsg varchar2 (255);
begin
begin
select rate_ftr.soc, rate_ftr.effective_date,
rate_ftr.feature_code, rate_ftr.rc_charge_lvl_code,
rate_ftr.rc_usg_depend_code, rate_ftr.rc_rate_qty_type
into vsoc, deffective_date,
vfeature_code, crc_charge_lvl_code,
crc_usg_depend_code, crc_rate_qty_type
from rated_feature rate_ftr, feature ftr
where rate_ftr.soc = in_soc
and rate_ftr.effective_date <= to_date (in_actv_date, 'yyyymmdd')
and nvl (to_char (rate_ftr.expiration_date, 'yyyymmdd'),
'47001231'
) >= in_actv_date
and rate_ftr.rc_info_ind = 'y'
and rate_ftr.feature_code = ftr.feature_code
and ftr.feature_group = 'sf'
and ftr.period = rate_ftr.period
and ftr.period = in_period;
exception
when no_data_found
then
end;
end;