Hallo,

hier muss man Cursor und ODP auseinanderhalten.
Im Programm habe ich einen Cursor, dessen öffnen zur neu Psoitionierung führt und desse Status nur zwichenn open und close wechseln kann; alles andere verursacht Fehler.
Die Datenbank kennt einen ODP, den sie besser offen lässt, da er meist nochmal gebraucht wird und der dann Sperren auf die Tables hat.
Das ganze CLOSQLCSR Gedönse wirkt auf Cursor und nicht auf ODPs, auch wenn es zuweilen anders ausschauen mag!
ODPs, die keiner benutzt, werden von SQL automatisch geräumt, wenn sie von SQL benötigt werden. Dasselbe erreicht man auch mit ALCOBJ CONFLICT(*RQSRLS) wenn einen das irgendwann mal stört.

@Birgitta:
Mit dem neu eröffnen von ODPS in laufenden Programmen habe ich unter V5R3 schon positive Überraschungen erlebt (nach anlegen eines Index)
Wenn Daten komplett über einen Zugriffspfad geholt werden können, dann ist meist mit dem Design was faul, ausser bei Where in Subselect Konstrukten, wo select * eh' nicht geht.

mfg

Dieter Bender