Saltar al contenido principal
Utiliza código JAVASCRIPT desde PL/SQL con APEX_JAVASCRIPT
Volver al inicio

Utiliza código JAVASCRIPT desde PL/SQL con APEX_JAVASCRIPT

11 de noviembre de 20253 min de lectura0 vistas

Oracle APEX combina lo mejor del desarrollo declarativo con el poder del código PL/SQL, y si ya viste cómo podemos aplicar estilos dinámicos con APEX_CSS, ahora vamos un paso más allá: inyectar y ejecutar código JavaScript directamente desde PL/SQL.

¿Qué es APEX_JAVASCRIPT?

Es un paquete integrado en Oracle APEX que te permite generar fragmentos de código JavaScript desde el lado del servidor (PL/SQL) y enviarlos al navegador del usuario.

Esto es útil cuando querés:

  • Ejecutar funciones JS después de una llamada AJAX o proceso dinámico.

  • Inyectar variables de sesión o datos PL/SQL directamente al código cliente.

  • Controlar comportamientos visuales sin tocar el código fuente de las páginas.

En resumen: llevar la lógica del servidor hasta el navegador, de forma controlada.

Ejemplo 1: Mostrar un mensaje dinámico

Si quisieramos mostrar un alert() con un mensaje en PL/SQL.
Podés hacerlo así:

apex_javascript.add_onload_code(
    p_code => 'alert("Bienvenido, ' || :APP_USER || '!");'
);

Esto agrega el código JavaScript a la página justo cuando se carga (en este caso un proceso before header).
En este ejemplo, el texto dentro de :APP_USER se inserta dinámicamente desde PL/SQL y se muestra de esta manera en la pagina.

La función apex_javascript.add_onload_code te permite inyectar código JavaScript que se ejecutará automáticamente cuando la página termine de cargarse.

Ejemplo 2: Ejecutar funciones JS personalizadas

Supongamos que tenés una función JavaScript definida en “Function and Global Variable Declaration“:

function mostrarMSG(mensaje) {
    apex.message.showPageSuccess(mensaje);
}

Y querés llamarla desde un proceso PL/SQL:

apex_javascript.add_onload_code(
    p_code => 'mostrarMSG("Operación completada!");'
);

Así, APEX ejecutará esa función al renderizar la página.

Ejemplo 3: Inyectar código JavaScript directo con add_inline_code

A diferencia de add_onload_code, que ejecuta el JavaScript al cargar la página, la función
apex_javascript.add_inline_code inyecta el código directamente en el HTML generado durante el render.

Esto significa que el código estará presente en el DOM desde el principio, y podés usarlo tanto en funciones personalizadas como en scripts de inicialización.

Supongamos que querés crear una variable JavaScript con el nombre del usuario actual (:APP_USER), de modo que puedas usarla en cualquier script del lado cliente:

apex_javascript.add_inline_code(
    p_code => 'var usuarioActual = "' || :APP_USER || '";'
);

Esto genera dentro del HTML algo como:


var usuarioActual = "CRIS_CAN";

De esta forma, cuando la página se carga, la variable usuarioActual ya existe y puede ser usada por cualquier código JavaScript, acción dinámica o librería externa.

Conclusión

APEX_JAVASCRIPT es una joya dentro del arsenal de Oracle APEX.
Con apenas unas líneas de código, podés conectar el mundo PL/SQL con el del navegador y crear interfaces más inteligentes y dinámicas, sin complicarte con archivos JS externos.

Si te gustó este artículo, te recomiendo leer también APEX_CSS: aplica estilos dinámicos en Oracle APEX con PL/SQL.
Comentame que te parecion el articulo! y si aprendiste algo nuevo, podés darle “Follow“ al blog, compartir la publicación o incluso invitarme un café así seguimos creando más contenido sobre Oracle APEX.

Artículos relacionados