Inscripción Cursada [SOLUCIONADO]

Buenos días.

Si bien hasta ahora no había tenido inconvenientes en la inscripción a cursada, al querer hacerlo el día viernes pasado, tanto en la opción Inscripción a Cursada (Cur00003) como en la Inscripción a Cursada Fuera de Término (Cur00020), luego de darme la opción de seleccionar al alumno y a la comisión, me aparece un mensaje de error del Guaraní que dice: "Problema desconocido en control bloqueroHorario, error: -284-
Versión GUARANI 2.6.4. Base 2.6.4-32
Que podrá ser???..
Desde ya, muchas gracias.

Saludos.
José Luis Rial

Hola

fijate en el ctr_bloqueoHorario.
alguna consulta te está devolviendo mas de un registro.

Emilio

Hola Emilio, muchas gracias por la respuesta…

Los únicos select que encuentro en la función de referencia son:

1.-
SELECT c.turno,
DECODE(c.turno,‘T’, ‘Tarde’, ‘N’, ‘Noche’, ‘M’, ‘Mañ.’, ‘Noche’),
c.materia,
c.nombre
INTO vcTurno,
vcTurnoDesc,
vcMateria,
vcComisionNombre
FROM sga_comisiones c
WHERE c.comision = pComision ;

Hay una sola comision en sga_comisiones con el código seleccionado.

2.-
SELECT amp.anio_de_cursada
INTO iAnioCursada
FROM sga_atrib_mat_plan amp
WHERE amp.unidad_academica = pUnidadAcademica
AND amp.carrera = pCarrera
AND amp.plan = vcPlan
AND amp.version = vcVersion
AND amp.materia = vcMateria
AND amp.anio_de_cursada = pAnioCursada ;

Hay una sola fila con la materia seleccionada.

3.-
SELECT COUNT(ic.comision)
INTO iCantInscrip
FROM sga_insc_cursadas ic,
sga_comisiones co,
sga_atrib_mat_plan amp,
sga_periodos_lect pl
WHERE ic.unidad_academica = pUnidadAcademica
AND ic.carrera = pCarrera
AND ic.legajo = pLegajo
AND ic.comision = co.comision
AND ic.unidad_academica = amp.unidad_academica
AND ic.carrera = amp.carrera
AND ic.plan = amp.plan
AND ic.version = amp.version
AND co.materia = amp.materia
AND ic.estado != ‘B’
AND co.turno != vcTurnoAND amp.anio_de_cursada = pAnioCursada
AND co.anio_academico = pl.anio_academico
AND co.periodo_lectivo = pl.periodo_lectivo
AND pl.fecha_inactivacion >= TODAY ;
En sga_insc_cursadas, para esta comisión no hay ningún inscripto todavía

entonces al problema lo tenes en el sp del plan del alumno?
ponele un trace a ese control y será mas facil ver en donde falla.

Emilio

Emilio: Te referís a la función sp_plan_de_alumno?.. como hago para ver el trace?? (perdoná, pero no soy muy ducho en esto)… por lo que veo, los sql no deberían dar cosas extrañas, pero en algún lugar está el error…

en el ctr_bloqueohorario

entre el end exception y el begin pones

set debug file to ‘c:\bloqueohorario.txt’;
trace on;

y al final entre el end y el end procedure

trace off;

luego lo ejecutas y te quedará grabado en el archivo de texto lo que hizo.
luego le sacas estas tres lineas.

Emilio

Gracias por tu paciencia!!!

El resultado del trace es:

let istatus = 1
let vcmsg = 800320
expression:
(select c.turno, case c.turno when “T” then “Tarde” when “N” then “Noche” when “M” then “Mañ.” else “Noche” end, c.materia, c.nombre
from sga_comisiones as c
where (= c.comision, pcomision))
evaluates to 101-98001-12 ; 98001 ; Noche ; N ;
let vcturno = N
let vcturnodesc = Noche
let vcmateria = 98001
let vccomisionnombre = 101-98001-12
expression:(or (null vcturno), (= vcturno, “”))
evaluates to f

execute function dba.sp_plan_de_alumno[procid=2532] ( p_unidad_academica = IFT27 , p_carrera = TSDG , p_legajo = 1163 , p_fecha = 2012-06-11 00:00:00 )
default value p_fecha = 2012-06-11 14:11:25
let v_plan = NULL.
let v_version = NULL.
let v_version2 = NULL.
expression:(or (null p_fecha), (and (= ( to_char, p_fecha, “%H:%M:%S”), “00:00:00”), (= (date p_fecha), )))
evaluates to t
let p_fecha = 2012-06-11 14:11:25.000
exception : looking for handler
SQL error = -284 ISAM error = 0 error string = = “”
exception : handler FOUND
expression:error_info
evaluates to
expression:isam_err
evaluates to 0
expression:sql_err
evaluates to -284
raise exception :-284, 0, “”
exception : looking for handler
SQL error = -284 ISAM error = 0 error string = = “”
exception : no appropriate handler
exception : looking for handler
SQL error = -284 ISAM error = 0 error string = = “”
exception : handler FOUND
expression:(- 1)
evaluates to -1
let istatus = -1
expression:(|| (|| (|| (|| (|| (|| “800321”, “,”), “bloqueoHorario”), “,”), sql_err), " - "), error_info)
evaluates to 800321,bloqueoHorario,-284 -
let vcmsg = 800321,bloqueoHorario,-284 -
expression:vcmsg
evaluates to 800321,bloqueoHorario,-284 -
expression:istatus
evaluates to -1
procedure ctr_bloqueohorario returns -1 , 800321,bloqueoHorario,-284 -

iteration of cursory procedure ctr_bloqueohorario

Parecería que esta tirando un error en la fecha del plan de estudios??

abrazo.
Jose Luis

tenes dos versiones del plan de estudios que entraron en vigencia el mismo dia?

No. Hay dos carreras vigentes con distintos planes y distintas fechas.

dos cambios de plan del alumno en el mismo dia?
fijate el primer select del sp_plan_de_alumno

p.d. o dos cambios de plan sin fecha_hasta

GRACIAS!!! Ese es el error… parece que algo salió mal en la última migración y duplicó varias filas en cambios_plan… Ya las eliminé y funciona correctamente.
Muchísimas gracias Emilio

Un abrazo.
José Luis

Jose Luis, como veo que el error proviene de la migración de datos, fijate que en el módulo de Administración del Sistema hay varias operaciones para verificar la integridad de los datos. Podes ir ejecutando una a una estas operaciones y comprobar si tenes algún otro problema que debas solucionar.