Usuário com melhor resposta
Duvida para validações de arquivos

Pergunta
-
Prezados,
Preciso validar a estrutura de um arquivo e tomar uma ação quando o arquivo estiver fora da estrutura.
Um exemplo do meu problema e do que precisa acontecer após a validação.
Arquivo com erro:
01 123
02
456
04 888
05 098
08 111
Arquivo após corrigido:
01 123
02 456
04 888
05 098
08 111
Poderiam me ajudar?
Obrigado!
quinta-feira, 21 de fevereiro de 2013 16:29
Respostas
-
Olá Eduardo, sobre a sua dúvida tenho algumas perguntas.
1 - É sempre que o arquivo virá desposicionado?
2 - Será sempre o mesmo registro que estará com problemas?O Biztalk é bem flexivel e nos permite tratarmos a mensagem do jeito que queremos. Porém, é necessário criarmos componentes.
E no seu caso, é necessário criar um componente chamado decoder pipeline customizado, que poderá tratar a mensagem antes que essa entre no Message Box, ou seja, antes de chegar no shape de receive da sua Interface.Escrevi dois artigos sobre como criar esse componente:
http://www.biztalkbrasil.com.br/2010/02/criando-pipeline-receiver-decoder.html
http://www.biztalkbrasil.com.br/2010/04/compactar-arquivo-txt-flat-file-em.htmlEssa técnica exige um conhecimento médio/avançado em programação.
Lembrando que o layout do seu arquivo é como se fosse um contrato assinado com o seu fornecedor.
Voces combinam quantos campos ele vai mandar e qual a posição de cada um. Se ele manda errado, esta quebrando o contrato e deve arrumar pelo lado dele.Espero ter ajudado
Ruth Resende
MVP, MCTS - Biztalk Server
www.biztalkbrasil.com.br
Twitter: @ruthresende- Marcado como Resposta Sandro PereiraMVP, Moderator quinta-feira, 11 de abril de 2013 10:41
quinta-feira, 21 de fevereiro de 2013 17:41Moderador
Todas as Respostas
-
Olá Eduardo, sobre a sua dúvida tenho algumas perguntas.
1 - É sempre que o arquivo virá desposicionado?
2 - Será sempre o mesmo registro que estará com problemas?O Biztalk é bem flexivel e nos permite tratarmos a mensagem do jeito que queremos. Porém, é necessário criarmos componentes.
E no seu caso, é necessário criar um componente chamado decoder pipeline customizado, que poderá tratar a mensagem antes que essa entre no Message Box, ou seja, antes de chegar no shape de receive da sua Interface.Escrevi dois artigos sobre como criar esse componente:
http://www.biztalkbrasil.com.br/2010/02/criando-pipeline-receiver-decoder.html
http://www.biztalkbrasil.com.br/2010/04/compactar-arquivo-txt-flat-file-em.htmlEssa técnica exige um conhecimento médio/avançado em programação.
Lembrando que o layout do seu arquivo é como se fosse um contrato assinado com o seu fornecedor.
Voces combinam quantos campos ele vai mandar e qual a posição de cada um. Se ele manda errado, esta quebrando o contrato e deve arrumar pelo lado dele.Espero ter ajudado
Ruth Resende
MVP, MCTS - Biztalk Server
www.biztalkbrasil.com.br
Twitter: @ruthresende- Marcado como Resposta Sandro PereiraMVP, Moderator quinta-feira, 11 de abril de 2013 10:41
quinta-feira, 21 de fevereiro de 2013 17:41Moderador -
Prezada Ruth, bom dia
Promeiramente, obrigado pela pronta resposta.
- O erro de etrutura no arquivo sera intermitente;
- Podem ocorrer falhas como esta em qualquer um dos registros do arquivo.
Quanto aos layouts serem um contrato, concordo plenamente, inclusive onde trabalho lancei um documento de analise de requisitos/sistemas que é enviado ao demandante para que o mesmo saiba o fluxo de arquivos e de negocio que sera submetido seu processo. Isto tem me ajudado dirimir falhas de comunicação entre cliente e pretador de serviço. Ainda assim, sabemos que é uma pratíca comum os clientes enviarem informações nos arquivos que diferem de seus layouts.
Quanto a inteligência criada por você para resolver tal problema, farei a leitura e a aplicarei.
Mais uma vez, obrigado pela importante ajuda.
Eduardo Gomes,
segunda-feira, 4 de março de 2013 12:10