Table of Contents

Integration des Frameworks in ZMV-Prozesse

Das unitop Prozessmanagement-Framework ist ein zentrales Modul der unitop Lösung für Microsoft Dynamics 365 Business Central, das eine strukturierte Steuerung, Überwachung und Dokumentation von Geschäftsprozessen ermöglicht. Es stellt die technische Infrastruktur bereit, um komplexe Prozessabläufe in definierte Einzelschritte zu zerlegen, diese in einer vorgegebenen Reihenfolge auszuführen und den Prozessfortschritt zu dokumentieren.

Aufbau des unitop Prozessmanagement-Frameworks

Das Framework basiert auf mehreren Schlüsselkomponenten:

  1. Prozessvorlagen: Definieren die Struktur und Abfolge der Prozessschritte

    • Werden in der Tabelle "GOB Process Template Header" hinterlegt.
    • Enthalten Metadaten wie Beschreibung, Anwendungsbereich und Ausführungsregeln.
  2. Prozessschritte: Definieren die einzelnen Arbeitspakete innerhalb eines Prozesses.

    • Werden in der Tabelle "GOB Process Line" hinterlegt.
    • Enthalten Informationen zu Schrittnummer, Beschreibung und auszuführenden Aktionen.
  3. Prozessinstanzen: Repräsentieren die konkrete Ausführung einer Prozessvorlage

    • Werden in der Tabelle "GOB Process Header" erfasst.
    • Dokumentieren den Status und Fortschritt der Prozessausführung.
  4. Ausführungslogik: Codeunits wie "GOB Run Next Process Step", die die eigentliche Prozessausführung steuern.

Integration des ZMV-Moduls in das unitop Prozessmanagement

Die ZMV Zeitscheibenprozesse nutzen die Infrastruktur des unitop Prozessmanagement-Frameworks für ihre spezifischen Anforderungen:

  1. Spezialisierte Prozessvorlagen:

    • Die Tabelle "GOB ContrMgtProcessTemplSetup" enthält den Verweis auf die ZMV-spezifische Prozessvorlage über das Feld "GOB ProcessTempHeaderCodeSlice".
    • Dadurch wird die Zuordnung der ZMV-Funktionalität zur Prozessvorlage sichergestellt.
  2. Benutzerdefinierte Prozessschritt-Handling:

    • Die Codeunit "GOB ZMV TimeSlice Proc. Steps" (5578389) implementiert das EventSubscriber-Muster auf den Event OnHandleProcessStep der "GOB Run Next Process Step" Codeunit.
    • Durch die Methode IsProcessHIRP_TimeSlice() wird geprüft, ob ein Prozess als ZMV Zeitscheibenprozess zu behandeln ist.
  3. Spezifische Prozessschrittlogik:

    • Für jeden Prozessschritt (10, 20, 40, etc.) wird eine eigene Handlermethode bereitgestellt.
    • Diese Methoden implementieren die spezifische Geschäftslogik für den jeweiligen Prozessschritt.

Technische Besonderheiten der Integration

  1. Prozesssteuerung:

    • Die Methode RunOnHandleProcessStep() der Codeunit 5578389 dient als Einstiegspunkt für die Prozessausführung.
    • Sie überprüft, ob ein Prozessschritt zu einem ZMV Zeitscheibenprozess gehört und übernimmt die Verarbeitung.
    • Dabei wird zunächst der aktuelle Schritt im Objekt ProcessLine gespeichert und anschließend verarbeitet.
  2. Datenaustausch zwischen Prozessschritten:

    • Prozessschritte können über die Prozessheader- und Prozesslinien-Tabellen Daten austauschen.
    • Der Abrechnungsmonat wird beispielsweise als "GOB ZMV Billing Month" im Prozessheader gespeichert und durch Methoden wie GetBillingMonthToProcessLine() für die einzelnen Schritte verfügbar gemacht.
  3. Erweiterbarkeit des Frameworks:

    • Zahlreiche IntegrationEvents ermöglichen die Anpassung des Verhaltens ohne direkte Codeänderungen.
    • Events wie OnBeforeProcessStep, OnHandleCaseProcessingStep und OnBeforeHandleStep60PeriodicPostPension erlauben die Einflussnahme auf die Prozessschrittausführung.
  4. Fehlerbehandlung und -protokollierung:

    • Prozessschritte verwenden die Methode ProcessLine.FinishProcessStep(true) um den erfolgreichen Abschluss zu signalisieren.
    • Fehler können über die Standardmechanismen des Frameworks protokolliert werden.
  5. Zusammenspiel mit anderen ZMV-Komponenten

Das unitop Prozessmanagement-Framework dient als Orchestrator für die verschiedenen ZMV-Komponenten:

  1. ZMV-Reports:

    • Die meisten Prozessschritte führen einen oder mehrere Reports aus.
    • Diese Reports sind selbstständige Einheiten, die auch außerhalb des Prozessmanagements genutzt werden können.
  2. Dateiaustausch:

    • Das unitop CMP File Exchange-Modul wird für den Import und Export von Dateien verwendet.
    • Die Codeunit 5578389 integriert diese Funktionalität in den Prozessablauf.
  3. Manuelle und automatische Schritte:

    • Einige Schritte (wie Schritt 10) erfordern Benutzerinteraktion.
    • Andere Schritte laufen vollständig automatisiert ab.