
12/10/2011, 19:00
|
| | Fecha de Ingreso: mayo-2008
Mensajes: 51
Antigüedad: 16 años, 10 meses 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. |