CREATE OR ALTER trigger ttbformulario_destinatario_b1u for tbformulario_destinatario
active before update position 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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

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

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

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

     IF (HISTORICO <> '') THEN
    BEGIN
        IF( NEW.USUARIO_ID > 0) THEN
            BEGIN
                HISTORICO = ' REG.ALTERADO: USUARIO:'||NEW.USUARIO_ID||', '||HISTORICO;
            END
        IF( NEW.CCUSTO <> '' AND NEW.CCUSTO IS NOT NULL AND NEW.CCUSTO > 0) THEN
            BEGIN
                HISTORICO = ' REG.ALTERADO: C.CUSTO:'||NEW.CCUSTO||', '||HISTORICO;
            END
        EXECUTE PROCEDURE SPI_HISTORICO('TBFORMULARIO',NEW.FORMULARIO_ID, HISTORICO);
    END
END;
