Marco
Te paso codigos para trabajar con fechas. Fijate que esta el cálculo del numero de semana
Avisame si te sirvió.
! Cargo una fecha inicial cuando fecha desde es igual a cero
IF LOC:FechaDesde = 0
LOC:FechaDesde = deformat ('01/01/1950',@d6)
END
! Primer Dia del Mes
LOC:FechaDesde = DATE(MONTH(TODAY()),1,YEAR(TODAY()))
! Calculo Nombre del Día y si es Sábado o Domingo sumo 2 o 1 para llegar hasta el Lunes
EXECUTE (LOC:FECHA % 7) + 1
LOC:Dia = 'Domingo'
LOC:Dia = 'Lunes'
LOC:Dia = 'Martes'
LOC:Dia = 'Miércoles'
LOC:Dia = 'Jueves'
LOC:Dia = 'Viernes'
LOC:Dia = 'Sábado'
END
! Otra forma
LOC:DiaSemana = choose((today() %7)+1,'Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado')
! Para leer el dia que usa el template de mostrar dia de la semana
?DiaSemana{PROP:Text}=''
if LOC:FechaActual<>0
?DiaSemana{PROP:Text}=CLIP(DisplayDayText[(LOC:FechaActual%7)+1]); display
End
! Para Calcular el Número de Semana del Año
Loc:NroSemana = (Loc:Fecha_A_Calcular - date(01,01,year(Loc:Fecha_A_Calcular) / 7
Y tomar la parte entera de esto, sumar 1.
La fecha que formás con DATE debe ser siempre el 1 de enero del año que te interesa.