Ansicht
Dokumentation

CL_IDENTITY_FACTORY - Class Factory for CL_IDENTITY

CL_IDENTITY_FACTORY - Class Factory for CL_IDENTITY

ROGBILLS - Synchronize billing plans   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Diese Klasse bietet eine massenfähige Schnittstelle für das Anlegen, Bearbeiten, und Löschen von Benutzern. Die in einer Transaktion gesammelten Änderungen, werden in einem Verbuchungsbaustein auf die Datenbank geschrieben.

Die Klasse CL_IDENTITY bietet statische Methoden für die Bearbeitung von Identitäten (Benutzern) an. Die Methoden zum Anlegen, Ändern, und Löschen erzeugen pro Benutzer eine Instanz der Klasse CL_IDENTITY. Die Methoden geben jeweils eine Referenz von Typ IF_IDENTITY pro erzeugter Instanz zurück. Der Zugriff auf eine Instanz erfolgt über die Methoden des Interfaces IF_IDENTITY.

Die Eigenschaften eines Benutzers werden in verschieden Knoten strukturiert. Jeder Knoten besteht aus mehreren zusammengehörigen Attributen. Es gibt 2 Arten von Knoten: Strukturknoten und Tabellenknoten. Ein Strukturknoten (z.B. für Anmeldedaten) besteht aus ein oder mehreren Feldern (Einzelattribute). Ein Tabellenknoten (z.B. Rollenzuordnung) besteht aus einer Tabelle von Strukturknoten.

CL_IDENTITY_FACTORY unterstützt eine transaktionale Verarbeitung:

  • Instanzerzeugung mit den Methoden zum Anlegen, Ändern und Löschen
  • Das Anzeigen von Benutzerndaten findet über die GET-Methoden statt, das Ändern über die SET-Methoden. Die Methoden arbeiten auf dem Transaktionspuffer im Hauptspeicher.
  • Die geänderten Daten können erst dann gesichert werden, wenn sie fehlerfrei sind. Fehler werden im Meldungspuffer hinterlegt (Klasse CL_SUID_MSG_BUFFER). Weitere Information finden Sie unter Meldungen.
  • Zum Zeitpunkt des Speicherns werden die Daten aller geänderten Benutzer auf die Datenbank geschrieben.

Die BAPIs zum Objekt USER (BAPI_USER_CREATE1, BAPI_USER_CHANGE, BAPI_USER_GET_DETAIL, usw.) wurde auf diese API umgestellt und können daher als Beispiel für eigene Implementierungen mit der CL_IDENTITY_FACTORY verwendet werden.

Instanz-erzeugende Methoden

Die folgenden Methoden stehen zum Starten einer Transaktion zur Verfügung:

  • CL_IDENTITY_FACTORY=>CREATE – Anlegen von Benutzern
  • CL_IDENTITY_FACTORY=>DELETE - Löschen von Benutzern
  • CL_IDENTITY_FACTORY=>RETRIEVE – Lesen der Daten von Benutzern
  • CL_IDENTITY_FACTORY=>RETRIEVE_OWN_USER – Lesen der Daten des eigenen Benutzers
  • CL_IDENTITY_FACTORY=>RETRIEVE_FOR_UPDATE - Ändern der Daten von Benutzern
  • CL_IDENTITY_FACTORY=>RETRIEVE_FOR_UPDATE_OWN_USER - Ändern der Daten des eigenen Benutzers

CL_IDENTITY_FACTORY=>CREATE

Die Methode legt Benutzer an, die Sie im Parameter IT_BNAME übergeben. Die Methode gibt in folgenden Fällen Fehler zurück:

  • Der Benutzer existiert bereit.
  • Sie besitzen keine Berechtigung zum Anlegen von Benutzern.

Diese Methode prüft das Berechtigungsobjekt S_USER_GRP mit der Aktivität 01. Die Prüfung auf die Benutzergruppe findet statt, wenn Sie diese über die Methode SET_LOGONDATA zuweisen.

Das Systemverhalten variiert in Abhängigkeit davon, ob Sie die Zentrale Benutzerverwaltung (ZBV) verwenden:

  • Standalone-System
Der Benutzer wird angelegt.
  • Zentralsystem einer ZBV
Der Benutzer wird angelegt.
Mit dem Parameterwert IV_CUA_CENTRAL_SYSTEM_ASSIGN=‘X‘ erzeugen Sie einen Systemzuordnung zum Zentralsystem. Dadurch können sich Benutzer am Zentralsystem anmelden. Der Parameter ist nur für das Zentralsystem einer ZBV relevant. Verwenden Sie die Methode SET_CUA_SYSTEM der Schnittstelle IF_IDENTITY_CUA, um weitere Systemzuweisungen vorzunehmen. Nach dem Sichern verteilt die ZBV angelegte Benutzer an alle Tochtersysteme, denen sie zugewiesen sind.
  • Tochtersystem einer ZBV
Der Benutzer wird nicht angelegt.
Ausnahme: Setzen Sie den Parameter IV_CUA_TS_LOCAL_USER nur zum Anlegen technischer Benutzer, wie WF_BATCH oder TMSADM auf lokalen Systemen. Die Benutzer können nicht in das Zentralsystem übernommen werden. Sie werden ebenfalls nicht von der ZBV überschrieben. Im Allgemeinen legen Sie Benutzer auf dem ZBV-Zentralsystem an.

Das Setzen der Benutzerattribute fürhen Sie mit den SET–Methoden der Schnittstellen IF_IDENTITY, IF_IDENTITY_ADDRESS, IF_IDENTITY_CUA und IF_IDENTITY_PASSWORD durch.

Parameter Beschreibung
IT_BNAME Eine Liste der Benutzernamen. Jede Zeile enthält nur den Benutzernamen. Benutzernamen dürfen maximal 12 Zeichen lang sein.
IT_IDENTITY Reserviert für SAP-ByDesign-Systeme.
IV_CUA_CENTRAL_SYSTEM_ASSIGN Im Zentralsystem steuert dieser Parameter, ob eine Zuordnung zum Zentralsystem angelegt werden soll.
IV_CUA_TS_LOCAL_USER Im Tochtersystem steuert dieser Parameter, ob ein lokaler Benutzer erzeugt werden soll, der nicht vom Zentralsystem verwaltet wird.
IV_SET_OPTIMISTIC_ENQUE_LOCK Reserviert für SAP-ByDesign-Systeme.
ET_NODE_ROOT Gibt eine Tabelle der Referenzen auf die Objektinstanzen der Benutzer und deren Benutzernamen zurück.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

CL_IDENTITY_FACTORY=>DELETE

Die Methode löscht Benutzer, die im Parameter IT_BNAME übergeben werden.

Es findet eine Berechtigungsprüfung auf das Berechtigungsobjekt S_USER_GRP mit der Aktivität 06 und der dem Benutzer zugewiesenen Benutzergruppen statt.

Das Systemverhalten variiert in Abhängigkeit davon, ob Sie die Zentrale Benutzerverwaltung (ZBV) verwenden:

  • Standalone
Der Benutzer wird gelöscht.
  • ZBV-Zentralsystem
Der Benutzer wird im Zentralsystem und in allen zugewiesenen ZBV-Tochtersystemen gelöscht.
  • ZBV-Tochtersystem
Benutzer die über die ZBV verwaltet werden, werden nicht gelöscht.
Außnahme: Die mithilfe des Parameters IV_CUA_TS_LOCAL_USER angelegten Benutzer können nur im lokalen System gelöscht werden.

Parameter Beschreibung
IT_BNAME Eine Liste der Benutzernamen.
IT_IDENTITY_GUID Reserviert für SAP-ByDesign-Systeme.
ET_NODE_ROOT Gibt eine Tabelle der Referenzen auf die Objektinstanzen der Benutzer und deren Benutzernamen zurück.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

CL_IDENTITY_FACTORY=>RETRIEVE

Diese Methode liefert Referenzen auf Benutzerinstanzen im Anzeigemodus, die Sie im Parameter IT_BNAME angefordert haben. Wenn Sie die Methode für einen Benutzer aufrufen, der bereits im Speicher ist, gibt die Methode die bestehende Referenz zurück.

Es findet eine Berechtigungsprüfung auf das Berechtigungsobjekt S_USER_GRP mit der Aktivität 03 und der dem Benutzer zugewiesenen Benutzergruppen statt.

Verwenden Sie die GET-Methoden der Schnittstellen IF_IDENTITY, IF_IDENTITY_ADDRESS, IF_IDENTITY_CUA und IF_IDENTITY_PASSWORD, um die Benutzerdaten abzurufen.

Parameter Beschreibung
IT_BNAME Eine Liste der Benutzernamen.
IT_IDENTITY_GUID Reserviert für SAP-ByDesign-Systeme.
IV_ENQUEUE_MODE Setzt die Sperre für die Objektinstanz.
0 = Keine Sperre (Standard).
1 = Optimistische Sperre. Reserviert für SAP-ByDesign-Systeme.
IT_NODES_PREFETCH Für Massenzugriffe auf bestimmte Attribute geben Sie den relevanten Knotennamen für die Gruppe der Attribute in der Tabelle ein. Beispiel: Um die Festwerte für einen Benutzer zu lesen, hängen Sie IF_IDENTITY_DEFINITION=>GC_NODE_DEFAULTS an die Tabelle an.
ET_NODE_ROOT Gibt eine Tabelle der Referenzen auf die Objektinstanzen der Benutzer und deren Benutzernamen zurück.
ET_BNAME_NOT_EXIST Gibt die Liste der Benutzer zurück, die nicht vorhanden sind.
ET_BNAME_NOT_AUTHORIZED Gibt die Liste der Benutzer zurück, die aufgrund fehlender Berechtigungen nicht gelesen werden können.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

CL_IDENTITY_FACTORY=>RETRIEVE_OWN_USER

Diese Methode liefert die Referenz zur Benutzerinstanz des angemeldeten Benutzers (SY-UNAME) im Anzeigemodus. Sie können eigene Adressdaten, Festwerte und Parameter auslesen.

Es findet keine Berechtigungsprüfung statt.

Mit Hilfe der GET-Methoden der Schnittstellen IF_IDENTITY_ADDRESS und die Methoden IF_IDENTITY~GET_DEFAULTS und IF_IDENTITY~GET_PARAMETER können Sie danach analog zur Transaktion SU3 die eigenen Benutzerdaten auslesen.

Parameter Beschreibung
IV_ENQUEUE_MODE Setzt die Sperre für die Objektinstanz.
0 = Keine Sperre (Standard).
1 = Optimistische Sperre. Reserviert für SAP-ByDesign-Systeme.
ET_NODE_ROOT Gibt eine Tabelle der Referenzen auf die Objektinstanzen der Benutzer und deren Benutzernamen zurück.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

CL_IDENTITY_FACTORY=>RETRIEVE_FOR_UPDATE

Diese Methode liefert Referenzen auf Benutzerinstanzen im Änderungsmodus, die Sie im Parameter IT_BNAME angefordert haben.

Es findet eine Berechtigungsprüfung auf das Berechtigungsobjekt S_USER_GRP mit der Aktivität 02 und der dem Benutzer zugewiesenen Benutzergruppen statt. Wenn Sie nur das Kennwort, den Sperrzustand oder Rollenzuordnung ändern möchten, übergeben Sie im Parameter IV_NODE_NAME den entsprechenden Knoten. Dadurch wird dann ausschließlich eine Prüfung auf Aktivität 05 bzw. 22 stattfinden.

Verwenden Sie die GET- und SET-Methoden der Schnittstellen IF_IDENTITY, IF_IDENTITY_ADDRESS, IF_IDENTITY_CUA und IF_IDENTITY_PASSWORD, um die Benutzerdaten abzurufen bzw. zu ändern.

Parameter Beschreibung
IT_BNAME Eine Liste der Benutzernamen.
IT_IDENTITY_GUID Reserviert für SAP-ByDesign-Systeme.
IV_ENQUEUE_MODE Setzt die Sperre für die Objektinstanz.
1 = Optimistische Sperre. Reserviert für SAP-ByDesign-Systeme.
2 = Exklusive Bearbeitung (Vorbelegung).
IT_NODES_PREFETCH Für Massenzugriffe auf bestimmte Attribute geben Sie den relevanten Knotennamen für die Gruppe der Attribute in der Tabelle ein. Beispiel: Um die Festwerte für einen Benutzer zu lesen, hängen Sie IF_IDENTITY_DEFINITION=>GC_NODE_DEFAULTS an die Tabelle an.
IV_NODE_NAME Name des Knotens für die Berechtigungsprüfung. Um die Attribute eines bestimmten Knotens zu ändern, geben Sie hier den Knotennamen ein. Falls Sie das nicht tun, führt das System möglicherweise zu viele Berechtigungsprüfungen für Attribute durch, die Sie noch nicht einmal ändern möchten.
IV_SET_OPTIMISTIC_ENQUE_LOCK Reserviert für SAP-ByDesign-Systeme.
ET_NODE_ROOT Gibt eine Tabelle der Referenzen auf die Objektinstanzen der Benutzer und deren Benutzernamen zurück.
ET_BNAME_NOT_EXIST Gibt die Liste der Benutzer zurück, die nicht vorhanden sind.
ET_BNAME_NOT_AUTHORIZED Gibt die Liste der Benutzer zurück, die aufgrund fehlender Berechtigungen nicht gelesen werden können.
ET_BNAME_LOCKED Gibt eine Liste der Benutzer zurück, die nicht gesperrt werden konnten (Enqueue-Sperre). Ein anderer Administrator bearbeitet gerade diesen Benutzer.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

CL_IDENTITY_FACTORY=>RETRIEVE_FOR_UPDATE_OWN_USER

Diese Methode liefert die Referenz zur Benutzerinstanz des angemeldeten Benutzers (SY-UNAME) im Änderungsmodus. Sie können eigene Adressdaten, Festwerte und Parameter bearbeiten.

Ausnahme: Sie können die E-Mail-Adresse oder Kostenstelle Ihres eigenen Benutzers nicht ändern.

Es findet keine Berechtigungsprüfung statt.

Mithilfe der GET/SET-Methoden der Schnittstellen IF_IDENTITY_ADDRESS und den Methoden IF_IDENTITY~GET/SET_DEFAULTS und IF_IDENTITY~GET/SET_PARAMETER können Sie danach analog zur Transaktion SU3 die eigenen Benutzerdaten auslesen und ändern.

Parameter Beschreibung
IV_ENQUEUE_MODE Setzt die Sperre für die Objektinstanz.
1 = Optimistische Sperre. Reserviert für SAP-ByDesign-Systeme.
2 = Exklusive Bearbeitung (Standard).
ET_NODE_ROOT Gibt eine Tabelle der Referenzen auf die Objektinstanzen der Benutzer und deren Benutzernamen zurück.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

Instanz bearbeiten

Über die Objektinstanzen des Parameters ET_NODE_ROOT können Sie die Benutzerdaten mit den SET- und GET-Methoden von IF_IDENTITY und inkludierten Schnittstellen bearbeiten. Die SET/GET-Methoden sind in folgenden Schnittstellen beschrieben:

  • IF_IDENTITY – Bearbeitung allgemeiner Benutzerdaten.

Die bei der Bearbeitung auftretenden Fehler, können Sie mit der Methode EO_MSG_BUFFER >GET_MESSAGES aus dem Meldungspuffer lesen. Weitere Informationen finden Sie unter Meldungen.

Im Interface IF_IDENTITY_DEFINITION finden Sie alle notwendigen Konstanten zur Verwendung in den Methoden der IF_IDENTITY.

Sie haben einen Syntax wie folgt:

  • IF_IDENTITY_DEFINITION=>GC_ACTION_…
  • IF_IDENTITY_DEFINITION=>GC_FIELD_…
  • IF_IDENTITY_DEFINITION=>GC_NODE_…

Daten prüfen und sichern

Im Abschluss an die Änderungen prüfen und sichern Sie ihre Daten. ,,

  • DO_CHECK - Prüft die Änderungen an allen bearbeitenden Benutzern.
  • DO_SAVE - Sichert alle Änderungen an allen bearbeitenden Benutzern.

DO_CHECK

Die Methode prüft alle Knoten eines Instanzobjekts aller bearbeiteten Benutzer. Verwenden Sie diese Methode, um zu prüfen, ob die eingegebenen Daten konsistent und vollständig sind. Beispiel: Beim Anlegen eines Benutzers muss der Name des Benutzers gepflegt und das Kennwort gesetzt oder deaktiviert sein.

Anwendungsfälle für diese Methode sind:

  • Der Anwender prüft die Konsistenz der von ihm auf der Benutzeroberfläche eingegebenen Daten mit der Drucktaste "Eingaben prüfen".
  • Die Anwendung prüft vor dem Sichern die Konsistenz der Daten.

Die Methode gibt einen boolschen Parameter, EV_REJECTED, zurück, der angibt, ob alle Instanzprüfungen erfolgreich waren oder fehlgeschlagen sind. Die Prüfung schlägt fehl, wenn es eine Fehlermeldung vom Typ "permanent" im Meldungspuffer gibt. Der Benutzer kann nicht gesichert werden.

Parameter Beschreibung
EV_REJECTED Gibt zurück, ob die Prüfung erfolgreich war oder fehlgeschlagen ist.
X = Fehler. Benutzer kann nicht gesichert werden.
( ) leer = Prüfungen bestanden. Benutzer kann gesichert werden.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

DO_SAVE

Nach erfolgreich durchgeführter Prüfung mit DO_CHECK, werden mit dieser Methode alle Benutzer der aktuellen Transaktion gesichert.

Die Methode gibt einen boolschen Parameter zurück der angibt ob eine Sicherung der Instanzen erfolgte. Falls ein Fehler auftrat, wurde kein Benutzer gesichert.

Nachdem DO_SAVE erfolgreich war, beenden Sie die Transaktion mit "Commit Work", um die Daten auf der Datenbank zu persistieren.

Parameter Beschreibung
IV_UPDATE_TASK Legt fest ob die Daten mit oder ohne Verbucher auf die Datenbank geschrieben werden.
EV_REJECTED Gibt zurück, ob die Prüfung erfolgreich war oder fehlgeschlagen ist.
X = Fehler. Benutzer kann nicht gesichert werden.
( ) leer = Prüfungen bestanden. Benutzer kann gesichert werden.
EO_MSG_BUFFER Eine Referenz auf den Meldungspuffer.

Bereinigung

Verwenden Sie abschließend die Methode CLEANUP.

CLEANUP

Die Methode löscht eine Liste der Referenzen auf die Objektinstanzen der Benutzer.

Verwenden Sie diese Methode in folgenden Fällen:

  • Während eines transaktionalen Prozessen, um alle Änderungen ohne zu Sichern zu verwerfen.
  • Am Ende eines transaktionalen Prozesses nach dem Sichern und Übertragen, um den Systemzustand zu bereinigen.

CLEANUP löscht die Menge von Referenzen auf die Objektinstanzen der Benutzer. Dadurch wird Speicher freigegeben. Folglich sind die Referenzen auf die Instanzen ungültig. Alle SET/GET-Aufrufe zu diesen Referenzen lösen Ausnahmen aus.

Weitere Information

Hilfsmethoden für CL_IDENTITY_FACTORY

Meldungen

Datenstruktur für CL_IDENTITY_FACTORY

SET/GET-Methoden von IF_IDENTITY

Verwendete Berechtigungsobjekte






PERFORM Short Reference   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 24754 Date: 20240425 Time: 122714     sap01-206 ( 238 ms )