SET TERM ^ ;

CREATE trigger ttbsped_contribuicao_b02iu for tbsped_contribuicao
active before insert or update position 0
AS
DECLARE VARIABLE CONTRIBUICAO_EXISTENTE INTEGER;
BEGIN
    CONTRIBUICAO_EXISTENTE = COALESCE((SELECT FIRST 1
                                    1 AS EXISTE
                              FROM TBSPED_CONTRIBUICAO T
                              WHERE T.ESTABELECIMENTO_ID = NEW.ESTABELECIMENTO_ID
                              AND T.ANO = NEW.ANO
                              AND T.MES = NEW.MES), 0);

    IF(CONTRIBUICAO_EXISTENTE = 1) THEN
    BEGIN
        EXCEPTION "..." 'Já existe Contribuição Previdenciária com o mesmo Estabelecimento e Data informada. Operação Cancelada!';
    END
END
^

SET TERM ; ^

