CREATE OR ALTER trigger ttbplaca_regra_b02i for tbplaca_regra
active before insert position 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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

CREATE OR ALTER trigger ttbplaca_regra_b01u for tbplaca_regra
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
    HISTORICO = '';

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

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

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

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

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

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

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

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

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

    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = ' REGISTRO ALTERADO: '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBREPOSICAO_EPI_FUNCAO',NEW.ID, HISTORICO);
    END
END;

CREATE OR ALTER trigger tbplaca_regra_b01d for tbplaca_regra
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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




