Hola
Andres95, gracias por hacerme notar ese error de lógica, cuando lo hice lo hice a las carreras y no consideré el caso que encontraste; el error estaría en la condición del WHILE ya que como yo sumo semanas para no recorrer cada fecha, en el caso del 14 de agosto al sumar tres semanas llegó al 4 de septiembre y por dicha condición ya no entra al ciclo.
Creo que modificando de esta forma el programa se arregla el asunto:
Cita: ...
WHILE @FechaActual <= DATEADD(Week, 1, @FechaFin)
BEGIN
SELECT @FechaLunes = DATEADD(wk, DATEDIFF(wk,0,@FechaActual), 0)
IF (@FechaLunes > @FechaIni) and (@FechaLunes <= @FechaFin )
....
Con eso leo una semana más allá de la fecha final pero solo considero el lunes que este dentro de la fecha límite.
Si encuentras otro fallo, o alguna mejora, por favor, coméntalo
Muchas gracias!