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

    Essa 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

    quinta-feira, 21 de fevereiro de 2013 17:41
    Moderador

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

    Essa 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

    quinta-feira, 21 de fevereiro de 2013 17:41
    Moderador
  • 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