SET TERM ^ ;

CREATE OR ALTER trigger ttbpatrimonio_b03u for tbpatrimonio
active before update position 2
AS
DECLARE VARIABLE HISTORICO VARCHAR(3000);
BEGIN

    HISTORICO = '';

    IF (OLD.PRODUTO_ID <> NEW.PRODUTO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' PRODUTO:'||OLD.PRODUTO_ID||'->'||NEW.PRODUTO_ID;
    END
    
    IF (OLD.PATRIMONIO <> NEW.PATRIMONIO) THEN
    BEGIN
        HISTORICO = HISTORICO||' PATRIMONIO:'||OLD.PATRIMONIO||'->'||NEW.PATRIMONIO;
    END
    
    IF (OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' DESC:'||OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END
    
    IF (OLD.REFERENCIA <> NEW.REFERENCIA) THEN
    BEGIN
        HISTORICO = HISTORICO||' MODELO:'||OLD.REFERENCIA||'->'||NEW.REFERENCIA;
    END
    
    IF (OLD.SERIE <> NEW.SERIE) THEN
    BEGIN
        HISTORICO = HISTORICO||' SERIE:'||OLD.SERIE||'->'||NEW.SERIE;
    END
    
    IF (OLD.MARCA <> NEW.MARCA) THEN
    BEGIN
        HISTORICO = HISTORICO||' FABRIC:'||OLD.MARCA||'->'||NEW.MARCA;
    END
    
    IF (OLD.OBSERVACOES <> NEW.OBSERVACOES) THEN
    BEGIN
        HISTORICO = HISTORICO||' OBSRVACOES ALTERADA';
    END
    
    IF (OLD.VIDA_UTIL <> NEW.VIDA_UTIL) THEN
    BEGIN
        HISTORICO = HISTORICO||' V.UTIL:'||OLD.VIDA_UTIL||'->'||NEW.VIDA_UTIL;
    END
    
    IF (OLD.AREA <> NEW.AREA) THEN
    BEGIN
        HISTORICO = HISTORICO||' AREA:'||OLD.AREA||'->'||NEW.AREA;
    END
    
    IF (OLD.TIPO <> NEW.TIPO) THEN
    BEGIN
        HISTORICO = HISTORICO||' TIPO:'||OLD.TIPO||'->'||NEW.TIPO;
    END
    
    IF (OLD.CONTA_CONTABIL <> NEW.CONTA_CONTABIL) THEN
    BEGIN
        HISTORICO = HISTORICO||' C.CONT:'||OLD.CONTA_CONTABIL||'->'||NEW.CONTA_CONTABIL;
    END
    
    IF (OLD.LRE <> NEW.LRE) THEN
    BEGIN
        HISTORICO = HISTORICO||' LRE:'||OLD.LRE||'->'||NEW.LRE;
    END
    
    IF (OLD.FOLHA_LRE <> NEW.FOLHA_LRE) THEN
    BEGIN
        HISTORICO = HISTORICO||' F.LRE:'||OLD.FOLHA_LRE||'->'||NEW.FOLHA_LRE;
    END
    
    IF (OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        HISTORICO = HISTORICO||' STATUS.:'||OLD.STATUS||'->'||NEW.STATUS;
    END
    
    IF (OLD.CENTRO_DE_CUSTO <> NEW.CENTRO_DE_CUSTO) THEN
    BEGIN
        HISTORICO = HISTORICO||' C.CUSTO:'||OLD.CENTRO_DE_CUSTO||'->'||NEW.CENTRO_DE_CUSTO;
    END
    
    IF (OLD.ORDEM <> NEW.ORDEM) THEN
    BEGIN
        HISTORICO = HISTORICO||' ORDEM:'||OLD.ORDEM||'->'||NEW.ORDEM;
    END
    
    IF (OLD.DATA_CONCLUSAO <> NEW.DATA_CONCLUSAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' DATA CONC:'||OLD.DATA_CONCLUSAO||'->'||NEW.DATA_CONCLUSAO;
    END
    
    IF (OLD.ESTABELECIMENTO_ID <> NEW.ESTABELECIMENTO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' ESTAB:'||OLD.ESTABELECIMENTO_ID||'->'||NEW.ESTABELECIMENTO_ID;
    END
    
    IF (OLD.MODELO_ID <> NEW.MODELO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' MODELO:'||OLD.MODELO_ID||'->'||NEW.MODELO_ID;
    END
    
    IF (OLD.TIPO_ID <> NEW.TIPO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' TIPO:'||OLD.TIPO_ID||'->'||NEW.TIPO_ID;
    END
    
    IF (OLD.SUBTIPO_ID <> NEW.SUBTIPO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' SUBTIPO:'||OLD.SUBTIPO_ID||'->'||NEW.SUBTIPO_ID;
    END
    
    IF (OLD.FABRICANTE_ID <> NEW.FABRICANTE_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' FABRIC:'||OLD.FABRICANTE_ID||'->'||NEW.FABRICANTE_ID;
    END
    
    IF (OLD.ETIQUETA <> NEW.ETIQUETA) THEN
    BEGIN
        HISTORICO = HISTORICO||' ETIQUETA:'||OLD.ETIQUETA||'->'||NEW.ETIQUETA;
    END
       
    IF (OLD.SERVICE_TAG <> NEW.SERVICE_TAG) THEN
    BEGIN
        HISTORICO = HISTORICO||' SERVICE TAG:'||OLD.SERVICE_TAG||'->'||NEW.SERVICE_TAG;
    END

    IF (OLD.VALOR <> NEW.VALOR) THEN
    BEGIN
        HISTORICO = HISTORICO||' VALOR:'||OLD.VALOR||'->'||NEW.VALOR;
    END
    
    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'REGISTRO ALTERADO:'||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBPATRIMONIO', OLD.ID, FN_ELIPSES(HISTORICO, 500));
    END
END
^

SET TERM ; ^

