INSERT INTO TBMENU (DESCRICAO, CONTROLE, GRUPO, SUBGRUPO, TIPO, URL)
            VALUES ('CADASTRO DE TIPOS DE PRODUTOS', 15140, 'EST', 'EST', '1   ', '');

CREATE OR ALTER trigger ttbtipoproduto_999 for tbtipoproduto
active before insert or update or delete position 999
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    if(inserting)then
    begin
        IF ( NEW.codigo > 0) THEN
        BEGIN
            HISTORICO = HISTORICO||' Registro Incluido';
        END
    
        IF (HISTORICO <> '') THEN
        BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBTIPOPRODUTO',NEW.codigo, HISTORICO);
        END
    end

    if(updating)then
    begin
        IF ( old.status <> new.status) THEN
        BEGIN
            HISTORICO = HISTORICO||', Status:'||old.status||'->'||new.status;
        END

        IF ( old.descricao <> new.descricao) THEN
        BEGIN
            HISTORICO = HISTORICO||', Descricao:'||old.descricao||'->'||new.descricao;
        END

        IF ( old.descricao_resumida <> new.descricao_resumida) THEN
        BEGIN
            HISTORICO = HISTORICO||', Des. Resumida:'||old.descricao_resumida||'->'||new.descricao_resumida;
        END

        IF ( old.custo <> new.custo) THEN
        BEGIN
            HISTORICO = HISTORICO||', Custo:'||old.custo||'->'||new.custo;
        END

        IF ( old.classe <> new.classe) THEN
        BEGIN
            HISTORICO = HISTORICO||', Classe:'||old.classe||'->'||new.classe;
        END

        IF ( old.statusexclusao <> new.statusexclusao and new.statusexclusao = 1) THEN
        BEGIN
            HISTORICO = HISTORICO||'Registro Excluido';
        END

        IF ( old.statusexclusao <> new.statusexclusao and new.statusexclusao = 0) THEN
        BEGIN
            HISTORICO = HISTORICO||'Exclusao desfeita';
        END
    
        IF (HISTORICO <> '') THEN
        BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBTIPOPRODUTO',NEW.codigo, HISTORICO);
        END
    end

    update tbreplica_tabela set Status = '0'
    Where tabela = 'TBTIPOPRODUTO'
    and Status = '1';

    new.data = current_date;
    new.usuario_codigo = fn_current_user_id(0);
end;

