Referências da Chave Recursiva

Surgem chaves externas recursivas quando um objeto tem uma referência de chave externa para outro objeto que, por sua vez, tem uma referência de chave externa para o primeiro objeto.

Por exemplo, uma zona tem chaves externas em seus portais, que têm chaves externas em suas zonas. Se o objeto que você deseja empacotar tiver relacionamentos recursivos, você deverá criar um objeto de negócios "empacotado para adicionar" que tenha somente o número mínimo de elementos necessários para adicionar a entidade. Um objeto de negócios empacotado para adicionar de uma zona contém somente o código da zona e a descrição, sem nenhuma referência aos seus portais. Da mesma forma, um objeto de negócios empacotado para adicionar de um portal define somente seu código e sua descrição.

Quando você usa o pacote, o sistema inicialmente adiciona o objeto de manutenção com base nos elementos definidos no objeto de negócios empacotado para adicionar. Antes de confirmar o pacote, o sistema atualiza o objeto de manutenção com o conjunto completo de elementos tomando por base seu objeto de negócios físico.

Observe que o uso do Objeto de Negócios empacotado para adicionar também beneficia os registros que tenham chaves externas opcionais ou chaves externas que sejam parte de uma tabela filha. Desse modo, a pessoa que criar o empacotamento não precisa se preocupar com a sequência dos registros. Por exemplo, uma Referência de Chave Externa pode, opcionalmente, fazer referência a uma zona para pesquisar. Caso uma nova Referência da Chave Externa e a zona de pesquisa dela estiverem empacotadas juntas para serem copiadas para outra região, o Objeto de Negócios empacotado para adicionar da Referência da Chave Externa (que não inclui a zona) garante que a referência da Chave Externa possa ser adicionada antes da zona, sem que isso cause erros de validação.