Hallo!
Ich habe im letzten Jahr auch mal wieder was mit EDIFACT zu tun gehabt und zur Abwechslung mal einen eigenen Konverter gebaut.
Das ganze war auf Basis von
Visual Foxpro 9 und wurde an ein bestehendes ERP-System das ebenfalls Visual Foxpro nutzt angedockt.
Das was ich da verbrochen habe war im Grunde der Parser, der die EDIFACT Nachrichten eingelesen hat und die Daten in einem (oder auch mehrere) FoxPro Cursor (Datenbanktabellen im Speicher) ablegt und das Gegenstück zum Export von EDIFACT Nachrichten. Da es als Komponente angelegt war, hat die Warenwirtschaft direkten Zugriff auf diese Tabellen und auch die grundlegenden Funktionen werden von außen gesteuert. Somit wurde zu bestimmten Zeitpunkten am Tag der Import/Export der Daten angestossen.
Die EDIFACT Basiskomponente verwendet verschiedene Klassen die ein den eigentlichen Import/Export der EDIFACT Daten vornehmen.
Der Name der zu ladenden Klasse wird dabei über Parameter gesteuert (Nachrichtentyp [ORDERS;INVOIC;...], Version [D96A], Kunde [Karstadt;Globus;...]).
Damit ist man sehr flexibel.
Die meiste Zeit ist mit der Basiskomponente und der ersten EDIFACT Nachrichtenklasse drauf gegangen. Danach ging es sehr sehr schnell voran, da die verschiedenen Kunden alle relativ ähnliche EDIFACT Nachrichten verschicken.
Interessant war es aber wieder zu sehen das auch die großen Firmen einige Klopper in Ihren Daten haben (z.B. Artikelbezeichnungen die EDIFACT Steuerzeichen enthalten die nicht escaped wurden).