SET TERM ^ ;

CREATE OR ALTER trigger ttbpedido_item_processado_b99u for tbpedido_item_processado
active before update position 99
AS
begin

  if(
        new.situacao = 3
    and new.data_producao is null
    and new.quantidade_producao = 0
    and new.quantidade_pedido > 0
  )then
  begin
     execute procedure spi_notificar(current_timestamp, 186, 'Talão sem registro de estoque','Remessa: '||new.remessa||', Controle:'||new.controle,1,1);
  end

  if(
        old.situacao <> 3
    and new.situacao = 3
    and new.data_producao is null
    and new.quantidade_producao = 0
    and new.quantidade_pedido > 0
  )then
  begin
     exception "..." 'Quantidade do talão('||new.controle||') detalhado deve ser maior que 0, click no botão "Gravar Todos" e tente novamente!"';
  end

  if((new.quantidade_pedido * 10) < new.quantidade_producao)then
  begin
        exception "..." 'Quantidade produzida do talão('||new.controle||') mais de 10x o programado. Tente novamente!"';
  end
end
^

SET TERM ; ^

