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>: ’,
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> ’);
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:
- Crear una página que va a ser su página de ayuda
- Crear una región de tipo “Contenido Dinámico PL/SQL” y agregar la llamada a APEX_APPLICATION.HELP en el atributo Origen
- 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.