Seleccionar página

APEX_APPLICATION

apex_application

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

08/04/2022

El paquete APEX_APPLICATION implementa el motor de presentación de Oracle APEX. De este paquete principalmente se saca provecho del uso de las variables globales.

Variables Globales

El siguiente es el recuento de las variables globales definidas en este paquete APEX:

Variable Descripción
G_USER Especifica el usuario conectado.
G_FLOW_ID Especifica el ID de la aplicación que se está ejecutando.
G_FLOW_STEP_ID Especifica el ID de la página que se está ejecutando.
G_FLOW_OWNER

El valor predeterminado es el esquema de análisis de la aplicación. Use #OWNER# para hacer referencia a este valor en consultas SQL y PL/SQL.

Cambiar su valor al momento de la ejecución, no modifica el esquema de análisis.

G_REQUEST Especifica el valor de la variable de solicitud más reciente pasada o definida dentro de los módulos mostrar o aceptar.
G_BROWSER_LANGUAGE Se refiere a la preferencia del navegador web del idioma actual.
G_DEBUG Se refiere a si la depuración está activada o desactivada. Los valores válidos para el indicador DEBUG son ‘Sí’ o ‘No’. Al activar la depuración, se muestran detalles sobre el procesamiento de la aplicación.
G_HOME_LINK Hace referencia a la página de inicio de una aplicación. Si no se proporciona ninguna página y si la lógica del esquema de autenticación no define una página alternativa, el motor de APEX redirige a esta ubicación.
G_LOGIN_URL Se utiliza para mostrar un enlace a una página de inicio de sesión para usuarios que no han iniciado sesión actualmente.
G_IMAGE_PREFIX Hace referencia a la ruta virtual que utiliza el servidor web para apuntar al directorio de imágenes distribuido con APEX.
G_FLOW_SCHEMA_OWNER Se refiere al propietario del esquema de APEX.
G_PRINTER_FRIENDLY Se refiere a si el motor de Application Express se está ejecutando en modo de vista de impresión. Esta configuración se puede referenciar en condiciones para eliminar elementos no deseados en un documento impreso de una página.
G_PROXY_SERVER Hace referencia al atributo de aplicación “Servidor Proxy”.
G_SYSDATE Hace referencia a la fecha y hora actual del servidor. Usa el tipo de datos DATETIME.
G_PUBLIC_USER Hace referencia al esquema de Oracle utilizado para conectarse a la base de datos a través del descriptor de acceso a la base de datos (DAD).
G_GLOBAL_NOTIFICATION Especifica el atributo de la aplicación notificación global.
G_X01, … G_X10 Especifica los valores de las variables X01, … X10 pasados o definidos más recientemente dentro de los módulos mostrar o aceptar. Estas variables se usan típicamente en llamados a procesos por demanda AJAX.

El Procedimiento HELP

Este procedimiento genera texto de ayuda a nivel de página y elemento en formato HTML. También puede usar para personalizar cómo se muestra la información de ayuda en su aplicación.

La sintaxis del procedimiento es la siguiente:

APEX_APPLICATION.HELP (
     p_request IN VARCHAR2 DEFAULT NULL,
     p_flow_id IN VARCHAR2 DEFAULT NULL,
     p_flow_step_id IN VARCHAR2 DEFAULT NULL,
     p_show_item_help IN VARCHAR2 DEFAULT ‘YES’,
     p_show_regions IN VARCHAR2 DEFAULT ‘YES’,
     p_before_page_html IN VARCHAR2 DEFAULT ‘<p>’,
     p_after_page_html IN VARCHAR2 DEFAULT NULL,
     p_before_region_html IN VARCHAR2 DEFAULT NULL,
     p_after_region_html IN VARCHAR2 DEFAULT ‘</td></tr></table></p>’,
     p_before_prompt_html IN VARCHAR2 DEFAULT ‘<p><b>’,
     p_after_prompt_html IN VARCHAR2 DEFAULT ‘</b></p>:&nbsp;’,
     p_before_item_html IN VARCHAR2 DEFAULT NULL,
     p_after_item_html IN VARCHAR2 DEFAULT NULL );

en donde:
p_request, no se usa
p_flow_id, es el identificador de la aplicación que contiene la página o elemento de la que desea mostrar la ayuda
p_flow_step_id, es el identificador de la página que contiene la página o elemento de la que desea mostrar la ayuda
p_flow_item_help, indicador para determinar si se emite ayuda a nivel de elemento. Si se proporciona este parámetro, el valor debe ser ‘YES’ o ‘NO’; si no se proporciona, el valor predeterminado es ‘YES’
p_show_regions, indicador para determinar si se generan encabezados de región (para regiones que contienen elementos de página). Si se proporciona este parámetro, el valor debe ser ‘YES’ o ‘NO’; si no se proporciona, el valor predeterminado es ‘YES’
p_before_page_html, utilice este parámetro para incluir HTML entre el texto de ayuda a nivel de página y el texto de ayuda a nivel de elemento
p_after_page_html, utilice este parámetro para incluir HTML en la parte inferior de la salida, después de todas las demás ayudas
p_before_region_html, utilice este parámetro para incluir HTML antes de cada sección de región.Debe tener en cuenta que este parámetro se ignora si p_show_regions se establece en ‘NO’
p_after_region_html, utilice este parámetro para incluir HTML después de cada sección de región. Debe tomar en cuenta que este parámetro se ignora si p_show_regions se establece en ‘NO’
p_before_prompt_html, utilice este parámetro para incluir HTML antes de cada etiqueta de elemento para obtener ayuda a nivel de elemento. Tenga presente que este parámetro se ignora si p_show_item_help se establece en ‘NO’
p_after_prompt_html, utilice este parámetro para incluir HTML después de cada etiqueta de elemento para obtener ayuda a nivel de elemento. Debe considerar que este parámetro se ignora si p_show_item_help se establece en ‘NO’
p_before_item_html, utilice este parámetro para incluir HTML antes del texto de ayuda de cada elemento para la ayuda a nivel de elemento. Considere que este parámetro se ignora si p_show_item_help se establece en ‘NO’
p_after_item_html, utilice este parámetro para incluir HTML después de cada texto de ayuda de elemento para obtener ayuda a nivel de elemento. Tenga presente que este parámetro se ignora si p_show_item_help se establece en ‘NO’

Ejemplo

APEX_APPLICATION.HELP(
     p_flow_id => :APP_ID,
     p_flow_step_id => :REQUEST,
     p_before_region_html => ‘<p><br/><table class=”u-info” width=”100%”><tr><td><b>’,
     p_after_prompt_html => ‘</b></p>&nbsp;&nbsp;’);

El anterior ejemplo muestra como utilizar el procedimiento APEX_APPLICATION.HELP para personalizar como se despliega la información de ayuda.

Para implementar este tipo de llamada en su aplicación, puede hacer lo siguiente:

  1. Crear una página que va a ser su página de ayuda
  2. Crear una región de tipo “Contenido Dinámico PL/SQL” y agregar la llamada a APEX_APPLICATION.HELP en el atributo Origen
  3. Agregue un enlace en la barra de navegación a esta página y asegúrese de definir el valor de SOLICITUD como &APP_PAGE_ID.

El procedimiento STOP_APEX_ENGINE

Este procedimiento le indica al motor de APEX que detenga el procesamiento adicional y salga inmediatamente para evitar agregar código HTML adicional al búfer HTTP.

Nota: este procedimiento genera la excepción apex_application.e_stop_apex_engine internamente. Debe generar esa excepción nuevamente, si usa un controlador de excepciones WHEN OTHERS.

La sintaxis para este procedimiento es:

          APEX_APPLICATION.STOP_APEX_ENGINE

A continuación unos ejemplos de uso. En el primero de ellos le dice al navegador que direccione a la dirección indicada e inmediatamente cese cualquier procedimiento adicional:

          owa_util.redirect_url(‘http://apex.oracle.com’);
          apex_application.stop_apex_engine;

En el siguiente, se ejecuta un procedimiento similar, solamente que se le agrega unas excepciones al procedimiento:

     begin
           … code which can raise an exception …
           owa_util.redirect_url(‘http://apex.oracle.com’);
           apex_application.stop_apex_engine;
      exception
           when apex_application.e_stop_apex_engine then
                raise; — raise again the stop Application Express engine exception
           when others then
                …; — code to handle the exception
      end;

Por razones de compatibilidad, este paquete contiene los arreglos G_Fnn, los cuales eran utilizados principalmente en los reporte so formas tabulares, estos arreglos serán descontinuados en posteriores versiones, por lo que lo recomendable es utilizar Cuadrículas Interactivas en su lugar.

También te puede gustar…

Share This