SET TERM ^ ;

CREATE OR ALTER trigger ttbmodelo_cor_biu_app for tbmodelo_cor
active before insert or update position 99
AS
declare variable codigo integer;
begin
    codigo = coalesce((select first 1 p.codigo from tbproduto p where p.modelo_codigo = new.modelo_id and p.cor_codigo = new.cor_id),0);
    if(codigo > 0)then
    begin
        in autonomous transaction
        do
        begin
            if(inserting)then execute procedure spi_integracao_mobile('TBPRODUTO',:codigo,'I');
--            if(updating )then execute procedure spi_integracao_mobile('TBPRODUTO',:codigo,'A');
        end
    end
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbmodelo_bloqueio_biud998 for tbmodelo_bloqueio
active before insert or update or delete position 998
as
declare variable codigo integer;
begin
  if (inserting) then
      begin
      update or insert into tbmodelo_validacao (modelo_id, status, observacao) values
      (new.modelo_id, '0', 'tbmodelo_sku') matching (modelo_id);
      end else
  if (updating) then
      begin
      update or insert into tbmodelo_validacao (modelo_id, status, observacao) values
      (new.modelo_id, '0', 'tbmodelo_sku') matching (modelo_id);
      end else
  if (deleting) then
      begin
      update or insert into tbmodelo_validacao (modelo_id, status, observacao) values
      (old.modelo_id, '0', 'tbmodelo_sku') matching (modelo_id);
      end

  codigo = coalesce((select first 1 p.codigo from tbproduto p where p.modelo_codigo = new.modelo_id and p.cor_codigo = new.cor_id),0);
  if(codigo > 0)then
  begin
    if(inserting)then execute procedure spi_integracao_mobile('TBPRODUTO',:codigo,'I');
--    if(updating )then execute procedure spi_integracao_mobile('TBPRODUTO',:codigo,'A');
  end
end
^

SET TERM ; ^

