No Protheus, há dois tipos de delação de dados: a deleção lógica e a deleção física. Quando excluímos um pedido de vendas, por exemplo, no Banco de Dados do Protheus esse pedido vai continuar lá, porém com uma marcação de que houve a deleção lógica, e não a deleção física.
Para entender um pouco mais sobre isso e entender a solução que a User Function desenvolveu, continue no artigo.
Para Download Informe seu e-mail aqui e receba totalmente grátis!
Deleção lógica x Deleção física: O que significa?
A deleção lógica envolve marcar um registro como deletado, enquanto a deleção física implica na remoção efetiva do registro do banco de dados.
O Protheus, por padrão, utiliza a deleção lógica, marcando os registros com um asterisco para indicar que foram deletados. Isso é valioso para preservar a integridade dos dados. Porém, as telas do Protheus irão ignorar tudo o que estiver marcado como deletado.
É possível deletar os registros marcados como deletados?
Há algumas formas de deletar no banco de dados os registros marcados como deletados. Dentre essas formas, estão:
- APSDU, abrindo a tabela e seguindo o caminho conforme a imagem abaixo:
- Banco de Dados, através de um comando do SQL Server
Por que fazer a deleção de deletados no Protheus?
Na maioria das vezes, você não deve se preocupar, pois mesmo que o banco de dados fique com esses registros deletados, o Protheus vai funcionar bem.
No entanto, em alguns casos você precisa se preocupar. Essa limpeza dos registros podem ser solicitadas pelo pessoal de infra ou pelo DBA para:
- Economia de recursos de hardware
- Performance
- Limpeza
Como automatizar a deleção de deletados?
Embora seja possível realizar a deleção de forma manual através da APSDU e do próprio banco de dados, um cliente da User Function chegou até nós com o desafio de automatizar essa deleção. Além disso, a rotina que precisávamos criar tinha alguns pré-requisitos:
- A rotina precisa ser configurável
- Possibilidade de escolher quais tabelas serão limpas
- Escolher data de validade do registro
- A rotina precisa gerar log
- A rotina precisa funcionar via menu
- A rotina precisa funcionar via schedule
- O principal: ser segura
Com base nesses pré-requisitos, aceitamos o desafio e criamos uma rotina capaz de fazer a deleção de deletados automaticamente no Protheus. Para conferir como funciona na prática, assista ao vídeo completo no início do artigo.
IMPORTANTE
Deixamos aqui o alerta de que você precisa de muito cuidado ao manusear estas questões de deletados, principalmente direto no banco de dados. Isso pode gerar problemas que você não quer ter, e com certeza problemas maiores do que os benefícios que você teria. Por isso, sempre consulte o seu DBA para quaisquer questões de SGBD.
Para Download Informe seu e-mail aqui e receba totalmente grátis!
Este é um documento vivo e está sempre em atualização. Se faltou algo, não deixe de comentar no final do artigo ou entre em contato.