Diese Action splittet Multi-UNH-Nachrichten am UNH-Segment abhängig von verschiedenen in den Einstellungen aufgeführten Optionen.
Die Action ist dazu gedacht, große Edifact-Nachrichten in mehrere kleinere Blöcke zu unterteilen. Zum Beispiel kann eine UTILMD mit 100 UNH-Blöcken in 5 Nachrichten mit jeweils 20 UNH-Blöcken aufgeteilt werden. Es kann genauso eine Nachricht mit 20MB Größe in vier Nachrichten der Größe 5 MB aufgeteilt werden.
Umeine Nachricht in alle UNH-Blöcke aufzuteilen, soll die UNHSplitAction benutzt werden
Konfiguration
Klasse:
org.b2bbp.runtime.actions.internal.UNHSplitAndCumulateAction
ActionProperties:
Die folgenden Eigenschaft müssen den Nachrichtenkontext nicht
überschreiben.
Eigenschaft |
Erläuterung |
Beispiel |
B3P_UNHSPLIT_FORMATS |
Hier muss das Format der zu splittenden Nachrichten angegeben werden. Wird kein Format angegeben, wird auch keine Nachricht gesplittet. (optional, default = "") |
MSCONS,INVOIC |
B3P_MAX_UNH_PER_EDI |
Hier wird die maximale Anzahl an UNH-Wiederholungen angegeben, die die neuen Teilnachrichten haben dürfen. Der Wert "0" schaltet dieses Splitkriterium aus. (optional, default = 1000) |
50 |
B3P_MAX_BYTE_SIZE |
Diese Eigenschaft gibt die Bytegröße, ab der gesplittet werden soll. Der Split wird am nächsten UNH-Segment durchgeführt,deshalb sind die Splitnachrichten etwas größer als der eingestellte Wert. Der Wert "0" schaltet dieses Splitkriterium aus. (optional, default ist "0") |
20000000 |
AGGR_MESSAGE_MIN_SEGMENTCOUNT |
Diese Eigenschaft gibt die minimale Anzahl an Segmenten an, die eine Nachricht haben muss, dass überhaupt ein Split stattfindet. (optional, defaultist "0") |
500 |
B3P_SPLIT_SUFFIX |
Dieser Suffix wird an den Originalchannel angehangen. In diesem neuen Channel werden die gesplitteten Einzelnachrichten verarbeitet. (optional, default = _SPLITTED) |
_SPLIT |
B3P_EXIT_CHANNEL |
Ist diese Eigenschaft mit false gesetzt, wird die Originalnachricht trotz Split im ursprünglichen Channel weiter verarbeitet. Dieses Verhalten ist nur in Ausnahmefällen relevant. (optional, default = true) |
true |
B3P_SPLIT_ALWAYS | Ist diese Eigenschaft mit true gesetzt, wird auch dann, wenn kein Split stattfand, die Nachricht im Split-Channel verarbietet. Mit false werden die Nachrichten nur dann im Split-Channel verarbeitet, wenn nach dem Split mehr als eine Nachricht entstanden ist. Fall das Format der Nachrich nicht in B3P_UNHSPLIT_FORMATS eingetragen ist, hat diese Eigenschaft keine Auswirkung, die Nachricht bleibt in dem Originalchannel (optional, default = false) |
true |
Split nur nach der Größe
Um nur nach der Größe zu splitten, soll B3P_MAX_UNH_PER_EDI auf “0” gesetzt werden. Die Größe wird in B3P_MAX_BYTE_SIZE eingestellt.
Split nur nach UNH-Anzahl
Um nur nach UNH-Anzahl zu splitten, soll B3P_MAX_BYTE_SIZE gelöscht oder auf “0” gesetzt werden. Die Anzahl der UNH-Nachrichten wird in B3P_MAX_UNH_PER_EDI eingestellt.
Split nach der Größe und UNH-Anzahl
Wenn die beiden Properties B3P_MAX_UNH_PER_EDI und B3P_MAX_BYTE_SIZE auf einen Wert größer 0 gesetzt sind, wird nach beiden Kriterien gesplittet. Für jede Splitnachrichtwird das Kriterium greifen, dessen Wert zuerst überschritten wird.
View Me Edit Me