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:

  1. Crie um novo projeto Biztalk.
  2. Adicione um schema, schInput.
    • Para esse schema adicione um Element Field chamado Nome.
  3. 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.
  4. Adicione um map, tfmOutput, e referencie os devidos schemas.

    Deverá ficar parecido com a seguinte tela:

    clip_image002

  5. Na paleta de Toolbox que fica ao lado esquerdo, expanda a aba “Advanced Functoids” clique e arraste o functoid “Table Looping” para o Grid.

    clip_image004

  6. Com o botão esquerdo do mouse de dois clique para abrir o functoid.

    clip_image006

  7. 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.

    clip_image008

  8. Clique com o botão direito no Table Looping e escolha a opção “Configure Table Looping Grid”. Abrirá a seguinte tela:

    clip_image010

    A Column 1, Column 2 e Column 3 representará o campo Nome, Endereco e Cidade respectivamente.

    clip_image012

  9. Clique em Ok para finalizar.
  10. Na paleta de Toobox clique e arraste para o grid 3 Table Extrator.
  11. Clique no Table Looping e arraste ate o Table Extrator.

    clip_image014

  12. 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.

    clip_image016

    clip_image018

    clip_image020

  13. Clique em cima do Table Extrator e Arraste para o campo Correspondente.
  14. Clique em cima do Table Looping e arraste para o Record Cliente.

clip_image022

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:

image

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

BizTalk 360

Visitas

Arquivo do blog