Allgemeine Verprobung bei Dateizugriffen 

Bei Zugriffen auf sequentielle Dateien auf dem Anwendungsserver mit den Anweisungen

führt das System automatisch eine Verprobung gegen die Tabelle SPTH durch. Die Tabelle SPTH regelt die generellen Lese- und Schreibzugriffe von ABAP auf Dateien und ob Dateien in eine Sicherungsprozedur aufgenommen werden sollen.

In der Tabelle SPTH können Lese- oder Schreibzugriffe auf generisch spezifizierbare Dateien unabhängig vom R/3-Berechtigungskonzept generell verboten werden. Für die übrigen Dateien (also solche, deren Lese- oder Schreibzugriffe in der Tabelle SPTH generell erlaubt sind) können Berechtigungsprüfungen mit dem R/3-Berechtigungskonzept durchgeführt werden. Hierfür können in der Tabelle SPTH Berechtigungsgruppen für programmunabhängige Prüfungen der Benutzerberechtigungen definiert werden.

Für diesen Zweck hat die Tabelle SPTH folgende Spalten:

Diese Spalte enthält generische Dateinamen. Das bedeutet, daß die Dateien der Anwendungsserver, für die ein Eintrag in dieser Spalte am genauesten gilt, die in den übrigen Spalten dieser Zeile spezifizierten Eigenschaften erhalten.

SPTH enthalte die drei folgenden Einträge in der Spalte PATH:

*

/tmp

/tmp/myfile

Dann gelten die Einträge in der

– ersten Zeile für alle Dateien des Anwendungsservers bis auf die des Pfads '/tmp'.

– zweiten Zeile für alle Dateien des Anwendungsservers im Pfad '/tmp' bis auf die Datei '/tmp/myfile'.

– dritten Zeile für die Anwendungsserverdatei '/tmp/myfile'.

Diese Spalte enthält Flags, die durch 'X' gesetzt werden.

Ein gesetztes Flag bedeutet, daß die in Spalte PATH spezifizierten Dateien in eine Sicherungsprozedur aufgenommen werden sollen.

Diese Spalte enthält Flags, die durch 'X' gesetzt werden.

Ein gesetztes Flag bedeutet, daß aus ABAP keinerlei Zugriff auf die in Spalte PATH spezifizierten Dateien erfolgen darf. Dieses Flag übersteuert alle Benutzerberechtigungen. Das Setzen von FS_NOREAD bedingt automatisch das Setzen von FS_NOWRITE.

Falls das Flag nicht gesetzt ist, kann bei entsprechender Berechtigung (siehe Spalte FSBRGRU und Berechtigungsprüfung für bestimmte Programme und Dateien) von ABAP aus auf die Dateien zugegriffen werden.

Diese Spalte enthält Flags, die durch 'X' gesetzt werden.

Ein gesetztes Flag bedeutet, daß aus ABAP kein ändernder Zugriff auf die in Spalte PATH spezifizierten Dateien erfolgen darf. Dieses Flag übersteuert alle Benutzerberechtigungen.

Falls das Flag nicht gesetzt ist, können die Dateien bei entsprechender Berechtigung (siehe Spalte FSBRGRU und Berechtigungsprüfung für bestimmte Programme und Dateien) von ABAP aus geändert werden.

Diese Spalte enthält den Namen von Berechtigungsgruppen.

Eine Berechtigungsgruppe entspricht dem ersten Feld (RS_BRGRU) des Berechtigungsobjekts S_PATH. Über das zweite Feld (ACTVT) des Berechtigungsobjekts S_PATH können Leseberechtigung (Wert 3) bzw. Pflegeberechtigung (Wert 2) eines Benutzers für die Dateien der Berechtigungsgruppe überprüft werden.

Einträge in der Spalte FSBRGRU fassen also Dateien der Anwendungsserver zu Berechtigungsgruppen zusammen. Durch die Vergabe von Berechtigungen für das Berechtigungsobjekt S_PATH sind Dateizugriffe also benutzerabhängig regelbar.

Im Vergleich zur Berechtigungsprüfung über das Berechtigungsobjekt S_DATASET (siehe Berechtigungsprüfung für bestimmte Programme und Dateien), ist die Berechtigungsprüfung gegen das Berechtigungsobjekt S_PATH unabhängig vom verwendeten ABAP-Programm. Weiterhin beschränkt sich die Prüfung nicht auf eine Einzeldatei, sondern umfaßt alle generisch spezifizierten Dateien der Spalte PATH.

Kein Eintrag in Spalte FSBRGRU bedeuted, daß die Dateien der Spalte PATH keiner Berechtigungsgruppe zugeordnet sind und daher keine Berechtigungsprüfung gegen das Berechtigungsobjekt S_PATH erfolgt.

Ein negatives Ergebnis der automatischen Verprobung eines Dateizugriffs führt zu einem Laufzeitfehler.

Die Tabelle SPTH enthalte beispielsweise folgende Einträge:

PATH

SAVEFLAG

FS_NOREAD

FS_NOWRITE

FSBRGRU

*

 

X

X

 

/tmp

       

/tmp/files

X

   

FILE

Bei diesen Einstellungen kann kein ABAP-Programm auf irgendwelche Dateien des Anwendungsservers zugreifen, bis auf die Dateien des Pfads '/tmp'.

Alle ABAP-Programme können lesend und schreibend auf die Dateien des Pfads '/tmp' zugreifen.

Nur Benutzer, die eine Berechtigung für die Berechtigungsgruppe FILE haben, können ABAP-Programme verwenden, die auf die Dateien des Pfads '/tmp/files' lesend und schreibend zugreifen. Diese Dateien sind auch für die Sicherung vorgesehen.

Mit obiger Tabelle führen deshalb die folgenden Programmzeilen bei allen Benutzern zum Laufzeitfehler:

DATA: fname(60) TYPE c.

fname = '/system/files'.

OPEN DATASET fname FOR OUTPUT.