SET TERM ^ ;
CREATE OR ALTER TRIGGER TTBPDV_CFE_B01D FOR TBPDV_CFE
ACTIVE BEFORE DELETE POSITION 1
AS
DECLARE VARIABLE CAIXA_ID           INTEGER;
DECLARE VARIABLE DEVOLUCAO_TROCA_ID INTEGER;

BEGIN
    :DEVOLUCAO_TROCA_ID  = COALESCE((SELECT FIRST 1 ITEM.ID FROM TBPDV_DEVOLUCAO_TROCA_ITEM ITEM WHERE ITEM.DOCUMENTO_CONTROLE = OLD.ID AND ITEM.TIPO_DOCUMENTO = 2),0);

    IF(:DEVOLUCAO_TROCA_ID > 0)THEN
    BEGIN
      EXCEPTION "..."'DOCUMENTO ESTA VINCULADO A DEVOLUCOES/TROCAS. EXCLUSAO CANCELADA';
    END

    IF(OLD.SITUACAO <> 1 AND OLD.TIPO <> 3) THEN
    BEGIN
        IF(OLD.SITUACAO = 2) THEN EXCEPTION "..."'CUPOM FISCAL AUTORIZADO. EXCLUSAO CANCELADA';

        IF(OLD.SITUACAO = 3) THEN EXCEPTION "..."'CUPOM FISCAL CANCELADO. EXCLUSAO CANCELADA';

    END
END
^ SET TERM ; ^