Darstellung
EDI-Protokolle (EDI01)
Transaktion: EDI01 EDI Protokolle
UI-Pfad: /protocolList
API-Basis: /api/commProtocoll
Domäne: CommProtocoll
Business-Zweck
Ein EDI-Protokoll beschreibt wie eine Nachricht erzeugt oder verarbeitet wird: Kanal (EDI, E-Mail, XML …), Nachrichtenart (kind), Richtung (Import/Export), Freemarker-Template und optional Nummernkreis für EDI-Datei-IDs.
Partner definieren Protokolle typischerweise pro Nachrichtentyp und Richtung – z. B. Export-Rechnung (INVOICE, postway=1) und Import-Bestellung (ORDERS, postway=0).
Kernbegriffe
| Begriff | Bedeutung |
|---|---|
name | Eindeutige Protokollbezeichnung (Referenz in Fehlermeldungen) |
type | Kanal: EDI, EMAIL, XML, INTERCOMPANY, … |
kind | Nachrichtenart, z. B. INVOICE, ORDERS, ORDERDISPATCH, DESADV, ORDRSP, attachment |
postway | 0 = Import (eingehend), 1 = Export (ausgehend) |
template | Freemarker-Template für Datei-/Nachrichteninhalt |
numberRanges | Nummernkreis für EDI-Datei-ID (EDI_FILE_ID) |
groupCollectiveBy | Gruppierung für Sammelrechnungen: customerNo, receiverAddressGln, invoiceAddressGln, protocol |
emailAccount / sender | Bei type=EMAIL: Absender-Konto bzw. Adresse |
EDI-Nachrichtenformate
reybex unterscheidet den Kanal (type) von der Nachrichtenart (kind):
| type | typische kind-Werte | Verwendung |
|---|---|---|
EDI | INVOICE, ORDERS, ORDERDISPATCH, … | Klassische EDI-Dateien (Freemarker → Flatfile/EDI-Syntax) |
EMAIL | attachment, INVOICE, … | Beleg als E-Mail-Anhang |
XML | mandantenspezifisch | XML-Import (z. B. Eingangsrechnung) |
INTERCOMPANY / INTERCOMPANYORDER | … | Mandantenübergreifende Belege |
BTE | … | Branchenspezifisches Format |
Die UI-Liste commProtocollKinds enthält u. a. attachment, DESADV, ORDRSP; im Domänenmodell sind zusätzlich Werte wie INVOICE, ORDERS, ORDERDISPATCH dokumentiert – abhängig vom Partner-Standard.
Object Fields – Template-Entwicklung
In EDI01 steht der Dialog Object Fields zur Verfügung (API: POST /api/commProtocoll/objectFields). Er evaluiert Freemarker-Ausdrücke gegen Beispieldaten und liefert verfügbare Felder für Template-Entwicklung.
Binding-Variablen (Root-Ebene)
| Variable | Typ / Bedeutung |
|---|---|
headList | List<CommHead> – Kopfzeilen |
heads | CommHead – aktueller Kopf |
items | CommItem – erste Position |
companyGln | GLN des Mandanten (NAD+SU) |
customerGln | GLN des Kunden |
EDI_FILE_ID | Platzhalter Datei-ID aus Nummernkreis |
dateFormat | Standard yyyyMMdd |
ediCreateTime / ediCreateDate | Erzeugungszeitpunkt |
completeVatKeyGroups | MwSt-Gruppierung für Sammelrechnungen |
CommHead – wichtige Felder (Auswahl)
| Feld | Beschreibung |
|---|---|
docNumber, docType, docDate, dueDate | Belegkopf |
customerNo, customer, customerGln | Debitor |
receiverAddressGln, invoiceAddressGln | GLN Liefer-/Rechnungsadresse |
companyGln, companyUstdId | Mandant |
subTotal, taxAmount, totalAmount, currency | Beträge |
items | Positionen (CommItem) |
sales / purchase | Referenz auf SalesHead bzw. PurHead |
postway, type | Richtung und Kanal |
Positionen (CommItem) enthalten u. a. Material, Menge, Preis, MwSt, GTIN, Chargen und Packstück-Daten – abgeleitet aus Vertriebsbelegen bzw. Bestellungen.
Fachlicher Ablauf
- Protokoll mit passendem
type,kind,postwayanlegen - Freemarker-Template eintragen (Pflicht bei EDI-Export – sonst Fehler
message.comm.protocol.template.empty.error) - Nummernkreis
edizuweisen (Pflicht bei EDI – sonstmessage.comm.protocol.numberRange.empty.error) - In EDI02 dem Partner/Belegtyp zuordnen
Fehlerbilder
| Symptom | Ursache | Maßnahme |
|---|---|---|
| „Kein passendes EDI-Protokoll“ | name/type/kind passen nicht | Protokoll in EDI01 prüfen/anlegen |
| Kein Nummernkreis | numberRanges leer | Nummernkreis edi zuweisen |
| Kein Template | template leer | Freemarker in EDI01 pflegen |
| Leere Export-Datei | Template-Fehler / falsche Felder | objectFields und Logs prüfen |