Fristenprüfungen / Statechecks in Arbeitsvorräten

Einleitung

Arbeitsvorräte (AV) im CCM stellen Suchfilter für Nachrichten dar. Bei der Ausführung wird zunächst eine Suche nach bestimmten, meist fachlichen Kriterien durchgeführt. Bei Arbeitsvorräten mit Korrelationssuche wird zusätzlich noch für jede gefundene Nachricht eine Korrelationssuche durchgeführt. Dabei werden Nachrichten gefunden, die mit der Ursprungsnachricht zusammenhängen (z.B. Bestätigungen, Ablehnungen, APERAKs etc.)

Die gefundenen Nachrichten werden in der Ergebnisanzeige farbig markiert (GRÜN, GRAU, GELB, ROT). Die Farben werden durch den im AV definierten StateCheck (Java-Klasse) ermittelt. Dieser wird oft auch als Fristenprüfung bezeichnet, auch wenn Statechecks sehr unterschiedliche Aufgaben haben können.

Definition in FLEXIBLE_INDEX_UI

Welcher StateCheck im AV verwendet wird, findet sich in der Extension FLEXIBLE_INDEX_UI in der AV-Definition im Abschnitt zwischen #STATECHECK-START und #STATECHECK-END.

Beispiel: #STATECHECK-START
external:com.nextlevel.ccm.indexing.precorrelate.statecheck.UtilmdCheck4States.java #STATECHECK-END

Bedeutung der Farben (STATE.CODE)

Was die Farben im Einzelnen bedeuten, hängt vom verwendeten Statecheck ab.

Typisch ist eine Fristenprüfung, wenn eine Antwort (korrelierte Nachricht) erwartet wird:

  • GRÜN (STATE.CODE = 1): Die Antwort ist vorhanden
  • GRAU (STATE.CODE = 99): Die Antwort ist nicht vorhanden, aber es ist noch genug Zeit (STATE.CODE = 99)
  • GELB (STATE.CODE = 0): Die Antwort ist nicht vorhanden und die Frist läuft bald ab
  • ROT (STATE.CODE = -1): Die Antwort ist nicht vorhanden und die Frist ist abgelaufen.

Wenn keine Korrelationsssuche erfolgt und die Nachrichten immer eine bestimmte Farbe haben sollen, können Dummy-Statechecks verwendet werden. So verwendet z.B. der AV für fehlende CONTRL-Nachrichten den DummyRedStateCheck, damit alle gefundenen Nachrichten rot markiert werden und die Nachforderungsmails für rote Nachrichten auslösen.

Statustext (STATE.MESSAGE)

Neben der Farben wird auch noch ein Statustext (STATE.MESSAGE) ausgegeben, der bei Markierung einer Nachricht in der AV-ANsicht unten im Bildschirm angezeigt wird

Beispiel:
Status: Die CONTRL-Frist für diese Nachricht ist abgelaufen! (14.08.2019)

Fristen

Die Fristenprüfung verwendet für aktuelle StateChecks den BDEW Feiertagskalender, ansonsten die Extension “factoryCalendar”.

  • Der Tag der Ankunft der Nachricht zählt bei der Fristenberechnung nicht mit. Der erste Tag der Frist ist immer der folgende Werktag. z.B. Ankunft Freitag 15:00 Uhr -> Erster Tag der Frist: Montag
  • Der Ablauf der Frist (“deadline”) ist immer

Parameter

StateChecks können einen oder mehrere Parameter erfordern, die durch Leerzeichen getrennt hinter dem Klassennamen angegeben werden. Dies können die Dauer der Frist in Tagen, die Vorwarnzeit in Tagen oder logische Werte sein.

Beispiel:

external:com.nextlevel.ccm.indexing.precorrelate.statecheck.UtilmdCheck4States.java 8 3 true

In diesem Fall müssen die Parameter eine bestimmte Reihenfolge haben. Kennt man die Variablennamen der Parameter, kann man diese in Form von key-Value Paaren aufschreiben und wird damit unabhängig von der Reihenfolge. Zudem werden die Parameter dadurch sprechend:

Beispiel:

external:com.nextlevel.ccm.indexing.precorrelate.statecheck.UtilmdCheck4States.java warnDays=3 deadlineDays=8 strictCheck=true

Diese Variante wird mit MaKo 2020 voraussichtlich Standard.

Interne Struktur: Basis-StateChecks und kombinierte StateChecks

Die in den Arbeitsvorräten verwendeten StateChecks sind in der Regel Kombinationen mehrerer Basis-StateChecks. Neben den spezifischen Prüfungen werden in jedem Statecheck noch allgemeingültige Prüfungen vorgenommen, ob z.B. ein ClearingCode vorliegt (ClearingCheck), oder ob die betrachteten Nachrichten überhaupt erfolgreich verarbeitet wurden (StatusCheck). Diese sorgen auch dafür, dass z.B. durch CONTRL oder APERAK abgelehnte Nachrichten oder Vorgänge als grün angezeigt werden, da sie für den Fachbereich keine Arbeit mehr bedeuten, sondern erst mal erledigt sind. Die verschiedenen Arten der Fristenprüfungen sind ebenfalls als Basis-StateChecks formuliert, damit sie modular angewendet werden können (z.B. DeadlineCheck4StatesMaLo).

Übersicht

Details zu den einzelnen Statechecks finden sich in den Einzelartikeln der Doku

Basis-StateChecks

Klasse Bedeutung
StatusCheck Bedeutung
ClearingCheck Bedeutung
FristenCheck Bedeutung
FristenCheck4States Bedeutung
DeadlineCheck4StatesMaLo Bedeutung

Statechecks für AV

Klasse Bedeutung
UtilmdCheck4States Bedeutung
View Me   Edit Me