Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/05/2013, 13:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Procedimiento nomina

La clave de todo está en esto:
Cita:
He realizado lo q me sugeriste repara2 y en efecto, las variables son nulas, la unica q contiene el valor correcto es:

SET Sueldo=(SELECT Sueldo FROM empleados WHERE Empleado_Id=EmpleadoId);
¿Sabes qué da de resultado esto?:
Cita:
10 + 10 + 10 + 10 + 10 + 10 + NULL
Da NULL.

Toda operación aritmética o de concatenación entre cualquier valor y NULL, da por resultado NULL. Y tu no estás validando eso en ninguna parte.
Como mínimo deberías poner así
Código MySQL:
Ver original
  1. SET Total_Percepciones = IFNULL(Percepciones_Comisiones, 0)  + IFNULL(Percepciones_Bonos, 0) + IFNULL(Sueldo, 0);
  2. SET Total_Quincena = IFNULL(Total_Percepciones, 0) - IFNULL(TDeducciones, 0);
  3. SET fecha=CURDATE();
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)