Hola:
Estamos migrando comisiones por sistemas externos hacia nuestra instalación de Guaraní 3.15.1
En el mismo módulo (Calendario Académico) también migramos algunos periodos lectivos. Las comisiones que estamos migrando referencian periodos lectivos que ya están en Guaraní o que se migran junto con las comisiones.
Encontramos un error al ejecutar la migración de las comisiones en el paso 03_migrar_comisiones.
Basicamente el script no migra comisiones con periodos lectivos existentes en Guaraní 3.
Vemos que en la consulta que se hace se cruzan los datos de las comisiones con los periodos lectivos que se estan migrando (tabla ext.mig_periodos_lectivos). Pero no se cruzan con los periodos lectivos que ya existen en Guaraní 3. Por lo tanto estas comisiones no se migran y el script sql da error en los subsiguientes pasos.
Para solucionarlo en la consulta que agrega las comisiones pusimos una UNION con una consulta que cruza las comisiones con los periodos lectivos de guaraní (sga_peridoros_lectivos y sga_periodos)
Consulta que da error:
SET search_path = 'negocio';
-- comisiones
INSERT INTO sga_comisiones(comision, nombre, periodo_lectivo, elemento, turno, cupo, ubicacion, observaciones)
SELECT com.comision, com.nombre, per.periodo_lectivo, elem.elemento, com.turno, com.cupo, com.ubicacion, com.observaciones
FROM ext.mig_comisiones as com,
ext.mig_periodos_lectivos as per,
sga_elementos as elem
WHERE com.anio_academico = per.anio_academico
AND com.periodo_lectivo_nombre = per.nombre
AND com.actividad_codigo = elem.codigo;
Consulta modificada:
SET search_path = 'negocio';
-- comisiones
INSERT INTO sga_comisiones(comision, nombre, periodo_lectivo, elemento, turno, cupo, ubicacion, observaciones)
SELECT com.comision, com.nombre, per.periodo_lectivo, elem.elemento, com.turno, com.cupo, com.ubicacion, com.observaciones
FROM ext.mig_comisiones as com,
ext.mig_periodos_lectivos as per,
negocio.sga_elementos as elem
WHERE com.anio_academico = per.anio_academico
AND com.periodo_lectivo_nombre = per.nombre
AND com.actividad_codigo = elem.codigo
UNION
SELECT com.comision, com.nombre, per.periodo_lectivo, elem.elemento, com.turno, com.cupo, com.ubicacion, com.observaciones
FROM ext.mig_comisiones as com,
negocio.sga_periodos_lectivos as per,
negocio.sga_elementos as elem,
negocio.sga_periodos as p
WHERE com.anio_academico = pg.anio_academico
AND com.periodo_lectivo_nombre = p.nombre
AND com.actividad_codigo = elem.codigo
AND per.periodo = p.periodo
ORDER BY comision;
Con esta consulta nos traemos el total de las comisiones en la tabla ext.mig_comisiones. Les pedimos que nos indiquen si esta modificación está bien.
Gracias!
Federico