Resolução XML
A maioria das chaves externas geradas pelo sistema são armazenadas em campos físicos e em tabelas de características e, portanto, o valor legado delas é substituído pela chave nova correspondente, como parte da inserção ao processo de produção. Raramente, objetos de manutenção podem armazenar chaves externas geradas pelo sistema em um campo de armazenamento XML, ou seja, um campo definido com o tipo de dados CLOB ou XML. Essa etapa é aplicável apenas a esses objetos de manutenção.
Durante essa etapa, o sistema resolve chaves externas conversíveis geradas pelo sistema que podem estar residindo em campos de armazenamento XML que você possa ter carregado nas tabelas intermediárias. Esta seção contém uma discussão geral de nível alto sobre o processo de resolução XML.
A Tabela de Resolução XML
É importante compreender que o sistema não substitui as chaves primárias nos campos de armazenamento XML no banco de dados da tabela intermediária, pois essa é uma transação de E/S extremamente onerosa. Em vez disso, existe uma tabela de resolução XML correspondente para cada tabela que define um campo de resolução XML para capturar o conteúdo XML armazenado resolvido de cada linha, ou seja, o conteúdo com todas as chaves antigas substituídas pelas novas chaves atribuídas.
A convenção "<primeira letra da flag do proprietário>R_<nome_da_tabela>" é usada para indicar o nome da tabela de resolução XML.
O processo em batch de inserção que transfere as linhas para o banco de dados de produção substitui cada campo de armazenamento XML pelo valor resolvido da tabela de resolução XML correspondente.
Um Processo em Batch por Objeto de Manutenção
Cada objeto de manutenção que for elegível para conversão e compatível com campos de armazenamento XML receberá um processo em batch de resolução XML. Esses processos em batch devem ser executados para resolver chaves externas que possam residir nesses campos de armazenamento XML.
Esses processos são de multithread e devem ser executados após a conclusão da etapa de atribuição de chave e antes da inserção dos dados à produção.
Elegibilidade de Resolução XML
Nem todos os objetos de manutenção compatíveis com campos de armazenamento XML armazenam, no campo de armazenamento XML, chaves externas conversíveis geradas pelo sistema. Caso nenhum dos objetos de negócios associados ao objeto de manutenção envolva o mapeamento dessas chaves externas a um campo de armazenamento XML, então a resolução XML não será necessária em nenhuma linha do objeto de manutenção. O processo em batch de resolução XML detecta essas situações e as conclui sem armazenar nenhuma linha nas tabelas de resolução XML do objeto de manutenção.
Apenas Valores Resolvidos São Capturados
Os campos de armazenamento XML geralmente armazenam grandes quantidades de dados. Para evitar a captura do mesmo conteúdo XML de forma redundante, o sistema armazena valores em campos de armazenamento XML resolvidos somente se o valor resolvido for diferente do valor original, ou seja, caso pelo menos uma chave tenha sido resolvida.
-
Se essa for a tabela primária do objeto de manutenção, um registro será inserido na tabela de resolução XML correspondente desse registro, sem valor no campo de armazenamento XML.
-
Se essa for a tabela-filho do objeto de manutenção, nenhum registro será inserido na resolução XML correspondente desse registro.
Erros Relatados
Erros encontrados durante a resolução XML serão registrados na tabela de conversão de Erros de Validação (CI_VAL_ERR). Observe que, no começo dessa tarefa, todas as linhas na tabela de erros de conversão do objeto de manutenção de processo serão excluídas.
Os erros destacados pelo processo de resolução XML podem ser visualizados na página "Resumo de Erros de Validação".
Distribuição Irregular de Threads Usando Chaves Legadas
Por padrão, o processo em batch de "resolução XML" distribui a carga de processamento de thread usando a estratégia em batch Seleção SQL de Nível de Thread (THDS). Esse método utiliza a chave primária da entidade para ser distribuído uniformemente.
No esquema de preparação, as entidades ainda fazem referência às suas chaves primárias legadas, que podem não ser distribuídas uniformemente. Quando a diferença de distribuição for significativa, o desempenho desse processo em batch poderá ser afetado. Nessa situação, talvez você queira usar a estratégia de batch Intervalos de Chaves (KEYS). Para obter mais informações, consulte Processos em Segundo Plano Paralelos.
Para fazer isso, adicione o parâmetro de batch comum Estratégia de Batch ao registro de controle de batch de "resolução XML" correspondente e defina-o como o valor "KEYS".
