Trabalhando com Functoid “Table Looping”
Usado em conjunto com o Functoid “Table Extractor”, serve para criar estruturas de any registros podendo conter valores de campos, valores constantes, e valores que resultam de outros functoids. Pode ser usado também para adicionar registros em uma estrutura quando não houver registros de entrada.
Vamos começar com um exemplo bem simples:
- Crie um novo projeto Biztalk.
- Adicione um schema, schInput.
- Para esse schema adicione um Element Field chamado Nome.
- Adicione outro schema, schOutput
- Para esse schema adicione um Record “Cliente”.
- Nesse Record set a propriedade “Max Occurs” para “unbounded”.
- Adicione três Element Field: Nome, Endereco, Cidade.
- Adicione um map, tfmOutput, e referencie os devidos schemas.
Deverá ficar parecido com a seguinte tela:
- Na paleta de Toolbox que fica ao lado esquerdo, expanda a aba “Advanced Functoids” clique e arraste o functoid “Table Looping” para o Grid.
- Com o botão esquerdo do mouse de dois clique para abrir o functoid.
- Clique no botão “Insert New Parameter”.
- O Primeiro parâmetro deve conter o numero de registros que será gerado. Ou o link que corresponde a quantidade de registros.
- O Segundo parametro deve conter o numero de colunas.
- E os demais parâmetros são os possíveis valores.
- No nosso exemplo o Primeiro parâmetro deve conter o valor 4 (haverá 4 registros), e o segundo parâmetro o valor 3 (3 colunas correspondendo Nome, Endereco e Cidade).
- Acrescente também mais 12 parametros, sendo 4 valores para Nome, 4 Valores para Endereço e 4 Valores para Cidade.
- Clique no botão Ok para finalizar.
- Clique com o botão direito no Table Looping e escolha a opção “Configure Table Looping Grid”. Abrirá a seguinte tela:
A Column 1, Column 2 e Column 3 representará o campo Nome, Endereco e Cidade respectivamente.
- Clique em Ok para finalizar.
- Na paleta de Toobox clique e arraste para o grid 3 Table Extrator.
- Clique no Table Looping e arraste ate o Table Extrator.
- Clique duas vezes em cima de cada Table Extrator e acrescente o parâmetro correspondente a coluna. O Primeiro Table Extrator será a coluna 1, o Segundo será a coluna 2 e o Terceiro a coluna 3.
- Clique em cima do Table Extrator e Arraste para o campo Correspondente.
- Clique em cima do Table Looping e arraste para o Record Cliente.
Agora é só clicar em cima do map tfmOutput.btm com o botão direito e clicar em Test Map. Será gerado um XML com o resultado do map. Que deve ser:
Segue o Código do Exemplo.
http://sampletablelooping.codeplex.com/
Nessa solution tem dois projetos, um deles é idêntico ao que acabamos de criar, e o outro é um pouco mais complexo, sendo que a mensagem de entrada parte de um XML.
Até a próxima!
Seja o primeiro a comentar ;)
Postar um comentário