EDI/EDIFACT-Bibliothek für den elektronischen Datenaustausch im Handel, Logistik, Seefrachtverkehr und Finanzwesen. Die Bibliothek deckt den vollständigen B2B-Nachrichtenfluss ab — von der Preisanfrage bis zur Zollanmeldung. Alle 14 Units basieren auf std.edi.core und setzen Zero-External-Dependencies um: kein EDIFACT-Framework, kein externer Parser.
UN/EDIFACT (United Nations / Electronic Data Interchange for Administration, Commerce and Transport) ist der internationale Standard für den elektronischen Datenaustausch zwischen Unternehmen. Eine EDIFACT-Nachricht besteht aus Segmenten (3-Buchstaben-Codes wie UNB, LIN, MOA), die durch Trennzeichen abgegrenzt werden. Die Lyx-Bibliothek implementiert den UNOA-Zeichensatz als Standard.
Standard-Trennzeichen (UNOA):
| Komponente | Trennzeichen ':, Code 58 |
| Datenelement | Trennzeichen '+', Code 43 |
| Dezimalzeichen | . (Punkt), Code 46 |
| Escape-Zeichen | ?, Code 63 |
| Segment-Ende | (Apostroph), Code 39 |
^ Unit ^ BGM / Funktion ^ Beschreibung ^
| std.edi.core | — | EDIFACT-Kern: Parsing, UNA/UNB/UNZ, Segment-/Element-Iteration, Duplikatserkennung |
| std.edi.messages | CONTRL, APERAK, GENRAL | Infrastruktur-Nachrichten: Quittung, Fehlermeldung, allgemeine Nachricht |
| std.edi.catalog | PRICAT, PARTIN, PROACT | Stammdaten: Preiskatalog, Partnerinfo, Aktionen |
| std.edi.partner | AS2/SFTP-Profile | Partner-Registry: AS2/SFTP-Verbindungsparameter, Nachrichtentypen-Bitmask |
| std.edi.rfq | REQOTE (311), QUOTES (315) | Anfrage-/Angebotsprozess: Preisanfrage und Angebotsrückmeldung |
| std.edi.orders | ORDERS (220), ORDRSP (231), ORDCHG (230) | Bestellprozess: Bestellung, Auftragsbestätigung, Bestelländerung |
| std.edi.invoice | INVOIC (380/381/383/386), INVCON (44), COMDIS (34), COACSU (36) | Rechnungsstellung, Disputmeldung, Saldenabstimmung |
| std.edi.shipping | DESADV (351), RECADV (632) | Lieferschein mit SSCC-Hierarchie, Wareneingangsbestätigung |
| std.edi.payment | REMADV, PAYMUL, PAYORD, DIRDEB u. a. (13 Typen) | Zahlungsverkehr: Avis, Sammelaufträge, Lastschrift, Akkreditiv |
| std.edi.inventory | INVRPT (35), SLSRPT (843), SLSFCT (844) | Lagermeldung, Absatzbericht, Absatzprognose |
| std.edi.delfor | DELFOR (241), DELJIT (251) | Lieferabruf (bis 52 Wochen), JIT-Abruf (minutengenau) |
| std.edi.customs | CUSCAR (85), CUSDEC (960), CUSEXP (962), CUSRSP (961) | Zollmeldungen: Frachtanmeldung, Zollanmeldung, Behördenantwort |
| std.edi.seafreight | BAPLIE, MOVINS, COPARN, CODECO, COARRI, COPINO, COPRAR, VERMAS, HANMOV (9 Typen) | Seefracht: Stauplan, Containermeldungen, VGM-Gewicht (SOLAS) |
| std.edi.transport | IFTMIN (310), IFTMBC, IFTMCS, IFTMAN, IFCSUM, IFTSTA (214), IFTDGN (350), IFTFCC (8 Typen) | Multimodaler Transport: Auftrag, Status, Gefahrgutmeldung |
—-
===== Designprinzipien =====
* Zero-Copy-Parsing — alle Read-Funktionen setzen Zeiger in den Originalpuffer; kein Kopieren von Strings
* Caller-allocates — jede Struct-Größe ist als EDI_*_SIZE-Konstante exportiert; der Aufrufer allokiert, die Bibliothek schreibt
* Festkomma-Geldbeträge — alle Beträge werden als int64 × 100 gespeichert (1999 = 19,99 €)
* GS1-Validierung integriert — GTIN (Mod-10, 8/12/13/14-stellig), GLN (Mod-10, 13-stellig), SSCC-18, IBAN (MOD-97), BIC (8/11 Zeichen), ISO-6346-Container, UN-Nummer (4-stellig exakt)
* Keine Netzwerkschicht — EDI-Nachrichten werden als Puffer übergeben; Transport (AS2, SFTP) erfolgt über separate Units
—-
===== Schnellstart — Eingehende EDIFACT-Nachricht parsen =====
std/edi/:
^ Unit ^ Datei ^
| std.edi.core | std/edi/core.lyx |
| std.edi.messages | std/edi/messages.lyx |
| std.edi.catalog | std/edi/catalog.lyx |
| std.edi.partner | std/edi/partner.lyx |
| std.edi.rfq | std/edi/rfq.lyx |
| std.edi.orders | std/edi/orders.lyx |
| std.edi.invoice | std/edi/invoice.lyx |
| std.edi.shipping | std/edi/shipping.lyx |
| std.edi.payment | std/edi/payment.lyx |
| std.edi.inventory | std/edi/inventory.lyx |
| std.edi.delfor | std/edi/delfor.lyx |
| std.edi.customs | std/edi/customs.lyx |
| std.edi.seafreight | std/edi/seafreight.lyx |
| std.edi.transport | std/edi/transport.lyx'' |
Letzte Aktualisierung: 2026-06-16