Buenos dias, tenemos una nueva optativa (con correlativas) que agregar a una genérica y cuando vamos a confirmar cambios nos tira el mensaje de error relacionado con la “fk_corfor_at_mat”
Probamos de insertar la optativa sin correlativas y la graba correctamente.
¿Alguna idea que puede estar pasando?
Hola Pablo, fijate si pueden hacer un debug al procedure sp_cambiomgenerica
Deben editar el procedure y agregar lo siguiente:
Al comienzo luego del “end exception;” agregar:
SET DEBUG FILE TE "path\debug_generica.txt";
TRACE ON;
y al final antes del “end procedure”:
TRACE OFF;
Una vez agregado esto vuelvan a recrear el procedure e intentar confirmar los cambios del agregado de la/s optativa/s con las correlativas cargadas. Si falla adjunta el archivo “debug_generica.txt” a este mensaje y vemos cual es el problema.
Por la fk que falla quiere decir que la optativa no llega a insertarse en la tabla sga_atrib_mat_plan, es decir en los planes de estudios en donde se encuentra la genérica.
Existe la materia 3T7 en?:
carrera = 11
plan = 2003
version = 1
Podes comprobarlo ejecutando lo siguiente:
SELECT * FROM sga_atrib_mat_plan WHERE unidad_academica = 'INGE' and carrera = '11' AND plan = '2003' AND version = '1' AND materia = '3T7';
Porque intenta incluir la materia 3T7 en esa version del plan. Es esta materia la nueva optativa que agregan a la generica?
Es correcto que esa optativa se agregue en esa carrera/plan/version? Existe alli la materia generica?
Que devuelve cada una de estas consultas?
SELECT sga_planes.carrera, sga_planes.plan,sga_versiones_plan.version, sga_planes.version_actual
FROM sga_planes, sga_versiones_plan, sga_atrib_mat_plan
WHERE sga_planes.unidad_academica = 'INGE'
AND sga_versiones_plan.unidad_academica = sga_planes.unidad_academica
AND sga_versiones_plan.carrera = sga_planes.carrera
AND sga_versiones_plan.plan = sga_planes.plan
AND sga_planes.estado IN ('V','A','N')
AND (sga_versiones_plan.version = sga_planes.version_actual OR sga_versiones_plan.fecha_ent_vigencia IS NULL)
AND sga_versiones_plan.unidad_academica = sga_versiones_plan.unidad_academica
AND sga_versiones_plan.carrera = sga_atrib_mat_plan.carrera
AND sga_versiones_plan.plan = sga_atrib_mat_plan.plan
AND sga_versiones_plan.version = sga_atrib_mat_plan.version
AND sga_atrib_mat_plan.materia = 'CODIGO MATERIA GENERICA';
SELECT DISTINCT carrera, plan, version
FROM sga_modmatgen_atmp
WHERE unidad_academica = 'INGE'
AND materia_generica = 'CODIGO MATERIA GENERICA';
Pablo, desde que hicieron esta modificacion en la generica hasta que intentaron confirmar esta modificación para que impacte en los planes donde se encuentra la generica, se activó alguna versión del plan de estudios?
Hace la prueba de sacar esa optativa de esa genérica y volverla a agregar, asignarle las correlativas y luego confirmar esa modificacion.
No se activo ninguna versión del plan de estudio para esta carrera previamente.
La version 0 es la activa vigente y la 1 esta sin activar, todos los cambios en la generica se hicieron posterior a la nueva version .
Ya hicimos la prueba de sacar la generica y volverla a agregar y da el mismo error.
Por los datos que enviaste, la generica existe en estos planes de estudios:
Carrera = 11 Plan = 2003 Version = 1
Carrera = 11 Plan = 2003 Version = 0
Carrera = 11 Plan = 03V0 Version = 1
Carrera = 11 Plan = 03V1 Version = 0
Las correlativas que le asignaste a la optativa 3T7, existen en estas versiones de planes de estudios?
¿Que datos devuelven las siguientes consultas? (Falta el còdigo de la materia genérica)
SELECT sga_mod_mat_gen.materia_optativa
FROM sga_mod_mat_gen
WHERE sga_mod_mat_gen.unidad_academica = 'INGE'
AND sga_mod_mat_gen.materia_generica = ;
SELECT unidad_academica, carrera, plan, version, materia, condicion, formula
FROM sga_modmg_corrform
WHERE unidad_academica = 'INGE'
AND materia_generica =
AND materia = '3T7';
Las correlativas de la optativa 3T7 existen en estas versiones de los planes de estudios. Para hacer otra prueba borramos a la optativa de la genérica y sigue tirando el mismo error.
Te paso la salida de la primer consulta, la segunda sale vacía (acordate que la borre a la 3T7 para hacer la prueba)
Justamente es la primera la 2da consulta la que me interesa.
Volve a agregar la optativa 3T7 a esa generica, asignarle las correlativas que corresponden y volver a correr esa consulta y enviarme el resultado.
Pablo, ingresa una solicitud por el GDS, vere de enviarte el procedure con una modificación y ver si eso resuelve el problema.
Una consulta mas, puede ser que la materia 3T7 ya existe en alguna de esas versiones de planes de la carrera 11?
Hola Alejandro, estuvimos revisando la base de datos y encontramos que la materia 3T7 ya estaba asignada a una carrera como obligatoria y el error ocurria porque se intento agregar a otro plan como materia optativa dentro de la genérica G11 que estaba en ambos planes.
Bueno, casualmente el ajuste que queria enviarles tenia en cuenta esa situaciòn por eso les habia solicitado que ingresen una solicitud asi les enviaba el ajuste.
El proceso actual cuando detecta que la optativa ya existe en algunas de las versiones del plan donde se lo esta agregando, entonces falla y no lo insertaba en las otras versiones del plan de estudios con lo cual cuando intentaba insertar las correlativas en esas otras versiones de plan d eestudios es cuando fallaba el proceso.