Pendencias Integracao

De Merito Wiki
Ir para: navegação, pesquisa

Procedimento para Execução de SQLs com Alteração

Regra geral: Sempre que for executar um SQL que altere dados, rodar pelo erro (ferramenta de execução em transação) seguindo as regras abaixo:

  1. Encerrar cada comando com ;.
  2. Usar aspas duplas quando necessário.
  3. Garantir que todos os comandos sejam executados na mesma transação.
  4. Em caso de erro, a transação será revertida (rollback automático).

cpagardoc — Inativar

  • Apenas inativar o registro.
  • Observação: Não vale a pena buscar os dados da matriz para corrigir (mesmo sendo o “correto”).

Produto com estoque negativo

UPDATE tabemp 
SET cod = cod 
WHERE cod = 1;

SET merito.usuario_master = 'true';
  • Esse procedimento força atualização e habilita permissões temporárias para corrigir o estoque.

Produto com valor (BK) já existente

  • Ao tentar deletar e receber erro de que o registro está em uso:
    • Identificar o id_valor informado no erro.
    • Executar:
DELETE FROM etqprod_vlrhist 
WHERE id_valor = {id_do_erro};
  • Isso remove o histórico de valor, permitindo a atualização correta.

UPDATE sem linhas afetadas

  • Se um UPDATE não afetar nenhuma linha:
    • Abrir a engrenagem (detalhes do log).
    • Verificar se o INSERT foi executado antes do UPDATE.
  • Esse problema não deve mais ocorrer, mas ainda vale verificar.

Placa duplicada (matriz e unidade)

Cenário: Uma placa cadastrada tanto na matriz quanto na unidade.

Procedimento

  1. Tentar deletar na matriz usando "Gerar Exclusão".
    1. Se não houver erro de chave estrangeira:
      1. Deletar na matriz.
      2. Inativar na unidade a placa que veio da matriz.
    2. Se houver erro de chave estrangeira:
      1. Inativar na matriz.
      2. Deletar na unidade.
      3. Executar um UPDATE nas notas que usaram a placa para apontar para o ID da matriz.
  2. Escolher a base com menos registros para deletar/inativar. Geralmente a unidade é a melhor opçã