---
title: "Expansível: A estrutura \"se...então...senão\" funciona como uma instrução \"switch\" no MapForce"
date: "2011-04-26"
categories: 
  - "data-integration"
tags: 
  - "data-mapping"
  - "mapforce"
  - "v2011r2"
description: Descubra como o componente "if-else" aprimorado no MapForce 2011 R2 funciona como uma instrução "switch", melhorando a eficiência e a legibilidade do mapeamento de dados.
---
Status: #blog

Tags:  #data-mapping #mapforce #v2011r2

Categories: [data-integration](/blog/pt/category/data-integration.md)
# Expansível: A estrutura "se...então...senão" funciona como uma instrução "switch" no MapForce

Em resposta a vários pedidos dos utilizadores, o componente "se...então" (if-else) no MapForce foi melhorado na versão [MapForce 2011 Release 2](https://www.altova.com/pt/mapforce.html) para suportar um número ilimitado de variáveis. Esta funcionalidade, que é equivalente a uma instrução "switch" em muitas linguagens de programação, permite controlar facilmente o fluxo de dados num projeto de mapeamento, associando um valor a um critério selecionado. Por exemplo, a captura de ecrã abaixo mostra o componente "se...então" utilizado em combinação com outros componentes para analisar dados de temperatura e produzir os seguintes resultados:

- Se a temperatura for superior a 20, o valor "verdadeiro" é atribuído à variável booleana "bool1" e a string "alto" é atribuída à variável "value-true1".
- Se a temperatura for inferior a 5, o valor "verdadeiro" é atribuído à variável booleana "bool2" e a palavra "baixo" é atribuída à variável "value-true2".
- Apenas um dos parâmetros de valor-verdade pode ser verdadeiro para uma determinada temperatura, e é esse o que é transmitido para o atributo "desc" no componente de destino.

[![Exemplo de estrutura condicional "se-então" expansível, incluído no MapForce](https://lh4.ggpht.com/_REdrfeVqYdU/Ta2Lo1iDnOI/AAAAAAAAAX4/kmASc0NQELo/image%5B5%5D.png?imgmax=800 "Expandable if-else example included with MapForce")](https://www.altova.com/whatsnew.html#mapforce) 

A captura de ecrã acima foi extraída do ficheiro de exemplo "Classify Temperatures.mfd", que está incluído durante a instalação do MapForce. Assim, pode processar imediatamente os dados de exemplo ou modificar o mapeamento para ver os resultados por si próprio. A nova funcionalidade "se-então" expansível ajuda os programadores a criar mapeamentos de dados de forma mais rápida, cria um diagrama de mapeamento que exibe o teste condicional de forma mais eficaz e facilita os testes e a depuração, porque a função "se-então" expandida é muito mais fácil de ler do que uma estrutura em cascata de componentes individuais. Isto torna-se ainda mais evidente quando tem de avaliar um grande número de condições. A captura de ecrã abaixo mostra uma conversão de texto para número, onde o texto consiste numa abreviatura de três letras do mês. (Para poupar espaço aqui, esta função "se-então" processa apenas textos referentes aos primeiros seis meses do ano.) 

[![Declaração "se-então" expansível no MapForce](https://lh6.ggpht.com/_REdrfeVqYdU/Ta2LpYGPmXI/AAAAAAAAAYA/E7bi5VFTTjU/image_thumb%5B5%5D.png?imgmax=800 "Expandable if-else statement in MapForce")](http://lh5.ggpht.com/_REdrfeVqYdU/Ta2LpLP_TFI/AAAAAAAAAX8/iZp2_aoamv8/s1600-h/image%5B10%5D.png) 

Devido a um erro de cópia e colagem, esquecemo-nos de atualizar o valor da constante de saída para o mês de maio, alterando-o de 4 para 5. É um erro muito mais fácil de detetar e corrigir quando se consegue visualizar toda a lógica numa única janela! (**ATUALIZAÇÃO:** Originalmente, criámos este exemplo para ilustrar as vantagens do "If-Else" expandido em relação aos mapeamentos "If-Else" aninhados ou em cascata, que podem rapidamente tornar-se demasiado grandes para serem visualizados numa única tela. Para um design melhor para resolver este e outros problemas semelhantes, utilizando uma tabela de pesquisa, consulte o artigo do blogue [Declaração "Switch" vs. Tabela de Pesquisa no MapForce](https://www.altova.com/blog/2011/05/switch-statement-vs-look-up-table-in.html).) 

**Descubra por si mesmo como é fácil utilizar as funções expandidas de "se...então" nos seus próprios projetos de mapeamento de dados.** **[Descarregue uma versão de avaliação gratuita de 30 dias](https://www.altova.com/pt/download/mapforce/data_mapping_enterprise.html)** **do MapForce.**
