SET TERM ^ ;

CREATE OR ALTER TRIGGER TTBPDV_ADQUIRENTE_B01U FOR TBPDV_ADQUIRENTE
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.MERCHANTID <> NEW.MERCHANTID) THEN
    BEGIN
        HISTORICO = HISTORICO||' ID MERCH.'|| OLD.MERCHANTID||'->'||NEW.MERCHANTID;
    END 

    IF ( OLD.ADQUIRENTE_ID IS DISTINCT FROM NEW.ADQUIRENTE_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' ADQ:'|| COALESCE(OLD.ADQUIRENTE_ID,0)||'->'||COALESCE(NEW.ADQUIRENTE_ID,0);
    END

    IF ( OLD.CHAVE_REQUISICAO <> NEW.CHAVE_REQUISICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' CHAVE DE REQ.'|| OLD.CHAVE_REQUISICAO||'->'||NEW.CHAVE_REQUISICAO;
    END

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

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

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

    IF ( OLD.OPERACAO_OUTRAS_DESPESAS <> NEW.OPERACAO_OUTRAS_DESPESAS) THEN
    BEGIN
        HISTORICO = HISTORICO||' OP.DESP:'|| OLD.OPERACAO_OUTRAS_DESPESAS||'->'||NEW.OPERACAO_OUTRAS_DESPESAS;
    END
-- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
     IF ( OLD.OPERACAO_TAXA_MFE <> NEW.OPERACAO_TAXA_MFE) THEN
    BEGIN
        HISTORICO = HISTORICO||' OP.TX MFE:'|| OLD.OPERACAO_TAXA_MFE||'->'||NEW.OPERACAO_TAXA_MFE;
    END

    IF ( OLD.OPERACAO_BAIXA_MFE <> NEW.OPERACAO_BAIXA_MFE) THEN
    BEGIN
        HISTORICO = HISTORICO||' OP.BX MFE:'|| OLD.OPERACAO_BAIXA_MFE||'->'||NEW.OPERACAO_BAIXA_MFE;
    END

    IF ( OLD.OPERACAO_OUTRAS_DESPESAS_MFE <> NEW.OPERACAO_OUTRAS_DESPESAS_MFE) THEN
    BEGIN
        HISTORICO = HISTORICO||' OP.DESP MFE:'|| OLD.OPERACAO_OUTRAS_DESPESAS_MFE||'->'||NEW.OPERACAO_OUTRAS_DESPESAS_MFE;
    END 

    IF ( OLD.OPERACAO_AJUSTE_SALDO <> NEW.OPERACAO_AJUSTE_SALDO) THEN
    BEGIN
        HISTORICO = HISTORICO||' OP.SD MENOR:'|| OLD.OPERACAO_AJUSTE_SALDO||'->'||NEW.OPERACAO_AJUSTE_SALDO;
    END 

    IF ( OLD.OPERACAO_REDUZIR_SALDO <> NEW.OPERACAO_REDUZIR_SALDO) THEN
    BEGIN
        HISTORICO = HISTORICO||' OP.SD MAIOR:'|| OLD.OPERACAO_REDUZIR_SALDO||'->'||NEW.OPERACAO_REDUZIR_SALDO;
    END 

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

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

    EXECUTE PROCEDURE SPI_INTEGRACAO('TBPDV_ADQUIRENTE',NEW.ID,1);
END
^

SET TERM ; ^

