Hallo,

der im ersten Posting genannte Fehler wird wohl gerade durch den Reclaim hervorgebracht.
Szenario: SRVPGMA läuft in ACTGRP A
SRVPGMB läuft in ACTGRP B
RCLACTGRP B macht alle ProcedurePointer in A auf
Prozeduren in B ungültig
der nächste Aufruf einer Porcedure aus SRVPGMB aus
SRVPGMB bringt den Fehler.
Konsequenz: Activationgroups von Serviceprogramme mit eigenen Activationgroups kann man nicht per Reclaim killen.
Lösungswege:
a) verlassen des steuernden Programmes und RCLACTGRP *eligible,
schwache Lösung, es darf auch kein weiteres Programm im Call Stack drunter liegen, das eines der SRVPGMs gebunden hat.
b) SRVPGMs mit *CALLER erstellen und den Programmen eigene ACTGRP (= Programmname) geben - einfache Lösung, die meist (ich weiß, nicht immer) ausreicht.
c) Den maroden Aktivierungsprozess der Runtime nicht benutzen und die Sache selber in die Hand nehmen: sprich zur Laufzeit binden per API (gibts OpenSource auf meiner WebSeite PROCP4NAME) - felxibel und stabil.
Grundsätzlich gilt natürlich, dass die Instabilität in der Prozedur selber geheilt werdne muss, um diesen Wackelhaufen zu sanieren. Anfangen würde ich da beim Programm Design und dem Aufräumen der Aktivierungsgruppen. Danach würde ich entweder einen ILE Condition Handler für das "Restfehlerhandling" dranhängen, oder die exportierten Procedures in Monitorblöcke einpacken.

mfg

Dieter Bender
Zitat Zitat von Hubert Beitrag anzeigen
Leider hat auch RCLACTGRP nicht geholfen.

Das Programm nutzt mehrere Serviceprogramme. Jedes Programm hat seine eigene Activation Group. Die Activation Group des Serviceprogramms, in dem der Fehler aufgetreten ist, existiert danach nicht mehr.

Da kann ich nur hoffen, dass ich jetzt alle möglichen Fehler sauber abgefangen hab.

Danke für die Unterstützung.

Hubert