SAP-Prozesse so einfach wie in Scratch automatisieren. Klingt zu schön, um wahr zu sein? SAP- und Inwerken-Spezialist Thomas Goly beschreibt in diesem Artikel, die Parallelen von  SAP Business Workflows und Scratch. Denn wie Scratch bietet SAP Business Workflows Anwenderinnen und Anwender mit wenig Programmiererfahrung die Möglichkeit, SAP-Prozesse einfach zu automatisieren.

Haben Sie schon einmal von Scratch gehört?

Scratch ist eine auf Java basierende Programmiersprache, in der Kinder (und auch Erwachsene) spielerisch interaktive Medien, z. Bsp. Geschichten, Animationen oder auch Spiele, gestalten und programmieren können. Das Besondere an Scratch ist, dass alle Projekte ohne eine Zeile Code entworfen und entwickelt werden können. Alle benötigten Elemente liegen als fertige Codeblöcke vor, die nur noch passend zusammengesteckt werden müssen. Die Form der Blöcke sorgt dafür, dass nur kompatible Elemente zusammengesteckt werden können. Aus einer großen Bibliothek mit unterschiedlichen Funktionen, z. Bsp. Motion, Events, und Controls, lassen sich komplexe Abläufe entwerfen und darstellen. Die meisten Blöcke lassen sich mit Eingabeparametern individuell anpassen. Sind alle Codeblöcke platziert und konfiguriert, lässt ein Klick auf die grüne Flagge (oben) den gesamten Ablauf starten.

Scratch Editor SAP Business Workflows

Probieren Sie es gerne selbst einmal aus, Scratch ist kostenlos, bedarf keiner Anmeldung und kann über einen beliebigen Webbrowser gestartet werden:

https://scratch.mit.edu/projects/editor/?tutorial=getStarted

Sie fragen sich mittlerweile wahrscheinlich, was das Ganze mit Prozessautomatisierung in SAP zu tun hat …

Nun ja, was wäre …
1) … wenn es in SAP genauso leicht wäre, automatisierte Prozesse zu entwerfen?

2) … wenn es ein voll integriertes Framework mit vielen ready-to-use Templates und vorgefertigten Bausteinen geben würde?

3) … wenn man für die Implementierung genauso wenig tiefgreifende ABAP-Kenntnisse mitbringen muss wie Kenntnisse von Java bei Scratch?

4) …  wenn es nicht einmal einen finanziellen Mehraufwand bedeutet?

Viel zu schön, um wahr zu sein?

Dann lassen Sie mich Ihnen die SAP Business Workflows vorstellen:

Mit „SAP Business Workflows“ können Sie Geschäftsprozesse innerhalb Ihres SAP-Systems definieren und ausführen. Dabei lassen sich nicht nur bereits bestehende Prozesse anpassen, sondern auch eigene Prozesse nach Belieben erstellen. Die Anzahl der Möglichkeiten an unterschiedlichen Prozessautomatisierungen ist dabei praktisch grenzenlos.

Typische Anwendungsfälle sind unter anderem:

  • Koordination und Kommunikation bei Geschäftsprozessen, die in definierter Reihenfolge zu durchlaufen sind und die über eine große Anzahl an Beteiligten verfügen.
  • Repetitive Arbeitsprozesse.
  • Situationen, in denen auf Ereignisse, Ausnahmen oder Fehler in anderen Prozessen reagiert werden muss.

Wie in Scratch findet der Entwurf in einem grafischen Editor, dem „Workflow Builder“ (Transaktion SWDD) statt. Hier werden die gewünschten Funktionen mittels vorgegebener Bausteine platziert.

Beispielworkflow SAP Business

Wie funktioniert ein SAP Business Workflow?

Ein Workflow besteht aus fünf Hauptkomponenten:

  1. Funktion: Business-Object

Das Business-Object ist die zentrale Komponente eines Workflows. Die einzelnen Prozessschritte greifen auf dessen Daten und Funktionen zu. Business-Objects verfügen über nützliche Attribute, Methoden und Ereignisse, die im Workflow verwendet werden können.

Die unteren Abbildungen zeigen beispielsweise das Business-Object „WarehouseStock“ (bzw. den Objekttyp BUS3016). Hiermit lassen sich über vordefinierte Methoden unter anderem die Bestandsdaten pro Quant anzeigen oder eine Bestandsliste ausgeben.

BAPI WarehouseStock Methoden

Business Objects Attribute und Methoden

In der Transaktion BAPI gibt es eine Vielzahl von vordefinierten Business-Objects, die für Workflows verwendet werden können. Dies spart viel Entwicklungszeit und macht Business Workflows auch interessant für Personen, die über wenig bis keine Programmiererfahrung mit ABAP verfügen. Hier werden keine Kenntnisse über die konkrete Implementierung für die Nutzung der bereitgestellten Methoden benötigt.

Selbstverständlich können auch eigene Business-Objects angelegt oder Mitgelieferte angepasst werden. Dazu ist die Transaktion SWO1 in SAP integriert.

2. Funktion: Ereignisse

Ereignisse dienen dazu, SAP Business Workflows zu starten. Das Prinzip dahinter ist sehr ähnlich zum Klick auf die grüne Flagge in Scratch. Beispielsweise kann das Verändern eines Materials im Materialstamm oder die Anlage einer Bestellung den Trigger für einen Business Workflow darstellen. Die entsprechenden Ereignisse werden im SAP-Standard häufig automatisch im Hintergrund ausgelöst. Reagiert ein Business Workflow auf ein Ereignis, findet dabei der erste Austausch von Daten statt. In der Regel wird dabei die Referenz des auslösenden Business Objects an die globalen Daten des Business Workflows (den sog. Workflow Container) übergeben, um im späteren Verlauf damit zu arbeiten.

Abbildung Fünf zeigt beispielhaft das Business-Object für eine Bestellung (Objekttyp BUS2012) und dessen vordefinierte Ereignisse. Wird zum Beispiel eine Bestellung angelegt / geändert / abgesagt, so wird automatisch das jeweilige Ereignis ausgelöst, auf das mit einem Business Workflow reagiert werden kann.

Business Objects Bestellung Ereignis

3. Funktion: Prozessschritte

Die Prozessschritte sind die Elemente des Workflows, die zur Zielerreichung durchgeführt werden müssen. Jeder Workflow beginnt mit dem Prozessschritt „Workflow gestartet“ und endet mit „Workflow beendet“. Zwischen diesen beiden begrenzenden Elementen können beliebige Prozessschritte eingefügt werden. Ähnlich zu Scratch gibt es vordefinierte Bausteine, die man per „Drag and Drop“ im Editor platzieren kann. Diese Bausteine werden in SAP als „Schritttypen“ bezeichnet.

Schritttypen von Business Workflows

Die Schritttypen müssen dann für den gewünschten Prozess konfiguriert werden. Ein wichtiger Schritttyp ist die sog. „Aktivität“. Dieser Schritttyp beinhaltet den wesentlichen Teil der Prozesslogik und wird beispielsweise häufig mit der Methode eines Business Objects verknüpft. Auf diese Weise entsteht eine sog. Aufgabe.

Hierarchie von Aktivität, Aufgabe und Methode

Jede Aktivität umfasst genau eine Aufgabe und diese wiederum genau eine Methode. Aufgaben erhalten eine eindeutige Nummer und werden gespeichert, sodass sie in anderen Business Workflows wiederverwendet werden können.

Daneben existieren noch eine Reihe an Schritttypen, die für die Ablaufsteuerung des Business Workflows verantwortlich sind. Dazu gehören zum Beispiel die Schritttypen „Bedingung“, „Mehrfachbedingung“, „Ablaufsteuerung“ oder auch „Paralleler Abschnitt“.

Für das Versenden von Benachrichtigungen direkt aus dem Workflow heraus, gibt es ebenfalls einen eigenen Schritttyp. Mit „Mail versenden“ können Informationen direkt aus dem Workflow in einer E-Mail an beliebige Empfängerinnen und Empfänger versendet werden.

4. Funktion: Container

Container sind in SAP Business Workflows für das Halten von Daten zuständig. Es gibt insgesamt fünf Arten von Containern:

  • Workflow-Container: Hält Daten, die über den gesamten Workflow benötigt werden (globale Daten).
  • Aufgaben-Container: Steht im Austausch mit dem Workflow-Container und kann von diesem Daten für die Ausführung bestimmter Aufgaben erhalten und Ergebnisse zurückliefern.
  • Methoden-Container: Tauscht Daten mit dem Aufgaben-Container aus, die als Inputparameter für eine definierte Methode dienen (z.B. eine Methode eines Business Objects) oder von einer Methode zurückgeliefert werden.
  • Ereignis-Container: Überträgt die Daten, die beim Auslösen eines Ereignisses mitgegeben werden, an den Workflow Container.
  • Regel-Container: Definiert die Verantwortlichkeit für eine bestimmte Aufgabe.

Damit die einzelnen Container verbunden werden können, müssen sie miteinander kompatibel sein. In Scratch wird das über die äußere Form der Bausteine realisiert. Im Business Workflow übernehmen die Ein- und Ausgabeparameter diese Aufgabe. Die sogenannte „Bindung“ legt fest, welche Daten zwischen den Containern ausgetauscht werden. Hat eine Methode eines Business-Objects beispielsweise definierte Ein- und Ausgaben, so muss die Bindung zwischen Aufgaben- und Methoden-Container diese Parameter umfassen, damit ein Datenaustausch stattfinden kann. Diese Schnittstelle definiert also die Kompatibilität der Container zueinander.

In der unteren Abbildung ist die Bindung zwischen dem Ereignis-Container und dem Workflow-Container zu sehen. Das Ereignis verfügt über eine Reihe an Daten, die es dem Workflow übermitteln kann, damit dieser im weiteren Verlauf darauf zurückgreift. Konkret werden im Beispiel der Event-Creator (also der User, der für das Auslösen des Ereignisses gesorgt hat), das Business-Object (hier eine Anlage, Objekttyp BUS1022) und der zugehörige Object-Schlüssel zur Identifizierung an den Workflow-Container übergeben. Die blauen Pfeile markieren die Richtung, in die die Daten übertragen werden. Der Workflow Container muss entsprechende Variablen bereitstellen, um die Daten empfangen zu können. Werden diese Variablen nicht bereitgestellt, kann kein Datenaustausch stattfinden. Somit existiert auch keine Bindung und die Container sind nicht sinnvoll verknüpfbar.

Bindung zwischen Ereignis-Container und Workflow-Container

Die folgende Abbildung zeigt den Datenaustausch zwischen Containern beispielhaft. Die roten Pfeile repräsentieren den Fluss von Daten. Zu Beginn werden Daten aus dem Ereignis Container in den Workflow Container übermittelt. Diese Daten können im weiteren Verlauf der Input für verschiedene Aufgaben sein. Sollte das der Fall sein, werden die Daten über eine entsprechende Bindung an einen Aufgabencontainer übertragen. Die Aufgabe ist wiederum mit einer Methode verbunden, die ebenfalls auf diese Daten zugreifen kann. Hat die Methode Rückgabeparameter, werden diese auf dem umgekehrten Weg zunächst an den Aufgaben- und dann an den Workflow-Container übermittelt.

Datenfluss zwischen Containern

5. Funktion: Agenten

Agenten sind die Personen, die für die verschiedene Prozessschritte verantwortlich sind, bestimmte Tätigkeiten ausführen müssen oder Entscheidungen treffen. In Scratch ist das standardmäßig die kleine Katze im oberen Rechten Bildbereich. Im Kontext von Business Workflows übernehmen SAP-User diese Aufgaben. Wenn eine Aufgabe beispielsweise das Treffen einer Entscheidung beinhaltet, bekommt der zugewiesene Agent eine Benachrichtigung in den Arbeitsvorrat. Der Business Workflow wird dann so lange an der Aufgabe angehalten, bis die Entscheidung gefallen ist.

Die Agentenzuweisung kann auf verschiedene Arten realisiert werden. Es ist unter anderem möglich, eine konkrete Benutzerin oder konkreten Benutzer festzulegen, aber auch eine ganze Organisationseinheit zuzuweisen. Über eine Regel können komplexere Logiken zur Auswahl des gewünschten Agenten implementiert werden.

zur Definition eines Agenten

Zusammenfassung: Automatisierung mit SAP Business Workflows

Konnten Sie die Parallelen zwischen Scratch und SAP Business Workflows erkennen? Durch die zahlreichen vordefinierten Elemente fällt der Einstieg in beide Themengebiete recht einfach. Auch der grundlegende Ablauf mit dem Start durch ein Ereignis und dem Lauf durch die Prozessschritte ist analog. Um Prozessschritte zusammenzufügen, müssen die Bausteine kompatibel sein. Dabei kommt es auf die Schnittstellen an. Scratch verwendet dazu die äußere Form, in SAP Business Workflows kommt es auf die Container und deren Bindung an. Die Verwendung von Business-Objects aus der standardmäßig integrierten Bibliothek spart Entwicklungsaufwand ein. Zudem ist kein entwicklungstechnisches Know-how erforderlich.

Mit dem Wissen aus dem vorigen Abschnitt steht dem ersten Anlegen eines einfachen Workflows nichts im Wege. Wenn Sie Fragen zum Thema haben oder tiefer in das Design von SAP Business Workflows einsteigen möchten, kontaktieren Sie uns jederzeit gern.