ERROR: no existe la columna «fecha_inicio»

Hola, que tal?

Migrando la Matricula desde Sistemas Externos nos sale el siguiente error:
en el paso mig_alumnos de mig_matriculas.

Mirando el SQL: 01_migrar_alumnos.sql
veo la siguiente linea, en la linea 191:

SELECT anio_academico
INTO _anio_perdida_reg
FROM sga_anios_academicos
WHERE cursor1.noreg_fecha BETWEEN fecha_inicio AND fecha_fin;

Donde fijandome la table sga_anios_academicos, efectivamente fecha_inicio y fecha_fin no existen. Por lo que asumo ese es el error.
Como debería modificar esto?

Estamos en la version 3.16.2

Saludos.-

MArtin la tabla a buscar es sga_anios_academicos_fechas

Buenas tardes Martín.
Los scripts de migración que están utilizando son los de la misma versión que contienen la base?
Podes ver la versión de la base en la tabla app_versiones del schema negocio.

Saludos.

Hola Jose, como andas?

Te paso el contenido de la tabla:

“3.14.0”;“2017-12-15 07:52:28.285537-03”
“3.15.0”;“2018-06-14 08:36:13.100447-03”
“3.15.1”;“2018-06-14 08:36:13.100447-03”
“3.16.0”;“2019-05-20 10:55:15.703432-03”
“3.16.1”;“2019-05-20 10:55:15.703432-03”
“3.16.2”;“2019-05-20 10:55:15.703432-03”
“”;“”

Me fijé el script en los scripts de la 3.17.0 y estan igual.

Están utilizando los scripts de la 3.16.2?

Hola José, si, estamos usando los scripts de la 3.16.2.
Como te decía, también bajamos los de la 3.17 y vemos que estan igual.

Buenos días, creí que eran los script de migración de G2 a G3, pero ahora me acabo de dar cuenta que estás migrando desde externos.
Por favor carga un gds haciendo referencia a este foro.

Saludos.

José es migracion desde sistemas externos.
La ruta es : migracion/trunk/3.16.2/Externos/02_Modulos/05_Matriculas/02_Migracion/01_migrar_alumnos.sql

en la linea 193 llama a sga_anios_academicos, pero en la 3.16.2 las fechas del año están en sga_anios_academicos_fechas
eso es lo qeu marca MArtin.

	-- Si es no regular, se debe insertar un registro en perdida de regularidad
	IF cursor1.regular = 'N' THEN
	   -- Verifico el año academico de perdida de regularidad
	   
	   IF cursor1.noreg_anio_academico IS NOT NULL THEN
	     _anio_perdida_reg := cursor1.noreg_anio_academico;
	   ELSE  
	     SELECT anio_academico 
	       INTO _anio_perdida_reg
	       FROM sga_anios_academicos
	      WHERE cursor1.noreg_fecha BETWEEN fecha_inicio AND fecha_fin;
	   END IF;

Hola Luciana, si tal como decís. El script trata de buscar el año académico al cual pertenece si no se tiene agregado en el csv noreg_anio_academico.
Eso cambió en 3.15 cuando las fechas pasaron a otra tabla para tener fechas por responsables académicas.

En ese script, deben cambiar:

 SELECT anio_academico
             INTO _anio_perdida_reg
             FROM sga_anios_academicos
            WHERE cursor1.noreg_fecha BETWEEN fecha_inicio AND fecha_fin;

por:

SELECT af.anio_academico 
		       INTO _anio_perdida_reg
		       FROM sga_anios_academicos as aa
			   JOIN sga_anios_academicos_fechas as af ON af.anio_academico = aa.anio_academico
			   JOIN sga_anios_academicos_ra as ara ON ara.id_fecha = af.id_fecha
		      WHERE cursor1.noreg_fecha BETWEEN af.fecha_inicio AND af.fecha_fin
			   AND ara.responsable_academica IN (SELECT r.responsable_academica   FROM sga_propuestas_ra as r WHERE r.propuesta = cursor1.propuesta )
			  ORDER BY af.fecha_fin DESC 
                          LIMIT 1;


Saludos.

Hola José,

ahí volví a ejecutar el paso me sale el siguiente error, ya me fijo que puede ser…

2019/09/27 10:04:25 - alumnos - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : An error occurred executing this job entry :
2019/09/27 10:04:25 - alumnos - Couldn’t execute SQL: SELECT * FROM ext.mig_alumnos()
2019/09/27 10:04:25 - alumnos -
2019/09/27 10:04:25 - alumnos - ERROR: el valor null para la columna «anio_academico» viola la restricción not null
Detail: La fila que falla contiene (14726, 118709, null, null, null, 1, null, null).
Where: sentencia SQL: «INSERT INTO sga_perdida_regularidad (alumno, anio_academico, fecha, nro_perdida_regularidad)
2019/09/27 10:04:25 - alumnos - VALUES (cursor1.alumno, _anio_perdida_reg, cursor1.noreg_fecha, 1)»
función PL/pgSQL ext.mig_alumnos() en la línea 185 en sentencia SQL

Martin, suponia que les iba a pasar eso.
Verifica que la tabla de años academicos tenga todos los años academicos cargados con sus respectivas fechas de inicio y finalizacion y que tenga asignada la/s responsable/s academicas
Tablas:
sga_anios_academicos
sga_anios_academicos_fechas
sga_anios_academicos_ra

Estas tablas se debieron completar cuando migraron el Calendario Academico. Los años academicos se cargan en la tabla de migracion ext.mig_anios_academicos
Ademas verifiquen que las propuestas de los alumnos que estan migrando tengan definida al menos una responsable academica (tabla sga_propuestas_ra) y que esa responsable academica este asociada a esos años academicos (sga_anios_academicos_ra)

Listo. Solucionado.

Gracias!