M.E. sollte der Tip von Andreas angenommen werden, und die Optionen OPEN_CURSOR_CLOSE_ COUNT und OPEN_CURSOR_ THRESHOLD gesetzt werden.
Eine Dokumentation findet sich hier:
QAQQINI query options

Die QAQQINI kann ja mit CRTDUPOBJ in jede Bibliothek kopiert und dort modifiziert werden, und anschließend mit CHGQRYA auf Job-Ebene aktiviert werden.

Wird das Limit der geöffneten Cursor/(SQL)ODPs erreicht, werden die am längsten nicht benutzten (SQL) ODPs gelöscht (Hard Close)

Zu prüfen wäre auch, ob zufällig in der Bibliotheksliste der Datenbereich QSQPSCLS1 irgendwo in der Bibliotheksliste gefunden wird. In diesem Fall werden nämlich ODPs nämlich nach der ersten Ausführung nicht gelöscht.

Vielleicht ist auch der folgende Link hilfreich:
Reducing the number of open operations

Kann es vielleicht auch sein, dass das gleiche dynamische SQL-Statement immer und immer wieder erstellt (PREPARE) und anschließend ausgeführt wird (EXECUTE)?

Birgitta