Seleccionar página

APEX_APPLICATION_INSTALL – Parte 2

apex_application_install

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.

11/04/2022

En la entrada anterior, se definió las generalidades de este paquete.

A continuación iniciaremos con algunos de los procedimientos y funciones que componen el paquete APEX_APPLICATION_INSTALL, las cuales iremos completando en entregas posteriores, al ser grande el número de las mismas para este paquete.

Procedimiento CLEAR_ALL

Este procedimiento limpia todos los valores definidos en el paquete APEX_APPLICATION_INSTALL.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.CLEAR_ALL;

Por ejemplo:

     begin
          apex_application_install.clear_all;
     end;

Procedimiento GENERATE_APPLICATION_ID

Este procedimiento genera un identificador de aplicación disponible en la instancia y define el ID de la aplicación en APEX_APPLICATION_INSTALL.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GENERATE_APPLICATION_ID;

Por ejemplo:

     begin
          apex_application_install.generate_application_id;
          apex_application_install.generate_offset;
          apex_application_install.set_application_alias( ‘F’ || apex_application_install.get_application_id );
     end;

 

 

Procedimiento GENERATE_OFFSET

Este procedimiento genera el valor de offset utilizado durante la importación de la aplicación. Utilice el valor de offset para asegurarse de que los metadatos de la definición de la aplicación APEX no entren en conflicto con otros metadatos de la instancia. Para la instalación de una nueva aplicación, normalmente basta con llamar a este procedimiento para que Application Express genere este valor de compensación por usted.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GENERATE_OFFSET;

Por ejemplo:

     begin
          apex_application_install.generate_application_id;
          apex_application_install.generate_offset;
          apex_application_install.set_application_alias( ‘F’ || apex_application_install.get_application_id );
     end;

 

Función GET_APPLICATION_ALIAS

Esta función obtiene el alias de la aplicación que se va a importar. Esto solo se usa si la aplicación que se va a importar tiene un alias especificado. Un alias de aplicación debe ser único dentro de un espacio de trabajo y se recomienda que sea único dentro de una instancia. El alias de la aplicación no puede ser mayor de 255 caracteres.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GET_APPLICATION_ALIAS
     RETURN VARCHAR2;

Por ejemplo:

     declare
          l_alias varchar2(255);
     begin
          l_alias := apex_application_install.get_application_alias;
     end;

 

Función GET_APPLICATION_ID

Utilice esta función para obtener el ID de aplicación de la aplicación que se va a importar. El ID de la aplicación no debe existir en la instancia o, si existe, debe estar en el espacio de trabajo donde se importa la aplicación.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GET_APPLICATION_ID
     RETURN NUMBER;

Por ejemplo:

     declare
          l_id number;
     begin
          l_id := apex_application_install.get_application_id;
     end;

 

Función GET_APPLICATION_NAME

Esta función obtiene el nombre de la aplicación de la aplicación que se va a importar.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GET_APPLICATION_NAME
     RETURN VARCHAR2;

Por ejemplo:

     declare
          l_application_name varchar2(255);
     begin
          l_application_name := apex_application_install.get_application_name;
     end;

 

Función GET_AUTHENTICATION_SCHEMA

Utilice esta función para recuperar el nombre del esquema de autenticación que debería sobreescribir el predeterminado.

La sintaxis utilizada es:

     function GET_AUTHENTICATION_SCHEME(
     return VARCHAR2 );

Por ejemplo:

     select apex_application_install.get_authentication_scheme from
     sys.dual;

 

Función GET_AUTOINSTALL_SUP_OBJ

Utilice esta función para obtener la instalación automática de la configuración de objetos de soporte utilizada durante la importación de una aplicación. Esta configuración es válida solo para instalaciones de línea de comandos. Si la configuración se establece en TRUE y la exportación de la aplicación contiene objetos de soporte, automáticamente instala o actualiza los objetos de soporte cuando una aplicación importa desde la línea de comando.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GET_AUTO_INSTALL_SUP_OBJ
     RETURN BOOLEAN;

Por ejemplo:

     declare
          l_auto_install_sup_obj boolean;
     begin
          l_auto_install_sup_obj := apex_application_install.get_auto_install_sup_obj;
     end;

 

Función GET_BUILD_STATUS

Utilice esta función para recuperar el estado de creación que debería sobreescribir el predeterminado.

La sintaxis utilizada es:

     FUNCTION GET_BUILD_STATUS (
     RETURN VARCHAR2;

Por ejemplo:

      select apex_application_install.get_build_status from sys.dual;

 

Función GET_IMAGE_PREFIX

Esta función obtiene el prefijo de la imagen de la aplicación de importación. La mayoría de las instancias de APEX utilizan el prefijo de imagen predeterminado de /i/.

La sintaxis utilizada es:

     APEX_APPLICATION_INSTALL.GET_IMAGE_PREFIX
     RETURN VARCHAR2;

Por ejemplo:

     declare
          l_image_prefix varchar2(255);
     begin
          l_image_prefix := apex_application_install.get_image_prefix;
     end;

 

Función GET_INFO

Utilice esta función para obtener información de instalación de un archivo fuente. Retorna información acerca de la aplicación, la cual puede ser usada para configurar la instalación.

Esta función puede levantar la excepción:  WWV_FLOW_IMP_PARSER.RUN_STMT_ERROR: The source contains invalid statements.

La sintaxis utilizada es:

     FUNCTION GET_INFO (
          p_source IN apex_t_export_files )
     RETURN t_file_info;

En donde,

p_source, es el código fuente, una tabla (nombre, contenido) con un solo registro para las aplicaciones normales de Oracle APEX o varios registros para las aplicaciones que se dividieron al exportar.

Debe tener presente que no se admite pasar varias aplicaciones.

Por ejemplo:

     declare
          l_source apex_t_export_files;
          l_info apex_application_install.t_file_info;
     begin
          l_source := apex_t_export_files (
          apex_t_export_file (
          name => ‘f100.sql’,
          contents => apex_web_service.make_rest_request (
          p_url => ‘https://www.example.com/apps/f100.sql’,
          p_http_method => ‘GET’ )));
          l_info := apex_application_install.get_info (
                              p_source => l_source );
          sys.dbms_output.put_line (apex_string.format (
          p_message => q’!Type …………….. %0
                    !Workspace ………… %1
                    !Version ………….. %2
                    !App ID …………… %3
                    !App Name …………. %4
                    !Alias ……………. %5
                    !Owner ……………. %6
                    !Build Status ……… %7
                    !Has Install Script … %8
                    !App ID Usage ……… %9
                    !App Alias Usage …… %10!’,
          p0 => l_info.file_type,
          p1 => l_info.workspace_id,
          p2 => l_info.version,
          p3 => l_info.app_id,
          p4 => l_info.app_name,
          p5 => l_info.app_alias,
          p6 => l_info.app_owner,
          p7 => l_info.build_status,
          p8 => apex_debug.tochar(l_info.has_install_script),
          p9 => l_info.app_id_usage,
          p10 => l_info.app_alias_usage,
          p_prefix => ‘!’ ));
     end;

 

En la siguiente entrega continuaremos con un grupo más de funciones y procedimientos de este paquete.

También te puede gustar…

Share This