En Oracle Forms Builder, al crear distintas pantallas que se llaman entre sí con botones y pasándose parámetros, me encontré con el problema de que se excedía el número de conexiones simultaneas.

ORA-02391: límite de SESSIONS_PER_USER simultáneo excedido

Este error ocurre porque el sesslimit de Oracle está puesto a un valor muy bajo y se excede, como indica el texto del error. Una solución es subir el límite, para lo cual necesitas privilegios de administrador de la base de datos, cosa que yo no tengo donde estoy creando la aplicación, y la otra es no crear tantas sesiones.

La manera que estaba usando para pasar parámetros era una llamada a Run_PRODUCT pasándole una  ParamList. De esta forma se crea una sesión nueva con cada llamada.

Run_PRODUCT(FORMS,'PANTALLA_DESTINO',SYNCHRONOUS, RUNTIME, FILESYSTEM, parametros ,NULL);


La solución al problema ha sido hacer llamadas a Call_Form en lugar de Run_Product.

Call_form('PANTALLA_DESTINO', HIDE, DO_REPLACE, NO_QUERY_ONLY, parametros);