
CREATE OR ALTER trigger ttbrequisicao_b0d_02 for tbrequisicao
active before delete position 0
AS
DECLARE VARIABLE PROGRAMACAO_ID INTEGER;
DECLARE VARIABLE STATUS INTEGER;
--declare variable contador integer;
BEGIN

  --if (OLD.STATUS = '3') THEN  --REQUISIÇÃO COM REMESSA GERADA
  --BEGIN

      FOR
         SELECT first 1
             P.ID,
             P.STATUS
         FROM TBPROGRAMACAO P
         WHERE P.requisicao_id = old.id
         AND P.STATUS_REQUISICAO = 1
    
         ORDER BY P.DATAHORA_FIM DESC
      INTO
        :PROGRAMACAO_ID,
        :STATUS
      DO
      BEGIN
    
        --NAO PERMITE EXCLUIR O VINCULO SE O TALAO FOI FINALIZADO
        IF(:STATUS = 3)THEN
        BEGIN
            EXCEPTION "..." 'REQUISICAO JÁ FOI UTILIZADA, REMESSA:'||:OLD.REMESSA||' GP:'||OLD.GP_ID||'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ';
        END ELSE
        BEGIN
            UPDATE TBPROGRAMACAO P SET P.STATUS = 3, P.STATUS_REQUISICAO = 0, P.requisicao_id = 0 WHERE P.ID = :PROGRAMACAO_ID;

            --finaliza taloes na programacao com requisicao excluida
            execute procedure SPU_TRATAR_REQUISICOES_EX_V2;
            --adicionada em 20/07/2017 as 16:00

        END
    
      END

  --END ELSE
  --BEGIN
     --finaliza taloes na programacao com requisicao excluida
     --execute procedure SPU_TRATAR_REQUISICOES_EX_V2;
     --adicionada em 26/07/2017 as 11:25
     --adicionada para tratar requisicoes com remessas nao geradas
  --END

end;

