INSERT INTO TBPARAMETRO (TABELA, CODIGO, DESCRICAO, VALOR, OBSERVACAO, GRUPO)
VALUES ('SISTEMA', 'TEMPO_FINAL_AGENDAMENTO', 'TEMPO FINAL DE EXECUÇÃO DE AGENDAMENTO DE SQL SEM INTERVALO', 0, 'O VALOR DEFINIDO SERÁ O TEMPO EM MINUTOS QUE O AGENDAMENTO TERÁ SEU TÉRMINO DE EXECUÇÃO, NÃO EXECUTANDO MAIS.

0 = 60 MINUTOS POR PADRÃO', 'WEB11510');

SET TERM ^ ;

CREATE OR ALTER trigger ttbagendamento_sql_b03iu for tbagendamento_sql
active before insert or update position 0
AS
DECLARE VARIABLE MINUTO_HORA_INICIO1 INTEGER;
DECLARE VARIABLE MINUTO_HORA_INICIO2 INTEGER;
DECLARE VARIABLE MINUTO_HORA_FIM INTEGER;
DECLARE VARIABLE MINUTO_PARAMETRO INTEGER;
BEGIN   
        
    :MINUTO_PARAMETRO = FN_PARAMETRO('SISTEMA.TEMPO_FINAL_AGENDAMENTO');
    
    IF(NEW.REPETIVEL = 0) THEN
    BEGIN
        IF(:MINUTO_PARAMETRO > 0) THEN
        BEGIN
           NEW.HORAFIM = DATEADD(MINUTE, MINUTO_PARAMETRO, NEW.HORAINICIO);
        END ELSE
        BEGIN
            NEW.HORAFIM = DATEADD(MINUTE, 60, NEW.HORAINICIO);
        END
    END

END
^

SET TERM ; ^

