Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/10/2011, 19:00
ADANSUAVE
 
Fecha de Ingreso: mayo-2008
Mensajes: 51
Antigüedad: 16 años
Puntos: 2
Respuesta: Funcion regresa nulo

Hola hola, que tal, pues sigo aqui con lo de mi funcion. la ultima vez no me aceptaba el distinct en el SELECT y con la ayuda de IISLAS quedo eso, si embargo la funcion a la hora de meterla en mi SELECT como si fuera un campo me trae NULO. La funcion luce bien, ya verifique los tipos de datos provenientes de la tablas, la longitud de los mismos y nada, lo raro es que pruebo el cuerpo de la funcion por fuera y si me trae el dato correcto.

Si alguien me hecha la mano se lo agradeceria.

meto mi codigo ya jalando

CREATE FUNCTION DBO.M4FN_MAX_PLAZA (@pID_EMPLEADO VARCHAR)
RETURNS NUMERIC(22,0)
AS
BEGIN

RETURN (
SELECT DISTINCT (RL.ID_PLAZA)
FROM M4T_ACUMULADO_RL RL

INNER JOIN M4T_ACUMULADO_RL1 RL1
ON RL.ID_SOCIEDAD = RL1.ID_SOCIEDAD
AND RL.ID_EMPLEADO = RL1.ID_EMPLEADO
AND RL.FEC_ALTA_EMPLEADO = RL1.FEC_ALTA_EMPLEADO
AND RL.FEC_IMPUTACION = RL1.FEC_IMPUTACION
AND RL.FEC_PAGO = RL1.FEC_PAGO

INNER JOIN M4T_LISTADO_NOM LN
ON RL.ID_SOCIEDAD = LN.ID_SOCIEDAD
AND RL.ID_EMPLEADO = LN.ID_EMPLEADO
AND RL.FEC_ALTA_EMPLEADO = LN.FEC_ALTA_EMPLEADO
AND RL.FEC_IMPUTACION = LN.FEC_IMPUTACION
AND RL.FEC_PAGO = LN.FEC_PAGO

WHERE RL.FEC_PAGO =(
SELECT MAX(RLA.FEC_IMPUTACION)
FROM M4T_ACUMULADO_RL RLA
INNER JOIN M4T_ACUMULADO_RL1 RL1A
ON RLA.ID_SOCIEDAD = RL1A.ID_SOCIEDAD
AND RLA.ID_EMPLEADO = RL1A.ID_EMPLEADO
AND RLA.FEC_ALTA_EMPLEADO = RL1A.FEC_ALTA_EMPLEADO
AND RLA.FEC_IMPUTACION = RL1A.FEC_IMPUTACION
AND RLA.FEC_PAGO = RL1A.FEC_PAGO

INNER JOIN M4T_LISTADO_NOM LNA
ON RLA.ID_SOCIEDAD = LNA.ID_SOCIEDAD
AND RLA.ID_EMPLEADO = LNA.ID_EMPLEADO
AND RLA.FEC_ALTA_EMPLEADO = LNA.FEC_ALTA_EMPLEADO
AND RLA.FEC_IMPUTACION = LNA.FEC_IMPUTACION
AND RLA.FEC_PAGO = LNA.FEC_PAGO

WHERE RLA.ID_EMPLEADO = @pID_EMPLEADO
)
AND RL.ID_EMPLEADO = @pID_EMPLEADO)

END

Por cierto como hacen para meter ese cuadro con codigo, como el de IISLAS, hasta barra de desplazamiento tiene, esta chido.