Estado de convocatoria

Buen día, tenemos una consulta SQL cuya intención es obtener las personas aceptadas con beneficio de las convocatorias activas:

SELECT  
        mgb_solicitud_dato_personal.apellidos apellido,
        mgb_solicitud_dato_personal.nombres nombre,
        mgb_aspirante.nro_documento,
        mgb_convocatoria.nombre|| ' - ' ||mgb_convocatoria.anio_convocatoria AS convocatoria,
        (SELECT
            array_to_string(array(
                SELECT  mgb_tipo_beca.nombre
                FROM    mgb_solicitud_asignacion
                        JOIN mgb_convocatoria_beca ON mgb_solicitud_asignacion.convocatoria_beca = mgb_convocatoria_beca.convocatoria_beca
                        JOIN mgb_tipo_beca ON mgb_convocatoria_beca.tipo_beca = mgb_tipo_beca.tipo_beca
                WHERE       mgb_solicitud_asignacion.solicitud_detalle = mgb_solicitud_detalle.solicitud_detalle
                        AND mgb_solicitud_asignacion.baja IS NULL
                        ), ', ')) AS tipo_beca,
            CASE
          WHEN UPPER(mgb_solicitud_estado.descripcion) = 'ACEPTADA CON BENEFICIO' THEN 'Aceptado con beneficio'
        ELSE mgb_solicitud_estado.descripcion
    END AS evaluacion
    FROM    mgb_solicitud
            JOIN mgb_aspirante ON
                mgb_solicitud.aspirante = mgb_aspirante.aspirante -- Aspirante
            JOIN sg_tipo_documento ON
                mgb_aspirante.tipo_documento = sg_tipo_documento.tipo_documento -- Documentos
            JOIN mgb_solicitud_detalle ON
                    mgb_aspirante.aspirante = mgb_solicitud_detalle.aspirante 
                AND mgb_solicitud.convocatoria = mgb_solicitud_detalle.convocatoria -- Detalle de la solicitud
            join mgb_solicitud_estado on mgb_solicitud_estado.cod_estado = mgb_solicitud_detalle.estado
            JOIN mgb_solicitud_dato_personal ON 
                mgb_solicitud_detalle.solicitud_detalle = mgb_solicitud_dato_personal.solicitud_detalle -- Datos personales
            JOIN mgb_convocatoria ON
                mgb_solicitud_detalle.convocatoria = mgb_convocatoria.convocatoria -- Convocatoria
            JOIN mgb_llamado ON
                mgb_solicitud_detalle.llamado = mgb_llamado.llamado -- Llamado
    WHERE       EXISTS(SELECT   1
                       FROM     mgb_solicitud_asignacion
                       WHERE        mgb_solicitud_asignacion.solicitud_detalle = mgb_solicitud_detalle.solicitud_detalle
                                AND mgb_solicitud_asignacion.baja IS NULL
                                )
            AND mgb_convocatoria.activa = 'S'

Necesito saber cuando una convocatoria cambia su atributo estado al valor ‘N’, o bien si necesitamos incluir otro filtro, por ejemplo por año.

Muchas gracias

Buenas tardes Damián!

el atributo de “Activa” para una convocatoria, por el momento no se modifica nunca. Dado que en principio siempre es posible sumar un nuevo llamado en una convocatoria, no se modifica la calidad de “Activa” en ningún cambio de estado de los llamados.

Si las convocatorias en su institución no “atraviesan” más de un año, podrían usar ese dato. Otra cosa que puede servirles es el estado del llamado: un llamado que está en estado “Confirmado” ya tiene las asignaciones de beneficio resueltas. Solo se pueden ver modificadas por Promociones y/o Bajas de beneficios.

En la gestión de convocatorias que realizan, ¿qué es lo que sacaría del estado “activa” a una convocatoria?

Saludos.

Clara

Gracias, en este caso se usará el atributo del año de la convocatoria. Específicamente este tipo de becas se convoca anualmente.

Saludos