Da solltest du dir wohl eine andere Lösung einfallen lassen.
Das Offenhalten verstehe ich so nämlich nicht.
Wenn ein Programm mehrere Cursor benötigt kann es diese doch selber offen halten.

Was natürlich nicht geht, ein zentrales Unterprogramm für beliebige dynamische SQL's zu stricken.
Das ist auch nicht die richtige Vorgehensweise beim Arbeiten mit SQL.

Am Besten ist es tatsächlich, dass jedes Programm für sich die nötigen statischen SQL's enthält.
Das ist immer performanter und auch übersichtlicher.