Nun ja, das System geht schon seltsame Wege.

Also:
Der CPYFRMIMPF verwendet SQL für den Insert in die Zieltabelle.
Anschließend läuft mein SQLRPGLE, dass diese Tabelle per SQL liest und in die Originaltabellen verteilt.

SQL macht nun leider einen Lazy-Close, m.a.W, der ODP des CPYFRMIMPF für Output und der ODP meines Programmes für Input sind beide noch offen.

Der nächste CPYFRMIMPF will die Zieldatei nun zurücksetze, was durch dein Input-ODP aber nicht zulässig ist.

Mein SQLRPG habe ich nun mit "option closqlcsr=*endmod" ergänzt.
Nach Ende des CPYFRMIMPF und meines Programmes sind immer noch beide ODP's offen.

Allerdings beim internen Aufruf des CLRPFM des CPYFRMIMPF stellt das System wohl fest, dass diese beiden ODP's nicht mehr benötigt werden und schließt diese nun.
Der CLRPFM wird nun korrekt durchgeführt.

Einziger Nachteil ist noch, sobald das gesamte CLP fertig ist, verbleiben diese ODP's bis zum ENDJOB.
Da ich aber vorhabe, das als Batch-Job zu machen, ist das auch egal.