Das "wenn möglich" gibt dir ja Gelegenheit.
Also: Ohne Cursor funktioniert ein Select nur, wenn max. genau 1 Zeile erwartet wird.
In diesem Fall kodiert man einen "select ... into ...".

Alle anderen Select's gehen nur mit Cursor (ohne Cursor kein Fetch).
Die SQLCA musst du auf jeden Fall auswerten:
SQLCOD = 100 => keine Daten.
Allerdings liefert der letzte Fetch ebenfalls SQLCOD=100, nur in der Struktur können trotzdem Sätze gelesen worden sein (Z.B. nur 11999 Sätze).
Dann musst du eben noch 999 Sätze verarbeiten, deine Struktur ist eben nicht vollständig gefüllt.
Die nachfolgenden Vorkommen der Mehrfachstruktur habe immer noch den VORHERIGEN Inhalt !!!

Und wenn wir über RPGLE sprechen kann der Fetch dir den Speicher zerhauen, wenn deine Struktur weniger Vorkommen hat, als du im Fetch angibst.