SET TERM ^ ;

CREATE OR ALTER trigger ttbpdv_cfe_forma_pagamento_b04i for tbpdv_cfe_forma_pagamento
active before insert position 4
AS
DECLARE VARIABLE CHECK_INTENCAO_VENDA_EXISTENTE INTEGER;

BEGIN
    IF(COALESCE(NEW.INTENCAO_VENDA_ID, 0) > 0) THEN
    BEGIN
        :CHECK_INTENCAO_VENDA_EXISTENTE = COALESCE((SELECT FIRST 1 T.ID FROM TBPDV_CFE_FORMA_PAGAMENTO T, TBPDV_CFE C WHERE C.ID = T.PDV_CFE_ID AND T.INTENCAO_VENDA_ID = NEW.INTENCAO_VENDA_ID AND T.ID <> NEW.ID AND C.SITUACAO IN (1, 2)), 0);

        IF(COALESCE(:CHECK_INTENCAO_VENDA_EXISTENTE, 0) > 0) THEN
        BEGIN
            EXCEPTION "..."'NAO FOI POSSIVEL CONCLUIR ESSE DOCUMENTO, POIS EXISTE UMA FORMA DE PAGAMENTO TEF JA INCLUIDA COM A INTENCAO DE VENDA '||NEW.INTENCAO_VENDA_ID||' VINCULADA. ENTRE EM CONTATO COM O SUPORTE TECNICO.';
        END

    END
END
^

SET TERM ; ^

