Das dürfte mit der einfachen Umstellung auf ILERPG nichts zu tun haben, ggf. hast du die Quellen auch modifiziert.

Bei Shared-Open ist folgendes zu beachten:
Die Art des 1. Opens entscheidet für alle nachfolgenden Open.
Bei Programmende wird ja ggf. auch ein Close mit *INLR=*ON initiiert, so dass der letzte Close den ODP schließt.

M.a.W: Die Reihenfolge der Calls entscheidet!

Wenn also das 1. Programm mit Input öffnet, wird der Update-Open des Folgeprogrammes abgelehnt.

Nun war es bei OPM so, dass der Compiler die Erstellung ablehnte, wenn die F-Declaration nicht zu den verwendeten Befehlen passte.

Ich habe daher häufig die Datei mit Update/Append definiert und in einer $$FILE-SUBSR alle nötigen IO-Befehl aufgeführt, damit der Compiler zufrieden war.

Dem ILE-Compiler ist das nun egal. Ich kann eine Datei für Update/Append definieren ohne entsprechende Befehle zu verwenden.

Ggf. hast du ja die Reihenfolge deiner Calls geändert ?

Ansonsten kannst du in einem Vor-CLP per OPNDBF die benötigten Dateien bereits öffnen und zum Schluss per CLOF wieder schließen.

Zusätzlich kann es auch noch sein, dass das umgestellte Programm nun in einer anderen ACTGRP bzw. nun in einer gemeisamen ACTGRP mit anderen ILE's läuft. Oben gesagtes gilt je ACTGRP.