2010-01-12 20 views
10

Ursprünglich dachte ich daran, SSIS zu verwenden, um eine EDI-Datei zu parsen, aber ich habe ein paar manuelle EDI-Parser (Feldzuordnung) gesehen, und möchte diese Funktion in C# automatisieren.EDI Flat File Analyse mit C#?

Beispiel EDI-Datei:

Example EDI File

+0

Eigentlich habe ich kürzlich herausgefunden, dass es das X12 820 4010 EDI Format ist ... – ElHaix

Antwort

0

Ich bin nicht sicher, ob Sie kommerzielle Werkzeuge geöffnet sind, aber ich bin zu werfen diesen Link hier nur für den Fall. Es könnte jemandem helfen. Haftungsausschluss: Ich bin in keiner Weise mit diesem Anbieter verbunden.

EDI RAHMEN - EDI-Tools für Programmierer (Commercial Framework) - es finden sich hier: http://www.edidev.com/

1

Das für X12 ist und funktionierte ziemlich gut für meine Anwendungen:

http://x12parser.codeplex.com/

Es ist Befehlszeile, und gibt nur eine XML-Datei für Ihre EDI-Datei aus.

Sie könnten es möglicherweise für Ihre Zwecke anpassen.

5

Es gibt EDI.Net Bibliothek, die opensource ist und alle drei bekannten EDI-Formate unterstützt (X12, EDIFact, Tradacoms). In Ihrem Fall für X12 müssen Sie eine benutzerdefinierte Implementierung des IEdiGrammar mit den folgenden Voreinstellungen bereitstellen.

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", 
     }; 

Haftungsausschluss Ich schrieb die Bibliothek.

+0

Hi. Ich möchte Ihre Bibliothek verwenden, aber es scheint, dass ich ASP.net Core verwenden muss? Welche Rahmenversion sollte ich verwenden? Danke – Fandango68

+1

@ Fandango68 ist es mit dem neuen dotnetcore SDK Tooling gebaut, aber es ist nicht darauf beschränkt. Es ist in Full .Netframework 4.5 und höher verfügbar. Überprüfen Sie die [unterstützten Frameworks auf nuget.org] (https://www.nuget.org/packages/indice.Edi/), um zu sehen, dass die Liste den Abschnitt Abhängigkeiten öffnet. – cleftheris