Übersicht
Es gibt verschiedene Wege um eine Referenzprüfung (ab 01.10.2017 APERAK Z33, vorher Z28) bzgl. der Referenz auf eine Ursprungs- oder Initialnachricht durchzuführen.
Folgende Variante ist veraltet und wird demnächst entfernt: An der AperakAction kann der Z28-Check eingeschaltet werden. Zusätzlich können die unten aufgeführten Eigenschaften hinzugefügt werden.
Bei der Prüfung werden die Vorgangs-Referenzierung der Nachrichten untereinander geprüft, z. B. dass für eine UTILMD Antwortnachricht eine entsprechende UTILMD Anfragenachricht existiert. Falls die Initialnachricht nicht gefunden wird, wird eine APERAK Z28 erstellt!
Für die Suche nach den Vorgangsnummern wird der Volltextindex benutzt. Es kann also vorkommen, dass die Initialnachricht noch nicht im Volltextindex auffindbar ist, wenn die Antwortnachricht validiert wird. Die erweiterte Prüfung kann die Nachricht in einen Pause-Channel verschieben. Sie kann dann nach einigen Stunden automatisch neu gestartet werden. Erst wenn bei der zweiten Suche die Initialnachricht nicht gefunden wird, wird eine APERAK erstellt.
Eingeschaltet und konfiguriert wird an den ReferenceKnownValidatorActions bzw. (veraltet) den AperakActions (z.B. AperakAction21a). Die Regeln, wie die Referenzen gefunden werden, sind in der Extension B3P_Z28_RULES_EXTENDED
bzw. B3P_Z28_RULES
konfiguriert.
Die Konfiguration behält weiterhin Z28 in den Namensgebungen. Ab dem 01.10.2017 wird allerdings eine APERAK Z33 erzeugt.
Einrichtung
Platzierung der Action
Folgende Actions machen eine Referenzprüfung:
org.b2bbp.validation.aperak21a.ReferenceKnownValidatorAction
(einfache Prüfung)
org.b2bbp.validation.aperak21a.contributions.ReferenceKnownValidatorActionExtended
(erweiterte Prüfung)
org.b2bbp.runtime.invoic.remadv.check.StopRemadvOnMissingInvoic
(nur der zur Vollständigkeit aufgelistet, nicht Teil dieser Dokumentation)
Bei der alten Z28-Prüfung war die Reihenfolge:
- ValidatorAction
- ControlActionStandard
- AperakAction mit Konfiguration für Z28-Prüfung
Empfohlen ist nun folgende Reihenfolge:
- ValidatorAction
- ControlActionStandard
- ReferenceKnownValidatorAction mit Konfiguration für Z28/Z33-Prüfung
- AperakAction ohne Konfiguration für Z28-Prüfung
Einrichtung an der Action
Folgende Eigenschaften können an der org.b2bbp.validation.aperak21a.contributions.ReferenceKnownValidatorActionExtended konfiguriert werden. Message Context soll dabei nicht überschrieben werden. Werte die fett markiert sind, sind standardmäßig in den Einstellungen!
ActionProperty / Eigenschaften | Mögliche Werte | Erklärung |
B3P_CHECK_Z28 | EXTENDED_CHECK | Diese Eigenschaft ist nach der Umstellung des Workflows nicht mehr nötig. |
B3P_CHECK_Z28_USE_PAUSE_CHANNEL | false / true | Soll bei Fehlern während der ersten Prüfung die Nachricht in den Pause Channel verschoben werden. Empfohlener Wert: true |
B3P_CHECK_Z28_PAUSE_CHANNEL | INBOUND_PAUSE_CHANNEL | Name des Pause-Channels |
B3P_CHECK_Z28_PAUSE_CHANNEL_ICON | Bestätigungsstatus, der bei Pausierung gesetzt werden soll. Empfohlener Wert: nichts. | |
B3P_CHECK_Z28_CHECK_INDEX | false / true | Falls eingeschaltet: Es wird geprüft, ob der Volltext-Index aktuell ist. |
B3P_CHECK_Z28_STOP_WORKFLOW_IF_INDEX_IS_NOT_UP_TO_DATE | false / true | Falls eingeschaltet: Die weitere Verarbeitung wird abgebrochen, falls der Volltext-Index nicht aktuell ist. Die Nachricht erhält den VS-Status "Fehlerhaft". Mit "false" läuft die Verarbeitung ohne Fehler weiter, obwohl kein Z28-Check gemacht werden konnte. Es wird keine Z28-Aperak erzeugt. |
B3P_CHECK_Z28_DECLINE_CONTRL | false / true | Falls mit true eingeschalte: Initialnachrichten, die per negativir Contrl abgelehnt wurden, werden als fehlend betrachtet. |
B3P_CHECK_Z28_DECLINE_APERAK | false / true | Fall mit true eingeschaltet: Vorgänge der Initialnachricht, die per Aperak abgelehnt wurden, werden als fehlend betrachtet. |
B3P_CHECK_Z28_DECLINE_EXCEPTIONS | I26;Z28;M26 etc. (I26 = UCI 26, M26 = UCM 26) | Contrl- und Aperak-Fehlercodes, die ignoriert werden, falls die _DECLINE_CONTRL oder _DECLINE_APERAK Einstellung eingeschaltet ist. Empfohlener Wert: nichts |
B3P_STORE_MONITOR | TECHNICAL PROFESSIONAL ALL OFF DEBUG |
Wo soll das Protokoll gespeichert werden: als technisches / fachliches Attribut, beides oder keins. Mit DEBUG wird ein erweitertes Protokoll als technisches und fachliches Attribut abgelegt. |
B3P_CHECK_Z28_USE_ARCHIVE_SEARCH | false / true | Soll bei der Suche nach referenzierten Nachrichten auch im Archiv gesucht werden? Einschränkung: die Eigenschaften B3P_CHECK_Z28_DECLINE_APERAK und B3P_CHECK_Z28_DECLINE_EXCEPTIONS können bei der Arhchivsuche nicht berücksichtigt werden. |
Die Z28-Validierung wird nur ausgeführt, falls die Message Context Variable ERRORS_TO_VALIDATE
den Wert “APERAK” enthält. Die Variable wird normalerweise an der ValidatorAction gesetzt.
Konfiguration der Regeln
Die Regeln werden in der Extension B3P_Z28_RULES_EXTENDED
bzw. B3P_Z28_RULES
konfiguriert. Die Konfiguration dieser Regeln ist für beide ReferenceKnownValidator
-Actions möglich. Möglicher Inhalt:
#Format der Antwortnachricht ; Referenz in der Antwortnachricht. (Edipath) ; Format der Initialnachricht ; Ref.-segment der Initialnachricht. (Segment-Präfix) ; Bezeichnung der Regel ; Fehler ignorieren
UTILMD;RFF\[1+0="TN"\]+1+1;UTILMD;IDE+24+;UTILMD Antwortnachricht auf UTILMD Anfrage;false
UTILMD;RFF\[1+0="ACW"\]+1+1;UTILMD;IDE+24+;UTILMD Storno auf UTILMD Nachricht;false
MSCONS;RFF\[1+0="AGI"\]+1+1;ORDERS;BGM+7+;MSCONS Antwortnachricht auf ORDERS Anfrage;false
MSCONS;RFF\[1+0="AGI"\]+1+1;UTILMD;IDE+24+;MSCONS Antwortnachricht auf UTILMD Gerätewechsel;false
ORDRSP;RFF\[1+0="ON"\]+1+1;ORDERS;BGM+7+;ORDRSP Antwortnachricht auf ORDERS Anfrage;false
INVOIC;RFF\[1+0="ACE"\]+1+1;MSCONS;BGM+Z23+;INVOIC MMMA auf Bilanzierungs-MSCONS;false
INVOIC;RFF\[1+0="ACE"\]+1+1;MSCONS;BGM+Z24+;INVOIC MMMA auf Allokations-MSCONS;false
MSCONS;RFF\[1+0="ACW"\]+1+1;MSCONS;BGM+7+;MSCONS Storno auf MSCONS Zählerstand;false
INVOIC;RFF\[1+0="OI"\]+1+1;INVOIC;BGM+380+;INVOIC Storno auf INVOIC Rechnung;false
bzw. in B3P_Z28_RULES
exemplarisch
UTILMD;RFF\[1+0="TN"\]+1+1;IDE+24+
Pause Channel
Der Pausechannel muss keine besonderen Actions beinhalten.
Zum Neustarten der Nachrichten in diesem Channel soll der RestartMessageJob konfiguriert werden.
Trouble Shooting
Für die Extendes-Prüfung können einzelne Regeln in der Extension B3P_Z28_RULES_EXTENDED
abgeschaltet werden. Dafür soll der letzte Wert auf true geändert werden.
Um die ganze Prüfung zu deaktivieren, kann die Action im Channel deaktiviert werden. Die alte Prüflogik kann an der Aperak Action abgeschaltet werden. Dafür muss die Eigenschaft B3P_CHECK_Z28
auf false gesetzt (oder entfernt) werden.