CREATE DEFINER=`root`@`localhost` PROCEDURE `SPRegistrar_BalanceDetailLibroSueldos`()
BEGIN
	declare done int default 0;
	declare balance_libro_id,person_id, periodo_id, period_liquidation_id, plan_cuenta_id, saldo_id, zone_id,
			tipo_asiento_id int;
    declare fecha date;
    declare tax_amount,previous_period_balance,sircreb_amount,perception_amount,retention_amount,
	positive_amount,negative_amount,monto,control,total decimal(20,2) default 0.00;
    
    DECLARE liq_iib CURSOR FOR 
	select bl.id as balance_libro_id,cad.person_id,cad.period_id,cad.tipo_asiento_id,cad.plan_cuenta_id,cad.saldo_id,cad.monto
	from conta_asientos_details cad
	join balance_libro bl on cad.conta_asiento_id = bl.conta_asiento_id
	order by cad.conta_asiento_id;


	DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

	OPEN liq_iib;
	REPEAT

	FETCH liq_iib INTO balance_libro_id,person_id, periodo_id,tipo_asiento_id,plan_cuenta_id,saldo_id,total;
	-- este if tiene que estar sino agrega un registro mas
	IF NOT done THEN
		
   

			insert into balance_libro_details 
				(balance_libro_id, person_id, period_id, conta_tipo_asiento_id, plan_cuenta_id, saldo_id, monto )
					VALUES
	            (balance_libro_id, person_id, periodo_id, 1, plan_cuenta_id,saldo_id, total );
 
			
	   

    END IF; -- Fin If Done

	UNTIL done END REPEAT; -- fin del loop

  	CLOSE liq_iib;
  	
  
  END