Zitat Zitat von B.Hauser Beitrag anzeigen
Man sollte dabei allerdings berücksichtigen, dass der erste Montag im Jahr nicht zwangläufig in der KW 1 liegen muss!
Die ISO Regeln lauten:
Die Woche beginnt mit einem Montag und die Mehrheit der Tage in der 1. Kalenderwoche muss aus dem neuen Jahr sein.
Was man sicher sagen kann ist, dass der erste Donnerstag im Jahr oder der 4. Januar immer in KW1 ist.

Ich hab das Ganze mal als SQL Funktion gemacht. Das könnte man in embedded SQL hinterlegen und dann aus CL aufrufen:

Code:
Create Function MySchema/Tag1KW
      (ParYear    Decimal(4, 0),
       ParWeekIso Decimal(2, 0))
   Returns Date)
   Language SQL
Begin
   Declare Jan4 Date;
   Set Jan4 = Date(Digits(ParYear) concat '-01-04');
   If    ParWeekISO <= 0
      or ParWeekISO > Week_ISO(Jan4 + 1 Year - 7 Days) 
      Then Return Date('0001-01-01');
   End If;
   Return Jan4 + (((ParWeekISO - 1) * 7 + 1 - DayOfWeek_ISO(Jan4)) Days;
End;
Birgitta
Auf der Suche nach einer SQL-Lösung zum gleichen Problem bin ich auf Deine Funktion gestoßen. Funktioniert prima (eine Klammer auf ist zu viel, aber kein Problem).

Vielen Dank, Birgitta!