SET TERM ^ ;

CREATE OR ALTER trigger tbconfiguracao_nf_b09u for tbconfiguracao_nf
active before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(8000);

begin
  HISTORICO = '';

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

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

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

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

    IF(NEW.CERTIFICADO_FILE <> OLD.CERTIFICADO_FILE) THEN
    BEGIN                  
        HISTORICO = HISTORICO||' Certificado Alterado';
    END

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

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

    IF(NEW."GENERATOR" <> OLD."GENERATOR") THEN
    BEGIN                  
        HISTORICO = HISTORICO||' Gen.'||OLD."GENERATOR"||' -> '||NEW."GENERATOR";
    END

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

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

    IF (HISTORICO <> '') THEN
    BEGIN
        --HISTORICO = ''||NEW.SEQUENCIA||' alterado. '||HISTORICO;
        HISTORICO = FN_ELIPSES(HISTORICO, 500);
        EXECUTE PROCEDURE SPI_HISTORICO('TBCONFIGURACAO_NF', NEW.ID, HISTORICO);
    END

end
^

SET TERM ; ^

