Einführung: Workflow-Management

Ein Workflow ist eine definierte Abfolge von auf einander abgestimmten Tätigkeiten mit der Zielsetzung, einen Geschäftsprozess oder Arbeitsablauf effizient und wiederholbar auszuführen bzw. ihn ganz oder teilweise zu automatisieren.

Das Workflow-Management ist ein Bestandteil des ERP-Systems, der die grundlegenden Eigenschaften und Funktionen des Systems nutzt, um Geschäftsprozesse und Arbeitsabläufe als Workflows abzubilden. Durch die nahtlose Integration steht beinahe jeder Anwendung der Zugriff auf den Workflow offen. Umgekehrt wird auch das Workflow-Management selbst an vielen Stellen im System verwendet, so z. B. im Beziehungs-Management oder in der Hintergrundverarbeitung.

Dieses Dokument führt in den Umfang und Nutzen des Work­flow-Managements ein. Es enthält eine Übersicht und kurze Beschreibungen der wesentlichen Ele­mente und Funktionali­täten.

Details zum Aufbau und zur Bedienung der einzelnen Anwendungen entnehmen Sie bitte den Anwendungsbeschreibungen. Daneben ziehen Sie bitte die technische Dokumentation zurate, wie beispielsweise das Dokument Workflow-Engine.

Beschreibung

Für den Workflow werden die grundlegenden Eigenschaften und Funktionen des Systems genutzt, wie z. B. Berechtigungen, die Aufbauorganisation und das Dokumenten-Management. Umgekehrt wird auch der Workflow selbst an vielen Stellen verwendet, so z. B. im Beziehungs-Management oder der Hintergrundverarbeitung.

Der Workflow kann über Bedingungen in der System-Skriptsprache, aber auch durch Java-Programmierung angepasst werden. Durch die nahtlose Integration steht jeder Anwendung der Zugriff auf den Workflow offen, ohne dass eine komplexe Schnittstellenprogrammierung notwendig ist.

Mithilfe der Möglichkeit, durch Aktivitäten Verarbeitungsaufträge zu erzeugen, können Ereignisse und Hintergrund-Anwendungen über den Workflow ohne Adaptierungen verknüpft werden.

Im Folgenden werden die Elemente und Funktionalitäten des Frameworks Workflow-Management beschrieben, welche für die Anwendung, Organisation und Entwicklung von Workflows benötigt werden.

Workflow-Anwendung

In diesem Kapitel werden die für den Workflow-Anwender relevanten Bestandteile des Workflow-Managements beschrieben.

Bestandteile für den Anwender

Für den Workflow-Anwender sind die folgenden Bestandteile des Workflow-Managements relevant, um mit Workflows arbeiten zu können:

Aufgaben

Eine Aufgabe im Workflow-Management stellt die Zuordnung einer aus einer Aktivität resultierenden Tätigkeit zu einem Benutzer dar. Jede Aufgabe hat einen vorgesehenen Bearbeitungszeitraum, der von der übergeordneten Aktivität bestimmt wird, sowie einen Aufgabenstatus. Beim ersten Wechsel in einen neuen Status wird der Zeitpunkt des Wechsels dokumentiert. Weitere Informationen erhalten Sie im Kapitel Aufgaben.

Aktivitäten

Eine Aktivität beschreibt eine Tätigkeit, die durch einen oder mehrere Bearbeiter ausgeführt werden kann. Hat eine Aktivität mehrere Benutzer als Bearbeiter, dann wird für jeden Benutzer eine mit der Aktivität verknüpfte Aufgabe erzeugt. Eine Aktivität bildet also eine Klammer um die daraus entstandenen Aufgaben und enthält Informationen über die Aufgaben. Eine Aktivität hat einen Aktivitätsstatus, der den Zustand der Aktivität beschreibt. Weitere Informationen erhalten Sie im Kapitel Aktivitäten.

Prozesse

Ein Prozess im Workflow-Management beschreibt die arbeitsteilige Ausführung eines betrieblichen Prozesses oder Teilprozesses auf Basis einer Prozessdefinition. Ein Prozess kann als Diagramm angezeigt werden, dessen Knoten die Aktivitäten und dessen Kanten den Kontrollfluss darstellen. Mithilfe der erzeugten Aktivitäten werden die einzelnen Prozessschritte bearbeitet. Der Abschluss eines Prozessschrittes kann die Bearbeitung anderer Prozessschritte auslösen. Ein Prozess hat einen festgelegten Bearbeitungszeitraum, einen Start und ein Ende. Weitere Informationen erhalten Sie im Kapitel Prozesse.

Workflow-Eingangskorb

Das andockbare Fenster Aufgaben suchen dient als Workflow-Eingangskorb. In dem Fenster Aufgaben suchen werden Ihnen automatisch alle Aufgaben angezeigt, die Sie betreffen. Sie können wählen, ob Sie alle Aufgaben einsehen möchten, die aktuellen Aufgaben, die Aufgaben, deren Bearbeitungszeitraum bereits abgelaufen ist (verspätete Aufgaben), oder geplante Aufgaben.

Workflow-Symbolleiste

Wenn Sie eine Aufgabe im andockbaren Fenster Aufgaben suchen oder in einem der Cockpits öffnen und übernehmen, wird die Workflow-Symbolleiste angezeigt und der Workflow-Modus aktiviert. Mithilfe der Aktionen der Workflow-Symbolleiste können Sie Ihre Aufgaben bearbeiten. Sie können die Aufgaben unter anderem übernehmen, erledigen, zurückstellen, vorverlegen und weiterleiten. Weitere Informationen zur Workflow-Symbolleiste erhalten Sie im Bedienungsleitfaden unter dem Kapitel Workflow-Management.

Aktivitätsinformationen

Die Anwendung Aktivitätsinformationen liefert einen einfachen und schnellen Überblick über eine Workflow-Aktivität in einem andockbaren Fenster. Die Anwendung wird automatisch geöffnet, wenn eine Aufgabe geöffnet wird und die übergeordnete Aktivität mit einer Anwendung oder einem Business Object verknüpft ist. Dadurch bleiben sowohl das zu bearbeitende Business Object als auch die wichtigsten Informationen zur Aktivität immer sichtbar. Weitere Informationen erhalten Sie in der Dokumentation Aktivitätsinformationen.

E-Mail-Benachrichtigungen

Mit E-Mail-Benachrichtigungen können Anwender des Workflows zum Beispiel über neue Aufgaben oder Statusänderungen von Aufgaben, Aktivitäten und Prozessen informiert werden. Der E-Mail-Versand ist insbesondere nützlich für Mitarbeiter von Geschäftspartnern, welche nicht regelmäßig mit dem System arbeiten.

Aufgaben

Die von einem Benutzer zu bearbeitenden Aufgaben werden unter dem Kartei­reiter Aufgaben suchen im Navigationsbereich aufgelistet. Der Karteireiter dient im ERP-System als Workflow-Eingangskorb und kann als andockbares Fenster genutzt werden.

Jeder Benutzer kann in den Benutzereinstellungen zusätzlich einstellen, dass er beim Eintreffen einer neuen Aufgabe eine E‑Mail erhält. In dieser E‑Mail befindet sich u. a. ein Link zum Öffnen der jewei­ligen Aktivität. Wenn der Status einer Aufgabe sich zu verspätet ändert, erhält der Benutzer optional eine weitere E-Mail. Der E-Mail-Versand ist insbesondere nützlich für Mitarbeiter von Geschäftspart­nern, welche nicht regelmäßig mit dem System arbeiten.

Beispiel
Ein Sachbearbeiter bei einem Lieferanten erhält eine E-Mail mit der Aufforderung, ein Angebot für eine Beschaffungsanfrage zu erfassen.

Das andockbare Fenster Aufgaben suchen wird zeitnah aktualisiert und bietet Zugriff auf jede Funktionalität, die der Benutzer zum Erledigen seiner Aufgaben benö­tigt. Sobald eine Aufgabe in Bearbeitung genommen wird, ist die Workflow-Symbolleiste aktiv. Die Workflow-Symbolleiste stellt Aktionen und Informationen zu der Auf­gabe bereit, die vom Benutzer bearbeitet wird.

Weitere Informationen zur Workflow-Symbolleiste und zu dem andockbaren Fenster Aufgaben suchen erhalten Sie im Bedienungsleitfaden im Kapitel Workflow-Management.

Aufgaben suchen

Mit den Cockpits Cockpit: Aufgaben/OLTP-Datenbank und Cockpit: Aufgaben/Repository-Datenbank können Sie sich einen Überblick über zukünftige, gegenwärtige und vergangene Aufgaben und deren Basisinformationen verschaffen, zum Beispiel über den Bearbeiter, den Aufgabenstatus sowie die mit der übergeordneten Aktivität verknüpften Business Entitys. Berechtigungen beschränken den Zugriff der Benutzer auf die für sie relevanten Daten.

Das Cockpit Cockpit: Aufgaben/Repository-Datenbank ist für die Abfrage und Bearbeitung von Aufgaben aus der übergeordneten Repository-Datenbank. Die Repository-Datenbank bildet die Basis eines Comarch-ERP-Enterprise-Systems. In dieser Datenbank sind alle Entwicklungsobjekte enthalten. Die Entwicklungsobjekte beschreiben und definieren ein System. Die Repository-Datenbank ist die zentrale Stelle für das Einspielen, Aktivieren und Verteilen von Softwareaktualisierungen. Daneben enthält sie das Data-Dictionary, welches das Datenbankschema durch ein objekt-relationales Typsystem beschreibt. Die Repository-Datenbank übernimmt darüber hinaus die Rolle der zentralen System-Datenbank. Sie enthält das Systemprotokoll und die Berechtigungsfestlegungen.

Das Cockpit Cockpit: Aufgaben/OLTP-Datenbank ist für die Abfrage und Bearbeitung von Aufgaben aus der OLTP-Datenbank, an der Sie momentan angemeldet sind. In einer Online-Transaction-Processing (OLTP)-Datenbank werden Stamm- und Bewegungsdaten für die betriebswirtschaftlichen Anwendungen verwaltet. Zudem sind Verhaltensweisen hinterlegt, die als Customizing bezeichnet werden. Die OLTP-Datenbank wird in einem Produktivsystem von den Benutzern am stärksten belastet. Deshalb ist sie speziell darauf ausgelegt, eine hohe Anzahl an Benutzern bedienen zu können, die parallel einen gemeinsamen Datenbestand bearbeiten.

Weitere Informationen erhalten Sie in der Dokumentation Cockpits: Aufgaben/OLTP-Datenbank und Aufgaben/Repository-Datenbank.

Aufgaben bearbeiten und erledigen

Mit Erreichen des eingestellten Startzeitpunktes wechseln die geplanten Aufgaben in den Zustand Zu bearbeiten. Zu bearbeitende Aufgaben werden im andockbaren Fenster Aufgaben suchen angezeigt.

Sie öffnen das in der Aufgabe zu bearbeitende Business Entity, indem Sie entweder den Eintrag Öffnen im Kontextmenü auswählen oder mit der Maus doppelt auf die angezeigte Aufgabe klicken. Gleichzeitig wird die Workflow-Symbolleiste angezeigt und damit der Workflow-Modus aktiviert. Weitere Informationen zur Workflow-Symbolleiste erhalten Sie im Bedienungsleitfaden unter dem Kapitel Workflow-Management.

Wenn eine Aufgabe geöffnet wird und die übergeordnete Aktivität mit einer Anwendung oder einem Business Object verknüpft ist, wird automatisch die entsprechende Anwendung für die Bearbeitung der Aufgabe geöffnet. Gleichzeitig öffnet sich die Anwendung Aktivitätsinformationen als andockbares Fenster. Die Anwendung Aktivitätsinformationen liefert einen einfachen und schnellen Überblick über eine Workflow-Aktivität. Dadurch bleiben sowohl das zu bearbeitende Business Object als auch die wichtigsten Informationen zur Aktivität immer sichtbar. Weitere Informationen erhalten Sie in der Dokumentation Aktivitätsinformationen.

Wenn eine Aufgabe geöffnet wird und die übergeordnete Aktivität nicht mit einer Anwendung oder einem Business Object verknüpft ist, wird die der Aufgabe übergeordnete Aktivität in der Anwendung Aktivitäten geöffnet. Übernehmen Sie eine Aufgabe, wird der Status der Aufgabe auf In Bearbeitung gesetzt. Wenn für die übergeordnete Aktivität der Bearbeitungsmodus Einzelbearbeitung eingestellt ist, erhalten die ggf. vorhandenen weiteren Aufgaben der Aktivität von anderen Bearbeitern den Status Gesperrt. Die automatische Übernahme von Aufgaben beim Öffnen der Aufgabe kann im Customizing unter der Funktion Workflow-Management eingestellt werden.

Haben Sie eine Aufgabe zum Bearbeiten übernommen, möchten diese aber wieder zurückgeben (z. B. damit andere Kollegen sie bearbeiten können), dann können Aufgaben wieder zurückgestellt werden. Die Aufgabe erhält dann wieder den Status Zu bearbeiten.

Aufgaben können auch an einen anderen Bearbeiter weitergeleitet werden. Sie können die Aufgabe bei der Weiterleitung entweder übertragen oder kopieren und den Status der weitergeleiteten Aufgabe bei Bedarf mit E-Mail-Benachrichtigungen nachverfolgen. Für den neuen Bearbeiter der Aufgabe können Sie einen Benachrichtigungstext erfassen.

Bei Bedarf kann für die Bearbeitung von Aufgaben der durchgehende Bearbeitungsmodus aktiviert werden. Bei der durchgehenden Bearbeitung können mehrere aufeinanderfolgende Aufgaben erledigt werden, ohne den Workflow-Bearbeitungsmodus zu verlassen. Mit dem Erledigen einer Aufgabe wird automatisch die nächste Aufgabe geöffnet.

Nachdem Sie die Bearbeitung Ihrer Aufgabe abgeschlossen haben, erledigen Sie Ihre Aufgabe. Wenn Sie eine Aufgabe nicht bearbeiten können, kann die Aufgabe unbearbeitet erledigt werden.

Aktivitäten

In diesem Kapitel erhalten sie eine Einführung zu Aktivitäten. Weitere Informationen zu Aktivitäten erhalten Sie in der Dokumentation Aktivitäten.

Aktivitäten erfassen

Mithilfe einer Aktivitätsdefinition kann als Reaktion auf ein beliebiges Ereignis eine Aktivität erzeugt werden. Diese wird bei den entsprechenden Bearbeitern als Aufgabe sichtbar. In der Aktivitätsdefinition kann festgelegt werden, welche Anwendung für das Bearbeiten der Aufgabe herangezogen werden soll.

Jeder Benutzer kann manuell Aktivitäten für sich und andere Benutzer erfassen. Diese Aktivitäten werden manuell erfasste Aktivitäten genannt. Mithilfe eines Eintrages im Kontextmenü können für jedes Business Entity Aktivitäten manuell erfasst werden. Diese manuell erfasste Aktivität ist automatisch mit dem Business Object verknüpft. Damit sind insbesondere die wesentlichen Wiedervorlage-Szenarien abgedeckt.

In der Anwendung Aktivitäten können Aktivitäten ebenfalls manuell erfasst werden, entweder als neue Einzelaktivität oder aus einer vorhanden Aktivität dupliziert. Die Verknüpfung zu einem oder mehreren Business Objects kann in der Aktivität hinzugefügt werden. Darüber hinaus erzeugen verschiedene Anwendungen über eine allgemein zugängliche Programmierschnittstelle automatisch Aktivitäten. Beispiele: Beziehungs-Management, Hintergrundverarbeitung, Beschaffungsangebote (Wiedervorlagedatum).

Aktivitäten suchen

Vorhandene Aktivitäten können in den Cockpits Cockpit: Aktivitäten/OLTP-Datenbank und Cockpit: Aktivitäten/Repository-Datenbank abgefragt werden. Wenn Sie die Aktivität für ein bestimmtes Business Entity suchen, können Sie über das Kontextmenü in das entsprechende Cockpit für die Suche springen. Im Cockpit ist dann das Suchkriterium für die Verknüpfung bereits vorbelegt.

Weitere Informationen zu den Cockpits für Aktivitäten erhalten Sie in der Dokumentation Cockpits: Aktivitäten/OLTP-Datenbank und Aktivitäten/Repository-Datenbank.

Aktivitäten erledigen

Aktivitäten können mit einer Aktion über die Anwendung Aktivitäten oder über die Cockpits für Aktivitäten erledigt werden. Besitzt die Aktivität noch offene Aufgaben, erhalten diese dabei den Aufgabenstatus Erledigt. Ist eine noch offene Aufgabe in Bearbeitung, dann erhält sie den Status Gesperrt.

Es ist ebenfalls möglich, Aktivitäten mit einer Aktion unbearbeitet zu erledigen. Damit vergeben Sie an die Aktivität den Status Unbearbeitet erledigt. Besitzt die Aktivität noch offene Aufgaben, erhalten diese den Aufgabenstatus Unbearbeitet erledigt. Ist eine offene Aufgabe noch in Bearbeitung, dann erhält sie den Status Gesperrt.

Prozesse

In diesem Kapitel erhalten Sie eine Einführung zu Prozessen. Weitere Informationen zu Prozessen erhalten Sie in der Dokumentation Prozesse.

Prozesse starten

Es gibt verschiedene Möglichkeiten Prozesse im ERP-System zu starten. Voraussetzung dafür ist, dass die Entsprechende Prozessdefinition für den Prozess in der jeweiligen Datenbank aktiviert ist.

Die Einstellungen in der Prozessdefinition sowie die Ereignisdefinition der zum Startereignis gehörigen Aktivitätsdefinition legen fest, wie der Prozess gestartet wird. Je nach Ereignistyp und Einstellungen sind folgende Alternativen möglich:

  • Die Aktivitätsdefinition für das Startereignis hat weder eine Ereignisdefinition noch ist die Prozessdefinition mit einer Prozessanwendung verknüpft.
    In diesem Fall starten Sie den Prozess in der Anwendung Prozesse mithilfe des andockbaren Fensters Prozess starten oder des gleichnamigen Buttons. Das andockbare Fenster Prozess starten zeigt alle Prozessdefinitionen nach Framework an, die in der Anwendung Prozesse gestartet werden können.
  • Die Aktivitätsdefinition für das Startereignis hat keine Ereignisdefinition, aber die Prozessdefinition ist mit einer Prozessanwendung verknüpft.
    In diesem Fall starten Sie den Prozess über die verknüpfte Prozessanwendung.
  • Die Aktivitätsdefinition für das Startereignis hat eine Ereignisdefinition vom Typ Benutzeraktion.
    In diesem Fall starten Sie den Prozess über das Kontextmenü des in der Aktivitätsdefinition hinterlegten Business Entitys.
  • Die Aktivitätsdefinition für das Startereignis hat eine Ereignisdefinition vom Typ Business Entity oder Programmiertes Ereignis.
    In diesem Fall starten Sie den Prozess, indem Sie das in der Ereignisdefinition hinterlegte Ereignis auslösen, z. B. durch das Ändern eines Business Objects.
Prozesse suchen

Vorhandene Prozesse können in den Cockpits Cockpit: Prozesse/OLTP-Datenbank und Cockpit: Prozesse/Repository-Datenbank abgefragt werden. Wenn Sie Prozesse für ein bestimmtes Business Entity suchen, können Sie über das Kontextmenü in das entsprechende Cockpit für die Suche springen. Im Cockpit ist dann das Suchkriterium für die Verknüpfung bereits vorbelegt. Die Verknüpfung zu einem Prozess wird über die Aktivität des Startknotens hergestellt.

Weitere Informationen zu den Cockpits für Prozesse erhalten Sie in der Dokumentation Cockpits: Prozesse/OLTP-Datenbank und Prozesse/Repository-Datenbank.

Prozesskommentare erfassen

Für Prozesse können Kommentare erfasst werden. Bei Bedarf können Prozessverantwortliche, der Prozessauslöser oder alle beteiligten Bearbeiter des Prozesses per E-Mail über den neuen Prozesskommentar benachrichtigt werden.

Prozesse unbearbeitet erledigen

Prozesse können mit einer Aktion unbearbeitet erledigt werden. Der Prozess erhält dann den Status Unbearbeitet erledigt und die noch offenen Aktivitäten des Prozesses erhalten ebenfalls den Status Unbearbeitet erledigt.

Zeitüberschreitung

Eine Aktivität soll innerhalb des festgelegten Bearbeitungszeitraums bearbeitet werden. Wenn das nicht der Fall ist, dann wechselt der Aktivitätsstatus zu Verspätet oder Verspätet in Bearbeitung. Bei der Überschreitung des festgelegten Bearbeitungszeitraums kann eine in der Aktivitätsdefinition festgelegte Folgeaktion automatisch ausgeführt und der Bearbeiter per E-Mail benachrichtigt werden. Für Prozesse kann auch eine E-Mail-Benachrichtigung an den Prozessverantwortlichen versendet werden. Bei der Zeitüberschreitung eines Prozesses sind keine Folgeaktionen möglich.

Beispiel
Wenn der Benutzer, der einen bestimmten Auftrag gesperrt hat, diesen nicht in drei Wochen entsperrt, dann kann die zugehörige Aktivität an den zuständigen Vorgesetz­ten weitergeleitet werden.

Workflow-Organisation

In diesem Kapitel werden die Anwendungen und Funktionen für die Workflow-Organisation erläutert. Die Workflow-Organisation dient der Ermittlung von Bearbeitern, Vertretern und Verantwortlichen für Workflows.

Workflowrollen

Workflowrollen sind eine Abstraktionsebene, um die vom Workflow verwendete Ablauforganisation abzubilden. Einer Workflowrolle müssen Inhaber zugeordnet werden, damit diese sinnvoll verwendet werden kann. Inhaber können Benutzer, Personen, Stellen oder Organisationen sein. Die Zuordnung der Inhaber einer Workflowrolle ist datenbankspezifisch, weil bei der Zuordnung nur Objekte in dieser Datenbank benutzt werden können. In unterschiedlichen Datenbanken hat eine Rolle im Allgemeinen unterschiedliche Inhaber. Workflowrollen können anstatt über zugeordnete Inhaber auch durch einen Ausdruck definiert werden, ähnlich wie eine Funktion. Bei der Auflösung dieser Rollen werden die Inhaber durch den Ausdruck berechnet.

Der Workflowrolleninhaber ist Teil des Workflows. Er ist eine Person oder eine Personengruppe, die einer Workflowrolle in einer Datenbank zugeordnet wurde. Inhaber können z. B. Benutzer, Personen, Organisationen oder Stellen sein. Wenn beim Erzeugen einer Aktivität kein gültiger Benutzer aus den Workflowrolleninhabern ermittelt werden kann, wird die Workflowrolle cis.WorkflowAdminOLTP bzw. cis.WorkflowAdminRepository für die Ermittlung benutzt. Wenn diese Rolle keinen gültigen Benutzer hat, dann wird die Aufgabe dem Benutzer Administrator zugeordnet.

Weitere Informationen erhalten Sie in der Dokumentation Workflowrollen.

Stellen

Eine Stelle ist sowohl die Zuordnung einer beruflichen Tätigkeit (einer Funktion) zu einem oder mehreren Mitarbeitern als auch die Einordnung in die Unternehmensstruktur (die Aufbauorganisation). Stellen beschreiben in einer Aufbauorganisation die einzelnen funktionalen Arbeitsplätze und deren Beziehungen untereinander. Stellen können zur Definition von Workflowrollen verwendet werden und darüber kann die Ermittlung von Vorgesetzten und Stellvertretern für Aktivitäten gesteuert werden.

Es können Einzelstellen und Sammelstellen erfasst werden. Einzelstellen können höchstens einer Person zugeordnet werden und Sammelstellen beliebig vielen Personen. Mit Stellenbeziehungen können Stellen hierarchisch in Vorgesetzter- und Stellvertreterbeziehungen zueinander gesetzt werden. Mit Partnerbeziehungen können Stellen zusammen mit einer oder mehreren Personen einer übergeordneten Organisation zugeordnet werden. Oder eine Stelle wird ohne übergeordnete Organisationszuordnung einer oder mehreren Personen zugeordnet.

Weitere Information erhalten Sie in der Dokumentation Stellen.

Abwesenheiten

Eine Abwesenheit ist ein erfasster Zeitraum, in der ein Benutzer keine Workflow-Aufgaben bearbeiten kann. Während einer Abwesenheit können delegierbare Workflow-Aufgaben, die dem Benutzer zugeordnet sind, an einen Stellvertreter weitergeleitet werden. Abwesenheiten und die Stellvertreterbeziehungen, die bei einer Abwesenheit eines Benutzers gelten sollen, legen Sie in der Anwendung Abwesenheiten fest. Die während einer Abwesenheit eines Benutzers delegierten Workflow-Aufgaben werden bei dem Stellvertreter im Workflow-Eingangskorb angezeigt.

Voraussetzung für die Weiterleitung einer Workflow-Aufgabe an einen Stellvertreter bei Abwesenheit ist, dass die Bearbeitung von Aufgaben in Stellvertretung in der zugehörigen Aktivitätsdefinition bzw. der Aktivität bei Abwesenheiten erlaubt ist.

Weitere Informationen zu Abwesenheiten erhalten Sie in der Dokumentation Abwesenheiten.

Prozessbezogene Bearbeiterermittlung

Die Ermittlung eines Bearbeiters für eine Aktivität kann auch mit einer Deklaration in einer der Skriptsprachen erfolgen. So kann zum Beispiel der zuständige Mitarbeiter eines Vertriebsauftrags als Bearbeiter für eine Aktivität festgelegt werden. Für die Prozessbezogene Bearbeiterermittlung erfassen Sie in der Aktivitätsdefinition entweder einen Ausdruck für den Bearbeiter oder Sie legen den Bearbeiter in den Deklarationen fest.

Workflow-Entwicklung

In diesem Kapitel werden die Anwendungen und Funktionen für die Entwicklung von Workflows erläutert.

Aktivitätsdefinitionen

Eine Aktivitätsdefinition ist die Vorlage für die aus ihr erzeugten Aktivitäten. Ist eine Aktivitätsdefinition aktiviert, dann erzeugt die Workflow-Engine beim Eintreten des registrierten Ereignisses eine neue Aktivität, sofern die Übergangsbedingung erfüllt ist. Aktivitätsdefinitionen sind unabhängig von der OLTP-Datenbank und dem System, in dem sie erfasst wurden, da sie weder System noch OLTP-spezifische Daten enthalten. Aktivitätsdefinitionen werden in der Repository-Datenbank gespeichert.

Der Beginnzeitpunkt, die Bearbeitungsdauer und die Priorität von Aktivitäten können über die Aktivitätsdefinition gesteuert werden.

In diesem Kapitel erhalten Sie eine Einführung zu Aktivitätsdefinitionen. Weitere Informationen zu Aktivitätsdefinitionen erhalten Sie in der Dokumentation Aktivitätsdefinitionen.

Aktivitätstypen

In der Aktivitätsdefinition kann der Aktivitätstyp festgelegt werden. Je nach Aktivitätstyp können unterschiedliche Einstellungen für die Aktivitätsdefinition vorgenommen werden. Folgende Aktivitätstypen können erfasst werden:

  • Einzelaktivität – Eine Einzelaktivität beschreibt eine einmalig auszuführende Tätigkeit, die nicht Bestandteil eines Prozesses ist. Einzelaktivitäten können entweder durch einen Benutzer erfasst oder automatisch durch das System erzeugt werden, z. B. basierend auf einer Aktivitätsdefinition oder über eine Programmierschnittstelle.
  • Serienvorlage – Eine Serienvorlage ist eine Aktivität, die innerhalb eines festgelegten Zeitraumes nach einem Serienmuster Aktivitäten erzeugt. Die erzeugten Aktivitäten werden als Serienaktivitäten bezeichnet und werden in der Serienvorlage angezeigt. Eine Serienvorlage besitzt keine Aufgaben.
  • E-Mail-Nachricht – Eine Aktivitätsdefinition des Aktivitätstyps E-Mail-Nachricht versendet eine E-Mail an einen oder mehrere Empfänger, ohne dabei eine Aktivität zu erzeugen.
  • Funktionsaufruf – Ein Funktionsaufruf ist eine Aktivitätsdefinition, die statt Aktivitäten zu erzeugen ein Ergebnis berechnet und zurückgibt. Funktionsaufrufe werden z. B. eingesetzt, um komplexe Berechnungen einmalig zu erfassen oder Ausdrücke in JavaScript auch in Aktivitätsdefinitionen verwenden zu können, die in der System-Skriptsprache erfasst sind.
  • Knotentyp einer Prozessdefinition – Stellt die Aktivitätsdefinition einen Knoten einer Prozessdefinition dar, dann wird der Aktivitätstyp über den Knotentypen in der Prozessdefinition festgelegt. Eine ausführliche Beschreibung aller Knotentypen finden Sie in der Dokumentation Prozessdefinitionen.
Ereignisse

Ereignisse bilden die Basis für das Erzeugen von Aktivitäten aus Aktivitätsdefinitionen im Workflow-Management. Ereignisse können ausgelöst werden aufgrund von Datenänderungen durch das System, von einer Anwendung oder durch eine Benutzeraktion. Ereignisse enthalten Parameter, die das Ereignis beschreiben.

Um beim Eintreten eines Ereignisses eine Aktivität zu erzeugen, muss sich eine aktivierte Aktivitätsdefinition für dieses Ereignis registriert haben und die Übergangsbedingung muss erfüllt sein. Mit der Übergangsbedingung kann ein allgemeines Ereignis für eine Aktivitätsdefinition eingeschränkt werden.

Hinweis
Für das automatische Starten von Prozessen ist das registrierte Ereignis der Aktivitätsdefinition des Startereignisses entscheidend.
Programmierte Ereignisse

Dabei können spezifische Ereignisse programmiert werden. Diese Ereignisse sind in der Repository-Datenbank registriert und werden beim Entwickeln von Anwen­dungen festgelegt. Hierfür ist eine einfach zu handhabende Program­mier­schnittstelle vorhanden, sodass z. B. Adaptierungspartner einfach neue Ereignisse erstellen können.

Beispiel
Ein programmiertes Ereignis Status eines Vertriebsauftrags geändert kann z. B. den alten und neuen Status und den auslösenden Benutzer als Parameter mitgeben. Somit kann z. B. eine Aktivität zum Entsperren eines Auftrags für genau diesen Benutzer erzeugt werden.

Das Ereignis Status eines Vertriebsauftrags geändert kann sowohl als pro­gra­mmiertes Ereignis als auch mithilfe des Ereignisses Business Entity ausgedrückt werden. Das programmierte Ereignis verlangt Anpassungs­pro­gram­mierung an der Logik der Anwendung, während das Ereignis Business Entity ohne Anpassungsprogrammierung genutzt werden kann. Da das programmierte Ereignis jedoch nur dann ausgelöst wird, wenn sich der Sta­tus tatsächlich ändert, ist dieses effizienter als die Verwendung des Ereig­nis­ses Business Entity.

Ereignis Business Entity geändert

Die System-Engine löst das Ereignis Business Entity beim Erstellen, Ändern oder Löschen einer Business-Object-Instanz aus. Mithilfe dieses vom System bereitgestellten Ereignisses können einfache Aufgabenstellungen gelöst werden. Ereignisse dieses Typs werden relativ unspezi­fisch ausgelöst. Das heißt, dass bei jeder Änderung der Business-Object-Instanz ein Ereignis ausgelöst wird. Dieses Ereignis ist nicht ursächlich mit einem spezifischen betriebswirtschaftlich motivierten Vorgang ver­knüpft. Im Allgemeinen soll aber auf ganz bestimmte Vorgänge reagiert wer­den. Das ist einer der Gründe, weshalb eine Aktivitätsdefinition mit einer Übergangs­be­din­gung mit dem Ereignis verknüpft werden kann.

Aus der Akti­vi­tätsdefinition wird nur dann eine Aktivität erstellt, wenn das betreffende Ereig­nis eintritt und die Übergangsbedingung erfüllt ist. Für die Auswertung des Ereig­nisses, das heißt insbesondere auch für die Übergangs­bedingung, sind der alte und neue Status des geänderten Objekts zugreifbar.

Das Ereignis Status eines Vertriebsauftrags geändert kann mit dem Ereignis Business Entity ausgedrückt werden. Wenn ein Ver­triebsauftrag geändert wird, so muss in der Vorbedingung geprüft wer­den, ob der Status des alten Zustands des Vertriebsauftrags vom neuen Zustand des Vertriebsauftrags abweicht.

Ereignis Benutzeraktion

Dieses Ereignis wird ausgelöst, wenn ein Benutzer einen Prozess über den Eintrag Prozess starten im Kontextmenü eines Business Entitys startet. Der Typ Benutzeraktion steht nur in Aktivitätsdefinitionen zur Verfügung, die einen Knoten einer Prozessdefinition darstellen.

Hintergrundanwendung Ereignisse Auslösen

Die Hintergrund-Anwendung „Ereignisse auslösen“ löst das Ereignis com.cisag.pgm.workflow.InstanceEvent(Durch Hintergrundanwendung Ereignisse auslösen ausgelöstes Ereignis) für alle durch eine OQL-Anweisung ausgewählten Business-Object-Instanzen aus. Die Hintergrund-Anwendung kann mithilfe eines Verarbeitungsauftrags einmalig oder regelmäßig ausgeführt werden. Mithilfe von Aktivitätsdefinitionen, die sich für das ausgelöste Ereignis registriert haben, können Aktivitäten erzeugt werden. Weitere Informationen erhalten Sie in der Dokumentation Ereignisse auslösen.

Bearbeitung

Aktivitäten können von Benutzern, Verarbeitungsaufträgen oder dem System bearbeitet werden. Der mögliche Bearbeiter einer Aktivität kann auf verschiedene Weisen festgelegt werden. Ein Benutzer kann einfach einen Benutzer oder eine Person angeben. Darüber hinaus können auch die Elemente der Aufbauorganisation, also Stellen und Organisationen, verwendet werden. Mit Workflow­rollen wird die Ablauforganisation auf der Aufbauorganisation abgebildet, wobei die beiden Organisationen nicht deckungsgleich sein müssen (Indirektion). Wer­den Workflowrollen konsequent eingesetzt, können Ablauf- und Aufbauorgani­sation unabhängig voneinander geändert werden. Darüber hinaus stellen die Workflowrollen eine der Grundlagen dafür dar, dass Aktivitätsdefinitionen als Vorlagen (Templates) ausgeliefert werden können.

Je nachdem, welche Möglichkeit der Zuordnung genutzt wird, ergibt sich für eine Aktivität genau ein Bearbeiter oder eine Menge von Bearbeitern. Unabhängig davon kann festgelegt werden, ob die Bearbeitung entweder von genau einem oder aber von allen Bearbeitern durchzuführen ist. Dabei können im System grundsätzlich neben der innerbetrieblichen Aufbauorga­nisation auch die relevanten Ausschnitte der Aufbauorganisation der jeweiligen Geschäftspartner abgebildet werden.

Als Bearbeiter einer Aufgabe kommt grundsätzlich jeder in Frage, der einen Browser und eine Netzwerkverbindung zum Quellsystem hat (über Internet, Intranet oder weitere Netzwerke). Somit können auch Mitarbeiter von Geschäfts­partnern sehr einfach einbezogen werden.

Die Aufbauorganisation im System sieht vor, dass zwischen Stellen auch Vorge­setz­ten- und Stellvertreterbeziehungen definiert werden können. Dabei kön­nen sich auch Stellen gleichermaßen auf das eigene Unternehmen wie auf Geschäftspartner beziehen.

Die aus einer Aktivitätsdefinition erzeugten Aktivitäten können Verarbeitungs­aufträge erzeugen und auslösen und darüber Hintergrund-Anwendungen aus­führen. Hintergrund-Anwendungen werden ohne Benutzerinteraktion aufgerufen. Dazu müssen die Parameter im Entwicklungsobjekt der Hintergrund-Anwendung beschrieben sein. Nicht alle Anwendungen erfüllen diese Voraussetzungen. Mithilfe der Hintergrund-Anwendung Hintergrund-Anwendungen im Workflow aufrufen kann eine Hintergrund-Anwendung aufgerufen werden, auch wenn für diese nicht alle Parameter beschrieben sind. Weitere Informationen dazu erhalten Sie in der Dokumentation Hintergrund-Anwendungen im Workflow aufrufen.

Bedingungen

Bei jedem Statuswechsel einer Aktivität wird überprüft, ob die Vorbedingung der Aktivität noch erfüllt ist. Wenn die Vorbedingung nicht mehr erfüllt ist, dann erhält die Aktivität den Status Unbearbeitet erledigt. Dadurch werden auch alle Aufgaben der Aktivität unbearbeitet erledigt, die noch keinen Endstatus erreicht haben. Bei Aktivitäten, die vom System oder von einem Verarbeitungsauftrag bearbeitet werden, sowie bei Statuswechseln zu einem der beiden Endstatus Erledigt und Unbearbeitet erledigt wird die Vorbedingung nicht geprüft.

Beispiel
Eine mögliche Vorbedingung für eine Aktivität zu einem Auftrag: Der Auftrag muss im Status gesperrt sein. Bevor die Aktivität z. B. den Status Verspätet erhält, wird in diesem Fall geprüft, ob der Auftrag nicht schon entsperrt wurde. Damit wird der Vor-gesetzte nur dann benachrichtigt, wenn der Auftrag auch tatsächlich nicht in der vorgegebenen Zeit entsperrt wurde.

Ein weiteres Beispiel für die Benutzung des Workflows ist die Überwachung der Antwort- bzw. Lösungszeiten von Supportanfragen. Auch hierbei spielen die Vorbedingungen eine entscheidende Rolle.

Eine Aktivität kann nur dann erledigt werden, wenn die Nachbedingung erfüllt ist. Mithilfe der Nachbedingung kann z. B. verhindert werden, dass eine Aktivität erledigt wird, bevor die Bearbeiter die in der Aktivität beschriebene Tätigkeit ausgeführt haben. Eine Nachbedingung kann auch verhindern, dass der Erfasser eines Auftrags den Auftrag selber genehmigt.

Aus der Serien-Vorlage werden solange Serienaktivitäten erzeugt, wie die Serienbedingung erfüllt wird und die Seriendauer nicht überschritten wurde. Wenn eine Serienaktivität erzeugt werden soll und die Serienbedingung zu diesem Zeitpunkt nicht erfüllt wird, dann wird die gesamte Serie abgebrochen. Ist die Vorbedingung der Serien-Vorlage hingegen nicht erfüllt, wird zwar keine Serienaktivität erzeugt, aber die Serie wird nicht abgebrochen.

Texte

Für Aktivitätsdefinitionen kann ein Betreff und eine Beschreibung erfasst werden. Dabei können auch Platzhalter genutzt werden, die in den Deklarationen festgelegt werden. Für den Betreff und die Beschreibung können auch mehrsprachig Texte erfasst werden, die dem Bearbeiter gemäß seiner Spracheeinstellungen angezeigt wird.

Anwendung

Sie können eine Anwendung für die Bearbeitung der aus der Aktivitätsdefinition erzeugten Aktivitäten hinterlegen. Wenn der Bearbeiter der Aktivität ein Benutzer ist, dann können Sie eine Dialog-Anwendung festlegen, die automatisch geöffnet wird, wenn der Benutzer die erzeugte Aufgabe in Bearbeitung nimmt. Ist der Bearbeiter ein Verarbeitungsauftrag, dann kann eine Hintergrund-Anwendung für die Bearbeitung hinterlegt werden.

Ergebnisse

Jede Aktivität hat ein allgemeines Ergebnis, welches mit der Skript-Funktion setActivityResultgesetzt wird. Dieses allgemeine Ergebnis können Sie sich zum Beispiel in den entsprechenden Cockpits für Aktivitäten anzeigen lassen. Darüber hinaus können in der Aktivitätsdefinition weitere Ergebnisse festgelegt werden, die Bearbeiter beim Erledigen der Aufgabe eingibt. Mithilfe von Ergebnissen im Startknoten eines Prozesses kann auch der Prozessverlauf gesteuert werden.

Deklarationen

Für Aktivitätsdefinitionen können Deklarationen in der eigenen System-Skriptsprache oder in JavaScript erfasst werden. In den Deklarationen werden Funktionen zur Verfügung gestellt, die beim Erzeugen von Aktivitäten, bei Statuswechseln und bei der Eingabe von bestimmten Parameterwerten aufgerufen werden. Durch Anpassung der Deklarationen lassen sich die Eigenschaften von Prozessen und Aktivitäten flexibel festlegen.

Verknüpfungen

Jede Aktivität kann mit beliebig vielen Business Entitys in der gleichen Datenbank verknüpft werden. So kann beispielsweise eine Aktivität mit einem Kunden oder einem Artikel verbunden werden. Dies hat den Vorteil, dass Sie für einen Kunden alle Akti­vitäten heraussuchen und finden können, welche mit diesem Kunden verknüpft sind.

Beispiel
Ein Sachbearbeiter erfasst nach einem Telefonanruf eine manuell erfasste Aktivität, die zum gewünschten Zeitpunkt daran erinnert, dass ein Kunde in spätestens zwei Wochen über die Verfügbarkeit eines bestimmten Artikels informiert werden will.

Es können auch beliebig viele Dokumente bzw. Notizen aus dem Doku­menten-Management per Skript-Funktion mit Aktivitäten verbunden werden.

Prozessdefinitionen

Eine Prozessdefinition ist eine vollständige technische Beschreibung eines betrieblichen Prozesses oder Teilprozesses. Sie besteht aus Prozessschritten, die den Geschäftsprozess zeitlich und organisatorisch beschreiben. Eine Prozessdefinition wird als Diagramm modelliert, dessen Knoten die Aktivitätsdefinitionen und dessen Kanten den Kontrollfluss darstellen. Mithilfe der Prozessdefinition und der Aktivitätsdefinitionen werden die Eigenschaften der Prozesse und der Prozessschritte festgelegt. Prozessdefinitionen sind unabhängig von der OLTP-Datenbank und dem System, in dem sie erfasst wurden, da sie weder System- noch OLTP-spezifische Daten enthalten. Prozessdefinitionen werden in der Repository-Datenbank gespeichert.

In Prozessdefinitionen werden für Prozesse eine Bearbeitungsdauer und eine Aufbewahrungsfrist festgelegt, in der die Prozesse nicht reorganisiert werden können. In Prozessdefinitionen werden keine Prioritäten für Prozesse festgelegt, die Prioritäten können Sie für jeden Prozessschritt individuell in seiner Aktivitätsdefinition festlegen.

Zum Starten von Prozessen kann die Prozessdefinition einem Framework zugeordnet werden und eine Prozessanwendung kann für eine Prozessdefinitions-Vorlage festgelegt werden.

Für Prozessdefinitionen wird ein Verantwortlicher festgelegt. Das kann ein Benutzer sein oder eine Workflowrolle. Für den Prozessverantwortlichen sowie für den Prozessauslöser, für Prozessbeteiligte, für im Prozess konsultierte Benutzer und für Unbeteiligte am Prozess können Berechtigungen in der Prozessdefinition vergeben werden. Bei Fehlern oder der Überschreitung der Bearbeitungsdauer eines aus der Prozessdefinition gestarteten Prozesses, können Benachrichtigungs-E-Mails an den Prozessverantwortlichen oder an den Workflow-Administrator versendet werden.

In diesem Kapitel erhalten Sie eine Einführung zu Prozessdefinitionen. Weitere Informationen zu Prozessdefinitionen erhalten Sie in der Dokumentation Prozessdefinitionen.

Prozessmodell

Prozesse modellieren Sie im Editor der Prozessdefinition als eine Folge von Prozessschritten, die als Knoten dargestellt und über Kanten verbunden sind. Das Prozessmodell im ERP-System lehnt sich an das Business Process Model and Notation (BPMN) an, hat aber im Detail auch Unterschiede zum BPMN. Folgende Elemente stehen zur Verfügung:

  • Aktionsknoten – Ein Aktionsknoten ist ein Prozessschritt, der eine Tätigkeit für einen oder mehrere Bearbeiter darstellt. Manche Aktionsknoten unterstützen bestimmte Tätigkeit, wie z. B. eine Entscheidung zu treffen oder eine E-Mail-Nachricht zu versenden. Je nach Typ wird ein Aktionsknoten von Benutzern, vom System oder von einem Verarbeitungsauftrag bearbeitet. Im Editor werden Aktionsknoten als Rechtecke dargestellt.
  • Ereignisknoten – Ein Ereignisknoten ist ein Prozessschritt, der ein prozessrelevantes Ereignis statt einer Tätigkeit darstellt. Zu den Ereignisknoten zählen das Startereignis, das Endereignis, das Fehlerereignis sowie Zwischenereignisse. Aktivitäten, die von einem Ereignisknoten erzeugt wurden, werden vom System bearbeitet. Im Editor werden Ereignisknoten als Kreise dargestellt.
  • Gateways – Gateways werden in Prozessdefinitionen verwendet, um einen Kontrollfluss von einem Knoten aufzuteilen und an mehrere Knoten weiterzuleiten (Verzweigung) oder Kontrollflüsse von mehreren Knoten zusammenzuführen und an einen einzigen Knoten weiterzuleiten (Zusammenführung). Im Editor werden Gateways als Rauten dargestellt.
  • Kanten (Verbindungen) – Kanten verbinden die einzelnen Knoten und Gateways miteinander und leiten den Prozessfluss weiter. Im Editor werden Kanten als Linien dargestellt.

Zu jedem Knoten besteht genau eine Aktivitätsdefinition. Das Verhalten des Knotens wird durch diese Aktivitätsdefinition festgelegt. Wenn in einem Prozess der Kontrollfluss einen Knoten erreicht, erzeugt die Workflow-Engine aus der Aktivitätsdefinition eine Aktivität. Wenn die Aktivität erledigt wird, leitet die Workflow-Engine den Kontrollfluss über die ausgehende Kante an den nächsten Knoten weiter. Erreicht der Kontrollfluss eine Verzweigung, werden die Übergangsbedingungen für die Verzweigung aus der Aktivitätsdefinition vor der Verzweigung ausgewertet und der Kontrollfluss läuft abhängig von der Auswertung weiter.

Der Prozess endet, wenn die zum Endereignis gehörige Aktivität erledigt wird. Dabei erhalten Aktivitäten und Aufgaben, die noch keinen Endstatus besitzen, den Status Unbearbeitet erledigt. Besitzt der Prozess keinen Kontrollfluss mehr oder tritt in einem Prozessschritt ein Fehler auf, dann endet der Prozess über den Fehlerknoten.

Prozessvariablen

Für Prozesse können in der Prozessdefinition Prozessvariablen deklariert werden. Prozessvariablen erweitern Prozesse um zusätzliche Informationen, die im Prozess angezeigt werden können. Aktivitäten können mithilfe der Deklarationen Prozessvariablen auswerten und ihnen Werte zuweisen.

In den Aktivitätsdefinitionen der Knoten können für Prozesse zudem allgemeine Attribute genutzt werden, um Texte, Nummern oder Zeitpunkte als Prozessergebnisse zu speichern.

Deklarationen

In den Deklarationen können Sie Konstante, Variablen und Funktionen deklarieren, die für alle zur Prozessdefinition gehörigen Aktivitätsdefinitionen gelten.

Hinweis
Die in der Prozessdefinition erfassten Variablen und Kontanten können nur in den Aktivitätsdefinitionen der Knoten ausgewertet werden, die die gleiche Skriptsprache nutzen wie die Prozessdefinition.

Workflow-Engine

Zusammen mit dem Ereignisdienst koordiniert und überwacht die Workflow-Engine die Ausführung von Workflows. Die Workflow-Engine wird in jedem System auf dem Message-Server ausgeführt. Die Workflow-Engine ist ein Teil des Systems und kann in bei der Einrichtung des Systems konfiguriert werden.

Alle automatischen Statusänderungen von Aktivitäten und Aufgaben werden von der zentralen Workflow-Engine durchgeführt. Die Workflow-Engine wird in jedem System auf dem Message-Server ausgeführt. Auf jedem anderen ERP-System-Application-Server (SAS) im System läuft nur die Ereignisbehandlung.

Ausführliche Informationen zur Workflow-Engine erhalten Sie in der Dokumentation Workflow-Engine.

Skriptsprachen

Von der Workflow-Engine werden die eigene System-Skriptsprache und JavaScript unterstützt, um komplexe Zusammenhänge auszudrücken und Deklarationen für Aktivitäten und Prozesse festzulegen.

Terme, Bedingungen, Befehle und Deklarationen werden verwendet, um komplexe Zusammenhänge auszudrücken. Alle diese Ausdrücke sind Teil einer gemeinsamen Skriptsprache, die System-Skriptsprache genannt wird. Die Syntax der System-Skriptsprache lehnt sich an SQL, Pascal und Java an. Die System-Skriptsprache wird im Workflow-Management verwendet, um z. B. eine Vorbedingung oder Übergangsbedingung zu formulieren oder um Bearbeiter zu ermitteln, die nicht in einer Workflowrolle zusammengefasst sind. Die System-Skriptsprache wird im ERP-System geprüft und bei Fehlern im Skript werden Warnungen angezeigt.

Neben der System-Skriptsprache wird von der Workflow-Engine JavaScript unterstützt. JavaScript bietet Zugriff auf die Java-Klassen des ERP-Systems.

Weitere Informationen zur System-Skriptsprache erhalten Sie in der Dokumentation Einführung: System-Skriptsprache. Für die Funktionen der System-Skriptsprache stehen die weiterführenden Dokumentationen System-Skriptsprache: Allgemeine Funktionen, System-Skriptsprache: OLTP-Funktionen und System-Skriptsprache: Workflow-Funktionen zur Verfügung.

Czy ten artykuł był pomocny?