Allerdings ist das ungleich komplizierter, diesen Join dann in RPG zu verarbeiten.
Häufig wird dann erst ein CPYFRMQRYF gemacht um das dann von nachfolgenden Programmen zu verarbeiten.

Die Vorgehensweise ist:

OPNQRYF mit Join und Sortierung
CPYFRMQRYF um für RPG eine Datei zu haben
RPG-Programm mit dieser Datei erstellen
CLP-Programm mit
- OPNQRYF
- OVRDBF ... SHARE(*YES)
- OPNDBF
- CALL RPG

Das RPG kann diese Datei
- nicht mit SETLL
- nur sequentiell
verarbeiten

Die Satzauswahl muss also auch ins OPNQRYF verschoben werden.
Da denke ich, dass SQL die bessere und vor allem schnellere Lösung ist.

Bisher habe ich mit OPNQRYF nur Programme gesehen, die das Ergebnis nur als IP (Input Primary) verarbeiten.
Ich lass mich allerdings gerne eines besseren belehren.