DELIMITER $$ DROP FUNCTION IF EXISTS `x_netprice_calc`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `x_netprice_calc`( price double, disc1_amt double, disc1_kode varchar(1), disc2_amt double, disc2_kode varchar(1), disc3_amt double, disc3_kode varchar(1), disc4_amt double, disc4_kode varchar(1)) RETURNS double BEGIN declare baseprice double; declare netprice1 double; declare netprice2 double; declare netprice3 double; set baseprice = price - If( disc1_kode = "P", ROUND((price * disc1_amt)/100,2), disc1_amt ); set netprice1 = If( disc2_kode = "P", ROUND((baseprice * disc2_amt)/100,2), disc2_amt ); set netprice2 = If( disc3_kode = "P", ROUND((baseprice * disc3_amt)/100,2), disc3_amt ); set netprice3 = If( disc4_kode = "P", ROUND((baseprice * disc4_amt)/100,2), disc4_amt ); return baseprice - netprice1 - netprice2 - netprice3; END$$ DELIMITER ;