Migracion g2-g3 - Cursadas_Promociones_Examenes Error

Hola,

Nos esta dando el siguiente error en el Job del modulo cursadas_promociones_examenes, puede ser que esto este relacionado con las correcciones que nos pasaron sobre la función fx_mig_planes del modulo 06_Planes?

Job: mig_Cursadas_Promociones_Examenes.kjb
Modulo: 10_Cursadas_Promociones_Examenes\02_Migracion
SQL:09_sga_insc_examen_log.sql

Error:

Resultado de la consulta con 1 filas descartadas.

ERROR: control reached end of function without RETURN
CONTEXT: PL/pgSQL function “get_plan_version”

********** Error **********

ERROR: control reached end of function without RETURN
Estado SQL:2F005
Contexto:PL/pgSQL function “get_plan_version”

Desde ya muchas gracias

Saludos.

Hola,
No, el error no está relacionado con los cambios realizados en el modulo de planes, lo que está pasando es que se creó una función que devuelve el plan_version para ese alumno y está devolviendo null, podrías fijarte con esta consulta y decirme si para algún caso, tenes borrado la versión 1


select * from mig.sga_versiones_plan sp
where not exists (select '' from mig.sga_versiones_plan svp where sp.unidad_academica = svp.unidad_academica and sp.carrera = svp.carrera  and sp.plan = svp.plan and version='1')

Saludos!
Marcelo

Hola Marcelo,

No esta devolviendo nada ese select.

Saludos.

Hola, podrías enviarme la base de G3, con los dos esquemas, el public y el mig, así me fijo que puede estar pasando.

PD: envíalo a mi correo (mrnavarro@siu.edu.ar), sino es muy grande, sino te paso un servidor de FTP para que lo subas.

Gracias!
Marcelo

Enviado por mail.

Saludos.

Hola Artem,
Después de mirar tu base, veo lo siguiente lo cual es muy raro:

SELECT unidad_academica,carrera,legajo,fecha_inscripcion FROM mig.sga_insc_exa_bajas WHERE legajo=‘CYT-1022’ AND carrera=‘TDI’
en particular este registro:

“CYT”;“TDI”;“CYT-1022”;“2002-12-06 16:01:33+00”

luego para ver en que fecha se inscribio y deacuerdo a eso sacar en que plan lo hizo

SELECT fecha_desde, fecha_hasta, plan
FROM mig.sga_cambios_plan
WHERE unidad_academica=‘CYT’ AND
carrera=‘TDI’ AND
legajo=‘CYT-1022’
ORDER BY plan

“2002-12-06 23:28:14+00”;“2002-12-06 23:30:06+00”;“1998”
“2002-12-06 23:30:06+00”;“”;“1999”

fecha_inscripcion: “2002-12-06 16:01:33+00”

si te fijas el alumno a la fecha que se inscribio no entra en ninguna de esas fechas para los cambios de planes que hizo del 1998 al 1999, lo cual es rarisimo…que paso??? fecha es la misma, todo se hizo en el mismo dia, y varia la hora…
por eso no entra y devuelve vacio para ese alumno y por lo tanto no puede calcular el plan_version para ese alumno.

Saludos!
Marcelo

Hola Marcelo, probamos hacer el update de fechas para que entre en el rango, pero después de volver a correr el job de migración no dio el mismo error que antes.

UPDATE mig.sga_insc_exa_bajas set fecha_inscripcion=‘2002-12-06 23:29:06+00’ WHERE legajo=‘CYT-1022’ AND carrera=‘TDI’
La consulta retornó con éxito: 7 filas efectadas, 15 ms de tiempo de ejecución.

Saludos.

Hola Artem,
te paso el script que tiene algunas correcciones, borra y volvé a crearlo pero de todos modos, estuve viendo y el error ya no salta para ese alumno, fíjate en la siguiente consulta:

select * from mig.sga_cambios_plan where carrera=‘TDY’ AND legajo=‘CYT-1586’

devuelve 0 registros y al menos debería tener 1 que es cuando se crea el legajo, por otro lado te paso otro script para que lo debuggees y te fijes para que valores da errores, por supuesto que deberias tener instalado el debugger en el pagadmin III.

con el fx_debug vas a ver con que registro retorna con error y con esos valores luego debuggea a la otra función que devuelve el plan_version y vas a ver porque no entro, para el ejemplo es porque no tiene registro en sga_cambios_plan.

Saludos!
Marcelo


script.rar (2.02 KB)