Information et éducation par et pour la communauté SAP

SAP-Standard liefert keine Prozesse

Es ist viel die Rede von „Prozessen“ im SAP-Umfeld: Geschäftsprozesse, Business Process Monitoring, Softwareentstehungsprozesse, Softwarewartungsprozesse, Transportprozesse, Migrationsprozesse. Doch was steckt hinter dem Begriff?
Thomas Müller, ExeQwork
1er juin 2016
[shutterstock.com:209532682, Sylverarts Vectors]
avatar
Ce texte a été automatiquement traduit en français de l'allemand

Durch die häufige Präsenz des Wortes „Prozess“ ist ein starker Gewöhnungseffekt eingetreten. Kaum jemand macht sich noch Gedanken darüber, was dieser Begriff für Software und ihre Verwendung bedeutet. Der folgende Beitrag konzentriert sich auf Geschäftsprozesse und deren Umsetzung bzw. Unterstützung im SAP-ERP-Standard.

Wareneingangsprozess

Einer der prominentesten Geschäftsprozesse im SAP ERP ist der Wareneingangsprozess. Dieser besteht aus den folgenden Schritten: Eine Bestellung wird ausgelöst und als Beleg im SAP angelegt, die Bestellung wird an den Lieferanten versendet, die Ware wird geliefert, erfasst und ein Wareneingangsbeleg wird im SAP ERP angelegt.

Dieses Beispiel zeigt alle wesentlichen Eigenschaften eines Geschäftsprozesses: Der Prozess hat einen zeitlichen Verlauf, eine Richtung – einen Fortschritt, der messbar ist. Der Prozess hat zu jedem Zeitpunkt einen definierten Zustand.

Es gibt verschiedene Bearbeiter: diese können seriell oder parallel tätig sein. Jeder Prozess führt ein Protokoll mit sich und vergangene Prozesszustände müssen ggf. wiederherstellbar sein. Dabei können SAP-Belege einbezogen werden oder erstellt werden und physische Dokumente (Formulare) werden einbezogen (z. B. Lieferschein, Bestellung).

Thomas Mueller exeqwork ProzesseEs gibt eine große Zahl von weiteren, ähnlichen Geschäftsprozessen, die im Allgemeinen über das SAP ERP abgewickelt werden. Als Beispiele seien genannt: der Rechnungseingang, der Reklamationseingang, der Vertriebs­prozess (Kundenanfrage – Angebot – Auftrag) und die Inventarisierung.

Als Geschäftsprozesse sind diese Prozesse jedoch nur auf organisatorischer Ebene im SAP ERP vorhanden. Der SAP-Standard liefert lediglich die Belege, zwischen denen die Prozesse ablaufen. Beim Wareneingang sind es z. B. der Bestellbeleg und der Materialbeleg, die im Laufe des Prozesses erstellt werden.

Die Abwicklung des Prozesses ist dabei allein dem Benutzer überlassen. Termine, Fortschritt, Zustand, involvierte Bearbeiter, Dokumente müssen vom Benutzer verwaltet werden.

Es gibt keine zentrale Stelle, an der der Benutzer eine Übersicht der laufenden Prozesse gewinnen kann. Monitoring der Prozesse ist zeitaufwändig, umständlich und unzuverlässig, da eine Vielzahl von Datenquellen (Belegen) zur Auswertung herangezogen werden müssen.

Bei der Prozessabwicklung kommt es zu häufigen Medienbrüchen: Es wird über E-Mail, Telefon oder Kurznachrichtendienste kommuniziert. Diese Kommunikation bleibt dabei undokumentiert. Im Nachhinein ist es daher schwer, Entscheidungen nachzuvollziehen. Der SAP-Standard lässt hier offenbar – absichtlich oder unabsichtlich – eine Lücke erstaunlichen Ausmaßes.

Anforderungen Prozessabwicklungswerkzeug

Will man ein Softwarewerkzeug schaffen, um die Geschäftsprozessabwicklung zu unterstützen, so ist es zielführend von speziellen Anwendungsfällen zu abstrahieren. D. h. man betrachtet z. B. die Anwendungsfälle „Rechnungseingang“ und „Wareneingang“ und versucht die gemeinsamen Eigenschaften und Anforderungen zu isolieren.

Businessobjekt-Prozess: Es hat sich als sinnvoll erwiesen, den Prozess selbst als Businessobjekt zu betrachten. Dieses Businessobjekt muss die Eigenschaften 1–8 besitzen, die in der Einleitung genannt wurden.

Prozesslaufzeit: Prozesse können manuell vorangetrieben werden, d. h. vom Benutzer in einer Dialogtransaktion gesteuert, sie können aber auch automatisch fortschreiten. Bei den gängigen Geschäftsprozessen kommen häufig beide Formen des „Vorantreibens“ vor. Daraus folgt, dass zum automatischen Antreiben der Prozesse eine Art „Prozesslaufzeit“ benötigt wird.

Monitoring versus Cockpit: Prozess­zustand und -fortschritt müssen überwachbar sein. Dazu wird eine Monitoringtransaktion benötigt, die alle wesentlichen Kennzahlen ausweist sowie eine Sicht auf die Detaildaten des Prozesses bereitstellt.

Erlaubt die Monitoringtransaktion außerdem die Steuerung des Prozesses, d. h. das Vorantreiben des Prozesses und das Ändern der Prozessdaten, so sprechen wir von Prozesscockpit. Aus Softwaresicht kann Monitor und Cockpit dieselbe Transaktion sein, die unterschiedlich berechtigt wird.

Softwarearchitektur

Wir gehen aus von einer Entwicklung in Abap OO, da sich aus der Abap-Laufzeit entscheidende Vorteile ergeben, wie wir später sehen werden.
Handlerklasse: Grundlage aller Anwendungsprozesse ist ein abstrakter Prozess ohne Anwendungsbezug. Dieser wird als einfache Abap-OO Klasse (Handlerklasse) implementiert mit einigen, wenigen Eigenschaften:

  • Die Klasse ist nicht final
  • Die Klasse liefert ihre eigene Persistenz, d. h. liest sich von bzw. schreibt sich in die Datenbank
  • Die Klasse liefert einen Sperrmechanismus, sodass immer nur ein Änderer zugelassen wird
  • Die Klasse schreibt ihr eigenes Protokoll
  • Die Klasse hat eine dezidierte Callback-Methode, die für „dunkle“ Abarbeitung von der Prozesslaufzeit aufgerufen wird

Von dieser abstrakten Prozessklasse leiten alle anwendungsspezifischen Klassen ab. Diese erweitern die Persistenz der Basisklasse um ihre Anwendungsdaten durch Überschreiben der Persistenzmethoden. Evtl. gibt es auch funktionale Erweiterungen.

Laufzeit: Die Prozesslaufzeit sucht zur Ausführungszeit in einer Registrierungstabelle nach der Handlerklasse, die zum jeweiligen Prozess gehört (z. B. Handlerklasse zum Wareneingangsprozess). Die Handlerklasse wird zur Ausführungszeit instanziiert und ihre Callback-Methode wird von der Laufzeit aufgerufen.

Dieses Konzept der späten Bindung lehnt sich an das Prinzip des Component Object Models (COM) an, das von Microsoft bereits 1992 etabliert wurde und bis heute z. B. in der neuen Windows 10 Runtime (WinRT) zum Einsatz kommt. Auch hier wird eine DLL (COM-Objekt) erst zur Laufzeit geladen über eine Objekt-GUID, zu der der Dateipfad der DLL in der Windows Registry hinterlegt ist. Das Prinzip der späten Bindung lässt sich in Abap durch das Konzept der globalen Klassen besonders einfach umsetzen.

Aus Abap-Sicht ist die Laufzeit nichts anderes als ein Programm, das alle nicht beendeten Prozesse sammelt und seriell deren Callback-Methode aufruft. Dieses Programm wird periodisch im Hintergrund laufen und kann ggf. auch mehrfach eingeplant werden, um den Durchsatz zu erhöhen. Kollisionen werden performant durch den eingebauten Sperrmechanismus aufgelöst.

Monitoring/Cockpit: Das Monitoring liefert dem Anwender alle nötigen Informationen über Fortschritt, Anzahl und Zustand der Prozesse. Vom Basismonitor aus sollte das Protokoll jedes einzelnen Prozesses einsehbar sein. Außerdem sollte der Basismonitor den Neustart und das Debuggen eines einzelnen Prozesses erlauben und erfüllt insofern bereits einige wenige Cockpit-Funktionen.

Das Monitoring ist vollständig von Laufzeit und Handlerklasse entkoppelt. Es kann in jeder beliebigen UI-Technik implementiert werden (SAPGUI, WebDynpro, UI5, Windows). Vom Standpunkt der Wiederverwendbarkeit ist allerdings der SAPGUI die UI-Technik der Wahl, da sich ein striktes MVC-Konzept mit dem SAPGUI am stringentesten umsetzen lässt.

Sämtliche UI-Logik lässt sich sehr einfach in eine wiederverwendbare, globale oder lokale Controller-Klasse auslagern. In dieser Hinsicht ist der SAPGUI moderner als alle anderen UI-Technologien.

Anwendungscockpit: Das Anwendungscockpit lehnt sich inhaltlich an den Monitor an, bietet darüber hinaus aber Sichten auf Anwendungsdaten und stellt auch anwendungsspezifische Funktionen bereit. Das UI stellt eine Erweiterung des Basismonitors dar.

Im SAPGUI (auch im WebDynpro-Fall) lässt sich die Controller-Klasse von der Controller-Klasse des Monitors ableiten. Dadurch „erbt“ das Cockpit alle Funktionalität des Basismonitors ohne Zusatzaufwand. Die Umsetzung eines Cockpits lässt sich so in sehr kurzer Zeit bewerkstelligen.

Conclusion

Für Unternehmen kann es sehr lohnenswert sein, die „Prozesslücke“ auf diese Weise zu schließen. Die Gründe sind zahlreich: Beispielsweise passt die Software sich dem Geschäftsprozess an und nicht umgekehrt.

Es wird ein zentraler Einstiegspunkt geschaffen aus Prozesssicht, was häufig auch der Abteilungssicht entspricht. Die Prozessdurchlaufzeiten werden verkürzt und messbar, Fehler werden vollständig protokolliert. Prozesse werden transparent: Reporting lässt sich dabei als einfache Erweiterung des Monitorings umsetzen.

Durch den hohen Grad an Wiederverwendung einmal vorhandener Softwarekomponenten werden die Projektumsetzungszeiten optimiert. Das Konzept wird zukunftssicher, indem es sich mit minimalem Aufwand an neue UI-Technologien anpasst. Zum Schluss sei darauf hingewiesen, dass sich dieses Prinzip natürlich auch auf technische Prozesse wie Migrationen oder asynchrone, parallelisierte Massenverbuchungen anwenden lässt.

 

 

 

 

avatar
Thomas Müller, ExeQwork

Thomas Mueller ist Mathematiker, ABAP OO, C++ und C# Entwickler sowie Software Architekt bei ExeQwork.


Écrire un commentaire

Le travail sur la base SAP est essentiel pour réussir la conversion S/4. 

Ce que l'on appelle le centre de compétences prend ainsi une importance stratégique chez les clients existants de SAP. Indépendamment du modèle d'exploitation d'un S/4 Hana, les thèmes tels que Automatisation, Suivi, Sécurité, Gestion du cycle de vie des applications et Gestion des données la base de l'exploitation opérationnelle de S/4.

Pour la deuxième fois déjà, le magazine E3 organise à Salzbourg un sommet pour la communauté SAP afin de s'informer en détail sur tous les aspects du travail de base de S/4-Hana.

Lieu de la manifestation

FourSide Hôtel Salzbourg,
Trademark Collection by Wyndham
Am Messezentrum 2, 5020 Salzbourg, Autriche
+43-66-24355460

Date de l'événement

mercredi 10 juin, et
Jeudi 11 juin 2026

Billet d'entrée anticipé

Billet régulier

EUR 390 hors TVA
disponible jusqu'au 1.10.2025
EUR 590 hors TVA

Lieu de la manifestation

Hôtel Hilton Heidelberg
Kurfürstenanlage 1
D-69115 Heidelberg

Date de l'événement

mercredi 22 avril et
Jeudi 23 avril 2026

Billets

Billet régulier
EUR 590 hors TVA
Abonnés au magazine E3
à prix réduit avec le Promocode STAbo26
EUR 390 hors TVA
Étudiants*
à prix réduit avec le Promocode STStud26.
Veuillez envoyer votre certificat d'études par e-mail à office@b4bmedia.net.
EUR 290 hors TVA
*Les 10 premiers billets sont gratuits pour les étudiants. Tentez votre chance ! 🍀
L'organisateur est le magazine E3 de la maison d'édition B4Bmedia.net AG. Les conférences seront accompagnées d'une exposition de partenaires SAP sélectionnés. Le prix du billet comprend la participation à toutes les conférences du Steampunk and BTP Summit 2026, la visite de l'espace d'exposition, la participation à la soirée et les repas pendant le programme officiel. Le programme des conférences et la liste des exposants et des sponsors (partenaires SAP) seront publiés en temps utile sur ce site.