Die Reihenfolge Close/Open spielt tatsächlich eine Rolle.
Wenn z.B. folgendes Szenario stattfindet.

Cursor wurde geöffnet
Alle Sätze oder einige Sätze wurden mit Fetch in einer Schleife gelesen.
Es wurde kein Close gesetzt. (z.B. Schleife wurde nicht mit SQL-Code 100 verlassen)
Ein erneuter OPEN ist jetzt wirkungslos. (im Gegensatz zu einem SETLL im RPG)

CLOSQLCSR bewirkt nicht unbedingt, dass der Cursor geschlossen wird.
Sondern nur, ob der bereits gefundene Zugriffs-Weg beim nächsten Aufruf wieder verwendet wird.

Bei obigem Beispiel könnte es sogar sein, dass beim erneuten Programm-Aufruf keine Sätze mehr angezeigt werden, da der Cursor nicht geschlossen wurde, und alle Sätze verarbeitet wurden.

Birgitta