Nun ja, nicht so hart.
Wenn mir Key3 in diesem Fall egal ist, bekomme ich per LF (mit Key1, Key2, Key4, Key3) halt den 1. Satz mit dem 1. Schlüssel aus Key3 und kann dann ggf. per READE weiterlesen.

Beim SQL kann ich da noch mit "fetch first 1 rows only" einschränken, dann gibts auch da keinen Fehler, ansonsten halt einen Cursor deklarieren und mit Fetch arbeiten.

Anders mache ich es ja auch nicht, wenn ich in den berühmten Altanwendungen eine andere Sortierfolge benötige. Es gibt da durchaus PF's mit 30-50 verschiedenen LF's.