UNPA_CAMBIO DEL LEGAJO DOCENTE

Buenos días
Tenemos el siguiente inconveniente, necesitamos cambiar el legajo de un docente que cambio de DNI, estuvimos indagando en el foro si había algún problema similar y solo encontramos este hilo: https://foro.comunidad.siu.edu.ar/index.php?topic=20179.msg90072
El docente ingreso a la institución el año pasado y tienen algunas actas relacionadas.
El script que intentamos correr es el siguiente:

SET triggers FOR aca_usuarios_ag disabled;
SET triggers FOR sga_docentes_com disabled;
SET triggers FOR log_docentes_com disabled;
SET triggers FOR sga_docentes_llama  disabled;
SET triggers FOR log_docentes_llama  disabled;
SET triggers FOR sga_docentes disabled;

UPDATE log_docentes_com
SET legajo='legajo_nuevo'
WHERE legajo='legajo_anterior';


ALTER TABLE dba.sga_docentes_llama    DROP CONSTRAINT ( fk_doc_lla_docente ) ;
ALTER TABLE dba.sga_docentes DROP CONSTRAINT ( fk_docente_persona ) ;
ALTER TABLE dba.aca_usuarios_ag DROP CONSTRAINT ( pk_usuarios_ag ) ;


UPDATE sga_docentes_llama 
SET legajo='legajo_nuevo'
WHERE legajo='legajo_anterior';

UPDATE log_docentes_llama 
SET legajo='legajo_nuevo'
WHERE legajo='legajo_anterior';

UPDATE aca_usuarios_ag 
SET identificacion='legajo_nuevo'
where identificacion='legajo_anterior';

UPDATE sga_docentes 
SET legajo='legajo_nuevo'
WHERE legajo='legajo_anterior';

ALTER TABLE dba.sga_docentes_llama
    ADD CONSTRAINT ( FOREIGN KEY(legajo)
	REFERENCES dba.sga_docentes(legajo) CONSTRAINT fk_doc_lla_docente );

ALTER TABLE dba.sga_docentes
    ADD CONSTRAINT ( FOREIGN KEY(unidad_academica, nro_inscripcion)
	REFERENCES dba.sga_personas(unidad_academica, nro_inscripcion) CONSTRAINT fk_docente_persona );

ALTER TABLE dba.aca_usuarios_ag
    ADD CONSTRAINT ( PRIMARY KEY (identificacion, unidad_academica) CONSTRAINT pk_usuarios_ag );

SET triggers FOR aca_usuarios_ag enabled;
SET triggers FOR sga_docentes_com enabled;
SET triggers FOR log_docentes_com enabled;
SET triggers FOR sga_docentes_llama  enabled;
SET triggers FOR log_docentes_llama  enabled;
SET triggers FOR sga_docentes enabled;

Pero me da error al actualizar la tabla sga_docentes y no puedo encontrar donde más esta relacionado con el legajo del docente.
Aclaración: El legajo que usa el docente es el que se crea en el sistema SIU-Mapuche y estamos en guarani 2.6.5. :frowning:

Gracias por su ayuda

Hola Adriana,

En G3 se puede editar en la operación » Docentes » Actualizaciones » Administrar Docentes.

Pero me da error al actualizar la tabla sga_docentes y no puedo encontrar donde más esta relacionado con el legajo del docente.
¿que error SQL te da? Debería darte una pista de donde falla.

saludos.
2

Estimado Leonel
No estamos trabajando con G3.
El error que da es el siguiente:

1 row updated.
		[Informix][Universal Server][uasj] SQL Error (-692) : Key value for constraint (dba.pk_docentes) is still being referenced.

cuanto intentamos ejecutar el update

UPDATE sga_docentes 
SET legajo=legajo_nuevo
WHERE legajo=legajo_viejo;

Saludos

Hola Adriana,

Podes hacer lo del siguiente post para saber que otra tabla esta referenciando:
https://stackoverflow.com/questions/25977762/how-to-find-referenced-records-of-parent-in-informix


select e.tabname,g1.colname
from systables a,
sysconstraints b,
sysreferences c,
sysconstraints d,
systables e,
sysindexes f,
syscolumns g1
where a.tabname='sga_docentes' and
a.tabid=b.tabid and b.constrtype='P' and
b.constrid=c.primary and
b.tabid=c.ptabid and
c.constrid=d.constrid and
d.tabid=e.tabid and
e.tabid=f.tabid and
f.idxname=d.idxname and
f.tabid=g1.tabid and abs(f.part1)=g1.colno
;

saludos.
2

Hola Loenel
Muchas gracias, encontré la tabla que no estaba pudiendo encontrar con el script enviado.
Saludos