Mit dieser Funktion können Anwender von Automate Query eine benutzerspezifische Berechtigungsprüfungslogik entwickeln. Die benutzerspezifische Logik bestimmt, ob der angemeldete SAP-Benutzer auf eine Tabelle zugreifen darf oder nicht.
Die benutzerspezifische Berechtigungsprüfung läuft zusätzlich zu den definierten Einträgen in der Sicherheitstabelle.
Erstellung eines benutzerspezifischen Berechtigungsprüfungsprogramms in einzelnen Schritten
Erstellen Sie zunächst die benutzerspezifische Funktionsgruppe, das Funktionsmodul für die benutzerspezifische Prüfung und aktivieren Sie dann die benutzerspezifische Prüfung.
Erstellen der benutzerspezifischen Funktionsgruppe Z_Automate_CHK_ACSS_FUGR
- Geben Sie den Transaktionscode SE80 ein.
- Klicken Sie in der Dropdown-Liste auf Funktionsgruppe.
- Geben Sie Z_Automate_CHK_ACSS_FUGR ein und klicken Sie dann auf die Schaltfläche Anzeigen.
- Wenn Sie zum Erstellen des Objekts aufgefordert werden, klicken Sie auf Ja.
- Geben Sie Automate Query Cust Auth chk func grp in das Feld Kurztext ein.
- Wählen Sie im Feld Paket das Paket für Z-Entwicklungen.
- Erstellen oder wählen Sie einen Transportauftrag.
Funktionsmodul zur benutzerspezifischen Prüfung erstellen
- Wählen Sie die neue Funktionsgruppe und klicken Sie sie mit der rechten Maustaste an. Klicken Sie dann auf Erstellen > Funktionsmodul.
- Geben Sie im Feld Funktionsmodul Z_Automate_CHECK_ACCESS ein.
- Geben Sie im Feld KurztextZ Automate Query Custom Auth Object ein.
Der Name und die Parameter müssen identisch mit denen im oben abgebildeten Screenshot sein.
- Klicken Sie auf Speichern.
- Klicken Sie auf die Registerkarte Import und geben Sie die unten abgebildeten Werte ein:
- Klicken Sie auf die Registerkarte Export und geben Sie die unten abgebildeten Werte ein:
- Klicken Sie auf die Registerkarte Ausnahmen und geben Sie die unten abgebildeten Werte ein:
- Speichern, überprüfen und aktivieren Sie das FM.
Verwalten des Kennzeichens zur Aktivierung der benutzerspezifischen Berechtigungsprüfung
- Geben Sie den Transaktionscode SM30 ein.
- Geben Sie im Feld Tabelle/Ansicht /WINSHTLQ/QREPRM ein und klicken Sie dann auf Verwalten.
- Klicken Sie auf Neu und geben Sie die unten abgebildeten Werte ein:
- Klicken Sie auf Speichern und dann auf Beenden.
Beispielcode
Dieser Code blockiert den Zugriff auf die Tabelle MACKV für alle Benutzer von Automate Query.
FUNCTION Z_Automate_CHECK_ACCESS.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(TABLE) TYPE DD02L-TABNAME
*" EXPORTING
*" VALUE(ALLOWED) TYPE BOOLEAN
*" EXCEPTIONS
*" ERROR
*"----------------------------------------------------------------------
*Return access allowed ('X'=True or '-'=False) for current user
ALLOWED = ''. "Initialize
IF TABLE = 'MACKV'. "For any user
ALLOWED = '-'.
ELSE.
ALLOWED = 'X'.
ENDIF.
ENDFUNCTION.
*"----------------------------------------------------------------------
Darüber hinaus können Aufrufe für Berechtigungsprüfungen für Ihre eigenen Berechtigungsobjekte in den Bedingungen für den aktuellen Benutzer hinzugefügt werden (Systemfeld SY-UNAME).