Información requerida en Ficha de la Persona (HA y Créditos Otorgados)

Hay alguna manera que al consultar un ciclo en los Atributos del Módulo en el Plan, se muestren los puntos requeridos en cada genérica que los compone (tal vez en la columna créditos)?
Si, se puede agregar una columna que sea "Puntos".Cargá una solicitud en el GDS para que se agregue esta columna.

Por otro lado, cual sería la consulta para poder recuperar para un determinado alumno:

- las optativas aprobadas y cuántos créditos se le reconocen al alumno por cada una
De la vista de historia academica, recuperas las aprobadas y los creditos. De esta consulta solo debes recuperar las que son optativas, es decir las que existen en genericas:
AND vw_hist_academica.elemento IN (SELECT elemento FROM vw_optativas_plan WHERE plan_version = <PLAN VERSION ALUMNO>)
 
- la genérica a la cual pertenece cada optativa y los créditos requeridos por la genérica
A que generica pertenece, podes consultar la vista vw_opativas_plan, el problema lo tenes cuando la optativa se encuentra en mas de una generica. Ahi puede ser que el alumno ya eligió para que generica se cumple o aun no. Fijate la funcion [b]f_optativa_es_compartida[/b]

Los créditos requeridos los obtenes de la genérica en el campo parámetros (estaba viendo que la vista vw_opativas_plan no devuelve este dato ni tampoco la regla de cumplimiento, se podrian agregar…):
SELECT er.parametros as creditos
FROM sga_elementos_revision as er
JOIN sga_elementos_plan as ep ON ep.elemento_revision = er.elemento_revision
WHERE er.elemento =
AND ep.plan_version = <PLAN_VERSION>

- el ciclo al cual pertenece la genérica y los puntos requeridos para cumplir dicho ciclo
Aca tenes el mismo problema de optativas compartidas, si tenes la generica en mas de un ciclo/modulo en el plan, pro ejemplo en diferentes orientaciones. Fijate la vista vw_opativas_plan, una generica es un tipo de modulo, fijate que filtra por entidad_subtipo = 2. Si a la query de esa vist le sacas esta condicion, cada "generica" seria un modulo del plan.. podrias tomar es query y buscar cual esel módulo donde se encuentra la generica

– Devuelve todos los modulos donde se encuentra la generica en el plan

SELECT  modulo.nombre
-- Generica
JOIN sga_elementos_revision as er_generica
JOIN sga_elementos_plan as ep_generica ON (ep_generica.plan_version = er_generica.plan_version AND ep_generica.elemento_revision = er_generica.elemento_revision)
JOIN sga_elementos_comp ON sga_elementos_comp.elemento_hijo = er_generica.elemento_revision

-- Modulo donde se encuentra la generica.
JOIN sga_elementos_revision as er_modulo ON er_modulo.elemento_revision = sga_elementos_comp.elemento_padre
JOIN sga_elementos as e_modulo ON e_modulo.elemento = er_modulo.elemento
JOIN sga_elementos_plan as modulo ON modulo.elemento_revision = er_modulo.elemento_revision AND modulo.plan_version = ep_generica.plan_version

WHERE er_generica.elemento = <ID GENERICA>
  AND ep_generica.plan_version = <PLAN_VERSION>

3