Das würde ich nun doch mal der IBM melden und ansonsten auf SQL umstellen.

Das geht eigentlich ganz einfach:
Erstelle einen QMQRY mit
Select trim(CFeld) concat ";" concat char(NFeld) concat ";"
Concat """" concat trim(DelimitedCFeld) concat """;" ...
from Myfile
where ....

Per STRQMQRY in eine Ausgabedatei
Per CPYTOSTMF ins IFS

Dann bist du alle Sorgen los und kannst dich ganz auf die Formate konzentrieren.

Wenn du dann noch die Feldnamen für CSV vorne weg haben willst:

select distinct "Feld1;Feld2;..." from myfile
union all
select ......