SET TERM ^ ;

CREATE OR ALTER trigger ttbcliente_tipo_b01u for tbcliente_tipo
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' DESC:'|| OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END

    IF ( OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        HISTORICO = HISTORICO||' STATUS:'|| OLD.STATUS||'->'||NEW.STATUS;
    END

    IF ( OLD.HABILITA_CAD_WEB IS DISTINCT FROM NEW.HABILITA_CAD_WEB) THEN
    BEGIN
        HISTORICO = HISTORICO||' HAB.CAD.WEB:'|| COALESCE(OLD.HABILITA_CAD_WEB, 0)||'->'||COALESCE(NEW.HABILITA_CAD_WEB, 0);
    END

    IF ( OLD.MERCADO <> NEW.MERCADO) THEN
    BEGIN
        HISTORICO = HISTORICO||' HAB.REG.PED:'|| OLD.MERCADO||'->'||NEW.MERCADO;
    END

    IF ( OLD.REVENDEDOR <> NEW.REVENDEDOR) THEN
    BEGIN
        HISTORICO = HISTORICO||' REVEND:'|| OLD.REVENDEDOR||'->'||NEW.REVENDEDOR;
    END

    IF ( OLD.FAIXA_PRECO_MIN IS DISTINCT FROM NEW.FAIXA_PRECO_MIN) THEN
    BEGIN
        HISTORICO = HISTORICO||' FX.PRECO.MIN:'|| COALESCE(OLD.FAIXA_PRECO_MIN, 0)||'->'||COALESCE(NEW.FAIXA_PRECO_MIN, 0);
    END

    IF ( OLD.FAIXA_PRECO_MAX IS DISTINCT FROM NEW.FAIXA_PRECO_MAX) THEN
    BEGIN
        HISTORICO = HISTORICO||' FX.PRECO.MAX:'|| COALESCE(OLD.FAIXA_PRECO_MAX, 0)||'->'||COALESCE(NEW.FAIXA_PRECO_MAX, 0);
    END
  -------------------------------------------------------------------------------------------------------------------------------
    IF ( OLD.FAIXA_PRECO_DESC IS DISTINCT FROM NEW.FAIXA_PRECO_DESC) THEN
    BEGIN
        HISTORICO = HISTORICO||' FX.DESC.ITEM:'|| COALESCE(OLD.FAIXA_PRECO_DESC, 0)||'->'||COALESCE(NEW.FAIXA_PRECO_DESC, 0);
    END

    IF ( OLD.FAIXA_PRECO_PERC IS DISTINCT FROM NEW.FAIXA_PRECO_PERC) THEN
    BEGIN
        HISTORICO = HISTORICO||' FX.PRECO.VENDA:'|| COALESCE(OLD.FAIXA_PRECO_PERC, 0)||'->'||COALESCE(NEW.FAIXA_PRECO_PERC, 0);
    END

    IF ( OLD.FAIXA_PRECO_DESC_PEDIDO IS DISTINCT FROM NEW.FAIXA_PRECO_DESC_PEDIDO) THEN
    BEGIN
        HISTORICO = HISTORICO||' FX.DESC.PED:'|| COALESCE(OLD.FAIXA_PRECO_DESC_PEDIDO, 0)||'->'||COALESCE(NEW.FAIXA_PRECO_DESC_PEDIDO, 0);
    END

    IF ( OLD.BLOQUEIA_INCLUSAO_CLIENTE  IS DISTINCT FROM NEW.BLOQUEIA_INCLUSAO_CLIENTE ) THEN
    BEGIN
        HISTORICO = HISTORICO||' BLOQ.INC.CLI:'|| COALESCE(OLD.BLOQUEIA_INCLUSAO_CLIENTE, 0)||'->'||COALESCE(NEW.BLOQUEIA_INCLUSAO_CLIENTE , 0);
    END

    IF (HISTORICO <> '') THEN
    BEGIN
         HISTORICO = 'REGISTRO ALTERADO: '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBCLIENTE_TIPO',NEW.CODIGO, HISTORICO);
    END
END
^

SET TERM ; ^

