Vamos a aprender a ejecutar paquetes de Oracle desde PL/SQL Developer, si aun así no nos sirve y queremos ver lo que hace por dentro, podemos depurarlo.
Ejecutar
Para ejecutar un paquete hay que compilarlo antes en el PL/SQL para que coja la información de compilación. Desde la pestaña de la izquierda de objetos
Nos colocamos sobre el objeto a depurar y con el botón derecho del ratón pulsamos Edit Spec & body
Esto nos abre una pantalla con el paquete de Oracle, es necesario compilarla ejecutando el triángulo verde para que pueda reconocerla luego el depurador.
Hecho esto abrimos una ventana de test
Y le ponemos la llamada al paquete
BEGIN
PAQUETE.FUNCION
END
Si es una función hay que declarar una variable que tome lo que devuelve
declare
resultado varchar2(20);
begin
resultado:= rd_funciones_clientes.F_DAME_FILTRO_FECHAS_OTIF('6-6-2023','9-6-2023','BRR',1);
end;
Es importante que elijamos Package bodies (si cogemos Package) solo muestra las definiciones y no entra en el código. Ejecutamos pulsando el botón verde triangular
Para poner los puntos de ruptura hay que posicionarse en los números de línea y pulsar el botón derecho del ratón.
Para depurar paso a paso
Cerramos la test window que abrimos en el paso anterior y nos colocamos sobre la función del paquete a depurar que se abrió al pulsar sobre Edit Spec & body.
Con el botón derecho del ratón sobre los números de la izquierda
podemos colocar puntos de ruptura para que se pare la ejecución en esos puntos.
Comenzamos la ejecución pulsando sobre el triángulo verde. La línea actual se muestra en azul.
Vamos paso a paso pulsando sobre las flechas de la toolbar
Si no pasa por la función definida posiblemente se nos ha olvidado compilarla (ver más arriba)
Podemos ver el valor que van tomando las variables escribiendo su nombre en la ventana inferior
Para acceder a ella ejecutando paso a paso desde la carga del interfaz podemos poner un punto de ruptura en la función a depurar.
Ojo, si no para es porque no entra en la función y hay que revisar la condiciones de llamada a la función
Si no cumple estas condiciones, nunca llama a la función definida y no podremos depurarla.