Ansicht
Dokumentation
ABENCDS_DCL_ROLE_CONDITIONS - CDS DCL ROLE CONDITIONS
Vendor Master (General Section) SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
- DEFINE ROLE, condition
... literal_condition
$| pfcg_condition
$| aspect_condition
$| user_condition
$| inherit_condition
$| dcl_function
$| TRUE
$| FALSE
$| VOID ...
Wirkung
Bestandteil einer Zugriffsbedingung cds_cond in einer Zugriffsregel der Anweisung DEFINE ROLE der CDS DCL. Es können folgende Arten von Bedingungen angegeben werden, die über AND oder OR kombinierbar sind:
- Literalbedingungen literal_condition, die ein Element einer CDS-Entität mit fest vorgegebenen Werten vergleichen.
- PFCG-Bedingungen pfcg_condition, die ein Element einer CDS-Entität mit Berechtigungen des SAP-Berechtigungskonzepts verknüpfen, welche auf Berechtigungsobjekten basieren.
- Selbstdefinierte Aspekte aspect_condition, die Elemente einer CDS-Entität mit Wertemengen einer beliebigen Entität verknüpfen, die mit dem aktuellen Benutzernamen als Selektionsbedingung erreichbar sind.
- Benutzerbedingungen user_condition als Spezialfall einer Literalbedingung, auf deren rechten Seite der Benutzername des aktuellen Benutzers als Operand verwendet wird.
- Vererbungsbedingungen inherit_condition, welche Bedingungen aus anderen CDS-Rollen übernehmen.
- Funktionalitäten der DCL dcl_function werden im Applikationsserver ausgewertet, bevor die Anweisung an die Datenbank gesendet wird. Die derzeit vorhandenen Funktionalitäten der DCL geben ein Boolesche Prädikat zurück und erlaubt in Kombination mit AND- und OR-Bedingungen das Aktivieren oder Deaktivieren von Teilen der Zugriffsbedinungen, basierend auf dem Funktionsergebnis.
- Boolesche Prädikate TRUE und FALSE. Diese Bedingungen sind immer erfüllt bzw. nicht erfüllt. Sie werden bei der Definition einer Rolle in aller Regel nicht benötigt, können aber bei der Vererbung von Bedingungen implizit erzeugt werden.
- Das Prädikat VOID. Eine Bedingung mit dem Wert VOID wird behandelt als wäre sie nicht vorhanden.
- VOID Bedingungen werden bei der Definition einer Rolle nicht benötigt und können bei der Vererbung implizit erzeugt werden. Im Zusammenspiel mit anderen Bedingungen gelten die folgenden Regeln:
- X AND VOID = VOID AND X = X
- X OR VOID = VOID OR X = X
- NOT VOID = VOID
- Eine Zugriffsregel darf nicht nur VOID Bedingungen beinhalten.
Auf der linken Seite einer solchen Bedingung können Elemente der CDS-Entität, für welche die Zugriffsbedingung definiert wird, direkt oder über Pfadausdrücke angegeben werden. Dabei gibt es folgende Einschränkungen:
- Es sind nur bestimmte Datentypen erlaubt.
- Pfadausdrücke path_expr der CDS DCL haben die gleiche Syntax wie Pfadausdrücke der CDS DDL.
Hinweise
- Es wird empfohlen, ein element einer CDS-Entität in der CDS DCL immer direkt anzugeben und Pfadausdrücke nur in Ausnahmefällen zu verwenden. Insbesondere mehrwertige Pfadausdrücke können die Laufzeit einer Query negativ beeinträchtigen.
- Wie eine in einer CDS-Rolle für eine CDS-Entität definierte Zugriffsbedingung beim Zugriff auf die CDS-Entität über intern ausgeprägt wird, kann im Werkzeug SQL-Trace (Transaktion ST05) z.B. in Form zusätzlicher allgemeiner Tabellenausdrücke beobachtet werden. Die Umsetzung ist aber nicht festgelegt und kann sich von Release zu Release ändern. Insbesondere kann beim Vorliegen weiterer Bedingungen die aus einer CDS-Rolle resultierende Teilbedingung gegebenenfalls reduziert oder ganz weggelassen werden.
ROGBILLS - Synchronize billing plans General Material Data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 8442 Date: 20240606 Time: 012100 sap01-206 ( 103 ms )