Error al migrar detalles de actas fuera de calendario si plan_version es NULL

Hola:

Encontramos que al migrar actas de exámen fuera de calendario cuando se migra el detalle del acta se produce un error si el valor plan_version está seteado en NULL.

Según la documentación cuando el campo plan_version se daja vacío el mismo se llena con el valor del plan_version del alumno según Guarní.

Sin embargo cuando se corre el script de migracion mig_actas_examen_detalle_fc.kjb el script falla porque el campo plan_version de sga_actas_detalle no puede ser nulo. El script de migración trata de migrarlo con un valor nulo.

Cuando corremos el SELECT del script 03_migrar_actas_examen_detalle_fc.sql (línea 153) que recorre ext.mig_actas_examen_detalle_fc encontramos que el campo plan_version lo devuelve vacío.

Vemos también que se hace un COALESCE entre el campo plan_version de la tabla mig_actas_examen_detalle_fc y el de la tabla sga_alumnos y se devuleve el resultado del COALESCE como plan_version (línea 155), sin embargo en la línea anterior se seleccionan todos los campos de la tabla mig_actas_examen_detalle_fc entre las que se encuentra el campo plan_version (línea 153).

SELECT d.*,

Por lo tanto en los registro devueltos del SELECT, el campo plan_version se devuelve dos veces, la primera directo del SELECT de la tabla y luego del COALESCE.

Cuando se hace el INSERT en la tabla sga_actas_detalle (línea 201) se toma el valor del primer campo plan_version devuelto que siempre es NULL
(Si se ha optado por la selección automática de plan_version en el archivo .csv)

 FOR cursor2 IN 
       SELECT d.*, 
	          alu.alumno, 
	          COALESCE(d.plan_version, alu.plan_version) as plan_version 
         FROM ext.mig_actas_examen_detalle_fc as d,
              mdp_personas_documentos as pd, 
              mdp_personas as p,  
              sga_alumnos as alu
        WHERE d.nro_acta = cursor1.nro_acta
          
          AND pd.tipo_documento = d.tipo_documento 
          AND pd.nro_documento  = d.nro_documento 
          
          AND p.documento_principal = pd.documento 
          
          AND alu.persona   = p.persona 
          AND alu.propuesta = d.propuesta 
          
       ORDER BY COALESCE(d.folio_fisico,-1),
                COALESCE(d.folio,-1),
                COALESCE(d.renglon,-1),
                p.apellido, 
                p.nombres 
	            
	LOOP

Les pedimos que lo puedan verificar para una próxima versión.

Muchas gracias!

Gracias Federico por encontrar el error y avisarnos!!!

Podria hacerse lo siguiente:
En:
SELECT d.*,
alu.alumno,
COALESCE(d.plan_version, alu.plan_version) as plan_version_alumno
FROM ext.mig_actas_examen_detalle_fc as d,

Cambiar el alias del campo plan_version por plan_version_alumno
COALESCE(d.plan_version, alu.plan_version) as plan_version_alumno

Y en el insert usar este campo:
INSERT INTO sga_actas_detalle (id_acta, alumno, instancia, plan_version, fecha, folio, renglon, escala_nota, nota,resultado, observaciones)
VALUES (_id_acta, cursor2.alumno, cursor2.tipo_inscripcion, cursor2.plan_version_alumno, COALESCE(cursor2.fecha, cursor1.fecha),
_folio, _renglon, cursor1.escala_nota, cursor2.nota, cursor2.resultado, cursor2.observaciones);

Incluiremos este cambio en los scripts de migracion.
Gracias!