CheckDupl: Verificação de Duplicidade de Registros

🧭 Resumo

Antes de migrações ou cargas de dados, é essencial garantir que não existam chaves duplicadas nas tabelas. A rotina CheckDupl (Configurar > Wizard de Verificação de Duplicidade) identifica e auxilia na eliminação de duplicidades com segurança, gravando os registros removidos em tabelas de backup com sufixo _UNQ.

🧩 Aplicabilidade

  • Migração/upgrade de release do Protheus

  • Carga inicial ou saneamento de base

  • Pré-validação de integrações entre ambientes

  • Verificação periódica de qualidade de dados

✅ Pré-requisitos

  • Acesso ao Portal do Cliente TOTVS para baixar o pacote CHECKUNIQUE/CheckDupl correspondente à sua versão/base

  • Backup da base de dados (obrigatório)

  • Permissão para aplicar patch e alterar menus no SIGACFG

  • Ambiente com baixa concorrência (preferencialmente sem usuários)

  • Permissão no banco para criar/alterar tabelas (devido ao sufixo _UNQ)

Observação — Gestão de Frotas: em ambientes com MV_NGMNTFR = S, siga a documentação específica de Frotas antes de utilizar o CheckDupl (links em Referências).

🛠️ Passo a passo

1) Instalação e menu no Configurador

  1. Baixe o pacote no Portal do Cliente (suporte.totvs.comDownloadsLinha Protheus → pesquise por CHECKUNIQUE).

  2. Aplique o patch no seu ambiente (conforme a sua versão/DB).

  3. No Configurador (SIGACFG): Ambiente → Cadastros → Menus.

  4. Edite o menu do Configurador e inclua um item:

    • Descrição: Verificar Duplicidade

    • Programa: CheckDupl

    • Status: Habilitado

    • Módulo: Configurador

    • Tipo: Função Protheus

  5. Gerar informando SIGACFG para salvar no menu existente (confirme a inclusão).

2) Execução da verificação

  1. No Configurador, acesse Verificar Duplicidade.

  2. Avance o Wizard e informe o caminho do arquivo SX2.UNQ (o sistema carrega as tabelas do SX2).

  3. Selecione as tabelas que deseja avaliar.

  4. Clique em Finalizar e confirme a busca por duplicidades (o tempo varia conforme volume).

  5. Ao término, será exibida a lista de chaves duplicadas.

  6. Selecione os registros a remover (analise criteriosamente):

    • Dica: a opção Marcar registros sugere exclusões, mas revise antes de confirmar.

  7. Clique em Eliminar Duplicidades.

    • Os registros saem da tabela original e vão para uma tabela de backup com sufixo _UNQ (ex.: SA1010_UNQ).

  8. (Opcional) Visualizar o registro completo; Salvar (TXT) duplicidades; Imprimir relatório.

  9. Execute novamente a verificação para validar que não restaram duplicidades.

Regra de ouro: para cada chave duplicada, mantenha apenas uma ocorrência — a que representa o registro válido/atual.

🧯 Erros comuns e como resolver

  • A função não aparece no menu / “Programa inexistente”
    ✔️ Reaplique o patch CHECKUNIQUE/CheckDupl para a mesma release do AppServer/DBAccess; gere novamente o menu do SIGACFG.

  • “Arquivo SX2.UNQ não localizado”
    ✔️ Verifique o caminho informado e a permissão de leitura; confirme se a base possui SX2 consistente.

  • Desempenho lento / travamento
    ✔️ Execute fora do horário de pico, limite a verificação a lotes de tabelas (por módulo), aumente TEMP/TMP do SO e margem de log do banco.

  • Tabela _UNQ já existe
    ✔️ Revise se já houve execução anterior; audite o conteúdo da _UNQ e renomeie/arquive conforme sua política antes de nova execução.

  • Registros “sumiram” após limpeza
    ✔️ Consulte a tabela <tabela>_UNQ (backup) e seu log de mudanças; planeje restore granular se necessário.

❓ FAQ

  • Posso rodar em produção?
    Idealmente não. Execute em homologação e planeje uma janela controlada na produção, com backup e validação de negócio.

  • O que é SX2.UNQ?
    Arquivo que referencia as tabelas e chaves únicas definidas para validação no Wizard.

  • O CheckDupl corrige tudo sozinho?
    Não. Ele indica duplicidades e move os registros excluídos para _UNQ. A decisão de permanência de cada ocorrência é do analista/negócio.

  • Consigo exportar as duplicidades?
    Sim, via opção Salvar (TXT) ou Imprimir (relatório).

  • Impacta integrações?
    Pode. A remoção de duplicidades altera cardinalidade. Coordene com times de integração e republique caches/índices quando aplicável.

  • Há rollback?
    Não automático. Utilize a tabela _UNQ para restaurar dados específicos ou recorra ao backup da base.

📎 Referências


Atualizado em 10/09/2025
Este artigo foi útil?  
Agradecemos sua avaliação.