Trotz fortschreitender Nutzung von Weboberflächen im S/4HANA-Kontext wird immer noch eine Batch-Verarbeitung für Massendaten benötigt. Unsere Erfahrung aus Kundenprojekten zeigt jedoch, dass nur die wenigsten Berechtigungsadministratoren wissen, wie die Szenarien korrekt zu berechtigen sind. Der SAP OSS Hinweis 101146 gibt hier einen guten Überblick. In diesem Blogbeitrag möchten wir die Zusammenhänge für die Praxis zusammenfassend erläutern.
Batch-Verarbeitung: Wer braucht welche Berechtigung?
Generell unterscheidet man bei der Batch-Verarbeitung zwischen verschiedenen Szenarien:
Szenario | Beschreibung |
User Self Service | Ein Anwender möchte langlaufende Programme einmalig als Job ausführen. |
Zyklisch | Schnittstellenprogramme und zyklische Reports werden ZENTRAL eingeplant (Batch Admin). |
Batch User | Der in einem Job Step verwendete User (Systemuser). |
Trouble Shooter | Fehlersuche. |
Batch Input im Batch Mode | Abspielen von Mappen im Batch. |
Im Zusammenhang mit der Batch-Verarbeitung sind die folgenden Berechtigungsobjekte relevant:
1. Objekt S_BTCH_JOB (Jobeinplanung NICHT administrative, Lokal im Mandanten)
Ein Benutzer, der keine spezielle Berechtigung für Jobs hat (also weder S_BTCH_JOB noch S_BTCH_ADM), darf folgende Aktionen durchführen:
- Jobs einplanen, die Jobklasse ist C und kann nicht geändert werden.
- Steps seiner eigenen Jobs ansehen und ändern.
- Seine eigenen Jobs wieder löschen.
- Jobdetails seiner eigenen Jobs ansehen.
Problem ist hierbei, das der Job nicht automatisch anläuft und durch einen Batch-Administrator freigegeben werden muss.
Die möglichen Aktivitäten des Objekts S_BTCH_JOB werden nachfolgend erläutert:
Aktivität | Beschreibung |
PLAN | Ist ohne Bedeutung, da das Einplanen von Jobs ohne spezielle Berechtigung möglich ist. Da ‚PLAN‘ aber von manchen ABAPs beim Authority-Check geprüft wird (z.B beim Einplanen von Backups über DB13), sollte dieser Wert in einer Batchberechtigung immer vorhanden sein. |
DELE | Berechtigung zum Löschen von Jobs anderer Benutzer. Eigene Jobs dürfen ohne spezielle Berechtigung wieder gelöscht werden. |
LIST | Wird nicht verwendet. |
RELE | Freigabeberechtigung für die eigenen Jobs. Hat ein Benutzer die RELE Berechtigung, so erhalten Jobs, die einen Starttermin haben (Sofortstart, Datum/Uhrzeit, Ereignis etc.) beim Sichern automatisch den Status ‚freigegeben‘. Hat ein Benutzer keine RELE-Berechtigung, dann bleiben die Jobs im Status ‚geplant‘. Beim Versuch, einen Startermin anzugeben, erscheint die Fehlermeldung „Keine Freigabeberechtigung“. Jobs anderer Benutzer können nicht freigegeben werden. |
SHOW | Jobdetails, Steps und Spoollisten bei Jobs von anderen Benutzern ansehen. Dies funktioniert bei der Anzeige der Steps erst ab 4.0A einwandfrei. Für die Anzeige von Spoollisten muss der User unabhängig von diesen Batch-Berechtigungen die notwendigen Spoolberechtigungen haben. Die Batchberechtigung ‚SHOW‘ ermöglicht nur den Aufruf des Spoolanforderungsbildes (SP01). |
PROT | Berechtigung zum Anzeigen von Jobprotokollen. Ein Benutzer darf entweder überhaupt keine Protokolle sehen oder die Protokolle aller Jobs. Hier wird nicht zwischen eigenen und anderen Jobs unterschieden. Wichtige Information: Ab den in Hinweis 1672932 genannten Support Packages wird keine Prüfung mehr auf diese Aktion ausgeführt. |
2. Objekt S_BTCH_ADM (Batch-Administrationsberechtigung)
Für noch umfangreichere Operationen auf Jobs muss eine Berechtigung zum Objekt S_BTCH_ADM vorhanden sein, in der das Feld BTCADMIN (Kennung für den Batchadministrator) den Wert ‚Y‘ hat. Dies ermöglicht mandantenübergreifend alle Operationen auf beliebigen Jobs. *Achtung Aktualisierung, siehe unten
S_BTCH_ADM mit Wert ‚Y‘ beinhaltet somit auch die Objekte S_BTCH_JOB Aktion * und S_BTCH_NAM und S_BTCH_NA1 mit User/Programm = *. Daher ist dieses eine sehr kritische Berechtigung, weil sie einen Identitätswechsel ermöglicht.
Mit den in Hinweis 1702113 genannten Änderungen lässt sich über das Objekt S_BTCH_ADM die Berechtigungsvergabe genauer einschränken.
BTCADMIN =Y | Batch Superuser mit ALLEN Berechtigungen. *Achtung Aktualisierung, siehe unten |
BTCADMIN =N | Negierung der Superuser-Berechtigung, keine Berechtigung für erweiterte administrative Tätigkeiten |
BTCADMIN =C | Jobs fremder Benutzer kopieren. Siehe Hinweis 1480677. |
BTCADMIN =A oder B | Optionale zusätzliche Prüfung beim Anlegen von Jobs mit Klasse A oder B. Siehe Hinweis 1695812. |
BTCADMIN =P | Spezielle Berechtigung zum Anzeigen von Jobs aus anderen Mandanten. |
Bitte beachten Sie, dass zur Verwendung der Werte C, A, B oder P ein bestimmter Support-Package-Stand erforderlich ist.
* Aktualisierung:
Die Aussage, dass laut OSS 101146 Notes S_BTCH_ADM=Y mandanten- und benutzerübergreifend alle Operationen auf beliebigen Jobs ermöglicht, stimmt so nicht mehr!
S_BTCH_ADM=Y erlaubt nur noch das Ändern fremder Jobs (Kopfdaten). Wer das nicht hat, kann nur eigene Jobs ändern. Für die Freigabe benötigen Sie S_BTCH_JOB = RELE und S_BTCH_NAM oder S_BTCH_NA1 für den Stepuser ADDITIV.
Ab Release 7.52 existiert das Berechtigungsobjekt S_BTCH_NA1, bei dem zusätzlich auf Programmnamen UND Benutzernamen geprüft wird.
3. Objekt S_BTCH_NAM und S_BTCH_NA1 (Nutzung fremder Benutzer in Steps)
Ein weiteres wesentliches Berechtigungsobjekt für die Hintergrundverarbeitung ist das Objekt S_BTCH_NAM, das einem Benutzer ermöglicht, die Steps eines Jobs unter einem anderen Benutzer laufen zu lassen (vgl. SM36 -> Step editieren). Hier kann im Benutzerfeld eines Steps ein anderer Name als der eigene eingetragen werden.
Voraussetzung ist
- dass der Jobeinplaner eine Berechtigung zum Objekt S_BTCH_NAM besitzt, die den Namen des Stepusers enthält,
- und dass der Stepbenutzer im gleichen Mandanten existiert wie der Jobeinplaner selbst.
Ab 4.6C: Der Stepbenutzer muss vom Typ Dialog, Service, System oder Kommunikation sein.
Ab Release 7.52 existiert das Berechtigungsobjekt S_BTCH_NA1, bei dem zusätzlich auf Programmnamen UND Benutzernamen geprüft wird.
Achtung: Es wird immer zuerst S_BTCH_NA1 und dann erst S_BTCH_NAM geprüft!
Programmstart im Batch
Das Objekt S_PROGRAM prüft seit SAP Release 2.x auf das Feld TRDIR-SECU also die Berechtigungsgruppe des Programms.
Ab Release 7.40 können Sie optional eine Prüfung auf das Objekt S_PROGNAM einschalten. Weitere Informationen finden Sie in Hinweis 2272827 gibt hierzu weitere Anweisungen. Die Prüfung auf S_PROGNAM MUSS erst im Kundensystem aktiviert werden. Beachten Sie aber, dass sie S_PROGNAM vorher KORREKT berechtigen, da ansonsten nach Aktivierung des SACF Szenarios NIEMAND außer den Notfallbenutzern irgendeinen Report oder eine Reporttransaktion starten kann.
Übersicht für die Vergabe von Berechtigungen
Für die Praxis sind also folgende Berechtigungen zu vergeben:
Sie haben Fragen zum Thema Batch-Verarbeitung oder sind an weiteren Informationen über unser Portfolio interessiert. Das schauen Sie sich gerne auf unserer SAST SOLUTIONS Website um oder sprechen Sie uns an: sast@akquinet.de
Ralf Kempf, Technischer Geschäftsführer SAST SOLUTIONS