Error script mig_actas

Hola:
Estoy en el script de migración de actas, y en el sql 06_actas_folios me tira el error de que el libro_tomo, folio_fisico ya existe. Por lo que entiendo ahora las actas de examen y promo estan juntas y aca parece ser el error, ya que tenemos separadas estas actas entonces, en este caso, ya tengo el libro 6 con el folio fisico 1, de examenes y de promos. Este puede ser el problema? o estoy entendiendo mal? les paso los sql que ejecuta y cual parece ser el error:

Valores de examenes:
id_acta, folio, folio fisico, tomo
40;1;1;6

promos
id_acta, folio, folio fisico, tomo
3966;1;1;6

Saludos

Rodrigo, tienen que arreglar el dato de folio fisico en las actas de promocion o de examenes. Si son del mismo libro, no pueden tener el mismo folio fisico en dos actas diferentes.
Saludos, Noemi

Noemi:
Son dos libros diferentes, uno es de promosión y el otro de exámenes. Esto lo arregle antes de empezar la migración cuando corri los pre controles, estan arreglados. Porque meten todo en un mismo libro si son dos distintos? si tienen el mismo numero.
Necesito arreglarla medio ahora ya que tengo el G2 parado hace mas de 3 semanas y estamos anotando a los alumnos a mano, me ayudas?
Saludos

En Guarani 2, los libros usados en actas de examen y en actas de promoción estan registrados en la misma tabla (sga_libros_de_acta).
¿Puede ser que tengan registrado el mismo libro y folio físico en: un acta de promoción y un acta de examen, o en dos actas de promoción o en dos actas de examen?

Corre esta consulta y veremos si hay actas de promocion y examen que tengan el mismo libro y folio fisico:

-- Folios de acta de promocion
SELECT a.libro, f.folio_fisico
  FROM mig.sga_folios_promo as f,
       mig.sga_actas_promo as a
WHERE f.unidad_academica = a.unidad_academica
  AND a.acta = f.acta
  AND a.libro is not null
INTERSECT
-- Folios de actas de examen
SELECT a.libro, f.folio_fisico
  FROM mig.sga_folios as f,
       mig.sga_actas_examen as a
WHERE f.unidad_academica = a.unidad_academica
  AND a.tipo_acta = f.tipo_acta
  AND a.acta = f.acta
  AND a.libro is not null

Hola Jorge,
¿Porque tienen parado G2 pro un tema de migracion?
Saludos!
Hernán

Alejandro:
Esa consulta me tira varios registros. O sea tengo en el mismo libro actas de promosión y examen? Ahora es el problema, esto esta mal cargado desde el vamos, donde tengo que tocar? en _cvn_pk_actas?

Hernan:
Si, estamos migrando y hasta que no se termine no vamos a cargar en G2 ya que hay que hacer la carga paralela en G2 y G3. El sistema valido ahora es G2, la idea es implementar G3 en marzo o Abril, todo depende de lo que encontremos y las personalizaciones que haya que hacer.

Saludos

Si, si te trae registros es porque cargaron el mismo libro de actas a actas de promocion y actas de examen y le asignaron a los folios los mismos folios fisicos.
En esas filas que te trae, el campo folio físico tiene valor o tiene NULL?

Alejandro:
Viene con un valor.
Investigando un poco mas creo que descubrí el error, esta mal cargado el libro. Alguien cargo un acta de promosion en el libro de exámenes, y viceversa. El asunto es en que tabla lo arreglo?
Saludos

Es que la tabla de libros de actas, tanto para examenes como para promociones se registra en la misma tabla (sga_libros_de_actas)
Si las actas de promocion van en un libro y las actas de examen en otro libro entonces no deberias tener el mismo libro de actas en actas de promociones y examenes.

Tenes que ver que actas tienen mal registrado el libro que no corresponde y arreglarlo.
En Actas de Promocion (sga_actas_promo) como en actas de examen (sga_actas_examen) el campo donde se registra el libro es el campo libro
Con esta consulta veras cuales son los libros que estan en actas de examen:


select distinct a.libro  from mig.sga_actas_examen order by 1;
select distinct a.libro  from mig.sga_actas_promo order by 1;

Cuando detectes que libro esta mal tanto en actas de examen como en actas de promocion, deberias cambiar el libro por el que corresponde.

Para actas de examen:


SET TRIGGERS FOR sga_actas_examen DISABLED;
UPDATE sga_actas_examen SET libro = <nuevo_libro> 
   WHERE unidad_academica =  ...
        AND tipo_acta =  ....
        AND acta =  .....;
SET TRIGGERS FOR sga_actas_examen ENABLED;

Para actas de promocion:


SET TRIGGERS FOR sga_actas_promo DISABLED;
UPDATE sga_actas_promo SET libro = <nuevo_libro> 
   WHERE unidad_academica =  ...
        AND acta =  .....;
SET TRIGGERS FOR sga_actas_promo ENABLED;