Für die where-Klausel geht das leider nicht, hier müssen die Daten schon korrekt sein sonst will SQL nicht.
Ggf. musst du halt ein Korrekturprogramm (COBOL/RPG) laufen lassen, dass alle falschen Daten eben berichtigt.

week_iso kannst du doch in RPG (siehe obiges Beispiel) direkt aufrufen.
Allerdings ist hier Vorsicht anzuwenden. Die Funktion liefert nur eine Zahl zwischen 1 und 53, leider nicht welches Jahr !!!
Wenn z.B. die Woche 53 gemeldet wird, kann das die 53. Woche des Vorjahres oder des aktuellen Jahres sein.
Es muss also zusätzlich geprüft werden, ob z.B. MONTH(Datum) = 12 ist.

Also:

if week_iso(datum) = 53
if month(datum)=12 then
myyear = year(datum) - 1
else
myyear = year(datum)
endif
eindif

das gleiche gilt bei Woche 1:

if week_iso(datum) = 1
if month(datum)=12 then
myyear = year(datum) + 1
else
myyear = year(datum)
endif
eindif

Schade, dass es keine korrekte Funktion gibt, die mir Jahr + Woche zusammenhängend gibt.