Customizing, Parameter und Co. – oder der ganz normale Wahnsinn der Datenanalyse...

Aus analytischer Sicht empfehle ich Ihnen als Einstieg in das Thema zunächst den Teil 2 – Mengengerüst: Module zu lesen. Dort habe ich dargestellt, wie man den Transaktionen Module zuordnet. In der unten verlinkten Excel-Datei habe ich aus Gründen der Performance mittels MS® Excel „Einfügen“ > „Wert“ die Formeln aufgelöst und die Erkenntnisse des vorherigen Artikels in den Spalten B bis F ausgeblendet. Diese können Sie dann weiterverwenden. Und ja – MS® Excel ist nicht das Mittel der Wahl für derartige Analysen, aber im Unternehmen sollte jeder von Ihnen darüber verfügen. 

Für die weiteren Darstellungen habe ich die Tabellen TSTC und TSTCP in die verlinkte MS® Excel-Datei integriert. Diese finden Sie nicht nur in der beigefügten Excel, sondern die Daten habe ich auch in die Tabelle „Vollständige Sicht“ mit Formeln angefügt. Dazu gilt wie bisher: Wer das nachvollziehen will, kann die eigenen Daten (inkl. Y und Z) integrieren. Dies gilt auch für Release-Stände, die nicht unserer Version EHP8 entsprechen.

Dementsprechend finden Sie in Spalte G das direkt aufgerufene Programm bzw. in Spalte H das erste aufzurufende Dynpro – also in der SAP-Sprache ein „Dynamisches Programm“. Es besteht aus einem Bildschirmbild mit seinen Bildschirmelementen und der Ablauflogik. Dies ist also umgangssprachlich der Einstiegsbildschirm. Es ermöglicht Ihnen nicht nur die Transaktionen, sondern auch genau diese Bildschirme bei Bedarf zu vergleichen.

Um das Thema Mengengerüst nochmals aus fachlicher Sicht zu analysieren, habe ich in den Spalten I bis L die entsprechenden Informationen aufbereitet – das Gesamtergebnis finden Sie auch aggregiert und damit filterbar in Spalte M:

Gesamtergebnis der Mengengerüst-Analyse
Gesamtergebnis der Mengengerüst-Analyse

Für die Betrachtung der Kritikalität der Transaktionen muss man sich natürlich nicht nur die einzelne Transaktion vor Augen halten, sondern auch die Ausweichmöglichkeiten, die im Unternehmen ggf. genutzt werden, um das Konzept zu umgehen – Stichwort „ich will ja nur arbeiten“.

Kritikalität der Parametertransaktionen an Beispielen verdeutlicht

Betrachten wir aus Blick eines Revisors einmal ein paar Beispiele, um die Schwierigkeiten der Analyse zu fassen:

Überblick über die Analyse der Transaktionen
Überblick über die Analyse der Transaktionen

Fall 1 – Der Klassiker: Beleg buchen

Unzweifelhaft wird man als Revisor auf die User schauen, die entsprechend Belege verarbeiten können. Unabhängig von den angrenzenden Themen, wie Vier-Augen-Prinzipien und Workflow-Steuerung, Kompetenzen und eingestellte Toleranzen, ist alleine diese Transaktion einen Blick auf die User wert. Soweit das Basiswissen.

Fall 2 – Die Ausweichtransaktion: Beleg buchen

Genauso spannend sind aber die umgrenzenden Transaktionen – und ich spreche jetzt noch nicht einmal von Belegänderungen oder Vorerfassungen – sondern von der exakten Abbildung der Transaktion, allerdings mit einer vorgeschalteten Parametertransaktion.

Werfen wir gemeinsam einen Blick in die Tabelle TSTCP, die ich ebenfalls in der Excel abgebildet habe. Die Transaktion ABAD verweist per Parameter auf die FB01 – das typische „/N“ habe ich oben im Modell zur besseren Lesbarkeit einmal abgetrennt. Mit der Eingabe von ABAD erreichen Sie also den gleichen Effekt, als wenn Sie im Dialog die „/N“ in Kombination mit der FB01 eingeben, allerdings mit einer anderen Beschriftung in der Kopfzeile des Programms SAPMF05A:

Eingabe der Kopfdaten für den Anlagenabgang
Eingabe der Kopfdaten für den Anlagenabgang
Eingabe der Kopfdaten für eine Belegbuchung
Eingabe der Kopfdaten für eine Belegbuchung

Fazit daraus: Es ist vollkommen unerheblich, ob Sie eine Buchung mit der Transaktion ABAD oder der FB01 durchführen – es hängt von den weiteren Berechtigungsobjekten ab, ob der User vollständig in der Finanzbuchhaltung buchen darf oder ob dies auf die Anlagenbuchhaltung beschränkt ist.

Für das alltägliche Prüfungsgeschäft heißt das, wenn Sie mit manuellen Prüfungen unterwegs sind: Sie müssen alle Transaktionen und Parameter extrahieren, die genau den gleichen Zugriff auslösen als wenn Sie die Transaktion direkt ausführen würden. Ein schnödes Abprüfen der FB01 mittels des Reports „RSUSR002 – Benutzer nach komplexen Berechtigungswerten“ reicht also nicht (weitere Details siehe Abschnitt Parametertransaktionen und Prüfungen).

Fall 3 – ABAP/4 Reporting

In den R/2-Zeiten als ABAP mit „Allgemeiner Berichts-Aufbereitungs-Prozessor“ beschrieben werden konnte, war eine Transaktion SA38 vielleicht auch nicht schön (ggf. waren die Worte ‚Data-Leakage-Prevention‘ und ‚Gesetz zum Schutz von Geschäftsgeheimnissen‘ noch nicht so geläufig wie heute), aber grundsätzlich einmal unkritisch, weil keine datenverändernden Funktionen implementierbar waren.

Spätestens als sich ABAP mit R/3 zur „Advanced Business Application Programming“-Language weiterentwickelte, hatte das „Reporting“ aus Prüfersicht eine komplett andere Bedeutung. System --> Dienste --> Reporting ließ auf einmal alles das zu, was einen Prüfer aufhorchen ließ: Daten ändern, Massendaten überschreiben, ja sogar Programme ließen sich eine Zeit ausführen, um auf die Betriebssystemebene zu gelangen. Ergo entstand aus der prüfenden Sicht heraus die Notwendigkeit, nicht mehr alle Reports ausführen zu lassen, sondern diese über Berechtigungsgruppen oder Einzeltransaktionen weiter zu beschränken.

Und zum Prüfungsalltag gehört seitdem die zu diskutierende Frage: „Warum hat der User XYZ eigentlich noch volle Rechte zum Ausführen einer SA38?“. Ergo prüfen Sie dies manuell natürlich ab.

Fall 4 – Offene Zahlungsläufe suchen

Die Transaktion SA39 verweist auf den SAP Report SAPMS38M – die Kurzbeschreibung dazu lautet „SA38 für Parametertransaktion“. Auch das sieht zuerst einmal unkritisch aus, wenn da nicht der kleine Haken wäre, dass es bei Administrationsfehlern ein Vollzugriff auf die gesamte Programmlandschaft gäbe. Betrachten wir einmal die beiden Transaktionen EWFM und EWFZ. Auf der aktuellen EHP8-Maschine unterscheiden sich diese in der Transaktionstabelle nicht – es sind beides Parametertransaktionen, allerdings mit einem kleinen, aber feinen Unterschied in der Tabelle TSTCP:

EWFM

/*SA39 RS38M-PROGRAMM=RFEWC150;

EWFZ

/NSA38 RS38M-PROGRAMM=RFEWC110;

Die Ausführung der Transaktion EWFM führt direkt in das Programm RFEWC150 aufgrund der Parametrisierung /*SA39:

Das Programm RFEWC150
Das Programm RFEWC150

Der (sicherheitstechnisch unbefriedigende) Zugriff über die Transaktion EWFZ führt aufgrund der Parametrisierung /NSA38 in die Maske des Reportings, wo Sie das Programm nochmals bestätigen und ausführen müssen:

Das Programm muss hier nochmals bestätigt werden, damit es ausgeführt wird
Das Programm muss hier nochmals bestätigt werden, damit es ausgeführt wird

Und nach der Programmausführung steht Ihnen auch die gewünschte Funktion zur Verfügung:

Die gewünschte Funktion ist nun verfügbar
Die gewünschte Funktion ist nun verfügbar

Und wieder: Was lernen wir für die tägliche Prüfung daraus? Erstens ist der Parameteraufruf für die EWFM noch in älteren Versionen mit /NSA38 in der TSTCP enthalten (prüfen Sie also ggf. einmal genau diesen Eintrag) und zweitens – und das ist das Entscheidende: Der Controller, der im Rahmen der Hauswährungsumstellung eigentlich die „Prüfung, ob alle Zahlungsläufe abgeschlossen sind“ durchführen soll, hat einen Vollzugriff auf die komplette Bibliothek des Reportings mit ggf. datenverändernden Funktionen.

Fall 5 – „Große Umsatzprobe“

Und noch ein weiterer Revisionsklassiker, der Ihnen die Funktionsweise der mit DIREKTPARAMETER gekennzeichneten Transaktionen beispielhaft erläutern soll:

Die Eingabefelder für das Programm SAPMS38M
Die Eingabefelder für das Programm SAPMS38M

Das in der Transaktion hinterlegte Programm SAPMS38M dient dazu, die Parameter zu übergeben und das dort zu findende Programm SAPF190 zu starten:

Abbildung des Programmaufrufs für SAPF190 in der Transaktion SA38
Das Programm SAPF190 kann nun gestartet werden.

Dies könnten Sie also genauso mit einer Transaktion SA38 und der Eingabe von Hand, wie dargestellt, erreichen. Der Unterschied zu Fall 1 und 2 besteht allerdings darin, dass jetzt nicht eine Transaktion, sondern direkt ein konkretes Programm ausgeführt wird.

Und by the way: Der User wird auch nicht durch Pflichteinträge in der TSTCA gehindert, die Transaktion F.03 auszuführen – das haben Sie bestimmt auf dem Schaubild bemerkt.

Parametertransaktionen und Prüfungen…

Und wieder die Frage: Was lerne ich daraus für meinen Prüfalltag, wenn ich keine Software zur Prüfung der Berechtigungen einsetze?

Sie müssen sich ggf. noch tiefer damit befassen, was die Administration alleine an Einstiegsbildschirmen freigegeben hat: Man kann nicht einfach unterstellen, dass eine Transaktion genau einem Einstiegsbildschirm entspricht. Analysieren Sie also alle vorkommenden Transaktionen auf derart ungewollte Ausreißer. Und denken Sie bitte immer daran: Der Mensch sucht sich seine Wege – „ich will ja nur arbeiten, was interessieren mich Berechtigungen und Mechanismen“. Ich denke, dass Sie diese Argumentation aus der Fachabteilung auch kennen.

Frei nach dem nicht ernst gemeinten Motto: „SAP_ALL für alle, dann stehen die Prozesse wenigstens nicht wegen Berechtigungen“.

Was haben wir für uns daraus abgeleitet: Für die Entwicklung von addCube SoDRisk haben wir uns eine extrem aufwändige VBA-Programmierung erstellt, die genau diese Problematik der Parameter-Transaktionen abfängt. Um bei dem Beispiel FB01 zu bleiben: Schauen Sie bitte einmal in die MS® Excel-Datei – dort finden Sie 123 Beispiele, mit denen Sie das Programm SAPMF05A mit unterschiedlichen Einstiegsbildschirmen aufrufen können – also zumindest Teile eines Buchungsbeleges erfassen können.

Wie geht es weiter?

Und in den nächsten beiden Beiträgen geht es dann tatsächlich um die Pflichtobjekte der TSTCA, die weiteren Objekte, die Unschärfen der Blaupause USOBT und die Möglichkeit, alles zu „tracen“.

Vorangegangene Beiträge dieser Reihe

Dieser Blogartikel wurde von Mitarbeitern der addKnowledge GmbH erstellt und dient Ihrer allgemeinen Information. Alle Rechte und Pflichten diesbezüglich obliegen der addKnowledge GmbH.

SAP, SAP Logo, R/3, ABAP sind Marken oder eingetragene Marken der SAP® SE und unterliegen daher dem Copyright.

Sie haben immer noch nicht genug
von der Prüfung des SAP-Berechtigungskonzepts?

Mit unserem Newsletter erhalten Sie alle zwei Wochen

  • aktuelle Artikel und Whitepaper,
  • unsere Kategorien "schon gewusst?" und "was uns gerade inspiriert"
  • und die aktuellen Termine unserer Audinare.

Was erhalten wir dafür?

  • Die Chance Sie von uns und unserem Know-how zu überzeugen.