ALTER TABLE TBESTOQUE_BAIXA_AUTOMATICA
ADD OPERACAO_SAIDA VARCHAR(10) CHARACTER SET UTF8 
COLLATE UTF8 

CREATE OR ALTER TRIGGER TTBESTOQUE_BAIXA_AUT_B01I FOR TBESTOQUE_BAIXA_AUTOMATICA
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbestoque_baixa_aut,1);
end;

CREATE TRIGGER TTBESTOQUE_BAIXA_AUT_B02I FOR TBESTOQUE_BAIXA_AUTOMATICA
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('TBESTOQUE_BAIXA_AUTOMATICA',NEW.ID, HISTORICO);
    END
end;

CREATE TRIGGER TTBESTOQUE_BAIXA_AUT_B01U FOR TBESTOQUE_BAIXA_AUTOMATICA
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.PRODUTO_ID <> NEW.PRODUTO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||',Produto:'|| OLD.PRODUTO_ID||'->'||NEW.PRODUTO_ID;
    END

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

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

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

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

CREATE TRIGGER TTBESTOQUE_BAIXA_AUT_B01D FOR TBESTOQUE_BAIXA_AUTOMATICA
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('TBESTOQUE_BAIXA_AUTOMATICA',old.ID, HISTORICO);
    END
end;

ALTER SEQUENCE GTBSQL RESTART WITH 160 INCREMENT BY 1;




