Saturday 30 April 2016

plsql code for calculation of net salary

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;

2 comments:


  1. try 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;

    ReplyDelete