Das STGMDL kann (und muss) auf Modulebene bereits angegeben werden.
Der Default ist hier *INHERIT.
Beim CRTPGM können nur Module mit gleichen STGMDL bzw. INHERIT gebunden werden.
In einer ACTGRP kann auch nur 1 STGMDL aktiv sein.

Willst du den Compiler austrixen musst du ggf. mittels %ALLOC Speicher anlegen und die Elemente einzeln per Verschiebe-Pointer bearbeiten.
Wenn das Programm noch mal aufgerufen wird, musst du vorher den Speicher wieder freigeben, da du ansonsten ein sog. Memory-Leak erstellst dass im Zweifel, wenn der Systemspeicher nicht mehr ausreicht, zum Herunterfahren der Maschine zwingt.

Ansonsten:
SET RESULT SETS for Return to CALLER

TO CALLER

Specifies that the cursor can return a result set to the caller of the
procedure. For example, if the caller is a client application, the result set is
returned to the client application.

TO CLIENT
Specifies that the cursor can return a result set to the client application.
This cursor is invisible to any intermediate nested procedures. If a function
or trigger called the procedure either directly or indirectly, result sets
cannot be returned to the client and the cursor will be closed after the
procedure finishes.