Hola,
en 3 de las 9 Facultades que tenemos en la UNER nos sale el siguiente error al ejecutar la operación de “Becas - Convocatoria Renovación 2014”, al hacer click en “GENERAR RENDIMIENTO ACADEMICO”:
“Error al calcular las materias aprobadas del alumno”
Al cargar el archivo nos da que está todo bien.
Pero al querer generar el rendimiento academico nos sale ese error por cada linea/registro del archivo, es decir, por cada alumno.
A alguien le ha sucedido esto? A que se puede deber?
Podes abrir la ventana w_pnbu_2014 y ver si encontras ese mensaje, porque por lo que veo no se envia ningun mensaje si la funcion retorna con error.
Si podes pone un debug en esa funcion y fijate cual es el error de la base al realizar la consulta de las materias aprobadas.
la linea que dispara el error está en la ventana w_pnbu_2014 - evento ue_archivo_alumnos en la linea 57.
Ese evento ejecuta la función wf_cantidad_materias_aprobadas.
Te mando capturado señalando la linea que muestra el error, la misma está en un IF que ejecuta la función.
Igualmente ahora voy a hacer eso que me sugeris de hacer el debug a ver donde puede estar el error y te vuelvo a escribir.
Alejandro, te mando captura del valor de las variables del Debug
Y acá va el SQL con los valores que ahi muestra reemplazados y corridos en el SQL Editor y luego te paso la Salida del SQL Editor,
lo raro que en el Power Builder la cantidad de materias y cantidad de materias 2013 dan 0 ambas, pero en el SQL Editor dan valores.
Eso es lo raro, lo parametros los está pasando bien, de reemplazar en el PB por esos valores tiene que devolver valores mayores a 0, sin embargo devuelve 0. Pero en SQL Editor si devuelve bien (12 , 2)
-----SQL----
SELECT COUNT(*), SUM(CASE year(v.fecha) WHEN :ll_anio THEN 1 ELSE 0 END)
INTO :ll_cant_mat_aprobadas_out, :ll_cant_mat_aprobadas_2013_out
FROM sga_alumnos as a,
sga_planes as p,
sga_atrib_mat_plan as atmp,
vw_hist_academica_padron as v
WHERE a.unidad_academica = :ua
AND a.carrera = :carrera
AND a.legajo = :legajo
AND p.unidad_academica = a.unidad_academica
AND p.carrera = a.carrera
AND p.plan = a.plan
AND atmp.unidad_academica = a.unidad_academica
AND atmp.carrera = p.carrera
AND atmp.plan = p.plan
AND atmp.version = p.version_actual
AND v.unidad_academica = a.unidad_academica
AND v.carrera = a.carrera
AND v.legajo = a.legajo
AND v.materia = atmp.materia
AND resultado = 'A'
Anduvo!
Le hice:
grant all on sga_alumnos to public;
grant all on sga_planes to public;
grant all on sga_atrib_mat_plan to public;
grant all on vw_hist_academica to public;
Si era lo que suponia porque desde el editor de sql no te daria error porque lo corrias con el usuario dba pero desde el sistema esas consultas se corrian con otro usuario.
Te enviaremos un script para verificar que no tengas problemas con permisos en otras tablas del sistema.