Insgesamt stehen bis zu neun verschiedene Möglichkeiten zur Verfügung, einen Prozess zu starten. Einige Aufrufe erfordern einen Eintrag im Programm BPM-Nachrichten (OP50270R), wo die benötigten Nachrichten einmalig hinterlegt werden müssen, anderen Aufrufen wird die Nachricht implizit mitgegeben. Unabhängig von der Art der Hinterlegung müssen die Bezeichnungen der Nachrichten in oxaion wie auch im Prozessdesign 100%ig übereinstimmen, damit sie an der richtigen Stelle ausgelöst werden können.
Grundsätzlich erfordert die Einrichtung von BPM-Nachrichten gute Kenntnisse der oxaion Programme. Auch Kenntnisse zu Analyse von XML bzw. Log-Dateien sind hilfreich.
Interaktive Servercalls
Das Programm „BPM-Nachrichten" (OP50270R) ermöglicht das Anlegen von Nachrichten und deren Bedingungen. Grundsätzlich gibt es zwei Möglichkeiten die BPM-Nachrichten zu verwenden.
Einfachste Anwendung ist das Schreiben eines Datensatzes in einem oxaion-Programm (z.B. im Teilestamm), wodurch eine Server-Transaktion ausgeführt wird, die getriggert werden kann.
Eine Neuanlage erfolgt mittels Rechtsklick auf die Liste und Auswahl des Menüpunktes „Neu".
- Programmname
Hier muss der Name des betroffenen Programms eingetragen werden.
- Option
Hier muss die Servertransaktion eingetragen werden, die den Prozess starten soll.
- Fehlercode
Dieses Feld bitte leer lassen.
- Transaktions Code
Dieses Feld bitte leer lassen.
Im Anschluss an die Neuanlage wird die erstellte BPM-Nachricht in der Liste angezeigt. Jetzt können die „Nachrichtendaten" ergänzt werden.
- BPM-Nachricht
Hier wird die Transaktion eingetragen, deren Aufruf die BPM-Nachricht auslösen soll.
Das bedeutet wenn im Zielprogramm genau diese Trankaktion aufgerufen wird, wird parallel dazu die angegebene BPM-Nachricht verschickt, wodurch ein Prozess ausgelöst oder weitergeführt werden kann.
Mailbox-Nachrichten
Prozessstart durch Mailbox
BPM-Nachrichten können auch mit Mailbox-Nachrichten verknüpft werden. Dies ist dann sinnvoll, wenn Programme bzw. Ereignisse überwacht werden sollen, die ohnehin eine entsprechende Nachricht absetzen (z.B. die Ermittlung terminkritischer Projekte). Dabei müssen folgende Punkte beachtet werden:
Bei Neuanlage wird der Fehlercode passend zum Sendeprogramm gewählt.
Die Mailbox-Nachricht wird regulär verwaltet. Zusätzlich muss die benötigte BPM-Nachricht in das Feld „BPM-Nachricht" eingetragen werden. Dadurch wird beim Senden der Mailbox-Nachricht auch die Process Engine angesprochen.
Mailbox-Buttons
Zudem gibt es auch die Möglichkeit von einer Mailboxnachricht aus direkt über einen Button einen BPM-Prozess zu starten.
Hierzu muss im Prozessstart unter "Nachricht" folgendes angegeben werden: BUTTON Fehlermeldung
Daten-Inhalte überwachen
Es besteht die Möglichkeit einen BPM-Prozess zu starten sobald in ein überwachtes Feld ein bestimmter Wert geschrieben wird. Dies ist dann sinnvoll, wenn Ereignisse überwacht werden sollen, die innerhalb des Systems eintreten können (z.B. ein Angebot wird als „verloren" gekennzeichnet).
Bsp.: Wird im Programm ‚Leads und Angebote' der Abschluss Status ‚27' gesetzt, startet der Prozess ‚Angebotsverfolgung'. Die verwendete BPM-Nachricht muss im Programm BPM-Nachrichten (US06270R) hinterlegt sein.
Das auslösende Ereignis muss im Start-Element des Prozessdesigns hinterlegt werden und setzt sich folgendermaßen zusammen:
Nachricht
Hier wird die Transaktion eingetragen, deren Aufruf die BPM-Nachricht auslösen soll.
Nachrichtenparameter
Hier werden das zu überwachende Feld und der Wert eingetragen, bei dem der Prozess gestartet werden soll. Löst eine Transaktion diese BPM-Nachricht aus, muss zudem genau dieser Wert gesetzt sein, damit der BPM-Prozess startet. Wird die Nachricht abgesetzt während in diesem Feld ein anderer Wert steht, wird kein Prozess ausgelöst.
BPM-Nachricht und Feldwert müssen also mit den im Design hinterlegten Daten übereinstimmen.
Achten Sie auf die im Verwendete Syntax beschriebene Syntax!
Fehlermeldungen
Anmerkung
Diese Art des BPM-Prozessstarts ist von der Überwachung einer Zustandsvariablen zu unterscheiden (siehe Zustand). Während bei der oben beschriebenen Möglichkeit des Prozessstarts dieser durch eine Programmaktivität ausgelöst wird und dann beim Prozessstartknoten beginnt, erfolgt die Überwachung einer Zustandsvariable unabhängig von Programmaktivitäten. Sie würde also z.B. auch dadurch ausgelöst werden, dass eine oxaion Datei via SQL verändert wird. Die Überwachung einer Zustandsvariablen führt weiterhin nicht zum Start eines Prozesses am Prozessstartknoten sondern springt genau an die Stelle im Prozess an der der entsprechende Zustand abgefragt wird.
- Programmname
Hier wird der Name des Zielprogramms eingetragen.
- Fehlercode
Das Feld ist mit dem Fehlercode zu füllen, der den Prozess auslösen soll
- BPM-Nachricht
Hier wird die Transaktion eingetragen, deren Aufruf die BPM-Nachricht auslösen soll.
- Button-Text
Dieser Text wird auf dem Button angezeigt.
- Button-Tooltip
Weitere Informationen zum Button.
- Icon
Gibt an welches Icon auf dem Button angezeigt werden soll.
Ebenfalls im Programm "BPM-Nachrichten" (OP50270R) können BPM-Nachrichten für den Prozessstart aus Fehlermeldungen hinterlegt werden. Dadurch wird der Fehlermeldung ein zusätzlicher Button hinzugefügt, der einen Prozess einleitet. Dies ist vor allem dann sinnvoll, wenn eine laufende Aktivität aufgrund unvollständiger Daten unterbrochen werden muss.
Voraussetzung:
Um ein Programm über den Button auf der Fehlermeldung korrekt öffnen zu können, muss im BPM-Prozess eine "Oberflächentransaktion" mitgegeben werden, wie bspw. zum Öffnen der Steuerfindung "LOAD, FIRSTLIST".
Ein weiterer, denkbarer Fall wäre, dass die Übernahme eines Angebots in einen Auftrag fehlschlägt, da der verwendete Kunde noch nicht angelegt ist. Hier kann die angepasste Fehlermeldung die Neuanlage des Kunden auslösen.
Programm-Menü
Es ist möglich einen Menüeintrag für einen Prozess zu hinterlegen und diesen wie ein reguläres Programm aus dem Explorer zu starten. Dies ist vor allem dann sinnvoll, wenn ein systemunabhängiges, externes Ereignis eintritt (z.B. Austausch von Teilen oder Korrektur von Stammdaten).
Die Menüeinträge können im Programm „Menükomponenten verwalten" angelegt werden. Dabei sind folgende Felder zu füllen:
Anwendung
In der Regel wird für BPM-Prozesse ein kundenspezifisches Anwendungsgebiet verwendet.
Kurzbefehl(e)
Es sollte ein eindeutiger und möglichst für sich sprechender Kurzbefehl gewählt werden.
Menüpositionstext
Um im Menü eine deutliche Abgrenzung zu regulären Programmaufrufen zu erreichen sollte hier „Prozess [PROZESSNAME] starten" eingetragen werden.
Menü-Typ
In der Regel handelt es sich um eine Standard-Menü-Komponente („1").
XML-Datei (JET)
Hier wird der eigentliche Prozessaufruf hinterlegt. Dies geschieht durch den Eintrag„PROCESS START=[PROZESSNAME]". Wichtig hierbei sind die Großschreibung und die korrekte Wiedergabe des Prozessnamens.
Hardcoded im Programm
Für manche Programme ist es notwendig, dass das Absetzen einer BPM-Nachricht „hart" im Quellcode hinterlegt wird. Dies ist vor allem bei asynchronen Verarbeitungen sinnvoll.
Im oxaion-Programm:
business Version:
open Version:
Im Startknoten des Prozessdesigns:
Manuell über SNDPRCMSG
Es ist zudem möglich eine BPM-Nachricht manuell abzusetzen (diese Vorgehensweise ist jedoch ausschließlich für Testzwecke gedacht).
Hierfür muss das Programm "Programm aufrufen" (OP30050R oder Befehl „call") aufgerufen werden. In der business Version ist eine Terminal-Sitzung zu öffnen und das Programm „SNDPRCMSG" mit F4 aufzurufen. Folgende Parameter sind zu füllen:
- Programm
Hier ist immer „sndPrcMsg" einzutragen.
(Kennwort-Identifikation und Firma werden automatisch mit den aktuellen Daten gefüllt.)
- Nachricht bzw. message
Die BPM-Nachricht, die im Prozessdesign hinlegt ist.
- Input-Daten bzw. xmlData
Hier werden die Datenfelder und deren Inhalte übergeben, die für die Nachricht relevant sind. Wichtig ist die zu verwendende XML-Syntax. Zum Beispiel würde das Feld Teilenummer (IDNR) mit dem Inhalt „Testteil" als <IDNR>Testteil</IDNR> übergeben werden. Weitere Felder können nach dem gleichen Schema angefügt werden.
Die BPM-Nachricht sowie die angehängten Felder und deren Inhalte haben eine Schlüsselfunktion für den jeweiligen Prozess und müssen dementsprechend überlegt gewählt werden.
SQL-Überwachung / Fälligkeitsprüfung
Mit dem Programm „Auswertung für BPM-Prozesse verwalten" (OP50400R) ist es möglich SQL-Auswertungen zu definieren, die für jeden gefundenen Satz einen BPM-Prozess anstoßen. Dies ist vor allem zur Überprüfung von Fälligkeits-, oder sonstigen (zeit-)kritischen Daten sinnvoll.
- BPM-Prozess
Eindeutiger Name der Prüfung.
- Bezeichnung
Beschreibung der Prüfung.
- BPM-Nachricht
Diese Nachricht startet den Prozess und muss dementsprechend auch im Model hinterlegt sein.
- SQL-Anweisung
Hier wird die auszuführende SQL-Anweisung hinterlegt. Variable Felder (z.B. die aktuelle Firma) sind hierbei mit &feldname zu notieren.
Die Prüfungen können Jobs wie z.B. dem Nachtlauf angehängt werden um täglich die kritischen Daten zu filtern. Alternativ können die Auswertungen auch manuell gestartet werden. Hierfür steht das Programm „Auswertungen für BPM-Prozesse prüfen" (OP50450R) zur Verfügung.
Geschäftsobjekte
Es ist darüber hinaus möglich, Prozesse direkt aus Geschäftsobjekten, wie etwa einem Verkaufsauftrag, zu starten. Dazu muss im BPM-Modell als Startnachricht das oxaion-Explorer-Programm angegeben werden:
Wichtig ist hierbei, dass der angegebene Explorer über eine Workflow-Integration verfügt und der Programmname mit abschließendem „R" angegeben wird.
Die verfügbaren Prozesse können über das Kontextmenü des Explorers gestartet werden und sind dann unterhalb des „Workflow / Aufgaben"-Knotens sichtbar. Von dort aus können sie auch fortgesetzt werden:
Die offenen Aufgabe sind dabei über einen oxaion-Link wie z.B. mit dem Geschäftsobjekt verbunden. Über den oxaion-Link kann bspw. aus dem Programm für die offenen Aufgaben (OP50104R, siehe Offene Aktivitäten) direkt zum Geschäftsobjekt gesprungen werden.
BPM-Link für Pinnwand-Nachricht
Ein Prozess kann auch auf der Pinnwand ausgegeben werden. Um entsprechend eine Verlinkung in der Pinnwand-Nachricht zum Auslöser des Prozesses zu erhalten, kann im Prozess ein BPM-Link eingefügt werden.
Folgend wird ein Beispiel aufgezeigt, wenn der Auftragswert im Verkauf überwacht wird. Somit kann direkt über den grau hinterlegten Link in der Nacht in den Auftrag verzweigt werden.