Problema muy extraño al cerrar un acta

Gente:

Al cerrar un acta de examen está dando un problema raro, por problema de datos, avisando con un mensaje que

“uno de los campos contiene un valor que no figura en la tabla original. Referencia: “dba.fk_ve_cur_det_ac”.”

El tema es que mirando por SQL las tablas de cabecera del acta y detalle del acta, no se visualiza ningún dato que pudiera tener problemas, todas las columnas tienen los datos que se esperarían tener en ellas. Pero obviamente algo hay.

A alguno se le ocurre que puede ser y/o como puedo buscar el dato que tiene problemas, para corregirlo? A mi se me quemaron los papeles y seguro que es una pavada mayúscula …

Adjunto documento con la pantalla del error …

Gracias desde ya.

Saludos


Error cierre de acta.doc (122 KB)

Es un jeroglífico, pero viendo ese nombre de fk me suena que se refiere a “vencimiento de cursada”.
Será que el error se da por un alumno que desaprobó el examen y por tal motivo llega a la cantidad máxima de exámenes reprobados permitidos antes de que se le haga vencer la cursada?
Con lo cual me parece que lo que se esta haciendo es intentar hacer vencer la cursada, registrando esto en la tabla de movimientos de cambios de fechas de vencimientos de cursada (sga_venc_cursada) el registro original del acta de cursadas que se le esta cambiando la fecha de vencimiento de la cursada a la fecha del examen, pero por algun motivo ese acta de cursada no existe o existe porque intenta cambiar la fecha de vencimiento pero por algún motivo esa fk falla. (sga_venc_cursada tiene fk con sga_det_acta_curs)
Busca ese alumno, fijate el acta de curadaas donde tenga la cursada vigente de esa actividad e indagar por ahi…
Esta de más decirte si querés hacer un debug al sp_cerrar_acta así ves los datos del alumno que está fallando.

Uy! Que despelote!! Gracias!!

Bueno, veo lo que puedo hacer … Primero identificar el alumno … Yo había pensado lo del TRACE pero no sabía en que SP lo tenía que poner. Te cuento como voy yendo …

Saludos

Gustavo

Ale:

Hice lo del trace, encontré el alumno y el aparente error, es como vos decís, un problema a la hora de insertar en la tabla sga_venc_cursada.

El problema es que yo no veo o no entiendo cual es la causa, más allá que el alumno es un caso típico de eternos recursantes.

Lo que yo veo es que el alumno cursó la materia con una carrera (C01-1) y además tiene la cursada equivalente en otras 2 carreras, ya que se inscribió en otras carreras (C01-2 y C05). El alumno está rindiendo el final con la carrera C05, que es en la última en que se inscribió, teniendo la cursada equivalente, y obviamente el final lo está desaprobando por 3ra. vez.

Te adjunto una serie de documentos, a ver si vos que conocés bien todos los SP y claves foráneas de las tablas, entendés el error. Te adjunto el TRACE, un PDF con las cursadas vigentes, y 2 EXCEL, con las vistas de cursadas e historia académica de ese alumno en esa materia. Yo el problema que veo es que en el acta 7148, acta de la cursada de la materia, el alumno aprobó la cursada con la carrera C01-1 y como en el acta de examen la está rindiendo inscripto por la carrera C05, no encuentra la clave unidad_academica, carrera, legajo, acta_regular

Si esto es así, sería un bug del SP?

Saludos y gracias!!

Gustavo


Problema cierre acta.zip (104 KB)

La regularidad de la materia que encuentra es una cursada y es la que intenta hacer vencer:
Fijate si existe el registro en el acta de cursadas:


-- Seguramente aca no encontrara este alumno en ese acta, porque en ese acta debe estar el alumno pero registrado por otra carrera 
SELECT * FROM sga_det_acta_curs  WHERE unidad_academica = 'EST' AND carrera = 'C05'  AND legajo = '0068/11'  and acta = '7148';

¿En que version del sistema estas?
Porque en la version 2.8 hubo un cambio en el procedure sp_finvigre_acta y tenia que ver con esto de las cursadas en otras carreras (cursadas equivalentes)
El ajuste fue que si no se encuentra la cursada en la carrera por donde el alumno esta rindiendo el examen y la cursada corresponde a una cursada equivalente, entonces busca la cursada original y la hace vencer.
Seguramente estas en version 2.7 o anterior.
Si es asi por favor analiza la posibilidad de pasar de version porque hubo muchisimos cambios desde esa version a la version actual.

Soporte de versiones: http://foro.comunidad.siu.edu.ar/index.php?topic=9681.0

Ale:

Estamos en la versión 2.7 y no podemos cambiar hasta no resolver el tema del Kolla y las encuestas habituales que se hacen, que está demorado por falta de tiempo y otras prioridades (y donde manda capitán no manda marinero …).

No puedo ejecutar ese SELECT ahora, porque no estoy hoy en el IESE, pero sé que ese SELECT no fubionaría porque en el detalle del acta de regularidad la carrera es C01-1 y no C05,

El problema es como vos decís y se solucionaría modificando el SP. Me podrán enviar el SP modificado hasta que podamos pasar a la última versión?

Gracias!!

Bueno, ingresa una solicitud y te adjunto ese procedure.

Listo. Ya está cargado. Solicitud número 19279.

Saludos

Gustavo

Listo, funcionó de 10!!

Gracias!!!