Ansicht
Dokumentation
ABENCDS_F1_DEFINE_ROLE - CDS F1 DEFINE ROLE
RFUMSV00 - Advance Return for Tax on Sales/Purchases RFUMSV00 - Advance Return for Tax on Sales/PurchasesDiese Dokumentation steht unter dem Copyright der SAP AG.
- DEFINE ROLE
@MappingRole: true
$[@role_annot1$]
$[@role_annot2$]
...
$[DEFINE$] ROLE role_name { access_rules }
Wirkung
Definiert eine CDS-Rolle namens role_name in der CDS DCL. Eine CDS-Rolle besteht aus einer oder mehreren innerhalb der geschweiften Klammern angegebenen Zugriffsregeln access_rules. Jede Zugriffsregel regelt den Zugriff auf eine CDS-Entität. Eine CDS-Rolle kann Zugriffsregeln für unterschiedliche CDS-Entitäten enthalten. In einer Zugriffsregel wird entweder eine Zugriffsbedingung für die CDS-Entität definiert oder auch vollen Zugriff gewährt. Bei einem Zugriff auf eine solche CDS-Entität über wird eine Zugriffsbedingung als zusätzliche Selektionsbedingung ausgewertet.
Vor der eigentlichen Definition der Rolle mit DEFINE ROLE muss die Annotation @MappingRole mit dem Wert true angegeben werden. Mit der Annotation @MappingRole wird die CDS-Rolle unabhängig vom Mandanten jedem Benutzer zugewiesen. Es können weitere optionale Annotationen @role_annot1, @role_annot2, ... aufgeführt werden.
Hinweise
- Da jede mit DEFINE ROLE definierte CDS-Rolle implizit jedem Benutzer zugeordnet ist, wird die zugehörige Zugriffskontrolle für jeden Benutzer durchgeführt. Benutzerabhängige Überprüfungen werden durch PFCG-Bedingungen und Benutzerbedingungen erreicht.
- Standardmäßig wird für eine nicht-SQL-CDS-Entität beim Zugriff über eine Zugriffskontrolle durchgeführt, wenn eine CDS-Rolle für sie existiert. Die zugehörige Annotation @AccessControl.authorizationCheck hat den Standardwert #CHECK. In diesem Fall gibt es für eine CDS-Entität ohne zugeordnete Rolle eine Warnung von der Syntaxprüfung im DDL-Editor, die mit dem Annotationswert #NOT_REQUIRED ausgeschaltet werden kann. Der Wert #NOT_REQUIRED schaltet aber nicht die implizite Zugriffskontrolle aus.
- Eine CDS-Rolle für eine CDS-Entität kann in jedem Paket und in jedem System definiert werden und bewirkt dann die implizite Zugriffskontrolle.
- Die Zugriffskontrolle kann für eine CDS-Entität wie folgt abgeschaltet werden:
- Angabe der Annotation @AccessControl.authorizationCheck mit dem Wert #NOT_ALLOWED bei der Definition. In diesem Fall führt die Definition einer Rolle für die CDS-Entität zu einer Warnung von der Syntaxprüfung im DCL-Editor.
- Verwendung des Zusatzes WITH PRIVILEGED ACCESS in der FROM-Klausel einer -Query beim Zugriff auf die Entität.
- Für jede CDS-Rolle muss ein eigener DCL-Quelltext angelegt werden. Der DCL-Quelltext einer CDS-Rolle wird in einem anderen Editor bearbeitet als der DDL-Quelltext einer CDS-Entität (CDS-View, CDS-Tabellenfunktion) oder einer CDS-Metadatenerweiterung. Die Dokumentation der ADT beschreibt, wie die unterschiedlichen Quelltexte angelegt werden. Eine Anzeige von CDS-Quelltexten ist auch im Repository Browser der ABAP Workbench möglich.
TXBHW - Original Tax Base Amount in Local Currency Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6924 Date: 20240523 Time: 161417 sap01-206 ( 86 ms )