Comparación Fechas: FechaMov, FechaIni, FechaFin
Publicado por victor (3 intervenciones) el 18/05/2016 17:30:10
Buenos dias:
Me pueden apoyar, traigo un problema no puedo comparar la fecha de mov, con la fecha de inicio y fecha fin.
Ejemplo: la fecha de emision del mov. es 16-06-2016
El periodo de mi XML es : 11-05-2016
Le saco el primer inicio y el final de mes
Quedaria asi : -- FECHA DEL ARCHIVO XML Ejem: 01-05-2016 AL 30-05-2016
Si la fecha de emision del mov. esta fuera del rango (01-05-2016 AL 30-05-2016)
deberia de entrar en esta condicion y mandar el error, se lo salta y no entra.
--IF ((@FechaMov > @FechaIni) AND (@FechaMov < @FechaFin))
Me pueden apoyar.
Saludos.
Este es el codigo que estoy ejecutando.
DECLARE openMyXML CURSOR LOCAL FOR
SELECT DescripcionExtra,FechaEmision FROM Gasto INNER JOIN GastoD ON Gasto.Id = GastoD.Id WHERE Gasto.ID = @ID
OPEN openMyXML
FETCH NEXT FROM openMyXML INTO @DescripcionExtra, @FechaMov
WHILE (@@FETCH_STATUS = 0 )
BEGIN
-- FECHA DEL ARCHIVO XML Ejem: 01-05-2016 AL 30-05-2016
SELECT @FechaXML = FechaAlta FROM facturasXML WHERE Factura = @DescripcionExtra
SET @FechaIni = DATEADD(MONTH, DATEDIFF(MONTH, 0, @FechaXML), 0)
SET @FechaFin = DATEADD(DAY, 5, EOMONTH(@FechaXML))
-- SE VALIDA SI LA FECHA DE EMISION DEL MOVIMIENTO PERTENECE AL PERIODO DEL ARCHIVO XML.
IF ((@FechaMov > @FechaIni) AND (@FechaMov < @FechaFin))
BEGIN
SELECT @Ok = 12345, @OkRef = 'Favor de validar la factura: ' + @DescripcionExtra +' La fecha de emisión: ' + CONVERT(VARCHAR(10),@FechaMov,103) + ' no corresponde al periodo del archivo XML'
CLOSE openMyXML
DEALLOCATE openMyXML
RETURN
END
FETCH NEXT FROM openMyXML INTO @DescripcionExtra, @FechaMov
END
CLOSE openMyXML
DEALLOCATE openMyXML
Me pueden apoyar, traigo un problema no puedo comparar la fecha de mov, con la fecha de inicio y fecha fin.
Ejemplo: la fecha de emision del mov. es 16-06-2016
El periodo de mi XML es : 11-05-2016
Le saco el primer inicio y el final de mes
Quedaria asi : -- FECHA DEL ARCHIVO XML Ejem: 01-05-2016 AL 30-05-2016
Si la fecha de emision del mov. esta fuera del rango (01-05-2016 AL 30-05-2016)
deberia de entrar en esta condicion y mandar el error, se lo salta y no entra.
--IF ((@FechaMov > @FechaIni) AND (@FechaMov < @FechaFin))
Me pueden apoyar.
Saludos.
Este es el codigo que estoy ejecutando.
DECLARE openMyXML CURSOR LOCAL FOR
SELECT DescripcionExtra,FechaEmision FROM Gasto INNER JOIN GastoD ON Gasto.Id = GastoD.Id WHERE Gasto.ID = @ID
OPEN openMyXML
FETCH NEXT FROM openMyXML INTO @DescripcionExtra, @FechaMov
WHILE (@@FETCH_STATUS = 0 )
BEGIN
-- FECHA DEL ARCHIVO XML Ejem: 01-05-2016 AL 30-05-2016
SELECT @FechaXML = FechaAlta FROM facturasXML WHERE Factura = @DescripcionExtra
SET @FechaIni = DATEADD(MONTH, DATEDIFF(MONTH, 0, @FechaXML), 0)
SET @FechaFin = DATEADD(DAY, 5, EOMONTH(@FechaXML))
-- SE VALIDA SI LA FECHA DE EMISION DEL MOVIMIENTO PERTENECE AL PERIODO DEL ARCHIVO XML.
IF ((@FechaMov > @FechaIni) AND (@FechaMov < @FechaFin))
BEGIN
SELECT @Ok = 12345, @OkRef = 'Favor de validar la factura: ' + @DescripcionExtra +' La fecha de emisión: ' + CONVERT(VARCHAR(10),@FechaMov,103) + ' no corresponde al periodo del archivo XML'
CLOSE openMyXML
DEALLOCATE openMyXML
RETURN
END
FETCH NEXT FROM openMyXML INTO @DescripcionExtra, @FechaMov
END
CLOSE openMyXML
DEALLOCATE openMyXML
Valora esta pregunta


0