Ao exportar uma global para um arquivo .gof, os dados dos nós podem não ser incluídos dependendo do método utilizado ou dos parâmetros especificados. Para resolver isso, você pode utilizar o método Export() da classe %Library.Global que oferece mais controle sobre o que deve ser exportado.
Exportação de subárvores completas da global: Se deseja exportar os dados completos de um nó com seus subnós (subárvore), basta não utilizar os parênteses finais ao especificar os nós. Exemplo:
SET gbl("DATA(1,2")="" SET gbl("DATA(2,\"\"two\"\")")="" SET file="C:\\temp\\DATA12and2two_subtrees.gof" WRITE ##class(%Library.Global).Export(,.gbl,file)Isso exportará o conteúdo completo dos nós especificados para o arquivo de destino [1].
Exportação de nós específicos: Caso precise exportar apenas os nós de nível superior (sem subnós), utilize os parênteses:
SET gbl("DATA(1)") SET gbl("DATA(2)") SET file="C:\\temp\\DATA1and2.gof" WRITE ##class(%Library.Global).Export(,.gbl,file)Isso incluirá no arquivo apenas os valores dos nós superiores [1].
Exportação de globals mapeadas: No caso de globals mapeadas, o formato de saída padrão pode criar problemas específicos. Para exportá-las no formato %GOF, basta incluir o diretório do banco de dados como primeiro parâmetro no método
Export(). Exemplos podem ser encontrados em [2].
Certifique-se de passar os nomes dos nós no array utilizando referência (.) conforme descrito nos exemplos, e verifique o formato adequado de exportação para suas necessidades específicas.
Fontes:
- Efetue login para postar comentários