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.