Hola!
Quisiera saber cuál es la mecánica para registrar las materias optativas en los archivos sga_mat_genericas y sga_opt_generica, ya que tengo certificados personalizados para que salgan las materias genéricas y dentro de éstas las optativas aprobadas que le corresponden, pero a veces están en un archivo y otras en el otro, además del sga_opt_gen_alumno, y no sé cómo encontrar las relaciones. Cada tanto me aparece una situación que no está contemplada. Estoy hablando de Guarani2.
sga_mat_genericas = Aqui registra la composiciòn de la generica con sus optativas (ABM de materias). sga_opt_generica = Cuando se da de alta una version de plan de estudios, aqui se registra las materias genericas y sus optativas.
Hago algunas preguntas y sus respuestas:
¿Para que existe la tabla sga_opt_generica si existe sga_mat_generica?
Existe por el siguiente caso:
El plan contiene las genericas G1 y G2
G1 esta compuesto por las materias optativas: A, B, C, D, M, N
G2 esta compuesto por las materias optativas: C, D, E, F, G, H
¿Cuando el alumno cumple las materas C o D, para que genèrica se la reconoce?
Cuando se crea el plan de estudios, las optativas se van registrando en la tabla sga_opt_generica de acuerdo como se vayan insertando en el plan. Si la materia C primero se registra por la optativa G1, entonces quedarà solo relacionada en la generica G1 en sga_opt_generica y no para G2.
Entonces, cuando los alumnos aprueban la materia C, por defecto se la considera para la generica G1. Ahora si el alumno decide que esa optativa la quiere cumplir para la generica G2, es alli que debe hacerse el cambio de generica, por la operacion de Gestion que existe para dicho caso. Cuando se hace esto, esta relacion G2-C se registra en la tabla sga_opt_gen_alumno, es decir que en esta tabla se registran aquellas relaciones de generica-optativa para un alumno en un plan de estudios (solo en los casos que hay genericas que comparten optativas dentro de un plan de estudios y qu el alumno decide que la optativa la desea cumplir para otra generica y no para la que por defecto se cumple esa optativa en el plan - sga_opt_generica)
Luego existen otras dos tablas similares a sga_opt_generica y sga_opt_gen_alumno que son sga_opt_gen_orie y sga_opt_gen_orie_a. Aqui se registran las optativas y genericas cuando la generica forma parte de alguna orientacion. (como para complicarla un poco mas…).
Porque no tomas como ejemplo alguno de los reportes que hay en el sistema que muestra las optativas aprobadas por los alumnos?
Por ejemplo: Plan por Alumno > Materias Genericas > Materias Genericas y puntaje asignado para un alumno (alu0002)
Existen procedures que dan esta informacion, como ser: sp_opt_gen_puntaje
sp_opt_al_gen
Pero por qué en algunos casos no están en sga_opt_genericas y sí en sga_mat_genericas, si al agregarlas al plan supuestamente se deberían grabar en sga_opt_genericas?? Para qué sirve sga_mat_genericas?? No deberían estar todas en sga_opt_genericas ya sea solo con una genérica o asociada a varias de distintos planes, etc??
La tabla sga_mat_genericas es la tabla principal la que relaciona una materia generica con sus optativas (no tiene relacion con un plan de estudios)
Las tablas sga_opt_generica y sga_opt_gen_orie son las que relacionan las materias genericas y sus optativas cuando una genèrica se agrega a un plan de estudios, si miras la estructura de la tabla tiene los datos del plan de estudios, mientras que la anterior no.
Cuando se activa una version de plan de estudios, se ejecuta el proceso sp_opt_generica que es el completa estas tablas (sga_opt_generica, sga_opt_gen_orie)
El porque no esta con datos esta tabla no lo se. Recuerdo que alguna vez alguien habia comentado lo mismo.
Lo que podes hacer es correr ese procedure por cada version de plan de estudios que ya haya entrado en vigencia para completar esa tabla con los datos que falte. Podes hacer una prueba y volver a verificar.
Corre lo siguiente:
EXECUTE PROCEDURE sp_opt_generica ( UNIDAD_ACADEMICA, CARRERA, PLAN, VERSION );