Bueno, entonces la consulta va por los datos que tenes en la tabla ext.mig_acta_cursada_promocion
Podes enviar los datos de la siguiente consulta:
SELECT mig.origen, mig.nro_acta,
COALESCE(mig.nro_acta,'-1') as nro_acta_new,
to_char(mig.fecha, 'YYYY-MM-DD'), mig.folio_fisico, mig.folio, mig.renglon,
CASE WHEN mig.origen = 'R' THEN 1 WHEN mig.origen = 'P' THEN 2 END as instancia,
com.comision as comision,
alu.alumno as alumno,
COALESCE(mig.plan_version, alu.plan_version) as plan_version
FROM ext.mig_acta_cursada_promocion as mig,
vw_comisiones as com,
mdp_personas_documentos as doc,
mdp_personas as per,
sga_alumnos as alu
WHERE 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 doc.tipo_documento = mig.tipo_documento
AND doc.nro_documento = mig.nro_documento
AND per.documento_principal = doc.documento
AND alu.persona = per.persona
AND alu.propuesta = mig.propuesta
ORDER BY mig.origen,
COALESCE(mig.nro_acta,'-1'),
mig.fecha,
COALESCE(mig.folio_fisico,-1),
COALESCE(mig.folio,-1),
COALESCE(mig.renglon,-1),
per.apellido,
per.nombres
Fijate si esta consulta recupera alguna fila, de ser asi tenes registrado mas de una vez el mismo nro de libro/folio fisico para dos actas diferentes.
SELECT nro_libro, folio_fisico, COUNT(DISTINCT origen || '-' || nro_acta)
FROM ext.mig_acta_cursada_promocion
GROUP BY 1, 2
HAVING COUNT (DISTINCT origen || '-' || nro_acta) > 1;