sábado, 13 de julio de 2024

Ejecutar y depurar un paquete de Oracle con PL/SQL Developer

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

Ejecutar y depurar un paquete de Oracle con PL/SQL Developer


Nos colocamos sobre  el objeto a depurar y con el botón derecho del ratón pulsamos Edit Spec & body

 

PL/SQL Developer 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.

 

ejecutar PL/SQL Developer


Hecho esto abrimos una ventana de test

ventana test PL/SQL Developer

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

 

package bodies

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.

puntos de ruptura PL/SQL Developer


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.

punto de ruptura PL/SQL Developer

Comenzamos la ejecución pulsando sobre el triángulo verde. La línea actual se muestra en azul.

 

ejecutar PL/SQL Developer

Vamos paso a paso pulsando sobre las flechas de la toolbar 

 

barra de depuración PL/SQL Developer

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

 

barra de depuración PL/SQL Developer

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.


No hay comentarios:

Publicar un comentario