Tienes tu print return_val
en el lugar equivocado; debe estar dentro del comando SQL*PLUS, antes de salir, para imprimir la variable de cursor ref.
También necesita el prefijo return_val
con dos puntos en su llamada de procedimiento, para indicar que está usando la variable de vinculación que acaba de declarar, aunque también omitió el tipo de variable de su declaración. Esto parece hacer lo que quieres:
function runproc
{
#read ref cursor from proc
cur=`sqlplus -s $connectiondetails <<EOF
SET PAGESIZE 0 FEEDBACK ON VERIFY OFF HEADING OFF ECHO OFF
var return_val refcursor
exec myproc_retcur(14, :return_val);
print return_val
EXIT
EOF`
return cur
}
No has mostrado dónde WEEKNUM
proviene, así que lo codifiqué a un número por ahora.
Creo que probablemente quieras desactivar la retroalimentación, no activarla, por cierto.