EdifactSegmentSplitter
Gruppe |
|
Funktion |
Der EdifactSegmentSplitter kann eine sehr große EDIFACT-Nachricht in mehrere Nachrichten teilen. |
Konfigurationsdatei |
./conf/samples/sample_edifact_segment_splitter.properties |
Beschreibung
Der EdifactSegmentSplitter kann eine sehr große EDIFACT-Nachricht in mehrere Nachrichten teilen.
Als Ergebnis werden nicht mehrere Jobs erzeugt. Es wird nur ein Job erzeugt und pro gesplitteter Nachricht wird ein Datenblatt erzeugt.
Jede gesplitte Nachricht ist wie die ursprüngliche große EDIFACT-Nachricht, enhält aber jeweils nur eine Anzahl von package Segmenten, anhand derer gesplittet wurde. Siehe Beispiel unten.
Hinweis: Mit dem Parameter package=1 kann man eine EDIFACT-Nachricht also so parsen, dass pro LIN-Segment ein Datenblatt entsteht, falls die Aufgabe besteht, pro LIN eine Zieldatei zu erzeugen. Siehe Beispiel unten. Siehe dazu auch Abschnitt Pro Datenblatt Antwortwege ausführen.
Die Parameter für die Properties-Datei sind die folgenden.
segment |
(Pflicht) Der Segmentname, z. B. LIN |
package |
(Pflicht) Die Anzahl, z. B. 5000 |
Dabei ist segment das Segment innerhalb der EDIFACT-Datei, das für den Splitting-Vorgang betrachtet werden soll und package gibt die maximale Anzahl dieses Segments an, die in einer Ergebnis-Datei vorhanden sein soll. In diesem Fall also 5000 LIN-Segmente pro EDIFACT-Datei, die durch das Splitting erzeugt wurde.
Beispiel
Wir verwenden folgende Konfigurationsdatei.
#Properties for com.ebd.hub.datawizard.parser.EdifactSegmentSplitter
#Define the segment to split with
segment=LIN
#
#Define the max. package size - e.g. put 1 LIN segment into one message
package=1
Folgend die originale EDIFACT-Datei.
UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'
UNH+00000000000117+INVOIC:D:97B:UN'
BGM+380+342459+9'
DTM+3:20060515:102'
RFF+ON:521052'
NAD+BY+792820524::16++CUMMINS MID-RANGE ENGINE PLANT'
NAD+SE+005435656::16++GENERAL WIDGET COMPANY'
CUX+1:USD'
LIN+1++157870:IN'
IMD+F++:::WIDGET'
QTY+47:1020:EA'
ALI+US'
MOA+203:1202.58'
PRI+INV:1.179'
LIN+2++157871:IN'
IMD+F++:::DIFFERENT WIDGET'
QTY+47:20:EA'
ALI+JP'
MOA+203:410'
PRI+INV:20.5'
UNS+S'
MOA+39:2137.58'
ALC+C+ABG'
MOA+8:525'
UNT+23+00000000000117'
UNZ+1+00000000000778'
Als Ergebnis erhält man einen Job mit zwei Datenblättern, die mit folgenden Daten gefüllt sind.
UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'
UNH+00000000000117+INVOIC:D:97B:UN'
BGM+380+342459+9'
DTM+3:20060515:102'
RFF+ON:521052'
NAD+BY+792820524::16++CUMMINS MID-RANGE ENGINE PLANT'
NAD+SE+005435656::16++GENERAL WIDGET COMPANY'
CUX+1:USD'
LIN+1++157870:IN'
IMD+F++:::WIDGET'
QTY+47:1020:EA'
ALI+US'
MOA+203:1202.58'
PRI+INV:1.179'
UNS+S'
MOA+39:2137.58'
ALC+C+ABG'
MOA+8:525'
UNT+23+00000000000117'
UNZ+1+00000000000778'
UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'
UNH+00000000000117+INVOIC:D:97B:UN'
BGM+380+342459+9'
DTM+3:20060515:102'
RFF+ON:521052'
NAD+BY+792820524::16++CUMMINS MID-RANGE ENGINE PLANT'
NAD+SE+005435656::16++GENERAL WIDGET COMPANY'
CUX+1:USD'
LIN+2++157871:IN'
IMD+F++:::DIFFERENT WIDGET'
QTY+47:20:EA'
ALI+JP'
MOA+203:410'
PRI+INV:20.5'
UNS+S'
MOA+39:2137.58'
ALC+C+ABG'
MOA+8:525'
UNT+23+00000000000117'
UNZ+1+00000000000778'