UPDATE OR INSERT INTO TBPARAMETRO (TABELA, CONTROLE, CODIGO, DESCRICAO, VALOR, OBSERVACAO, GRUPO, DATAHORA, USUARIO_ID)
                           VALUES ('SISTEMA', 1181, 'GRAVAR_ESTOQUE_ATUALIZADO', 'GRAVAR SE ESTOQUE FOI ATUALIZADO', '0', 'GRAVAR SE ESTOQUE FOI ATUALIZADO, UTILIZADO NO ECOMMERCE PARA SABER SE DEVE OU NAO SUBIR OS ESTOQUES', 'WEB11581', '2023-09-06 13:44:36', 186)
                         MATCHING (TABELA, CODIGO);

SET TERM ^ ;

CREATE OR ALTER trigger ttbestoque_saldo_999 for tbestoque_saldo
active before insert or update or delete position 999
AS
declare variable produto integer;
declare variable GRAVAR_INTEGRACAO integer;
begin

  update tbreplica_tabela set Status = '0', Status_Qlik = '0'
  Where tabela = 'TBESTOQUE_SALDO'
    and (Status = '1' or Status_Qlik = '1') ;

  update tbreplica_tabela set Status = '0', Status_Qlik = '0'
  Where tabela = 'TBREPOSICAO_CONSUMO'
    and (Status = '1' or Status_Qlik = '1') ;

  GRAVAR_INTEGRACAO = fn_parametro('SISTEMA.GRAVAR_ESTOQUE_ATUALIZADO');

  IF(GRAVAR_INTEGRACAO = 1)THEN
  BEGIN
      --se vende no ecommerce
      produto = coalesce((select first 1 k.produto_id from SPC_SKUS_ECOMMERCE2(0,new.produto_codigo) k),0);
      if(produto > 0)then
      begin
          UPDATE OR INSERT INTO TBUPDATE_ECOMMERCE (TABELA, TABELA_ID, SUB_ID)
                VALUES ('TBESTOQUE_SALDO', new.produto_codigo, new.estabelecimento_codigo)
              MATCHING (TABELA, TABELA_ID, SUB_ID);
      end
    
      if(inserting)then execute procedure spi_integracao_mobile('TBESTOQUE_SALDO',new.produto_codigo,'I');
      if(updating )then execute procedure spi_integracao_mobile('TBESTOQUE_SALDO',new.produto_codigo,'A');
      if(deleting )then execute procedure spi_integracao_mobile('TBESTOQUE_SALDO',old.produto_codigo,'D');
    
      if(updating or inserting)then
      begin
        produto = coalesce((select first 1 y.id from tbapi y where y.estabelecimento_id = new.estabelecimento_codigo and y.localizacao_id = new.localizacao_codigo),0);
        if(produto > 0)then
        begin
            if(updating )then execute procedure spi_integracao_api('TBESTOQUE_SALDO',new.produto_codigo,'A');
        end
      end
  END
end
^

SET TERM ; ^

