Hallo,

ich kann auf die Schnelle nur eine mögliche Alternative anbieten.

Anscheinend soll ja das Ergebnis ebenfalls eine feste Datenbreite haben und die Felder jeweils die Ausgangslänge beibehalten, womit die Funktionen vom CPYTOIMPF nicht zwingend erforderlich sind. Wenn also ein Zwischenschritt eingebaut werden könnte, würde ich diesenfalls mit dem Befehl CPYTOSTMF arbeiten. Dazu müsste allerdings die Ausgangsdatei zuvor (mit CPYF FMTOPT(*NOCHK)) in eine (temporäre) Datei kopiert werden, welche mit CRTPF (ohne DDS) erstellt wurde.

Dann sähe das in etwa so aus:
CRTPF FILE(QTEMP/XYZ) RCDLEN(1024) 'oder breiter
CPYF FROMFILE(FILE) TOFILE(QTEMP/XYZ) FMTOPT(*NOCHK)
CPYTOSTMF FROMMBR('qsys.lib/qtemp.lib/xyz.file/xyz.mbr') TOSTMF('/test/file.txt') STMFOPT(*REPLACE) STMFCODPAG(819)

Gut, was die Codepage angeht, weiß ich nicht Bescheid, da benutzen wir sonst immer *PCASCII. Weiterhin dürfte es auch nicht funktionieren, wenn Ausgangsfelder packed oder binär sind. Aber da es bei CPYTOPCD vorher auch geklappt hat, sollte das kein Problem sein.

Ohne Gewähr, ist vielleicht etwas zum rumspielen...

Gruß, Dufti