Hallo zusammen,
ich verwende JVAGATE für den Zugriff auf verschiedene ext. Datenbanken, funktioniert alles super. (Thx DB).
Jetzt ist eine Oracle-DB (FIBU) dazugekommen, funktioniert auch generell.
Die Verarbeitung habe ich in SQLRPG-Pgm's, dort connecte ich zu den DB's, Öffne Cursor, leses Sätze, schließe Cursor und schliesse die Verbindung wieder !
Die Oracle-DB arbeitet mit Commit, wir auf unseren lokalen DB2 for i ohne Commit !

Nur in Verbindung (kein direkter CALL) mit einem anderen SQLRPG-Pgm, das auf die lokale DB2 zugreift, bekomme ich immer den Fehler SQL0900..."Anwendungsprozess befindet sich nicht in einem Status, der eine Verbindung zulässt."

Der Ablauf ist wie folgt:
Der Anwender ruft über das Menü das SQLRPG-Pgm1 auf, mit dem ich ausschließlich (SQL-mäßig) auf die Oracle-DB zugreife (Anzeige OP-Salden von Kunden aus FIBU Oracle).
Alles wunderbar, wenn der Anwender fertig ist drückt er F3, ich mache im SQLRPG-Pgm1 dann ...

exec sql commit;
exec sql release PROD10PDB;
exec sql disconnect PROD10PDB;


Dann geht der Anwender in einen anderen Menüpunkt und ändert Stammdaten.
Dabei läuft dann über einen Trigger das SQRPG-Pgm2 mit Zugriff auf die lokale DB2, und dort bekomme ich dann den o.g. Fehler.
Habe auch schon versucht, in diesem SQLRPG-Pgm2 einen "connect" auf die lokale DB2 auszuführen, der Fehler ist immer der gleiche !

Ich vermute den Fehler aber im SQLRPG-Pgm1 beim "Schliessen" der Verbindung zur Oracle-DB, denn wenn ich nach Aufruf des 1. SQLRPG-Pgm z.B. interaktiv STRSQL aufrufe, bekomme ich in der Sitzung den gleichen Fehler angezeigt.
Dort reicht dann aber ein Connect to zur lokalen DB2 !

So öffne ich die Verbindung zur Oracle-DB im SQLRPG-Pgm1...:
exec sql connect to PROD10PDB;

Und so schliesse ich diese wieder im SQLRPG-Pgm1...:
exec sql commit;
exec sql release PROD10PDB;
exec sql disconnect PROD10PDB;


Hier habe ich auch schon einmal ein Connect reset versucht, aber ohne Erfolg.

Wenn man sich dann an der 5250-Sitzung abmeldet, dauert das eine gewisse Zeit, das Jobstatus wird "Rollback" angezeigt !

Kann mir jemand sagen, wie man in einem SQLRPG-Pgm unter Verwendung von JVAGATE eine Verbindung zu der "fremden DB" aufbaut und wieder korrekt schließt inklusive "Re/Weider" Verbindung zur lokalen DB2 ?

Danke vorab + Vg.