CREATE trigger ttbpdv_caixa_preco_b02i for tbpdv_caixa_preco
active before insert or update position 2
AS
BEGIN
  IF(COALESCE(NEW.PADRAO_MOVIMENTO, 0) = 1) THEN
  BEGIN
        UPDATE TBPDV_CAIXA T SET T.TABELA_PRECO_ID = NEW.TABELA_PRECO_ID WHERE T.ID = NEW.PDV_CAIXA_ID;
  END
END;


CREATE trigger ttbpdv_movim_caixa_preco_b02i for tbpdv_movimento_caixa_preco
active before insert or update position 2
AS
BEGIN
  IF(COALESCE(NEW.PADRAO, 0) = 1) THEN
  BEGIN
        UPDATE TBPDV_MOVIMENTO_CAIXA T SET T.TABELA_PRECO_ID = NEW.TABELA_PRECO_ID WHERE T.ID = NEW.PDV_MOVIMENTO_CAIXA_ID;
  END
END;

CREATE OR ALTER TRIGGER TTBPDV_CAIXA_PRECO_BIUD998 FOR TBPDV_CAIXA_PRECO
ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 998
AS
BEGIN

    IF(INSERTING) THEN
    BEGIN
        EXECUTE PROCEDURE SPI_INTEGRACAO('TBPDV_CAIXA_PRECO', NEW.ID, 2);
    END ELSE
    BEGIN
        EXECUTE PROCEDURE SPI_INTEGRACAO('TBPDV_CAIXA_PRECO', OLD.ID, 2);
    END

END;

CREATE OR ALTER TRIGGER TTBPDV_MOVIM_CAI_PRE_BIUD998 FOR TBPDV_MOVIMENTO_CAIXA_PRECO
ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 998
AS
BEGIN

    IF(INSERTING) THEN
    BEGIN
        EXECUTE PROCEDURE SPI_INTEGRACAO('TBPDV_MOVIMENTO_CAIXA_PRECO', NEW.ID, 2);
    END ELSE
    BEGIN
        EXECUTE PROCEDURE SPI_INTEGRACAO('TBPDV_MOVIMENTO_CAIXA_PRECO', OLD.ID, 2);
    END

END;

CREATE OR ALTER trigger ttbmodelo_preco_aiu997 for tbmodelo_preco
inactive after update position 997
AS
DECLARE VARIABLE HABILITA_PDV INTEGER;
BEGIN
    /* BUSCA PARAMETRO DE HABILITAR PDV */
    SELECT FIRST 1
        COALESCE(T.HABILITA_PDV, 0)
    FROM TBTABELA_PRECO T
    WHERE T.ID = NEW.TABELA_ID
    INTO :HABILITA_PDV;

    IF(COALESCE(:HABILITA_PDV, 0) = 1) THEN
    BEGIN
        /* SE TABELA DE PRECO CONFIGURADA  PARA PDV PREPARA OS PRODUTOS PARA PDV */
        EXECUTE PROCEDURE SPUI_PDV_PRODUTOS;
    END

END;