SOLUCIONADO Problema con el SP sp_insc_exam

Hola a todos, les escribo porque estoy necesitando de su ayuda.
En la universidad están cambiando de versión de Guaraní a la 2.6.2 y estoy a cargo del cambio para el Guaraní3W.
El problema que tengo se me presenta al momento de ejecutar las operaciones del módulo “Exámenes” en Guaraní3W que llaman al stored procedure “sp_inscexam”, ya que dicho SP me cuelga completamente el servidor.

Según los encargados de actualizar la base de datos, ellos solamente ejecutaron los scripts de actualización del SIU sobre la Base de datos anterior y no saben porqué se genera el problema.

Estuve mirando el SP, y el problema se encuentra en el SELECT del FOREACH.
Fui probando el SELECT, agregando de a una tabla por vez y me encontré con que la consulta se cuelga cuando hago la relación entre sga_alumnos y sga_insc_examen.
Ahora, si hago una consulta relacionando esas dos tablas, funciona sin problemas, por lo que deduzco que el conflicto es entre sga_alumnos y alguna otra tabla.

En la UNLa se da el caso de que el número de inscripción es el mismo que el de legajo, por ende podría modificar el SP para que busque directamente al alumno en la tabla sga_insc_examen (lo probé y anda bien) comparando el parámetro pNroInscripcion con el campo legajo. Pero sería una solución provisoria y no resolvería el problema real, que debe ser algún problema en la base de datos. La cuestión es que debería andar bien el SP sin realizarle ninguna modificación.

En la Base de Datos vieja no se presentaba el problema con el SP, andaba perfecto. Ya comprobé que no sea el tema de las sedes, que son campos nuevos para la nueva versión del SP. Además probé ejecutar el SELECT de la versión vieja en la base nueva y también se cuelga.

Si no fui claro, avisenme y trato de explicarme mejor.
Espero que me puedan ayudar.
Saludos,
Sebastián

Sebastian: Podrías depurar el sp para un conjunto de argumentos dados y ver la salida para analizar un poco mas el problema. Para cualquier alumno se presenta o identificaste algún caso particular? Para depurar el sp debes volver a crear el mismo y agregar algunas líneas:


CREATE PROCEDURE sp_insc_exam(..)

BEGIN
SET DEBUG FILE TO 'path_to_file.debug';
TRACE ON;
--cuerpo del procedure
--fin del cuerpo del procedure
TRACE OFF;
END
END PROCEDURE

Saludos

Fijate de hacer un Update Statistics y tambien un checkeo de los indices de esa base (oncheck -ciId base)

Gracias Damián y Alejandro por las respuestas rapidas.
Damián, el problema me ocurria con cualquier parametro que le pasara, aún sabiendo que el SP con esos parametros no devolvería resultados.
No entiendo porqué, no puedo hacer que el SP me cree un archivo de debug.
Probe con este SP y con SPs que andan bien (hasta con ejemplos de la página de IBM), y sigo sin poder generar un archivo de debug…

Alejandro, me imaginaba que venía por ese lado el problema, pero no tenía conocimiento acerca del update statistics.
Lo acabo de ejecutar y el SP esta andando sin ningun tipo de problemas.
Muchas gracias por la ayuda de ambos.

Saludos