Bei V4R2 ist das auch nicht so einfach, da sich inzwischen einiges getan hat.

Die einfachste Version für mich ist eigentlich ein QM-Query.
Per SQL kann ich das Format einer CSV-Datei direkt erzeugen:

select trim(char(numfield)) || ';'
|| trim(charfield) || ';'
:
:
from myfile
where ....

Die Where-Bedingung fülle ich per Dialog, starte mit STRQMQRY ... OUTFILE(QTEMP/MYFILE) den SQL und kopiere per CPYTOIMPF diese Datei ins IFS.

Parameter in der Where-Bedingung werden analog zu CL-Parametern definiert:

where feld1=&PARM1 and feld2=&PARM2 ....

die ich dann beim STRQMQRY übergeben kann. Beispiele hierzu gibts im Forum.
Die CSV-Datei kann ich dann relativ einfach in Excel oder sonstwo wieder aufdröseln.

Die 2. Alternative ist das Bereitstellen von Sichten (VIEW, LF) in eigenen Bibliotheken, die bereits bestimmte Selektionen enthalten.
Per MS-Query (Excel->Externe Daten) sind diese auch problemlos herunterzuladen.