SET TERM ^ ;

CREATE trigger ttbcliente_contato_b02i for tbcliente_contato
active before insert position 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'CONTATO: '||NEW.NOME||' INCLUIDO';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCLIENTE_CONTATO', NEW.ID, HISTORICO);
    END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbcliente_contato_b1u for tbcliente_contato
active before update position 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(5000);
BEGIN

    HISTORICO = '';

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

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

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

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

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

    IF (OLD.FONE_1 <> NEW.FONE_1) THEN
    BEGIN
        HISTORICO = HISTORICO||' FN1:'||FN_MASK_V2(OLD.FONE_1, 'FONE')||'->'||FN_MASK_V2(NEW.FONE_1, 'FONE');
    END

    IF (OLD.FONE_2 <> NEW.FONE_2) THEN
    BEGIN
        HISTORICO = HISTORICO||' FN2:'||FN_MASK_V2(OLD.FONE_2, 'FONE')||'->'||FN_MASK_V2(NEW.FONE_2, 'FONE');
    END

    IF (OLD.FONE_3 <> NEW.FONE_3) THEN
    BEGIN
        HISTORICO = HISTORICO||' FN3:'||FN_MASK_V2(OLD.FONE_3, 'FONE')||'->'||FN_MASK_V2(NEW.FONE_3, 'FONE');
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'CONTATO: '||NEW.NOME||' ALTERADO:'||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBCLIENTE_CONTATO', OLD.ID, FN_ELIPSE(HISTORICO, 500));
    END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE trigger ttbcliente_contato_b01d for tbcliente_contato
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'CONTATO: '||OLD.NOME||' EXCLUIDO';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCLIENTE_CONTATO', OLD.ID, HISTORICO);
    END
END
^

SET TERM ; ^

