(SOLUCINADO) ERROR AL "GENERAR RENDIMIENTO ACADEMICO" EN "Becas-Convocatoria

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?

Lo estamos ejecutando sobre la versión 2.07.0

GRACIAS.

Al parecer el error está en la función wf_cantidad_materias_aprobadas
pero corrí los SELECT por separado y me dieron bien.

Lo que si, les saqué para ejecutarlos a ambos lo siguiente:
SUM(CASE year(v.fecha) WHEN :ll_anio THEN 1 ELSE 0 END)

Salvo el error esté en ese cálculo.

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.

Hola Alejandro,

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.

SALUDOS


Mensaje de Error.jpg

Mensaje de Error.png

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' 

---------SALIDA—
12 2


Debug.jpg

Debug.png

Fijate en la solapa “Global” la transaccion SQLCA, que indica el valor SQLCode, SQLDBCode y SQLErrText luego del SELECT…

Alejandro, te mando la captura, por lo que veo hay un “No SELECT Permission”

Será alguna tabla sin permiso de SELECT.
Sigo mirando cual puede ser.


Error SQLCA.jpg

Error SQLCA.png

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;

Y anduvo, se ve era problema con alguna de esas.

GRACIAS!!

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.

Por favor MArtín , cargá un GDS por el tema de los scripts !

gracias !

Ana MAría