Ansicht
Dokumentation

ABENCDS_F1_DEFINE_ASPECT - CDS F1 DEFINE ASPECT

ABENCDS_F1_DEFINE_ASPECT - CDS F1 DEFINE ASPECT

RFUMSV00 - Advance Return for Tax on Sales/Purchases   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ABAP CDS - DEFINE ASPECT

Syntax


$[DEFINE$] ASPECT aspect_name AS
  SELECT FROM cds_entity ${ field_element $}
    $[WHERE $user IN path_to_login_name$];

Wirkung

Definition eines Aspekts aspect_name in der Definition einer Zugriffsrichtlinie in der Datenkontrollsprache DCL der ABAP CDS. Ein Aspekt kann bei der Definition einer Rolle in einer Bedingung für zuweisbare Rollen als rechte Seite mit einem durch einen Pfadausdruck dargestellten Attribut auf der linken Seite verglichen werden.

Ein Aspekt definiert auf dem CDS-Datenmodell beruhende benutzerabhängige Werte, welche beim Zugriff auf eine CDS-Entität, die mit einer zuweisbaren Rolle verknüpft ist, überprüft werden können. Die eigentlichen Werte werden bei der Zuweisung einer zuweisbaren Rolle an einen Benutzer von der Benutzeradministration festgelegt, wofür mit der SELECT-Anweisung der Anweisung DEFINE ASPECT ein Vorschlagswert generiert wird. Die SELECT-Anweisung liest hierfür ein CDS-Feld field_element aus einer geeigneten CDS-Entität cds_entity. Optional kann dabei ein Pfad vom aktuellen Benutzer zum Attribut auf der linken Seite der WHERE-Klausel der Rollendefinition angegeben werden. Hierfür wird in einer WHERE-Bedingung ein vordefiniertes Sprachelement $user mit einem geeigneten Pfad path_to_login_name verknüpft, der in CDS-DDL-Syntax angegeben ist.

Hinweise

  • Die Anweisung DEFINE ASPECT kann nur in den geschweiften Klammern der Anweisung DEFINE ACCESSPOLICY aufgeführt werden.
  • Die in der Definition eines Aspekts angegebene CDS-Entität ist in der Regel nicht die Entität, die in der Definition der Rolle angegeben ist.
  • Die SELECT-Anweisung der Anweisung DEFINE ASPECT wird nur bei der Zuweisung einer Rolle an einen Benutzer zur Erstellung eines Vorschlagswerts ausgeführt. Eine implizite Ausführung bei jeder Berechtigungsprüfung ist zwar denkbar, derzeit aber nicht vorgesehen.
  • Derzeit finden Aspekte und Zugriffsrichtlinien noch keine Verwendung, da es noch kein Werkzeug für die Zuweisung von zuweisbaren Rollen gibt.

Beispiel

Der folgende Aspekt beruht auf der Kennung der Verkaufsorganisation, zu der ein Benutzer gehört. Der Aspekt verwendet in seiner WHERE-Klausel den Pfad von einem Benutzer zur Assoziation toemployee, zur Assoziation tostaffing und zum Namen der Verkaufsorganisation, zu welcher der Benutzer gehört. Bei der Zuweisung einer zuweisbaren Rolle, die den Aspekt verwendet, durch die Benutzeradministration wird der Name dieser Verkaufsorganisation vorgeschlagen, was bei Bedarf aber übersteuert werden kann.

@EndUserText.label: 'Employee Orgunit'
ASPECT employee_orgunit as
  SELECT FROM sacm_cds_snwd_depts { org_unit_name }
    WHERE $user IN tostaffing.toemployee.login_name;






General Material Data   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4883 Date: 20240523 Time: 174321     sap01-206 ( 86 ms )