EDI Arquivo Plano Parsing com C#?
Pergunta
Inicialmente, eu estava pensando em usar o SSIS para analisar um arquivo EDI, no entanto, vi alguns analisadores EDI manuais (mapeamento de campo) e gostaria de usar automatizar essa funcionalidade em C#.
Exemplo de arquivo EDI:
Solução
Outras dicas
Há EDI.NET Biblioteca que é OpenSource e suporta todos os três formatos EDI conhecidos (x12, edifact, Tradacoms). No seu caso para x12, você precisa fornecer uma implementação personalizada do IEdiGrammar
com as seguintes predefinições.
public class EDI_X12Grammar : IEdiGrammar
{
...
}
var grammar = new EDI_X12Grammar()
{
ComponentDataElementSeparator = new[] { '>' },
DataElementSeparator = new[] { '*' },
DecimalMark = null,
ReleaseCharacter = null,
Reserved = new char[0],
SegmentTerminator = '~',
ServiceStringAdviceTag = null,
InterchangeHeaderTag = "ISA",
FunctionalGroupHeaderTag = "GS",
MessageHeaderTag = "ST",
MessageTrailerTag = "SE",
FunctionalGroupTrailerTag = "GE",
InterchangeTrailerTag = "IEA",
};
Isenção de responsabilidade, escrevi a biblioteca.
Isto é para x12 e funcionou muito bem para meus usos:
http://x12parser.codeplex.com/
Sua linha de comando e apenas produz um arquivo XML para o seu arquivo EDI.
Você poderia adaptá -lo para seus propósitos.
Não estou familiarizado com o formato de arquivo EDI, mas qualquer um desses ajuda:
Não tenho certeza se você está aberto a ferramentas comerciais, mas estou jogando este link aqui apenas por precaução. Pode ajudar alguém. Isenção de responsabilidade: não estou conectado de forma alguma a este provedor.
Framework EDI - EDI Tools for Programmer (Commercial Framework) - Encontre aqui: http://www.edidev.com/