Show TOC Anfang des Inhaltsbereichs

Berechtigungsprüfung für bestimmte Programme und Dateien  Dokument im Navigationsbaum lokalisieren

Bei Zugriffen auf sequentielle Dateien auf dem Anwendungsserver mit den Anweisungen

·        OPEN DATASET

·        READ DATASET

·        TRANSFER

·        DELETE DATASET

führt das System automatisch eine Berechtigungsprüfung über das Berechtigungsobjekt S_DATASET durch.

Mit diesem Objekt können Sie die Berechtigung von bestimmten Programmen zum Zugriff auf bestimmte Dateien erteilen und auch die Berechtigung zur Benutzung von Betriebssystemkommandos als Dateifilter vergeben.

Hinweis

Die generelle Zugriffserlaubnis aus ABAP auf Dateien und benutzerabhängige Berechtigungsprüfungen steuern Sie nicht mit dem Berechtigungsobjekt S_DATASET, sondern mit der Tabelle SPTH (siehe Allgemeine Verprobung bei Dateizugriffen).

Das Berechtigungsobjekt S_DATASET

Das Objekt S_DATASET besteht aus folgenden Feldern:

· ABAP-Programmname

Name des ABAP-Programms, aus dem der Zugriff erfolgen darf. Hiermit können Sie den Zugriff auf die Dateien auf einige bekannte Zugriffsprogramme beschränken.

· Aktivität

Die möglichen Werte sind:

33: Normales Lesen einer Datei

34: Normales Schreiben oder Löschen einer Datei

A6: Lesen einer Datei mit Filter (Betriebssystemkommando)

A7: Schreiben einer Datei mit Filter (Betriebssystemkommando)

· Dateiname

Name der Betriebssystemdatei. Hiermit können Sie die Dateien einschränken, auf die zugegriffen werden darf.

Weitere Informationen zu Berechtigungsobjekten finden Sie in der Dokumentation BC - Benutzer und Rollen.

Achtung

Ist das Ergebnis der automatischen Berechtigungsprüfung negativ, erfolgt ein Laufzeitfehler

Führen Sie deshalb die Berechtigungsprüfung vor dem Dateizugriff mit dem Funktionsbaustein AUTHORITY_CHECK_DATASET im ABAP-Programm durch.

Der Funktionsbaustein AUTHORITY_CHECK_DATASET

Mit diesem Funktionsbaustein können Sie in ABAP-Programmen die Berechtigung zum Zugriff auf eine Datei vor dem Öffnen der Datei prüfen. Damit greifen Sie einem Laufzeitfehler bei der automatischen Berechtigungsprüfung vor.

Der Funktionbaustein hat folgende Importparameter:

·        PROGRAM

Name des ABAP-Programms, aus dem der Dateizugriff erfolgt. Falls kein Programmname angegeben wird, wird das aktuelle Programm angenommen.

·        ACTIVITY

Zugriffstyp, die möglichen Werte sind:

¡        READ: Datei lesen,

¡        WRITE: Datei ändern,

¡        READ_WITH_FILTER: Datei über Filterfunktion lesen,

¡        WRITE_WITH_FILTER: Datei über Filterfunktion ändern,

¡        DELETE: Datei löschen.

Diese Werte sind in der Typgruppe SABC wie folgt als Konstanten vordefiniert:

TYPE-POOL SABC .

CONSTANTS:
  SABC_ACT_READ(4)               VALUE 'READ',
  SABC_ACT_WRITE(5)              VALUE 'WRITE',
  SABC_ACT_READ_WITH_FILTER(16)  VALUE 'READ_WITH_FILTER',
  SABC_ACT_WRITE_WITH_FILTER(17) VALUE 'WRITE_WITH_FILTER',
  SABC_ACT_DELETE(6)             VALUE 'DELETE',
  SABC_ACT_INIT(4)               VALUE 'INIT',
  SABC_ACT_ACCEPT(6)             VALUE 'ACCEPT',
  SABC_ACT_CALL(4)               VALUE 'CALL'.

·        FILENAME

Name der Datei, auf die zugegriffen wird.

Beispiel

TYPE-POOLS SABC.

.....

CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
     EXPORTING  PROGRAM          = SY-REPID
                ACTIVITY         = SABC_ACT_READ
                FILENAME         = '/tmp/sapv01'
     EXCEPTIONS NO_AUTHORITY     = 1
                ACTIVITY_UNKNOWN = 2.

......

Dieser Aufruf des Funktionsbausteins fragt ab, ob das laufende Programm lesend auf die Datei '/tmp/sapv01' zugreifen darf.

 

Ende des Inhaltsbereichs