select ....
from myfile a
where a.artnr concat digits(a.jahr) concat digits(a.monat) concat digits(a.tag) =
(select max(b.artnr concat digits(b.jahr) concat digits(b.monat) concat digits(b.tag))
from myfile b
where a.artnr = b.artnr
and date('20' concat digits(b.jahr) concat '-' concat digits(b.monat) concat '-' concat digits(b.tag)) <= current date)

Einfache wäre es, wenn das Datum (insbesonders das Jahr) bereits 8-stellig oder als Typ Date vorläge.

Als View ist das aber nicht unbedingt geeignet, da kein Order by möglich ist und der Zugriff dann ggf. etwas dauert.
Einfacher wäre der SQL direkt im Programm mit Parametern z.B. auf Artikel-Nr.