call spMante_Bonificacion_Facturar(88104, 2, 3, 4444,  '1F22', 1, '2014-01-03', 1);

select * from _sv_venta_detalle where id_venta=88105;

DROP PROCEDURE IF EXISTS spMante_Bonificacion_Facturar;
CREATE PROCEDURE spMante_Bonificacion_Facturar(
	varVenta    int,
  varEmpresa  int,
  varAlmacen  int,
  varCliente  int,
  varRuta     varchar(10),
  varLista    int,
  varFecha    date,
	varUsuario  int
)
BEGIN
  DECLARE varProducto, varUnidMed varchar(10);
  DECLARE varCantidad double;
  
  -- INSERT INTO _sv_venta_detalle
  DECLARE done INT DEFAULT 0;
	DECLARE cur1 CURSOR FOR 
			SELECT id_producto, id_um, TRUNCATE(sum(cantidad),0) as cantidad
      FROM
        (
        -- LISTADO DE BONIFICACIONES MASIVAS
        SELECT Y.id_producto, Y.id_um, sum(Y.cantidad*X.NUMBONIF) as cantidad  
        FROM
          (
          select id_empresa, id_bonif, 
          MIN(TRUNCATE(CASE WHEN IFNULL(cantidad_ped,0)>= minimo 
                            THEN CASE WHEN IFNULL(cantidad_ped,0)<= maximo 
                                      THEN IFNULL(cantidad_ped,0)
                                      ELSE maximo
                                END
                      END/IFNULL(cantidad,0),0)) AS NUMBONIF
          from
            (
            select B.id_empresa, B.id_bonif, V.id_producto, V.id_um,
            V.cantidad, V.minimo, V.maximo
            from _sv_bonificacion_venta V
 