declare
ename varchar2(15);
basic number;
da number;
hra number;
pf number;
netsalary number;
begin
ename:=&ename;
basic:=&basic;
da:=basic * (41/100);
hra:=basic * (15/100);
if (basic < 3000)then
pf:=basic * (5/100);
elsif (basic >= 3000 and basic <= 5000) then
pf:=basic * (7/100);
elsif (basic >= 5000 and basic <= 8000) then
pf:=basic * (8/100);
else
pf:=basic * (10/100);
end if;
netsalary:=basic + da + hra -pf;
dbms_output.put_line('Employee name : ' || ename);
dbms_output.put_line('Providend Fund : ' || pf);
dbms_output.put_line('Net salary : ' || netsalary);
end;
ReplyDeletetry it
create or replace function calculate_netpay(basic_salary number)
return number is
tax number;
netsalary number;
begin
if ( basic_salary < 600)then
tax:=0;
elsif ( basic_salary <= 1600) then
tax:=(basic_salary * .1)-60;
elsif (basic_salary <= 3200 ) then
tax:=(basic_salary * .15)-142;
elsif (basic_salary <= 5200 ) then
tax:=(basic_salary * .2)-302;
elsif (basic_salary<= 7800 ) then
tax:=(basic_salary * .25)-565;
elsif (basic_salary <= 10900 ) then
tax:=(basic_salary * .30)-955;
else
tax:=(basic_salary *.25)-565;
end if;
return tax;
end;
nice
Delete