Die Datenumsetzung erfolgt, da die PF keine CCSID hat (*HEX) und du eben einen Insert ggf. mit CCSID machst (Job).
Die Performance rührt nun daher, dass du wohl nur 1 Insert im Modul machst und die ACTGRP dann verlässt: ACTGRP(*NEW).

Was also passiert:
- Erstellen einer ACTGRP
- ggf. Aufruf des Main-Programmes
- Aufruf deines Moduls
- Open der Zieldatei
- Insert
- Close der Zieldatei
- return's
- zerstören der ACTGRP

Hinzu kommt noch die Meldung der Datenumsetzung bei jedem Insert ins Joblog.
Ist doch klar, dass das dauert.
Besser wäre das Erstellen der Datei per SQL als Create Table. Da brauche ich auch keine DDS und die Ganze Aktion innerhalb eine ACTGRP durchführen, ggf. ACTGRP(*CALLER).