Angebot anfordern
Preisliste herunterladen
Beratungsgespräch vereinbaren
Hendrik Niechciol
 - 31. März 2016

HowTo: Business Workflows in SAP Learning Solution korrekt konfigurieren

Der Workflow startet nicht. Was ist da denn los? Workflows zu debuggen und zu verstehen, stellt für viele Berater einen kleinen Stolperstein dar. Besonders im Umfeld der SAP Learning Solution bieten die Business Workflows noch einige ganz besondere Feinheiten, die uns das Leben schwer machen wollen. Dort können wir im Customizing das Auslösen von Ereignissen definieren, die dann zur Ausführung von Workflows führen sollen. Nehmen wir den Fall, dass eine Mitarbeiterin des Kunden ihre Trainingsteilnahme eigenständig im Portal buchen können soll: Eigentlich eine einfache Aufgabe, da der Standardworkflow einen Großteil der Anforderungen bereits abdecken kann. Wie Sie die Konfiguration im Detail vornehmen, lesen Sie in diesem HowTo.

Übersicht im Business Workflow

Übersicht: WS12000003

Die Abbildung zeigt den durch SAP gelieferten Workflow WS12000003 (LSO_APPROVE1).

SAP schreibt dazu im Einführungsleitfaden (SPRO), dass in der Tabelle LSOWF_CUSTOMIZE ein Eintrag anzulegen ist. Dieser wird in Abhängigkeit zur Trainingsform angelegt. (Eine Alternative bietet hier der Infotyp 5041 – Workfloweinstellungen, der eine Definition am jeweiligen Trainingstypen erlaubt.)

LSO Workflow Customizing in der SPRO

LSO Workflow Customizing in der SPRO

Wir haben also einen solchen Eintrag hinzugefügt, der den folgenden Werten entsprach.

LSO Workflow Customizing in der SPRO 2

LSO Workflow Customizing in der SPRO 2

Die Angaben entsprechen in diesem Falle dem Standard-Customizing, wie im Einführungsleitfaden empfohlen. Natürlich sollten Sie hier das für sich passende Customizing hinterlegen. Zur Nutzung des zuvor gezeigten Workflows ist es aber unabdingbar, dass Sie das hier gezeigte Business Object LSO_PARTIC mit dessen Ereignis BOOKREQUEST verwenden.

Nun aber der Clou: Die Vermutung liegt nahe, dass Sie hier definieren, welcher Workflow letztendlich gestartet wird. Dies stimmt aber nur bedingt. Ein Blick ins Coding (Funktionsbaustein LSO_IF_PARTICIPATION_CREATE_C) zeigt, dass lediglich das Ereignis ausgelöst wird. Ereigniskopplung dient später zum Start des Workflows.

Die hier hinterlegte ID wird durch die Learning Solution genutzt, um bereits laufende Workflows zu finden, hat aber keinen Einfluss auf den Workflowstart.

Wer an dieser Stelle denkt, das bisherige Customizing reiche aus: Weit gefehlt! Die nächste Buchung startet leider keinen Workflow. Aber warum ist das so?

Der Ereignis-Trace

Den Systemtrace kennen sicherlich die meisten. Eine Transaktion zeigt nicht das gewünschte Ergebnis, eine kurzer Trace mittels ST01 und schon ist klar, welcher Berechtigungsfehler uns im Wege steht. Workflowstarts zu debuggen, ist nicht ganz so trivial, allerdings hat die SAP uns auch hier ein Mittel an die Hand gegeben: Ereignis-Trace.

Um den Ereignis-Trace zu nutzen, benötigen wir zuerst die Transaktion SWELS (Ereignis-Trace ein-/ausschalten).

Ereignis-Trace einschalten

Ereignis-Trace einschalten

Hier schalten wir den Ereignis-Trace ein. Anschließend ist es möglich mittels der Transaktion SWEL (Ereignis-Trace anzeigen) die geloggten Ereignisse anzusehen. Das ganze wird allerdings erst interessant, wenn wir ein Ereignis erzeugen, das geloggt werden soll. Dies können wir selbstverständlich durch Buchung eines Trainings tun, oder wir erzeugen unser Ereignis mittels der Transaktion SWUE.

Erzeugen eines Ereignisses in der SWUE

Erzeugen eines Ereignisses in der SWUE

In dieser Transaktion ist es zudem möglich, dass Ereignis so zu erzeugen, dass es sogar mit dem Debugger nachvollziehbar wird, was im Hintergrund passiert.(Verbraucher-FB synchron auslösen)

Lohnenswert ist es, nach Eintragen des zu erzeugenden Ereignisses zu allererst auf „Ereignisverbraucher“ zu klicken. Hier wird uns angezeigt, ob das Ereignis später im luftleeren Raum verhallt oder es einen Behandler gibt, der etwas mit dem Ereignis anfangen kann.

Rückmeldung: Es gibt keinen Verbraucher

Rückmeldung: Es gibt keinen Verbraucher

Wenn wir nicht genau wissen, wonach wir suchen, hilft uns hier der zuvor genannte Ereignis-Trace. (SWEL)

 

Auslesen des Ereignis-Trace

Auslesen des Ereignis-Trace

Hier können wir sämtliche Ereignisse finden und bekommen auch die Verbraucher geliefert, wenn diese konfiguriert sind.

Wenn der Business Workflow nicht richtig zuhört

Wir haben also herausgefunden, dass wir keinen Ereignisverbraucher definiert haben, das wollen wir nun ändern. Der einfachste Weg ist es, den entsprechenden Workflow in der Transaktion SWDD (Workflow Builder) zu öffnen und das Startereignis zu aktivieren.

Aktivieren der Ereignistypkopplung

Aktivieren der Ereignistypkopplung

Startereignisse können wir über die Grunddaten (Hut) des Workflows definieren. Einfacher gelangen wir an diese Stelle, indem wir doppelt auf „Buchung beantragt“ klicken.

Aktivieren der Ereignistypkopplung

Aktivieren der Ereignistypkopplung

Mit einem Klick aktivieren wir nun das Startereignis und ab sofort gibt es einen Verbraucher. Beachten Sie, dass Sie an dieser Stelle nach einem Customizing-Auftrag gefragt werden. Anschließend aktivieren wir noch den Workflow mittels Zauberstab.

Um zu kontrollieren, welche Ereignisverbraucher aktiv sind, empfiehlt sich die Transaktion SWE2 (Anzeige/Pflege Ereignistypkopplungen)

Hier finden wir nun einen Eintrag, der systemseitig erzeugt wurde und den Aktivierungsstatus des Workflows zeigt.

Kontrollieren der Ereignistypkopplung

Kontrollieren der Ereignistypkopplung

Viel Erfolg bei der Einrichtung Ihres Business Workflows!

Habe auch Sie Erfahrungen in der Einrichtung und Pflege von Workflows gemacht, die Sie gerne mit mir teilen möchten? Ich freue mich sehr auf Ihre Reaktionen.

Hendrik Niechciol

Mein Name ist Hendrik Niechciol und bin SAP HCM Consultant bei mindsquare. Das Programmieren habe ich mir in meiner Freizeit beigebracht, da war ein Studium der Informatik naheliegend. In meinem Job bei mindsquare habe ich meine zweite Leidenschaft als Teamleiter in Personalverantwortung entdeckt. Diese beiden Komponenten helfen mir Ihre Herausforderungen aus Personalsicht zu verstehen, programmatisch umzusetzen und als Schnittstelle zwischen IT und Personal zu fungieren.

Sie haben Fragen? Kontaktieren Sie mich!





Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.