set verify on set termout on set feedback on set serveroutput on size 400000 format wrapped -- --++ -- -- ---- -- create table radacct_data ( start_time date, sess_id integer, port_num integer, username varchar(12), account varchar(8), port_type varchar(8), protocol varchar(16), client varchar(32), frammed_ip varchar(128), end_time date, status integer, speed integer, inp_octs integer, out_octs integer); -- --++ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- ---- -- create or replace package radacct as function accounting ( start_time in varchar, sess_id in integer, port_num in integer, username in varchar, account in varchar, port_type in varchar, protocol in varchar, client in varchar, frammed_ip in varchar, end_time in varchar, status in integer, speed in integer, inp_octs in integer, out_octs in integer ) return integer; function init return integer; function cleanup return integer; end; / create or replace package body radacct as -- ++ -- ------------------------------------------------------------------------------ -- The main function, called from external procedure, to performs data loading. -- ------------------------------------------------------------------------------ -- -- function accounting ( start_time in varchar, sess_id in integer, port_num in integer, username in varchar, account in varchar, port_type in varchar, protocol in varchar, client in varchar, frammed_ip in varchar, end_time in varchar, status in integer, speed in integer, inp_octs in integer, out_octs in integer ) return integer is start_date date; end_date date; begin start_date := to_date(start_time,'DD-MON-YYYY HH24:MI:SS'); end_date := to_date(end_time,'DD-MON-YYYY HH24:MI:SS'); insert into radacct_data values ( start_date, sess_id, port_num, username, account, port_type, protocol, client, frammed_ip, end_date, status, speed, inp_octs, out_octs); return 1; end; -- ++ -- ------------------------------------------------------------------------------ -- This function supposed to be called before using any other -- operations -- ------------------------------------------------------------------------------ -- -- function init return integer is begin return 1; end; -- ++ -- ------------------------------------------------------------------------------ -- This function supposed to be called at end of session -- ------------------------------------------------------------------------------ -- -- function cleanup return integer is begin return 1; end; end; /