Uma solução rápida para funções complexas
Algumas conversões de dados exigem várias etapas para satisfazer as complexas necessidades de comunicação de dados atuais. O Altova MapForce 2011 permite combinar graficamente uma vasta gama de funções matemáticas, lógicas, de texto e outras funções especializadas para criar "equações de dados" complexas, de forma a obter os resultados desejados. Se estiver a trabalhar num mapeamento complexo e extenso, se estiver a utilizar uma função que não conhece ou quando a sua função gera um resultado intermédio que precisa de ser processado posteriormente, é útil testar o seu trabalho a cada etapa do processo de construção. Pode utilizar um fichiero de texto simples como um alvo temporário para visualizar o resultado da sua função em desenvolvimento. Suponhamos que queremos adicionar uma marca de data e hora a um mapeamento existente de um ficheiro de saída, para registar o momento em que os dados foram gerados. Agora, podemos experimentar facilmente a função "MapForce" num novo mapeamento que simplesmente estabelece uma ligação a um ficheiro de texto.
![]()
Clicar no botão "Saída" (ou "Exportar") na parte inferior da janela de mapeamento mostra-nos o resultado imediato:
![]()
Ok, isso funciona, mas talvez o utilizador do ficheiro de saída gostaria de ver uma versão com um formato mais elegante. Podemos usar várias funções de data e hora e funções de texto, e criar uma função complexa até que o nosso mapeamento fique assim:
![]()
Ou, podemos simplesmente usar a função de conversão "format-dateTime" com uma constante de texto para definir o formato:
![]()
Enquanto trabalhamos, podemos pressionar o botão "Saída" a qualquer momento, até ficarmos satisfeitos com um resultado que se assemelhe a este:
![]()
Se não trabalhar com tipos de dados "dateTime" todos os dias, é difícil criar uma string de formatação na primeira tentativa que produza o resultado desejado! Depois de várias tentativas, variações e consultas à ajuda do MapForce, aqui está a formatação que desenvolvemos e que foi armazenada na constante de string associada à entrada de formatação da função de conversão "format-dateTime":
![]()
Até agora, utilizamos um ficheiro de texto que foi definido como um ficheiro CSV básico, com apenas um campo. No entanto, pode abrir a janela de propriedades do ficheiro e adicionar campos ou criar um ficheiro de saída mais personalizado.
![]()
Uma vantagem de usar um ficheiro de texto como destino de saída é que não há verificação de tipos do resultado da função. Assim, o destino de ficheiro de texto permite examinar e verificar a saída de qualquer função. Na captura de ecrã abaixo, criámos uma função matemática e adicionámos um segundo campo ao destino do ficheiro de texto para mapear o resultado.
![]()
Agora, o resultado é uma única linha, com valores separados por vírgulas, como este:
![]()
Se o nosso objetivo final for um campo de uma base de dados ou um elemento XML com um tipo de dados inteiro, então podemos verificar imediatamente que esta função matemática não produz o tipo de dados esperado. Quando tiver aperfeiçoado a sua função no mapeamento de teste, pode simplesmente selecioná-la, copiá-la e colá-la diretamente no seu mapeamento principal. Em seguida, pode conectar a saída da função ao seu objetivo final. Na captura de ecrã abaixo, a nossa função de formatação de data e hora está mapeada para um elemento num esquema XML que está definido como uma cadeia de caracteres.
![]()
Se esta função é algo que provavelmente precisará utilizar novamente no futuro, pode convertê-la numa função definida pelo utilizador e guardá-la na sua biblioteca para facilitar a sua reutilização.
![]()
Pode até usar um ficheiro de texto como um alvo temporário para construir e testar uma função complexa diretamente dentro do seu mapeamento. Nesse caso, o seu mapeamento inclui múltiplas saídas possíveis. O botão com o ícone de um olho, localizado no canto superior direito de cada ficheiro de saída, permite selecionar qual ficheiro de saída é exibido na janela de saída.
![]()
Quando seleciona um ficheiro de texto como visualização de saída, o motor de execução do MapForce não processa o mapeamento completo, apenas a função associada ao ficheiro de texto. Isto pode poupar muito tempo quando pretende apenas verificar o resultado da função e o seu mapeamento principal processa um grande volume de dados, ou se não quer correr o risco de inserir dados inválidos numa base de dados, e em muitas outras situações. Descubra por si mesmo o quão fácil é aplicar o MapForce aos seus próprios projetos de mapeamento de dados! Descarregue uma versão de avaliação gratuita de 30 dias do MapForce.