Ansicht
Dokumentation

ABENCDS_DEFINE_VIEW_AS_INTERFACE - CDS DEFINE VIEW AS INTERFACE

ABENCDS_DEFINE_VIEW_AS_INTERFACE - CDS DEFINE VIEW AS INTERFACE

TXBHW - Original Tax Base Amount in Local Currency   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- DEFINE VIEW ENTITY AS PROJECTION ON, transaktionales Interface

$[@entity_annot1$]
$[@entity_annot2$]
...
$[@proj_view_annot1$]
$[@proj_view_annot2$]
...
DEFINE $[ROOT$] VIEW ENTITY projection_view
  PROVIDER CONTRACT TRANSACTIONAL_INTERFACE
    AS PROJECTION ON cds_entity $[AS alias_name$]
      { projection_list }


Zusätze:

1. ... ROOT

2. ... AS alias_name

Wirkung

Definition eines transaktionalen CDS-Interfaces mit dem Namen projection_view in der CDS DDL.

Die projizierte Entität cds_entity kann entweder eine CDS-View-Entität oder eine (veraltet) sein. Die projizierte Entität muss zu einem RAP-BO gehören: Sie muss entweder eine Wurzelentität sein oder eine To-Parent-Assoziation enthalten. Andere CDS-Entitäten oder Datenquellen sind als projizierte Entität nicht erlaubt. Mit Pfadausdrücken darf die projizierte Entität darf nicht angegeben werden. Eine CDS-Entität kann als Grundlage für mehrere CDS-Projektions-Views verwendet werden.

Der Name der CDS-Projektions-View projection_view wird hinter der DEFINE VIEW ENTITY-Anweisung definiert. Für diesen Namen gelten die üblichen Einschränkungen für Views des ABAP Dictionary und die Groß-/Kleinschreibung spielt keine Rolle (bzw. er wird intern in Großbuchstaben umgesetzt). Er kann maximal 30 Zeichen haben und befindet sich im Namensraum aller globalen Typen eines AS ABAP. Der Name der DDL-Quelle und der Name der CDS-Entität müssen identisch sein.

Ein transaktionales CDS-Interface, das den Zusatz PROVIDER CONTRACT TRANSACTIONAL_INTERFACE verwendet, muss Teil eines RAP-Business-Objekts sein. Die View muss daher entweder selbst eine Wurzelentität sein oder zu einem Kompositionsbaum gehören und eine Wurzelentität über eine Komposition erreichen.

Komponenten

  • Vor der Anweisung DEFINE VIEW ENTITY angegebene Kopfannotationen werden nicht aus der projizierten Entität übernommen. Das Angeben von Entitätsannotationen @entity_annot oder Projektions-View-Annotationen @proj_view_annot als Kopfkonditionen ist möglich, aber nicht erforderlich.
  • Mit der Projektionsliste projection_list werden die als Teil des Interfaces exponierten Elemente definiert.

Releasekontrakte

  • Ein transaktionales Interface kann für den Kontrakt C0 freigegeben werden.
  • Ein transaktionales Interface sollte für den Kontrakt C1 freigegeben werden.
  • Ein transaktionales Interface sollte nicht für den Kontrakt C2 freigegeben werden.

Hinweise

  • Die für ein transaktionales CDS-Interface definierte CDS-Zugriffskontrolle muss symmetrisch zur CDS-Zugriffskontrolle für die projizierte Entität definiert sein. Das Verhalten der Zugriffkontrolle der projizierten Entität muss geerbt sein.
  • Es sind keine weiteren Klauseln möglich. WHERE, UNION und GROUP BY sind nicht unterstützt.

Beispiel

Das folgende transaktionale CDS-Interface hat die CDS-View-Entität DEMO_CDS_PURCH_DOC_M als Grundlage. Die Komposition wird auf das transaktionale CDS-Interface der untergeordneten Entität umgeleitet.

Sowohl die übergeordnete als auch die untergeordnete Entität sollte für die systeminterne Verwendung unter dem Kontrakt C1 freigegeben sein.

Mit folgendem transaktionalem CDS-Interface wird die untergeordnete Entität dargestellt:



Zusatz 1

... ROOT

Wirkung

Das Schlüsselwort ROOT bewirkt, dass das transaktionale Interface die Wurzelentität eines Kompositionsbaums ist. Das transaktionale Interface muss immer die Position der projizierten Entität im Kompositionsbaum widerspiegeln. Wenn die projizierte Entität nämlich eine Wurzelentität ist, muss das transaktionale Interface dann auch eine Wurzel sein. Wenn die projizierte Entität keine Wurzel ist, kann die Projektions-View auch keine Wurzel sein. In diesem Fall muss die projizierte Entität eine To-Parent-Assoziation enthalten.

Ein transaktionales Interface muss entweder selbst eine Wurzelentität sein oder zu einem Kompositionsbaum gehören und eine Wurzelentität über eine Assoziation erreichen.

Zusatz 2

... AS alias_name

Wirkung

Definiert den Namen alias_name als Aliasnamen der projizierten Entität. Der Aliasname kann maximal 30 Stellen haben. Wenn kein Namen über AS explizit definiert wird, wird der ursprüngliche Name der Datenquelle verwendet.






TXBHW - Original Tax Base Amount in Local Currency   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9945 Date: 20240523 Time: 173548     sap01-206 ( 115 ms )