Kurzfristige Handlungsmöglichkeiten bei Prüffehlern

Zielstellung

In der B2B gibt es die Möglichkeit durch Customizinganpassungen die Prüflogik bei Fehlern zu umgehen, damit Test nicht stillstehen oder fahlsch abgelehnte Nachrichten trotzdem verschickt werden. Im folgenden finden Sie Handlungsmöglichkeiten, wenn vermehrt negative CONTRL und APERAK erzeugt oder empfangen werden, die als nicht zulässig eingestuft werden bzw. einer Klärung bedürfen. Um den manuellen Kläraufwand zu minimieren bzw. zu automatisieren und keine Fristverletzungen zu provozieren bietet B2B einige Möglichkeiten um schnell zu reagieren. Diese werden in diesem Dokument beschrieben.

Restart mit speziellen Clearing Codes

Anwendungskategorie: Kurzfristige Handlung erforderlich

Anwendungsfall:

  • Nicht zulässige negative CONTRL wird auf eingehende Nachricht generiert
  • Nicht zulässige APERAK wird auf eingehende Nachricht generiert
  • eingehende Nachricht wird wegen Prüffehler nicht ins Backendsystem eingespielt

Handlungsanweisung: Über definierte Clearingcodes kann mit Neustart zusätzlich eine oder mehrere hinterlegte Aktion(en) ausgeführt werden. Die speziellen Aktionen wären in diesem Fall

1) versende nach Neustart eine positive CONTRL (unabhängig vom Prüfergebnis)
2) überspringe die CONTRL-Prüfung 3) überspringe die APERAK-Prüfung

Das Vorgehen wäre in diesem Falle, die Nachricht (oder auch mehrere) auf den entsprechenden Clearingcode zu setzen und dann neu zu starten. Je nach Clearingcode wird dann die entsprechende Aktion ausgeführt. Vorgeschlagene Belegung (Clearingcodezahlen und Texte sind frei konfigurierbar, die passende Konfiguration findet man im nächsten Abschnitt):

CLearing Code Clearing Text Aktion nach Neustart
601 Restart nach CONTRL Prüfung CONTRL-Prüfung wird übersprungen (kein erneuter CONTRL Versand), APERAK Prüfung wird ausgeführt
602 Restart pos. CONTRL senden Eine pos. CONTRL wir in jedem Fall versendet (unabhängig von der Prüfung), APERAK Prüfung wird ausgeführt
603 Restart ohne APERAKPrüfung APERAK-Prüfung wird übersprungen
604 Restart ohne APERAKPrüfung und pos. CONTRL senden Eine pos. CONTRL wird in jedem Fall versendet (unabhängig von der Prüfung), APERAKPrüfung wird übersprungen

Customizing in der B2B

Vorraussetzung: Zur Validierung werden folgende Actions verwendet:

ogr.b2bbp.runtime.action.internal.ContrlActionStandard
org.b2bbp.validation.aperak.AperakActionStandard

Sämtliche Konfiguration findet in der Extension “ClearingCodes“ statt. Anhand des oben vorgeschlagenen Beispiels (Tabelle 1) müsste folgendes konfiguriert werden:

601=Restart ohne CONTRL-Prüfung
602=Restart pos. CONTRL senden
603=Restart ohne APERAK-Prüfung  
604=Restart ohne APERAK-Prüfung und pos. CONTRL senden

Diese Konfiguration ist analog zum Anlegen eines neuen Clearingcodes. Zusätzlich können diesen Clearingcodes Aktionen, die ausgeführt werden mitgegeben werden. Dies erfolgt über spezielle Befehle, hinter denen die Clearingcodes aufgelistet werden, die diese Aktion ausführen sollen. Trennzeichen „;“ (Semikolon) bei Mehrfachaufführung von Clearingcodes. Die Befehle sind in folgender Tabelle beschrieben:

Befehlszeichen Auswirkung
&SkipAperakCheck APERAK-Prüfung wird nicht ausgeführt
&SkipContrlCheck CONTRL-Prüfung wird nicht ausgeführt
&ForcePositiveContrl Es wird in jedem Fall eine positive CONTRL versendet

Die Clearingcodes werden dann nach folgenden Schema zu den Aktionen zugeordnet

<Aktion>=<Clearingcode>[;<Clearingcode>;…]

Um das empfohlene Beispiel aus Tabelle 1 abzubilden sieht die Konfiguration dann wie folgt aus (zusätzlich in der Extension „ClearingCodes“)

&SkipAperakCheck=603;604
&SkipContrlCheck=601;603
&ForcePositiveContrl=602;604

CONTRL/APERAK-Prüfung für definierte Anwendungsfälle dauerhaft unterdrücken (über ClearingErrorAction)

Fachliche Anwendung

Anwendungskategorie: Automatismus bei längerfristig anhaltenden (gleichartigen) Problemen Anwendungsfall:

  • Nicht zulässige APERAK wird auf eingehende Nachricht generiert
  • Nicht zulässige neg. CONTRL wird auf eingehende Nachricht generiert
  • Zulässige APERAK wird auf eingehende Nachricht generiert, soll aber unterdrückt werden (und die Nachricht damit verarbeitet werden)
  • Zulässige neg. CONTRL wird auf eingehende Nachricht generiert werden (und die Nachricht damit verarbeitet werden)
  • Die oben genannten Fälle beziehen sich auf bestimmte Formate, Marktpartner, PRÜFIs, Fehlercodes

Handlungsanweisung: Im Customizing können Regeln definiert werden, wann CONTRL oder APERAKFehler ignoriert werden sollen. Die Kriterien können wie folgt definiert werden (auch in Kombination)

  • Für welche Formate (spezielle Formate oder alle)
  • Für welche Formatversionen (spezielle Formate oder alle)
  • Für welche Marktpartner (spezielle Marktpartner oder alle)
  • Für welche PRÜFIs (spezielle PRÜFIS oder alle)
  • Für welche Fehlercodes (spezielle Fehlercodes oder alle)

Gibt es störende APERAK- oder CONTRL-Prüfungen, so können diese dauerhaft deaktiviert werden. Die Konfiguration nimmt in der Regel ein Administrator vor.

Customizing in B2B

Mit der ClearingErrorAction können verschiedene ErrorCleaner ausgeführt werden um Validierungsfehler anhand unterschiedlicher Kriterien zu entfernen. Um die Validierung basierend auf Format, Version, Marktpartner, Prüfi und ErrorCode zu deaktivieren eignet sich die Action EdiValidationResultErrorCleaner.

Einrichtung

Eine neue Action in der B2B anlegen. Anzugebende Klasse:
org.b2bbp.runtime.actions.clearing.error.collection.ClearingErrorAction

Folgende Actionproperties (Eigenschaften) definieren:

Eigenschfte Wert Kontext überschreiben
B3P_CLEANER org.b2bbp.runtime.actions.clearing.error.collection.EdiValidationR esultErrorCleaner nein

Position im Channel: Diese Action immer direkt hinter der ValidatorAction (Action, die die Prüfung ausführt) und vor die CONTRL und APERAK-Action einfügen.

Pflege der Regeln: Die Regeln werden in der Extension ERROR_CLEANING_RULES definiert.

Regeldefinition: Die Regeln, wann ein Fehler aus dem Prüfergebnis herausgenommen werden soll, werden wie folgt definiert.
1) Pro Regel wird eine Zeile definiert. Diese werden nacheinander abgearbeitet. Hinweis: allgemeine Regeln überschreiben die speziellen! 2) Die Regeln genügen folgender Syntax ____

Wobei folgende Platzhalter verwendet werden:

Platzhalter Erläuterung Beispiel
EDIFACT-Nachrichtenformat der Nachricht UTILMD, MSCONS,…
EDIFACT-Nachrichtenversion der Nachricht 5.1b, 2.2c,…
MPID des Martpartners 9999999991234
Prüfidentifikator des Anwendungsfalles 11001
Fehlercode der CONTRL oder APERAK 13, 15, Z29, …

Hinweis: Wichtig ist die Trennung durch den Unterstrich „_“.

Hinweis: Es können auch mehrere Werte mit Komma „,“ getrennt zwischen den „_“ angegeben werden.

Hinweis: Ein Stern „*“ kann als Wildcard genutzt werden:

Beispiele

1) UTILMD_5.1B_9999999999999_12345_13 mit dieser Regel werden Fehler aus UTILMD 5.1B entfernt, wenn der Marktpartner die ILN 9999999999999 hat, der PRÜFI 12345 ist und der Fehlercode 13 ist.

2) UTILMD_5.1B_9999999999999_12345_12,13 Analog zu Beispiel 1) nur wird hier wird auf die Fehlercodes 12 und 13 geprüft.

3) UTILMD_*_9999999999999 _ *_Z29 Diese Regel entfernt Validierungsfehler für alle Formatversionen und alle Prüfis, die vom Partner 9999999999999 kommen und Fehlercode Z29 enthalten.

CONTRL/APERAK-Prüfung für nicht konforme Nachrichten oder Fehler, die spezielle Qualifier betreffen deaktivieren (über ClearingErrorAction)

Fachliche Anforderungen

Anwendungskategorie: Automatismus bei längerfristig anhaltenden (gleichartigen) Problemen.

Anwendungsfall:

  • Nicht marktkonforme Nachrichten sollen die CONTRL/APERAK-Prüfung passieren können, zum Beispiel bei:
    o hausinternen Qualifiern
    o Sperrtools
  • CONTRL-Prüfung moniert Qualifier, die aber eigentlich erlaubt sind.

Handlungsanweisung: Im Customizing können Regeln definiert werden, wann CONTRL oder APERAKFehler ignoriert werden sollen. Die Kriterien können wie folgt definiert werden:

  • Für welche Formate (spezielle Formate oder alle)
  • Für welche Fehlercodes (spezielle Fehlercodes oder alle)
  • In welchen Segment/Composite/Datenelement finde ich den Qualifier
  • Welche Qualifier sollen zusätzlich erlaubt sein.

Gibt es störende APERAK- oder CONTRL-Prüfungen, so können diese dauerhaft deaktiviert werden. Die Konfiguration nimmt in der Regel ein Administrator vor.

Customizing in der B2B

Mit der ClearingErrorAction können verschiedene ErrorCleaner ausgeführt werden um Validierungsfehler anhand unterschiedlicher Kriterien zu entfernen. Um die Validierung basierend auf Format, Version, Marktpartner, PRÜFI und ErrorCode zu deaktivieren eignet sich die Action EdiValidationResultErrorCleaner.

Einrichtung

Eine neue Action in der B2B anlegen. Anzugebende Klasse:

org.b2bbp.runtime.actions.clearing.error.collection.ClearingErrorAction

Folgende Actionproperties (Eigenschaften) definieren:

Eigenschaft Wert Kontext überschreiben
B3P_CLEANER org.b2bbp.runtime.actions.clearing.error.collection.EdiValidationR esultSpecialErrorCleaner nein

Position im Channel: Diese Action immer direkt hinter der ValidatorAction (Action, die die Prüfung ausführt) und vor die CONTRL und APERAK-Action einfügen.

Hinweis: Kann zusammen mit der Action aus Kapitel 4 verwendet werden.

Pflege der Regeln: Die Regeln werden in der Extension ERROR_CLEANING_RULES definiert.

Regeldefinition: Die Regeln, wann ein Fehler aus dem Prüfergebnis herausgenommen werden soll, werden wie folgt definiert.

Platzhalter Erläuterung Beispiel
registeredRules Auflistung der zu definierenden Regeln mit Komma „,“ getrennt. RULE_1,RULE_2
FORMAT_TO_CLEAN EDIFACT-Nachrichtenformat der Nachricht (Wird pro Regel wiederholt) UTILMD
<ERRORCODE_TO_CLEAN Fehlercode der ignoriert werden soll (Wird pro Regel wiederholt) 12
SEGMENT_TO_CLEAN Segment, in dem der Qualifier auftaucht (Wird pro Regel wiederholt) BGM
COMPOSITE_TO_CLEAN Composite, in dem der Qualifier auftaucht (muss nicht gesetzt werden) (Wird ggf. pro Regel wiederholt) C701
DATA_ELEMENT_TO_CLEAN Datenelement, dem der Qualifier auftaucht (mit F als Kennzeichner, statt wie im MIG ohne) (Wird pro Regel wiederholt) F3033 (im MIG 3033)
ALLOWED_VALUES Liste der Werte, die zusätzlich in dem unter DATA_ELEMENT_TO_CLEAN angegebenen Feld verwendet werden dürfen (Mit Komma „,“ getrennt) (Wird pro Regel wiederholt) S01, S02, S03

Die Definition der Regel setzt sich immer aus dem Regelname (definiert unter registeredRules) und dem Platzhalter aus Tabelle 6 zusammen, getrennt durch einen Punkt.

<RULE_NAME>.<PLATZHALTER>=<WERT>

Ausgewählte APERAK-Prüfungen Aktivieren/Deaktiviere

** Anwendungskategorie:** Kurzfristige Handlung erforderlich
Anwendungsfall:

  • Nicht zulässige APERAK wird auf eingehende Nachricht werden generiert
  • Erweiterte APERAK-Prüfungen sollen aktiviert werden
  • Die APERAK-Prüfung prüft strikt nach AHB, obwohl Werte im MIG erlaubt wären

Handlungsanweisung: Die APERAK-Prüfung kann an einigen Stellen beeinflusst werden. Die folgende Tabelle gibt die Möglichkeiten an. Die Konfiguration übernimmt in der Regel ein Administrator.

View Me   Edit Me