Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Edifact IDOC SAP Format in C# Parsen
andreglatz
myCSharp.de - Member



Dabei seit:
Beiträge: 1

Themenstarter:

Edifact IDOC SAP Format in C# Parsen

beantworten | zitieren | melden

Hallo
vielleicht kann mir einer von den Großen Helfen.
Bin Anfänger in c# und soll jetzt im Praktikum einen Parser erstellen, der Dokumente von SAP (IDOC-Format) in das EDIFACT-Format konvertiert.
Meine Frage: Wie lese ich den Dateninhalt ein und konvertiere sie in das EDI-Format. Vielleicht mit Arrays? Ich habe überhaupt keine Ahnung, vielleicht kann mir ja jemand einen Tipp geben, wie ich die Sache angegehen kann.

gruß
andre
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo andreglatz,

EDIFACT sieht nach einem relativ einfachen textuellen Datenformat aus. Das kannst du mit normalen Dateioperationen (z.B. File.ReadAllLines) auslesen und mit String-Operationen (z.B. String.Split) oder vermutlich besser Regex zerlegen, siehe z.B. [Artikel] Regex-Tutorial (und zum Testen On-the-fly Regex-Tester: Regex-Lab).

Bitte beachte allerdings, dass wir den Umgang mit Dateien, Strings und Regex (und auch mit Arrays) als bekannt voraussetzen, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1. Ich lassen den Thread nur offen, falls jemand spezifische Angaben zu Edifact machen kann bzw. vielleicht sogar fertige Parser oder Bibliotheken kennt.

herbivore
private Nachricht | Beiträge des Benutzers
GarlandGreene
myCSharp.de - Member



Dabei seit:
Beiträge: 499
Herkunft: Emmerich, NRW

beantworten | zitieren | melden

SAP Idocs sind Textdateien mit fester Länge und verschiedenen Satzarten. Zum Einlesen musst du die Satzarten kennen und wissen, welche Satzart welche Felder hat, wie lang diese sind und in welcher Reihenfolge die in der Zeile stehen. Im SAP-System kannst du die Idoc-Dokumentation u.a. über die Transaktion WE60 erhalten. In jedem Fall solltest du die Doku von deinem Auftraggeber erhalten.

EDIFACT ist auch ein Textformat, allerdings anders aufgebaut. Auch EDIFACT kennt Nachrichtenarten, Segmentarten und Semente, die Felder werden aber durch konfigurierbare Trennzeichen (üblicherweise "+" für Segmente und ":" für Felder innerhalb der Segmente) getrennt. Segmentarten werden durch das '-Zeichen getrennt. Eine ganz praktische Übersicht über die Nachrichtenarten und die dazugehörigen Inhalte gibts u.a. hier: http://www.stylusstudio.com/edifact/frames.htm . Die Standards werden von der UN (UNECE) festgelegt und können auch auf den Seiten der UNECE heruntergeladen werden (allerdings nicht sondern bequem).

Die Idocs wirst du Zeile für Zeile einlesen müssen. Ob du zuerst das ganze Idoc einliest und auswertest oder Satz für Satz direkt EDIFACT-Daten erzeugst, ist dir überlassen. Da man aber häufiger auch Daten über mehrere Datensätze (wie z.B. alle Rechnungspositionen mit einem bestimmten Steuersatz) in ein EDIFACT-Segment übergeben muss, macht es mehr Sinn, zuerst das gnaze Idoc einzulesen und in ein internes Format zu konvertieren, auf das du einfacher zugreifen kannst.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von GarlandGreene am .
private Nachricht | Beiträge des Benutzers