podes mostrar que trae la siguiente consulta?
SELECT
cpl.periodo,
cppi.periodo_inscripcion,
cppi.nombre,
NULL,
1
FROM
mig._cnv_pk_periodos_inscripcion as cppi,
mig._cnv_pk_periodos_lectivos as cpl
WHERE
cppi.tabla = 'sga_fec_insc_cur' AND
cpl.anio_academico = cppi.anio_academico AND
cpl.periodo_lectivo_g2 = cppi.periodo_lectivo;
Todo periodo de inscripcion de G2 (de periodos lectivos, de llamados de un turno de examen, de inscripciones a carreras) va a parar a la tabla sga_periodos y sga_periodos_inscripcion de G3.
En el script \02_Modulos\35_Calendario Academico\02_Migracion\01_tablas_conversion.sql se cargo la tabla de converison mig._cnv_pk_periodos_lectivos relacionado con los periodos de inscripcion de los periodos lectivos.
El campo periodo de esa tabla se carga automaticamente ya que tiene un autoincremente:
– Table: mig._cnv_pk_periodos_lectivos
CREATE TABLE mig._cnv_pk_periodos_lectivos
(
periodo_lectivo integer NOT NULL DEFAULT nextval(‘mig._cnv_pk_periodos_lectivos_seq’::regclass),
anio_academico integer,
periodo_lectivo_g2 Varchar(20) NOT NULL,
periodo integer NOT NULL DEFAULT nextval(‘mig._sga_periodos_seq’::regclass)
)
Este es el codigo donde se insertan los periodos de inscripcion relacionados con los periodos lectivos (ahi debio cargarse automaticamente el dato del campo periodo)
– *************************************************************************************
– mig._cnv_pk_periodos_lectivos
– *************************************************************************************
SELECT setval(‘mig._cnv_pk_periodos_lectivos_seq’,(SELECT MAX(periodo_lectivo) FROM sga_periodos_lectivos));
INSERT INTO mig._cnv_pk_periodos_lectivos (anio_academico, periodo_lectivo_g2)
SELECT anio_academico, periodo_lectivo
FROM mig.sga_periodos_lect
ORDER BY anio_academico,periodo_lectivo;
Luego en el arcchivo G2\02_Modulos\35_Calendario Academico\02_Migracion\03_sga_periodos.sql se insertan los datos en “sga_periodos”
-- Periodos Lectivos
INSERT INTO sga_periodos (periodo, nombre, anio_academico, periodo_generico, fecha_inicio, fecha_fin)
SELECT
cppl.periodo,
spl.periodo_lectivo,
spl.anio_academico,
mpg.periodo_generico,
spl.fecha_inicio,
spl.fecha_fin
FROM
mig.sga_periodos_lect as spl,
mig._cnv_pk_periodos_lectivos as cppl,
mig._cnv_pk_periodos_genericos as mpg
WHERE
spl.periodo_lectivo = cppl.periodo_lectivo_g2
AND spl.anio_academico = cppl.anio_academico
AND mpg.periodo_lectivo = spl.periodo_lectivo ;
Fijate de correr esta ultima consulta, ¿recupera algun dato?
Puede ser que el problema este aqui, que no se crearon los periodos asociados a los periodos lectivos:
SELECT *
FROM
mig.sga_periodos_lect as spl,
mig._cnv_pk_periodos_lectivos as cppl,
mig._cnv_pk_periodos_genericos as mpg
WHERE
spl.periodo_lectivo = cppl.periodo_lectivo_g2
AND spl.anio_academico = cppl.anio_academico
AND mpg.periodo_lectivo = spl.periodo_lectivo ;