SET TERM ^ ;

CREATE OR ALTER trigger ttbprevisao_venda_item_b09i for tbprevisao_venda_item
active before insert position 0
AS
declare variable HISTORICO VARCHAR(500);
begin
    HISTORICO = '';

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

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

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbprevisao_venda_item_b09u for tbprevisao_venda_item
active before update position 0
AS
declare variable HISTORICO VARCHAR(500);
begin
    HISTORICO = '';

    IF(NEW.QUANTIDADE IS DISTINCT FROM OLD.QUANTIDADE) THEN
    BEGIN
        HISTORICO = HISTORICO||' MODELO: '||NEW.MODELO_ID||' QTD.: '||OLD.QUANTIDADE||' -> '||NEW.QUANTIDADE;
    END

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

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttprevisao_venda_item_b09d for tbprevisao_venda_item
active before delete position 0
AS
declare variable HISTORICO VARCHAR(500);
begin
    HISTORICO = '';

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

    IF(HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBPREVISAO_VENDA', OLD.PREVISAO_VENDA_ID, HISTORICO);
    END
end
^

SET TERM ; ^
