/* Script para Renovacao de trabalho de dissertacao/tese de Discentes que estão matriculados no trabalho de tese/dissertacao (nu_sit_matr_turma = 1) e possui a situacao de Nota nao informada ( cd_sit_hist = 2) */ declare periodo_letivo varchar2(7):= '2018.2'; -- Alterar o periodo letivo para a Renovacao de trabalho de dissertacao/tese de Discentes begin for r in ( select * from (select sp.nm_pess, sp.nm_cpf_pess,mt.nu_matr_curso,cc.nm_compnt_curr,sm.TP_SIT_MATR, aa.cd_perd_letv, aa.CD_ATIV_ACAD, t.cd_turma, mt.NU_SIT_MATR_TURMA, (select dh.cd_sit_hist from siga_dado_hist dh where dh.nu_matr_curso=mt.nu_matr_curso and dh.cd_ativ_acad=aa.cd_ativ_acad) as cd_sit_hist from siga_matricula_turma mt, siga_turma t, siga_atividade_academica aa, siga_componente_curricular cc, siga_situacao_matricula sm, siga_vinculo sv, siga_pessoa sp where mt.cd_turma=t.cd_turma and t.cd_ativ_acad=aa.cd_ativ_acad and aa.cd_compnt_curr=cc.cd_compnt_curr and mt.NU_SIT_MATR_TURMA=sm.CD_SIT_MATR and cc.cd_tp_compnt_curr=29 --Trabalho de dissertacao/tese and mt.nu_sit_matr_turma<>40 and sm.TP_SIT_MATR<>'CAN' and sv.nu_matr_curso = mt.nu_matr_curso and sv.nm_cpf_pess = sp.nm_cpf_pess and aa.cd_perd_letv = periodo_letivo )tab_a where tab_a.cd_sit_hist = 2 and tab_a.nu_sit_matr_turma = 1 order by tab_a.cd_perd_letv desc )loop -- Atualizar siga_matricula_turma do periodo anterior update siga_matricula_turma set nu_sit_matr_turma=40, -- Renovacao de trabalho de dissertacao/tese ts_matr_turma=sysdate where nu_matr_curso=r.nu_matr_curso and cd_turma=r.cd_turma; -- Inserir siga_historico_matricula_turma do periodo anterior insert into siga_historico_matricula_turma values (r.nu_matr_curso, r.cd_turma, 40, 'RENOVTESE','0',sysdate); -- Atualizar siga_dado_hist do periodo anterior update siga_dado_hist set cd_sit_hist=17, -- Renovacao de trabalho de dissertacao/tese ts_dado_hist=sysdate where nu_matr_curso=r.nu_matr_curso and cd_ativ_acad=r.cd_ativ_acad; -- Inserir siga_hist_dado_hist do periodo anterior insert into siga_hist_dado_hist values (r.nu_matr_curso, r.cd_ativ_acad, 17, 0, 'RENOVTESE', sysdate, null, null, null, null); end loop; COMMIT; end;