
CREATE OR ALTER trigger TTBCONTAS_VARIACAO_ESTOQUE_BI01 for tbcontas_variacao_estoque
active before insert position 0
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('TBCONTAS_VARIACAO_ESTOQUE',new.ID, HISTORICO);
    END
end


CREATE trigger TTBCONTAS_VARIACAO_ESTOQUE_BD01 for tbcontas_variacao_estoque
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('TBCONTAS_VARIACAO_ESTOQUE',old.ID, HISTORICO);
    END
end;


CREATE trigger ttbcontas_variacao_estoque_bu01 for tbcontas_variacao_estoque
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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

    IF ( OLD.conta_debito <> NEW.conta_debito) THEN
    BEGIN
        HISTORICO = HISTORICO||',conta debito:'|| OLD.conta_debito||'->'||NEW.conta_debito;
    END

    IF ( OLD.conta_credito <> NEW.conta_credito) THEN
    BEGIN
        HISTORICO = HISTORICO||',conta credito:'|| OLD.conta_credito||'->'||NEW.conta_credito;
    END

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

CREATE trigger ttbcontas_variac_est_itens_bi01 for tbcontas_variacao_est_itens
active before insert position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Cont. Adicionada: '||new.conta_contabil;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCONTAS_VARIACAO_ESTOQUE',new.contas_variacao_estoque_id, HISTORICO);
    END
end;

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

    HISTORICO = '';

    IF ( old.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Cont. Removida: '||old.conta_contabil;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCONTAS_VARIACAO_ESTOQUE',old.contas_variacao_estoque_id, HISTORICO);
    END
end;

ALTER TABLE TBCONTAS_VARIACAO_ESTOQUE
    ADD CONTA_DRE VARCHAR(20);

