sap – der technische einstieg - amazon s3 · 2017-06-08 · kommandofeld aufrufen, allerdings...
TRANSCRIPT
Reinhold Plota, Waldemar Fix
SAP – Der technische Einstieg
Zusatzkapitel »Prozessketten«
®
Prozessketten anlegen
Zusatzkapitel
Prozessketten anlegen
Prozessketten stellen eine andere Möglichkeit der Hintergrundverarbei-
tung dar. SAP hat Prozessketten vorrangig für das im SAP NetWeaver inte-
grierte SAP Business Warehouse (BW) vorgesehen, es lassen sich darüber
aber auch herkömmliche ABAP-Verarbeitungsprogramme starten. Prozess-
ketten werden über die Transaktion RSPC verwaltet. In älteren Versionen
von SAP NetWeaver ist dies eine eigenständige Transaktion. In SAP Net-
Weaver 7.5 ist diese Transaktion in die Transaktion RSA1 (Data Warehouse
Workbench) integriert worden. Eine Prozesskette wird nun auch als ein BW-
Objekt betrachtet. Sie können zwar die Transaktion RSPC noch über das
Kommandofeld aufrufen, allerdings wird dann in die Transaktion RSA1 ver-
zweigt (siehe Abbildung 1).
Abbildung 1 Transaktion RSPC in Transaktion RSA1 in SAP NetWeaver 7.5
ProzessSAP definiert einen Prozess als »einen Vorgang innerhalb oder außerhalb
eines SAP-Systems mit definiertem Anfang und Ende« (https://help.sap.
com/saphelp_nw73ehp1/helpdata/de/7b/d4313b38bea774e10000000a114084/
content.htm?frameset=/de/67/13843b74f7be0fe10000000a114084/frameset.
1
Prozessketten anlegen
htm¤t_toc=/de/c5/f1c99abdd3fb4aa7febe103b5d77e5/plain.htm&node_
id=5). Ein ABAP-Programm wird in diesem Sinne auch als ein Prozess ver-
standen.
ProzessartenProzesse werden unterschieden nach
� Startprozess
� Anwendungsprozess
� Sammelprozess
Ein Startprozess definiert den Start einer Prozesskette. Der Startprozess ent-
hält keine weitere Funktionalität, sondern er ist lediglich als ein Auslöser zu
betrachten. Er darf in einer Kette nur einmal vorkommen und darf keinen
Vorgänger-Prozess haben.
Anwendungsprozesse enthalten Arbeitsprozesse, die automatisiert ablau-
fen sollen. Dies können ABAP-Programme sein, müssen es aber nicht.
Tabelle 1 enthält eine Übersicht, welche Prozesstypen SAP unterscheidet.
Sammelprozesse fassen mehrere Kettenstränge zu einem Kettenstrang
zusammen. Die einzelnen Prozesse sind durch Events (Ereignisse) miteinan-
der verbunden. Für einen Prozess gibt es einen Vorgänger- und einen Nach-
folgerprozess, sofern er kein Startprozess und nicht der letzte Prozess einer
Kette ist.
ProzessmerkmaleEin Prozess enthält folgende charakterisierende Merkmale:
� Prozesstyp
Der Prozesstyp beschreibt die Art des Prozesses. Darüber wird die Auf-
gabe eines Prozesses bestimmt. Prozesstypen werden in der View
RSPROCESSTYPES verwaltet.
� Prozessvariante
Der Name einer Prozessvariante ist gleichzeitig der Name des Prozesses
in der Prozesskette. Dieser Typ von Variante ist nicht gleichzusetzen mit
dem der Variante eines Selektionsbildes. Über eine Prozessvariante wird
ein Prozess konfiguriert. Erst zusammen mit dem Prozesstyp ist eine
Prozessvariante eindeutig.
� Prozessinstanz
Eine Prozessinstanz bestimmt die Ausprägung eines Prozesses. Sie ent-
hält u. a. Informationen, die einem Folgeprozess übergeben werden kön-
nen. Die Prozessinstanz wird von der Prozesskettenverwaltung gesi-
chert. Protokolle werden unter der Prozessinstanz angelegt. Ein Prozess
ermittelt die Prozessinstanz zur Laufzeit.
2
Prozessketten anlegen
Prozesskategorie Prozesstyp
Allgemeine Services Startprozess
Interrupt-Prozess
AND (Letzter)
OR (Jeder)
EXOR (Erster)
ABAP-Programm
Betriebssystemkommando
Prozesskette lokal
Prozesskette remote
Workflow (auch remote)
Entscheidung zwischen mehreren Alternativen
Ist vorheriger Lauf der Kette noch aktiv?
Starte Job in SAP Business Objects Data Services
Ladeprozess und
Nachverarbeitung
InfoPackage ausführen
PSA lesen und Datenziel verbuchen
Hierarchie sichern (3.x)
DataStore Objektdaten fortschreiben (Weiter-
verbuchung)
Datenexport in Fremdsysteme (obsolet)
Überlappende Requests aus dem InfoCube löschen
Datentransferprozess
Request eines InfoPackages (RDA/Push) schließen
Quality-Status/Datenfreigabe setzen
Delta-Merge auslösen
Real-time Data Acquisition (RDA) Ladeprozess stoppen
Event Datenänderung auslösen (für Broadcaster)
Tabelle 1 Mögliche Prozesstypen zur Bestimmung eines Prozesses in einer
Prozesskette
3
Prozessketten anlegen
Datenziel
Administration
Index löschen
Index aufbauen
Datenbankstatistik aufbauen
Initiales Füllen neuer Aggregate
Hochrollen gefüllter Aggregate/BWA-Indizes
Initiales Aktivieren und Füllen von SAP HANA/BWA-
Indizes
Komprimieren des InfoCubes
DataStore Objektdaten aktivieren
Vollständiges Löschen des Datenzielinhalts
Daten aus einem InfoProvider archivieren
Report Agent Exception Reporting
Drucken im Hintergrund
Vorberechnung von Web Templates
Vorberechnung von Wertemengen
Sonstige
BW-Prozesse
Attributsänderungslauf
Anpassen zeitabhängiger Aggregate
Löschen von Requests aus dem PSA
Löschen von Requests aus dem Change Log
Löschen von Requests aus dem schreiboptimierten DSO
Planungssequenz ausführen
Real-time InfoCube in Planmodus umschalten
Real-time InfoCube in Lademodus umschalten
Stammdatenattribute und -texte reorganisieren
Analyseprozesse ausführen
Explorer-Eigenschaften von BW-Objekten aktualisieren
Prozesskategorie Prozesstyp
Tabelle 1 Mögliche Prozesstypen zur Bestimmung eines Prozesses in einer
Prozesskette (Forts.)
4
Prozessketten anlegen
Die Begriffe InfoPackage, DataStore Object, Datentransfer und InfoCube in
Tabelle 1 stammen aus der Terminologie von SAP Business Warehouse. Die
Abkürzungen in der Tabelle bedeuten folgendes:
� DSO: DataStore Object
� PSA: Persistent Staging Area
� RDA: Real-time Data Acquisition
� CPS: Central Process Scheduling
� SAP IQ: spaltenorientiertes relationales Datenbank-Managementsystem
Aus den Bezeichnungen der einzelnen Prozesstypen können Sie die enge
Verbindung zwischen Prozessketten und SAP Business Warehouse erken-
nen. Als Einführung in dieses Thema empfehlen wir das Buch von Kloster-
mann et al: Praxishandbuch SAP BW. SAP PRESS Bonn 2015.
MetaketteProzessketten können in anderen Prozessketten integriert und darüber
gestartet werden. Die Prozesskette, die andere Prozesskette integriert, wird
als Metakette bezeichnet.
Prozessketten-
beispiel
Wir möchten ihnen anhand eines einfachen Beispiels zeigen, wie Prozess-
ketten angelegt und eingeplant werden. Dazu nutzen wir für die Anwen-
dungsprozesse einfache ABAP-Programme. Sie können dieses Beispiel
nachvollziehen, indem Sie eigene ABAP-Programme verwenden. Rufen Sie
die Transaktion RSPC auf. Wenn Sie mit einer älteren Version von SAP Net-
Weaver arbeiten, so wird die Transaktion direkt gestartet und ist noch nicht
in der Data Warehouse Workbench (Transaktion RSA1) eingebettet.
Prozesskette
anlegen
Klicken Sie mit der rechten Maustaste im Einstiegsbild auf den Knoten
Nicht Zugeordnete Knoten. Es erscheint ein Kontextmenü. Klicken Sie dort
auf den Punkt Prozesskette anlegen (siehe Abbildung 2). In älteren Versio-
nen von SAP NetWeaver finden Sie noch das Icon für die Neuanlage.
Sonstiges Job in SAP CPS
Ereignis in SAP CPS
SAP IQ Partition Monitor
Prozesskategorie Prozesstyp
Tabelle 1 Mögliche Prozesstypen zur Bestimmung eines Prozesses in einer
Prozesskette (Forts.)
5
Prozessketten anlegen
Abbildung 2 Transaktion RSPC: Prozesskette anlegen
Im folgenden Dialog geben Sie der Prozesskette einen Namen und tragen
eine Kurzbeschreibung ein (siehe Abbildung 3).
Abbildung 3 Transaktion RSPC: Namen vergeben
Bestätigen Sie Ihre Eingaben durch das Klicken auf . Gleich danach
erscheint ein weiterer Dialog, in dem Sie einen Startprozess einfügen kön-
nen. Dazu klicken Sie auf das weiße Blatt , rechts neben dem Eingabefeld
(siehe Abbildung 4).
Abbildung 4 Transaktion RSPC: Startprozess einfügen
6
Prozessketten anlegen
Es erscheint nochmals ein Dialog, in dem Sie den Variantennamen des
Startprozesses eintragen (Abbildung 5).
Abbildung 5 RSPC- dem Startprozess einen Namen vergeben
VariantenpflegeBestätigen Sie Ihre Eingaben in der gewohnten Weise. Es erscheint das Bild
zur Variantenpflege (siehe Abbildung 6). Bei einem Startprozess müssen Sie
dem System lediglich die Startbedingung mitteilen. Dies sollten Sie aber
erst machen, wenn die Prozesskette fertig ist. Für den Moment sichern Sie
den Startprozess und verlassen dieses Bild mit (F3) oder .
Abbildung 6 Transaktion RSPC: Variantenpflege für den Startprozess
Es erscheint wieder der Dialog aus Abbildung 4, allerdings nun mit dem
Namen und der Beschreibung des Startprozesses. Bestätigen Sie den neuen
Startprozess mit . Die neue Prozesskette mit ihrem Startprozess
erscheint als eine im System vorhandene Prozesskette in Transaktion RSPC
(siehe Abbildung 7).
Machen Sie einen Doppelklick auf die neue Prozesskette (oder klicken Sie
auf ; siehe Abbildung 8). Auf der rechten Seite erscheint der Startpro-
zess in einer grafischen Darstellung. Links davon werden bereits die vor-
handenen Prozesskategorien mit ihren jeweiligen Prozesstypen angezeigt.
7
Prozessketten anlegen
Abbildung 7 Transaktion RSPC: Auflistung der neuen Prozesskette
Abbildung 8 Transaktion RSPC: Prozesstypen
Prozess einfügenDie Auflistung der Prozesstypen in den einzelnen Prozesskategorien ent-
spricht dem Inhalt der Tabelle 1. Als nächstes fügen Sie einen Prozess ein.
Für dieses Beispiel soll ein Anwendungsprozess einem ABAP-Programm
8
Prozessketten anlegen
entsprechen. Dazu machen Sie in Abbildung 8 einen Doppelklick auf den
Prozesstyp ABAP-Programm ausführen. Es erscheint wieder ein Dialog zum
Einfügen eines ABAP-Programms. Klicken Sie dort zunächst auf das weiße
Blatt , um dem neuen Prozess einen Namen zu geben.
Es erscheint ein weiterer Dialog wie in Abbildung 5 gezeigt, in der Sie der
Prozessvariante einen Namen und eine Kurzbeschreibung geben. Wenn Sie
die Eingabe bestätigt haben, erscheint die Pflege für die Prozessvariante für
ABAP-Programme. Hier geben Sie den Namen des Programms an, das über
diesen Prozess gestartet werden soll. Falls für dieses Programm Varianten
für ein Selektionsbild hinterlegt sind, müssen Sie eine von diesen Varian-
ten hier ebenfalls benennen (siehe Abbildung 9).
Abbildung 9 Transaktion RSPC: Prozessvariante für ein ABAP-Programm
Speichern Sie die Eingaben und kehren Sie mit (F3) oder mit zurück. Im
Dialog in Abbildung 10 bestätigen Sie die Einträge.
Abbildung 10 Transaktion RSPC: Fertige Prozessvariante für ein ABAP-Programm
Beide Prozesse, der Startprozess und der Prozess für ein ABAP-Programm
erscheinen nun auf der rechten Seite des Grundbildes (siehe Abbildung 11).
9
Prozessketten anlegen
Abbildung 11 Transaktion RSPC: Startprozess und Arbeitsprozess ohne
Verbindung
Prozesse verbindenWas noch fehlt, ist die Verbindung zwischen beiden Prozessen. Klicken Sie
mit der rechten Maustaste auf den Startprozess als den Vorgängerprozess
zu unserem ersten Anwendungsprozess. Es erscheint ein Kontextmenü.
Klicken Sie auf den ersten Punkt Verbinden Mit. Danach wird Ihnen Pro-
grammausführung angeboten und wenn Sie dort wiederum darauf klicken,
bleibt Ihnen nur noch die Auswahl des ABAP-Programms (Abbildung 12).
Abbildung 12 Transaktion RSPC: Startprozess mit Folgeprozess verbinden
Wenn Sie auf die angebotene Auswahl geklickt haben, wird die Verbindung
zwischen dem Startprozess und dem Folgeprozess grafisch angezeigt (siehe
Abbildung 13).
10
Prozessketten anlegen
Abbildung 13 Transaktion RSPC: Verbindung zwischen zwei Prozessen
Machen Sie einen Doppelklick auf den Pfeil, der die Prozesse verbindet.
Ihnen wird dann der Event angezeigt, der durch den Startprozess ausgelöst
wird und den Folgeprozess aktiviert (siehe Abbildung 14).
Abbildung 14 Transaktion RSPC: den Startprozess auslösendes Event
11
Prozessketten anlegen
Um die Prozesskette etwas umfangreicher zu machen, fügen Sie auf die
gleiche Weise ein zweites ABAP-Programm hinzu. Für den zweiten Prozess
mit dem ABAP-Programm ist der Prozess mit dem ersten ABAP-Programm
der Vorgängerprozess. Um zwischen beiden Prozessen eine Verbindung
herzustellen, gehen Sie wieder vom Vorgängerprozess aus. D.h., Sie öffnen
beim Prozess mit dem ersten ABAP-Programm mit der rechte Maustaste
das Kontextmenü und stellen zu dem zweiten ABAP-Programm, wie oben
beschreiben, eine Verbindung her. Wenn Sie sich den Event zur zweiten
Verbindung anschauen, dann sehen Sie, dass das gleiche Ereignis ausgelöst
wird. Allerdings ist der generierte Parameter zu diesem Ereignis ein ande-
rer, als bei der ersten Verbindung (Abbildung 15).
Abbildung 15 Transaktion RSPC: Event zur zweiten Verbindung
Startbedingung Speichern Sie Ihre neue Prozesskette. Wir belassen es bei diesen Prozessen.
Als letztes fehlt nun noch die Startbedingung dieser Prozesskette. Gestartet
wird eine Prozesskette immer über den Startprozess. Daher wird bei diesem
Prozess auch die Startbedingung festgelegt. Machen Sie dazu auf dem Start-
prozess einen Doppelklick. Es wird Ihnen die Variantenpflege dieses Prozes-
ses angezeigt. Im Bereich Einplanungsoptionen ist der Radiobutton Direkte
Einplanung aktiviert. Daneben gibt es einen Button mit der etwas irrefüh-
renden Bezeichnung Selektion ändern (siehe Abbildung 16).
12
Prozessketten anlegen
Abbildung 16 Startprozess-Variantenpflege
Klicken Sie auf diesen Button und Sie gelangen zu der Auswahl der mögli-
chen Startbedingungen, die wir sie Ihnen bereits in Abschnitt 9.2 zur Defi-
nition eines Jobs in Transaktion SM36 gezeigt haben (siehe Abbildung 17).
Wählen Sie z. B. Sofort aus.
Abbildung 17 Startbedingung für die Prozesskette festlegen
Prozesskette
aktivieren
Diese Einstellung bleibt solange erhalten, bis Sie sie wieder ändern. Zum
Schluss speichern Sie die Prozessvariante zum Startprozess und kehren zur
Transaktion RSPC zurück. Dort speichern Sie die gesamte Prozesskette und
aktivieren sie über das Icon . Die Prozesskette ist damit aktiviert und ein-
geplant. Um die Prozesskette auszuführen, klicken Sie in Transaktion RSPC
in der anwendungsbezogenen Iconleiste auf das Icon . Wenn die Prozess-
kette ausgeführt werden soll, werden im Hintergrund Jobs generiert.
Job für ProzessketteNach einem Durchlauf der Prozesskette, werden die einzelnen fehlerfreien
Prozesse grün markiert (Abbildung 18). Bei Warnungen wird ein Prozess
gelb markiert und bei einem Abbruch rot.
13
Prozessketten anlegen
Abbildung 18 Erfolgreicher Durchlauf einer Prozesskette
Wechseln Sie nun zur Transaktion SM37 zur Jobauswahl (siehe Abschnitt 9.2).
Als Jobnamen benutzen Sie '*' als Wildcard. Im Feld Benutzername sollte die
Benutzerkennung desjenigen eingetragen sein, der die Prozesskette gestar-
tet hat, in diesem Beispiel wären Sie das. Im Bereich Jobstartbedingung
wählen Sie den Zeitpunkt aus, an dem Ihre Prozesskette gelaufen ist. Geben
Sie bei Tag und Uhrzeit im Zweifel einen Intervall (von/bis) an. Wählen Sie
den Bereich dabei aber nicht allzu groß, weil Ihnen sonst unter Umständen
zu viele Jobs angezeigt werden. Danach klicken Sie auf den Button .
Ihnen werden anschließend gemäß Ihrer getroffenen Auswahl die passen-
den Jobs angezeigt. In unserem Beispiel beginnen die Jobnamen der Bei-
spielprozesskette mit BI_PROCESS_* (siehe Abbildung 19).
Die Prozesskette besteht mit dem Startprozess aus drei einzelnen Prozes-
sen. Jeder Prozess wurde über einen Job ausgeführt. Der Startprozess gehört
zu dem Job BI_PROCESS_TRIGGER. Wenn Sie hierzu das Joblog aufrufen, so
finden Sie dies dort dokumentiert (Abbildung 20).
14
Prozessketten anlegen
Abbildung 19 Jobs zur beispielhaften Prozesskette
Abbildung 20 Joblog zum Startprozess
Die anderen beiden Jobs mit der Bezeichnung BI_PROCESS_ABAP haben
jeweils eines der ABAP-Programme gestartet. Rufen Sie beispielhaft bei
einem dieser beiden Jobs das Joblog auf. Dort sehen Sie, welches Programm
15
Prozessketten anlegen
gestartet wurde und das der Auslöser für den Start der Event RSPROCESS
gewesen ist (Abbildung 21).
Abbildung 21 Joblog zum Start eines Prozesses mit einem ABAP-Programm
Sie können dies auch noch auf eine andere Weise einsehen. Machen Sie auf
den Job einen Doppelklick. Sie gelangen danach zur Jobdefinition in Trans-
aktion SM36 (siehe Abbildung 22).
Abbildung 22 Transaktion SM36: Jobdefinition des Jobs BI_PROCESS_ABAP
Der Starttermin wird Ihnen im Bereich Starttermin angezeigt. Sie können
dies auch sehen, wenn Sie auf den Button klicken. Ihnen wird
danach die Startbedingung dieses Jobs angezeigt. Sie sehen, dass die Start-
bedingung von dem Eintreten des Ereignisses RSPROCESS abhängig ist
16
Prozessketten anlegen
(siehe Abbildung 23). Dieses Ereignis wird von dem Vorgängerprozess aus-
gelöst.
Abbildung 23 Startbedingung für den Job BI_PROCESS_ABAP
RSPCMIn Transaktion RSPCM haben Sie die Möglichkeit, Prozessketten zu überwa-
chen und sich deren Status anzuschauen. Der Status einer Prozesskette
wird farblich angezeigt. Die farblichen Symbole bedeuten folgendes (siehe
auch Abbildung 24):
� – die Kette wurde erfolgreich abgeschlossen
� – die Kette ist aktiv
� – die Kette wurde fehlerhaft beendet oder ist abgebrochen
� – unbekannter Status, z. B. wenn die Kette noch nicht angelaufen ist
Abbildung 24 Transaktion RSPCM: Überwachung von Prozessketten
Sie können zu einer Prozesskette genauere Informationen einholen, indem
Sie auf die Prozesskette einen Doppelklick machen. Sie verzweigen dann in
die Transaktion RSPC, wo der einzelne Status zum jeweiligen Prozess farb-
lich markiert ist (siehe Abbildung 25).
17
Prozessketten anlegen
Abbildung 25 Transaktion RSPC: Protokollierung der Prozesskette
ProzessmeldungenAuf der linken Seite sehen Sie, wann welches Ereignis protokolliert wurde.
Wenn Sie mit der rechten Maustaste auf einen Prozess klicken, können Sie
mit der Menüoption Meldungen anzeigen vorhandene Meldungen zu dem
Prozess anschauen. Es erscheint ein Fenster zum Anzeigen der Meldungen.
Im Tab Batch sehen Sie wieder das Job-Log zu dem Prozess, wie Sie ihn auch
über die Transaktion SM37 einsehen können (siehe Abbildung 26).
Abbildung 26 Protokollfenster zum selektierten Prozess
Klicken Sie unten in Abbildung 26 auf den Button . Sie
wechseln dann in die Transaktion SM37, wobei der generierte Job zu dem
Prozess vorselektiert ist (siehe Abbildung 27).
18
Sammelprozesse anlegen
Abbildung 27 Anzeige des generierten Jobs in Transaktion SM37
Hier haben Sie nun die Möglichkeit, wie oben bereits gezeigt, den Job ge-
nauer auszuwerten.
Sammelprozesse anlegen
SammelprozessEin Sammelprozess fasst mehrere Kettenstränge zu einem Kettenstrang
zusammen. Beim Anlegen eines Sammelprozesses müssen Sie lediglich
eine Kurzbeschreibung eingeben. Die Prozessvariante mit dem Namen
generiert das System automatisch. Es gibt drei Typen von Sammelpro-
zessen (1 in Abbildung 28):
� AND (Letzter)
Alle Vorgängerprozesse, die mit dem Sammelprozess verbunden sind,
müssen beendet sein, bevor die Kette fortgeführt wird.
� OR (Jeder)
Die Prozesskette wird jedesmal vom Sammelprozess aus fortgeführt,
wenn jeweils ein Vorgängerprozess den entsprechenden Event ausgelöst
hat.
� XOR (Erster)
Die Prozesskette wird komplett fortgeführt, wenn der erste Event von
einem der Vorgängerprozesse erfolgreich ausgelöst wurde.
Alle Vorgängerprozesse zu einem Sammelprozess lösen den gleichen Event
aus. Abbildung 28 zeigt ein einfaches Beispiel für einen Sammelprozess mit
einer AND-Verknüpfung. So eine Verknüpfung könnte sich z. B. bei einer
Verbuchung anbieten. Die Verbuchung (Update auf der Datenbank) soll
erst dann starten, wenn alle notwendigen vorherigen Prozesse beendet
sind.
19
Sammelprozesse anlegen
Abbildung 28 Transaktion RSPC: Beispiel für einen Sammelprozess
In diesem Beispiel startet der Startprozess zwei Anwendungsprozesse,
abhängig davon, wann im Applikationsserver entsprechende Workpro-
zesse frei sind. Beide Anwendungsprozesse sind mit dem Sammelprozess
für eine AND-Verknüpfung verbunden. Dieser Sammelprozess wartet
solange, bis beide Vorgängerprozesse erfolgreich den Event für den Sam-
melprozess ausgelöst haben. Erst dann löst der Sammelprozess selbst den
Event für den letzten Anwendungsprozess aus.
Prozessketten werden in der Praxis häufig angewendet. Nicht selten sind
sie sehr komplex und oftmals reicht für deren grafische Darstellung der
Platz auf dem Monitor nicht aus.
20