Exclusão de Registros Órfãos

O produto suporta um método de correção de dados para excluir registros órfãos de uma determinada tabela. Os registros órfãos são registros da tabela filho nos quais o registro pai não existe mais.

Os pontos a seguir descrevem a funcionalidade em um nível superior.

  • É criada uma solicitação para capturar a tabela da qual os registros órfãos devem ser excluídos. O pressuposto é que a investigação anterior identificou a tabela-alvo.
  • A lógica de back-end gera o SQL para excluir os registros órfãos e fornece contagens das linhas a serem excluídas.
  • Quando a solicitação é enviada, é iniciado um processo em batch que executará o SQL em segundo plano. Os backups são feitos antes da execução da exclusão.
  • Quando a solicitação for concluída, uma solicitação separada poderá ser criada para limpar as tabelas de backup do banco de dados.

Essa funcionalidade é suportada pela configuração e lógica fornecidas nos objetos de negócios base Exclusão de Registro Órfão (F1-OrphanRecordDeletion) e Tipo de Exclusão de Registro Órfão (F1-OrphanRecDelType). As seções a seguir descrevem as principais etapas do ciclo de vida da solicitação.

Capturando os Detalhes da Exclusão

O produto base fornece um serviço de negócios F1-SelectOrphanRecordsSQL que cria o SQL para selecionar registros órfãos de uma tabela de destino. O serviço de negócios retorna instruções SQL adicionais para as tabelas filho e neto do destino, se aplicável. O produto também fornece o serviço de negócios F1-CountRecords que conta os registros órfãos com base no SQL gerado por F1-SelectOrphanRecordsSQL.

O Objeto de Negócios de Exclusão de Registro Órfão chama esses serviços de negócios em um algoritmo de pós-processamento e registra os detalhes no registro de solicitação.

Aprovando e Enviando a Solicitação

Depois que uma solicitação de exclusão é capturada, há várias etapas principais a serem executadas.

  • Os registros de solicitação de exclusão são criados no estado Pendente para que as instruções SQL e as contagens de registros possam ser revisadas antes de continuar.

  • Se os detalhes da exclusão estiverem corretos, a solicitação poderá ser transferida para Pronta para Aprovação. Uma entrada de atividade é criada para notificar os aprovadores potenciais. A solicitação deve ser aprovada por outra pessoa que não seja o usuário que criou o registro. A função e o tipo de entrada de atividade de notificação são configurados no Tipo de Exclusão de Registro Órfão.

  • A solicitação deve ser aprovada antes de ser enviada para processamento. Se o Tipo de Exclusão de Registro Órfão indicar que as contagens de registros devem ser verificadas antes da exclusão, um aviso será emitido no momento da aprovação se houver uma incompatibilidade de registro.
  • Quando a solicitação estiver no estado Aprovada, ela poderá ser enviada. O estado Enviado é configurado para ser processado por um monitor batch para que a exclusão do registro seja realizada em segundo plano. A tarefa em batch de monitoramento é enviada automaticamente. Quando a exclusão do registro for concluída, a solicitação passará para o estado Processado para que os resultados possam ser revisados.
  • Se não for possível concluir a exclusão com êxito, a solicitação entrará no estado Erro e uma entrada de atividade será criada. O erro para executar o tipo de entrada e a função são configurados no Tipo de Exclusão de Registro Órfão.

Conclusão e Limpeza

Caso os resultados não sejam os esperados, o processo de exclusão de registro incluirá as etapas para fazer backups das tabelas de destino. É possível criar uma solicitação separada para tratar a exclusão de tabelas de backup indesejadas em um momento apropriado. Se o Tipo de Exclusão de Registro Órfão especificar um tipo de solicitação de limpeza, um registro de solicitação desse tipo será criado quando a solicitação de exclusão entrar no estado Concluído. A funcionalidade de limpeza é suportada pela configuração e lógica fornecidas nos objetos de negócios base Limpeza de Tabela de Backup (F1-BackupTableCleanup) e Tipo de Limpeza de Tabela de Backup (F1-BackupTableCleanupType).