Dados com Chaves Primárias Geradas pelo Sistema

Para registros com chaves geradas pelo sistema, há um problema se o ambiente de destino já tiver um registro com a mesma chave, mas não representar o mesmo registro. A ferramenta não deve estar apenas atualizando esse registro de destino com a exibição da origem, caso isso inicie os relacionamentos de chave externa existentes no destino.

A ferramenta oferece suporte para dados administrativos com chaves primárias geradas pelo sistema. A lógica depende do objeto de manutenção para usar um método que verifica outros atributos do registro (considerado uma "chave lógica") para detectar se o registro sendo migrado já existe na região de destino ou não. Os exemplos nesta seção são baseados no objeto de manutenção Anexo. Anexos comuns são considerados dados administrativos. O objeto de manutenção do anexo usa o nome do arquivo e a data de criação como "chave lógica".

Imagine que um anexo comum para o arquivo "códigos de taxa padrão" exista em uma região de origem com a chave 123456789. A tabela abaixo destaca possíveis situações na região de destino e as ações suportadas em CMA.

Cenário Situação de Destino Ação Comentários
1 Sem registro correspondente O registro pode ser adicionado com a chave 123456789.
2 O registro existe com a chave 123456789 e a lógica confirma que também é o anexo "códigos de tarifa padrão". O registro pode ser atualizado.
3 O registro existe com a chave 123456789, mas a lógica detecta que não é o anexo "códigos de tarifa padrão". O registro não é atualizado. É emitido um erro. O sistema não pode atualizar esse registro porque não é o registro de anexo correto.
4 O sistema detecta que outro registro de anexo existe para o anexo "códigos de tarifa padrão" com um ID diferente. O registro não é atualizado. É emitido um erro. Presume-se que o registro foi criado diretamente no destino ou foi copiado de uma origem diferente.

Os casos de uso descritos nos cenários 3 e 4 acima exigiriam mapeamento de chaves para rastrear o ID da origem até o ID no destino para que outros registros da origem que fizessem referência a essa chave como chave externa sejam atualizados como parte da migração. Não há suporte para essa funcionalidade.

Os cenários 1 e 2 acima têm suporte para objetos de manutenção que usam o método para detectar a chave lógica.

Observação: Se um objeto de manutenção com uma chave gerada pelo sistema não oferecer um método para detectar a chave lógica, o CMA atualizará um registro existente com o mesmo ID. Para objetos de manutenção na estrutura que oferecem esse método, consulte Configuração de Migração Fornecida pela Estrutura. Para o aplicativo integrável específico, consulte no adendo do CMA informações sobre suporte para dados com chaves geradas pelo sistema.

O produto recomenda que uma implementação defina uma estratégia de migração de modo que registros com chaves geradas pelo sistema sejam sempre criados na mesma região e sempre sigam um caminho padrão de migração para promover os dados dessa região de origem para outras regiões. Seguindo essa estratégia, seria possível minimizar ou eliminar a possibilidade de que um registro para a mesma chave lógica seja criado em diversos locais, já que IDs diferentes seriam gerados como descrito pelo cenário 4 acima.

Objetos de Manutenção com uma Mistura de Dados Administrativos e não Administrativos

Há alguns objetos de manutenção contendo uma mistura de dados mestres ou de transação e dados administrativos. O Anexo é um exemplo disso. O produto suporta anexos comuns e anexos de propriedade. Anexos de propriedade são registros específicos ao proprietário. O proprietário pode ser dados mestres ou de transação, e seus anexos são, portanto, considerados dados mestres ou de transação. Anexos de propriedade não são candidatos para migração usando CMA. Por outro lado, anexos comuns são considerados dados administrativos e podem ser candidatos para migração usando CMA. Para esses casos de uso, uma implementação pode seguir a estratégia sugerida de apenas criar os dados administrativos em uma região para que os IDs para anexos comuns não sejam reutilizados. Contudo, é razoável e esperado que os anexos de propriedade sejam criados na região de destino e possam receber uma chave gerada pelo sistema que corresponda à chave de um anexo comum da região de origem.

Para tentar minimizar esse problema, o sistema inclui uma lógica especial a ser usada por qualquer objeto de manutenção que possa conter dados administrativos misturados com dados mestres ou de transação. Essa lógica especial gera a chave de um registro administrativo com um zero (0) no meio da chave e garante que as chaves para dados mestres e de transação não incluam um zero nesse local. Para objetos de manutenção na estrutura que usam esse método, consulte Configuração de Migração Fornecida pela Estrutura. Para seu aplicativo integrável específico, consulte no adendo do CMA informações sobre objetos de manutenção adicionais que possam estar nessa categoria.