Criando Schema Flat File Posicional

Vamos imaginar que precisamos criar schemas para receber um arquivo Flat File do tipo posicional.
Como esse:

image

Então o arquivo tem um cabeçalho, e o corpo como texto.

Esse arquivo contem 3 campos:

CODIGO – Posicao 0 a 6
PRODUTO – Posicao 7 a 20
QUANTIDADE – Posicao 21 a 30

Importando o Schema


Crie um projeto do tipo Biztalk.
Esse arquivo vai se dividir em dois schemas, um representando o Header e o outro representando o Body.
1 - Clique com o botão direito em cima do projeto e em Add –>; New Item.

image

2 - Escolha a opção Flat File Schema Wizard.
3 - De um nome para o schema, aqui usei o schHeaderProduto.xsd.
4 - Clique em Add.
5 - A tela BizTalk Flat File Schema Wizard vai aparecer. Clique em Next.
6 - No campo Instance file, procure a instancia do Arquivo que queremos importar.
7 - No campo Record Name, esse vai ser o Root do nosso schema. Nesse caso, coloquei Header.
8 - No campo Target namespace, podemos escolher o Namespace que o schema terá. Como o arquivo do Body deverá ter o mesmo namespace que o arquivo do Header, coloquei o valor http://BizTalk_Server_Project1.schProduto .
9 - No campo Code Page, deixei o UTF-8 que é o padrão. Porém se o arquivo contiver caracteres especiais sugiro escolher o Western-European (1252). Pois podemos ter problemas como descrito aqui.

image

10 - Clique em Next.
11 - Nessa tela devemos selecionar os dados que devem ser considerados. Útil quando o arquivo tem muitos registros.
12 - Selecione apenas o Header.

image

13 - Clique em Next.
14 - Nessa tela ele pergunta como queremos identificar os registros, como o arquivo é baseado em posição, Escolha a opção By relative positions.

image

15 - Clique em Next.
16 - Clicando na posição, delimite os campos, como no exemplo a seguir:

image

17 - Clique em Next.
18 - Nessa tela nomeie os campos com nomes sugestivos.

image

19 - Clique em Next.

image

20 - Clique em Finish. O arquivo schHeaderProduto.xsd foi criado.
21 – Repita os passos de 1 ao 9 para criar o arquivo de schBodyProduto.xsd

image

22 - Clique em Next.
23 - Selecione somente os registros que representam o corpo do arquivo.

image

24 - Clique em Next.
25 - Como vamos criar um Record que se repete, escolha a opção By delimiter positions.

image

26 - Clique em Next.
27 - Nessa tela escolha o simbolo que delimita o registro. Aqui será o ENTER, representado pelo {CR}{LF}

image

28 - Clique em Next.
29 - No primeiro registro, no campo Element Name, coloque um nome para o Record, no caso Produtos.
30 - No campo Element Type, escolha o tipo Repeating record.
31 - E nos outros registros no campo Element Type, escolha Ignore.

image

32 - Clique em Next.
33 - Ficará assim:

image

34 - Clique em Next.
35 - Selecione o primeiro registro.

image

36 - Clique em Next.
37 - Escolha a opção By relative positions.

image

38 - Clique em Next.
39 - Clique no posição para delimitar os campos.

image

40 - Clique em Next.
41 - No campo Element Name, coloque nomes sugestivos.

image

42 - Clique em Next.

image

43 - Clique em Finish. E o arquivo schBodyProduto.xsd foi criado no seu projeto.

Ao abrirmos esse arquivo no Visual Studio, podemos notar que o Record Produtos foi criado com a propriedade Max Occurs igual unbounded. Isso quer dizer que esse Node pode se repetir várias vezes.

image

Hoje vimos como criar um schema de um arquivo Flat File Posicional.

Mas somente criar o schema que representa o Arquivo não basta, para o BizTalk conseguir traduzir isso tudo para o XML, precisamos criar um Pipeline Customizado, como ensina meu amigo Sandro Pereira neste Post.

Até a próxima.


Seja o primeiro a comentar ;)

Postar um comentário

BizTalk 360

Visitas

Arquivo do blog