Hola que tal?
Les consulto lo siguiente.
Estamos migrando desde un sistema externo, ya migramos el Módulo Actas,
cuando llegamos a los PosControles nos salta diferencia en los siguientes datos:
sga_actas_detalle Error: Cantidad de alumnos en actas de promocion no coninciden… 459.00 5,071.00
Efectivamente, 459 es la cifra correcta a migrar, pero 5071 que nos sale que migró.
Haciendo un control de lo que migró pareciera solo migró los 459, acá les remito la consulta que ejecutamos:
select * from negocio.sga_actas_detalle ad, negocio.sga_actas a where a.id_acta = ad.id_acta and a.origen = ‘P’ and a.nro_acta like ‘2016-ESET%’
(Todas las actas empiezan con esa numeración 2016-ESET, esa consulta nos devuelve los 459).
Sin embargo, nos fijamos en la consulta del script de PosControl que es la que arroja los 5071, que es la siguiente. y analizando lo que devuelve esa consulta, pidiendo nos muestre los resultados ordenados por acta y nro_documento, vemos que nos devuelve lo siguiente, les copio 2 renglones para ver donde está el problema,
ahí se vé que repite a la persona con nro documento 43113106, los renglones son iguales, pero varia en la columna alumno, un renglón pone 118412
y el otro con 118737. En donde 118412 es el correcto, y 118737 corresponde a otro alumno.
Los próximos 2 renglones sucede lo mismo, pero con el otro alumno, pone el nro de documento 44210548 que es del alumno 118737, pero luego pone ese mismo documento en otro renglón pero con alumno 118412 que es el otro alumno.
Parecería que al recorrer las tablas faltaría de alguna forma chequear que la persona/alumno sean los mismos en las tablas que recorre. Puede ser?
Va el ejemplo de los primeros 2 renglones y luego el SQL: (SON SCRIPTS DE LA VERSIÓN 3.16.2, ME FIJÉ LA DEL 3.17.0 Y PARECEN ESTAR IGUAL)
El resto de los renglones pasa lo mismo, si hay 5 alumnos en el acta, me devuelve 25 (5x5), si son 2, 4, si son 3 9 y asi todo el resto de los casos)
“P”;“2016-ESET-EP-00000001”;“2016-12-01”;20;“2016-ESET-EP”;1;“2016-1-A-203-E1001”;2016;“Anual”;“203-
1001”;0;“43113106”;178;285;;;;0.00;;“”;4;“6”;“A”;“”;44139;“2016-1-A-203-E1001”;709604;;;41;7196;“Lengua y Literatura”;“203-E1001”;6892;“Anual”;11;;;0;“S”;2016;“2016-02-29”;“2016-12-30”;1457;“Anual”;“2016-02-29”;“2016-12-30”;“2016-02-28”;“2016-12-30”;“2016-12-30”;709596;1;“Anual”;“Anual”;1;“A”;“N”;“S”;“”;255750;“2016-ESET-EP-00000001”;“P”;“N”;438651;44139;;“2016-12-01”;“2016-12-01”;“”;“”;;1;1;1;20;;“”;“C”;“N”;255750;118412;2;285;“2016-12-01”;“”;1;2;0.00;4;“6”;“A”;;“N”;“”;“A”
“P”;“2016-ESET-EP-00000001”;“2016-12-01”;20;“2016-ESET-EP”;1;“2016-1-A-203-E1001”;2016;“Anual”;“203-E1001”;0;“43113106”;178;285;;;;0.00;;“”;4;“6”;“A”;“”;44139;“2016-1-A-203-E1001”;709604;;;41;7196;“Lengua y Literatura”;“203-E1001”;6892;“Anual”;11;;;0;“S”;2016;“2016-02-29”;“2016-12-30”;1457;“Anual”;“2016-02-29”;“2016-12-30”;“2016-02-28”;“2016-12-30”;“2016-12-30”;709596;1;“Anual”;“Anual”;1;“A”;“N”;“S”;“”;255750;“2016-ESET-EP-00000001”;“P”;“N”;438651;44139;;“2016-12-01”;“2016-12-01”;“”;“”;;1;1;1;20;;“”;“C”;“N”;255750;118737;2;285;“2016-12-01”;“”;1;1;0.00;4;“8”;“A”;;“N”;“”;“A”
SQL:
SELECT count(*) INTO cnt_actas_det_g3
FROM ext.mig_acta_cursada_promocion as mig,
vw_comisiones as com,
sga_actas,
sga_actas_detalle
WHERE mig.origen = ‘P’
AND mig.comision_nombre = com.comision_nombre
AND mig.anio_academico = com.anio_academico
AND mig.periodo_lectivo_nombre = com.periodo_lectivo_nombre
AND mig.actividad_codigo = com.elemento_codigo
AND sga_actas.comision = com.comision
AND sga_actas.origen = ‘P’
AND sga_actas.tipo_acta = ‘N’
AND sga_actas.estado = ‘C’
AND sga_actas_detalle.id_acta = sga_actas.id_acta;
Saludos y muchas gracias.