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".