... entscheidend ist hierbei zuerst die ACTGRP, die folgende Eigenschaften hat:
- eine ACTGRP kann mehrere Connections haben
- davon kann nur eine aktiv sein
- wird diese geschlossen, hat sie keine aktive connection (was zum SQL0900 führen kann)
- mit set connection wechselt man die aktive connection
- connect reset wechselt zur lokalen Connection
- Commit scope ist im default die ACTGRP (das sollte man auch so lassen)
- connect und disconnect gehen nicht innerhalb einer Transaktion

Die korrekte Vorgehensweise muss immer sicherstellen, dass ein Programm, das remote connections aufmacht, immer so verlassen wird, dass die lokale Connection die aktive ist - also immer connect reset vor dem verlassen (sonst müsste man ja alles anpacken, was danach im Job in der ACTGRP noch passiert).
Am Ende macht man am einfachsten:
exec sql release myremote;
exec sql commit;
exec sql connect reset;

D*B