Tema: Semana 53
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2017, 10:44
Avatar de Lenin_Germaine
Lenin_Germaine
 
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Semana 53

Hola a todos, buen día, me gustaría su apoyo con mi porción de código, estoy validando una fecha_de_pago de clientes para colocarlas en diferentes CASES, del 1 al 9, es decir dependiendo de la semana en que caigan del 1 al 9 las clasifico, el detalle es que las acomodo a partir de la semana en que estoy hoy que es la 1, y lo hacía bien el detalle es que llega al día 31 de diciembre marca como semana 53 y ya no funciona mi código, incluso cuando la compara con el cambio de año, es decir la semana 53 contra la semana 1, alguna idea?. Les dejo mi código. Gracias.

Código:
CASE 
WHEN (DATEPART(wk, GETDATE())= DATEPART(wk, c.FechaProbablePago)) 
AND DATEPART(yyyy, GETDATE())=DATEPART(yyyy, c.FechaProbablePago) 
THEN --c.AbonoCuentaProveedor 
c.AbonoCuentaProveedor - isNull ((Select Sum(Monto) From medacasa18.dbo.CtbPolizasDetAP x Where x.IdPolizaDetAbono =  b.IdPolizaDet),0)
END SEM1, 

CASE
WHEN 
DATEPART(wk,DATEADD(WK, 1, GETDATE())) = DATEPART(wk, c.FechaProbablePago) AND 
DATEPART(yyyy,DATEADD(WK, 1, GETDATE()))=DATEPART(yyyy, c.FechaProbablePago) 
THEN --c.AbonoCuentaProveedor 
c.AbonoCuentaProveedor - isNull ((Select Sum(Monto) From medacasa18.dbo.CtbPolizasDetAP x Where x.IdPolizaDetAbono =  b.IdPolizaDet),0)
END SEM2,

--Aqui le siguen iguales prociones del 3 al 8, y continuamos finalmente con el 9 noveno.

CASE
WHEN 
DATEPART(wk,DATEADD(WK, 8, GETDATE())) = DATEPART(wk, c.FechaProbablePago) AND 
DATEPART(yyyy,DATEADD(WK, 8, GETDATE()))=DATEPART(yyyy, c.FechaProbablePago) 
THEN --c.AbonoCuentaProveedor 
c.AbonoCuentaProveedor - isNull ((Select Sum(Monto) From medacasa18.dbo.CtbPolizasDetAP x Where x.IdPolizaDetAbono =  b.IdPolizaDet),0)
END SEM9,