SET TERM ^ ;

CREATE trigger ttbimplantacao_detalhe_b01i for tbimplantacao_detalhe
active before insert position 9
AS
declare variable historico varchar(500);
begin
    HISTORICO = '';

    IF(NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||' HISTÓRICO INCLUÍDO: '||NEW.ID;
    END

    IF(HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBIMPLANTACAO', NEW.IMPLANTACAO_ID,  HISTORICO);
    END
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbimplantacao_detalhe_b01d for tbimplantacao_detalhe
active before delete position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
    HISTORICO = '';

    IF(OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||' HISTÓRICO EXCLUÍDO: '||OLD.ID;
    END

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

SET TERM ; ^

SET TERM ^ ;

CREATE trigger ttbimplantacao_detalhe_b01u for tbimplantacao_detalhe
active before update position 9
AS
declare variable historico VARCHAR(5000);
begin
    HISTORICO = '';

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

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

    IF(NEW.HORA_INICIO <> OLD.HORA_INICIO) THEN
    BEGIN
        HISTORICO = HISTORICO||' HORA INI: '||FN_TIME_TO_STRING(OLD.HORA_INICIO)||'->'||FN_TIME_TO_STRING(NEW.HORA_INICIO);
    END

    IF(NEW.HORA_FIM <> OLD.HORA_FIM) THEN
    BEGIN
        HISTORICO = HISTORICO||' HORA FIM: '||FN_TIME_TO_STRING(OLD.HORA_FIM)||'->'||FN_TIME_TO_STRING(OLD.HORA_FIM);
    END

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

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

    IF(NEW.USUARIOS_AREAS <> OLD.USUARIOS_AREAS) THEN
    BEGIN
        HISTORICO = HISTORICO||' USUARIOS/AREAS: '||OLD.USUARIOS_AREAS||'->'||NEW.USUARIOS_AREAS;
    END

    IF(HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBIMPLANTACAO', NEW.IMPLANTACAO_ID, 'HISTÓRICO '||NEW.ID||': '||fn_elipses(HISTORICO));
    END
end
^

SET TERM ; ^



