- 1. August 2016

Korrespondenz ohne Interaktion in SAP LSO absetzen

Die SAP Learning Solution ermöglicht es Ihnen, mittels auftragsbasierter Korrespondenz, bestimmten Aktionen als Reaktion den Versand von Informationen folgen zu lassen. Dies können beispielsweise SAP Mails, E-Mails oder ähnliches sein, die dann wiederum PDF-Dokumente im Anhang enthalten können. Diese Lösung sieht es allerdings vor, dass der Benutzer eine Aktion ausführt, die den Versand auslöst.

Diese Aktionen sind beispielsweise:

  • Buchen
  • Stornieren
  • Absagen
  • Ändern
  • Fixieren
  • Ersetzen von Teilnehmern

Eine zeitbasierte Korrespondenz ist nicht vorgesehen. Gibt es aus Ihrer Sicht keine Gründe, eine Korrespondenz zu bestimmten Zeitpunkten zu versenden? Was ist beispielsweise wenn eine Trainerinformation, also welche Teilnehmer nehmen teil und welcher Raum steht zur Verfügung, direkt vor Beginn des Trainings noch einmal verschickt werden soll um den Trainer über Änderungen zu informieren? Wir kommen im Standard nicht weiter.

Basics: Customizing der Auftragsbasierten Korrespondenz

Das Customizing für die Auftragsbasierte Korrespondenz befindet sich im Einführungsleitfaden unter:

Veranstaltungsmanagement > SAP Learning Solution > Trainingsmanagement > Tagesgeschäft > Korrespondenz > Auftragsbasierte Korrespondenz

Damit diese generell aktiv ist und anstatt der SAPscript-basierten Korrespondenz genutzt werden kann, ist es unabdingbar in „Korrespondenz einstellen“ ein X beim semantischen Kürzel CRPSP in der Gruppe HRLSO zu setzen. (Auftragsbasierte Korrespondenz an/aus)

Hinzufügen einer neuen Mitteilungsgruppe

Die Mitteilungsgruppe gruppiert verschiedene Vorgänge, die in der Auftragsbasieren Korrespondenz Gemeinsamkeiten haben und daher zusammen betrachtet werden. Für Sie wird definiert, welcher Geschäftsprozess (wodurch), einem bestimmten Empfänger (wem), eine Korrespondenzart (was), über welches Medium (wie) und zu einem bestimmten Zeitpunkt (wann) übermittelt wird.

Im ersten Schritt definieren Sie die Mitteilungsgruppe. Dabei ist es wichtig, dass Sie verschiedene Geschäftsprozesse strikt in verschiedene Mitteilungsgruppen einteilen. Beispielsweise sollten „Teilnahmen mit Vormerkungen“ und „Teilnahmen mit Ressourcenreservierungen“ in zwei unterschiedliche Gruppe aufgeteilt werden, obwohl es sich jeweils um Teilnahmen handelt.

Aktivität: Mitteilungsgruppe definieren > Neuer Eintrag

Im zweiten Schritt definieren Sie, an wen die Korrespondenz adressiert werden kann. Beispielweise ist es einer Anwendung so möglich zu bestimmen, welche Auswahl für manuelle Korrespondenzen anzubieten sind.

Aktivität: Mitteilungsgruppe definieren > Erlaubte Verknüpfungen

Damit unsere Mitteilungsgruppe nun für den Versand herangezogen wird ist es noch nötig, dass die Events definiert werden, auf die reagiert werden sollen. Die Events werden von SAP definiert und in den Anwendungen der LSO ausgelöst.

Aktivität: Mitteilungsgruppe definieren > Auslösende Ereignisse

Hinzufügen einer Korrespondenzart

Als nächstes fügen Sie in der Aktivität „Korrespondenzarten definieren“ eine neue Korrespondenzart hinzu. Hierzu ist es ebenfalls nötig unter „Steuerung“ die Reiter „Zeitpunkte“ und „Sonstiges“ zu füllen. Die Einstellungen übernehmen Sie am einfachsten aus den folgenden Grafiken. Diese sind durch SAP vorgesehen.

Aktivität: Korrespondenzarten definieren

Aktivität: Korrespondenzarten definieren > Steuerung > Zeitpunkte

Aktivität: Korrespondenzarten definieren > Steuerung > Sonstiges

Registrieren eines Anwendungsformulares

Im folgenden Schritt registrieren wir ein Anwendungsformular. (Beispiel) Dieses teilt dem System mit, welches Formular/welche Collection Teil der Korrespondenz sein wird. Eine eigene Formularklasse ist, solange die durch die SAP zur Verfügung gestellten Informationen ausreichen, nicht extra notwendig. Daher nutzen wir in unserem Beispiel die Formularklasse LSO_PWB_COVER. (Auch diese muss registriert werden, sonst funktioniert nichts)

Aktivität: Anwendungsformulare registrieren

Aktivität: Formularklassen registrieren

Korrespondenzsteuerung pro Trainingsform festlegen

Der letzte nun folgende Schritt ist die Definition, für welche Trainingsform die Korrespondenz erzeugt werden darf. Hier wird auch definiert, welche Rolle diese empfängt und vor allem wie.

Zur Auswahl stehen die Rollen:

  • Trainingsadministrator
  • Trainingsanbieter
  • Manager
  • Referent
  • Lerner

In der Aktivität „Korrespondenzsteuerung pro Trainingsform festlegen“ wählen wir in diesem Beispiel das Klassenraum-Training. Für dieses definieren wir, dass der Lerner mit unserer Buchungsbestätigung per E-Mail versorgt werden soll. Der resultierende Eintrag findet sich in der folgenden Grafik. Nun haben wir ein vollständiges Customizing angelegt, welches dafür sorgt, dass unsere Korrespondenz nach Buchung eines Teilnehmers automatisch versandt wird. Jetzt kommt der Trick.

Aktivität: Korrespondenzsteuerung pro Trainingsform festlegen

Die Zeitbasierte Korrespondenz

Alles was wir nun im System hinterlassen haben bezieht sich auf die Auftragsbasierte Korrespondenz. Möglicherweise bisher also nichts neues für Sie. Aber unser Customizing ist allerdings auch für die zeitbasierte Korrespondenz unabdingbar. Es werden die gleichen Einstellungen benötigt, wie für die auftragsbasierte Korrespondenz, mit der Ausnahme, dass sie auf die auslösenden Ereignisse verzichten können. Wir möchte unseren Versand ja unabhängig von Aktionen im System ausführen.

Dazu können Korrespondenzen mittels der SEND Methode der Klasse CL_LSO_CRP_TEM_CONTROLLER versandt werden. Diese greift auf alles zurück, was wir soeben angelegt haben.

Der Versand geschieht in 3 Schritten, welche Sie im folgenden Screenshot erkennen können.

Im ersten Block wird besorgen wir uns die benötigten Daten: Eine neue GUID und eine Verknüpfung die wir mittels RH_READ_INFTY_1001 lesen können. Die Art der Verknüpfung haben wir zuvor unter „erlaubte Verknüpfungen“ beim Definieren der Mitteilungsgruppe angegeben. Wichtig ist, dass es sich um die Verknüpfung von E zu P handelt. (A025) Die GUID bekommen wir über den Funktionsbaustein GUID_CREATE.

Im zweiten Block konvertiere ich die Informationen in das Zielformat. Hier wird zuerst mittels der Klasse CL_HR_PNNNN_TYPE_CASE die Struktur vom Typ P1001 in eine Tabelle vom Typ WPLOG konvertiert. Anschließend ist es ohne weiteres möglich die Zielstruktur (lso_crp_wplog_ext_tab) für den Versand mit dieser WPLOG-Struktur, sowie unserer Mitteilungsgruppe zu füllen.

Der dritte Block sorgt dafür, dass die Korrespondenz versandt wird. Hierzu wird die GUID sowie die eben gefüllte Zielstruktur verwandt.

Die magischen Zeilen sorgen dafür, dass die die Korrespondenz versandt wurde. In der Praxis wäre es denkbar, dass wir soeben unsere Teilnehmer mit aktualisieren Informationen 3 Tage vor Start ihres Klassenraumtrainings versorgt haben.

Wenn Sie gerne tieferen Einblick in dieses Thema haben möchten, können Sie sich im folgenden einen Beispielcode herunterladen, der die Vorgehensweise verdeutlicht. Der Code ist insofern kommentiert, dass Sie Ihn ganz einfach auf Ihren Anwendungsfall anpassen können.

Download Beispielcode: Korrespondenz ohne Interaktion in SAP LSO absetzen
SAP Consultant Hendrik Niechciol

Wenn Sie weitere Fragen haben, zögern Sie nicht, mich zu kontaktieren.

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 der 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.