Ansicht
Dokumentation

ABENCDS_EXPOSE_ASSOC_V1_ABEXA - CDS EXPOSE ASSOC V1 ABEXA

ABENCDS_EXPOSE_ASSOC_V1_ABEXA - CDS EXPOSE ASSOC V1 ABEXA

TXBHW - Original Tax Base Amount in Local Currency   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- DDIC-basierte View, CDS-Assoziationen exponieren

Das Beispiel demonstriert die Exponierung von CDS-Assoziationen in der SELECT-Liste einer CDS-View.

Quelltext

Ausführen

Beschreibung

Das Beispiel demonstriert den Zugriff auf CDS-Assoziationen, die in der SELECT-Liste einer CDS-View exponiert sind. Für jede View wird die Datenquelle nicht direkt angegeben, sondern als Pfadausdruck, wobei eine exponierte Assoziation verwendet wird. Zusätzlich wird zum Vergleich jeweils der explizite Join-Ausdruck gezeigt, mit dem das gleiche Ergebnis erzeugt wird.

  • Die folgende CDS-View exponiert ihre CDS-Assoziation _demo_join2, welche ihre Datenquelle demo_join1 mit der DDIC-Datenbanktabelle demo_join1 verknüpft. Das in der ON-Bedingung verwendete Feld d der Assoziationsquelle muss ebenfalls Element der SELECT-Liste sein.
Beim Zugriff auf die CDS-Assoziation demo_cds_expose_assoc_1\_demo_join2 wird derselbe Inner-Join angelegt, der explizit im darauf folgenden Zugriff verwendet wird. Beide führen zum selben Ergebnis.
  • Die folgende CDS-View entspricht der vorhergehenden, hat aber eine zusätzliche WHERE-Bedingung.
Bei einem Zugriff auf die CDS-Assoziation demo_cds_expose_assoc_1a\_demo_join2 ist die Ergebnismenge der linken Seite des Joins durch die WHERE-Bedingung in der Assoziationsquelle der Pfadausdrucks eingeschränkt.
  • Die folgende CDS-View greift auf obige View demo_cds_expose_assoc_1 zu. Sie hat keine eigene CDS-Assoziation, exponiert aber die CDS-Assoziation ihrer Datenquelle demo_cds_expose_assoc_1._demo_join2, wobei wieder das in der ON-Bedingung verwendete Feld demo_cds_expose_assoc_1.d der Assoziationsquelle Teil der SELECT-Liste sein muss.
Beim Zugriff auf die CDS-Assoziation demo_cds_expose_assoc_2\_demo_join2 wird derselbe Inner-Join angelegt wie der darauf folgende explizite Inner-Join und führt zum selben Ergebnis. Da es in der View demo_cds_expose_assoc_2 keine zusätzlichen Einschränkungen gibt, ist das Ergebnis wie beim Zugriff auf demo_cds_expose_assoc_1\_demo_join2.
  • Die folgende CDS-View entspricht der vorhergehenden, hat aber eine zusätzliche WHERE-Bedingung.
Bei einem Zugriff auf die CDS-Assoziation demo_cds_expose_assoc_2a\_demo_join2 ist die Ergebnismenge der linken Seite des Joins durch die WHERE-Bedingung in der Assoziationsquelle der Pfadausdrucks eingeschränkt. Es ist anders als beim Zugriff auf demo_cds_expose_assoc_1a\_demo_join2. Es wird zwar die in demo_cds_expose_assoc_1a definierte CDS-Assoziation verwendet, die Assoziationsquelle ist aber demo_cds_expose_assoc_2a mit einer anderen WHERE-Bedingung.
  • Die folgende CDS-View greift auf obige View demo_cds_expose_assoc_1a zu. Sie hat keine eigene CDS-Assoziation, exponiert aber die CDS-Assoziation ihrer Datenquelle demo_cds_expose_assoc_1a._demo_join2.
Beim Zugriff auf die CDS-Assoziation demo_cds_expose_assoc_3\_demo_join2 wird der im darauf folgenden Zugriff explizit verwendete innere Join ausgeprägt und dessen Ergebnis erzeugt. Da es in der View demo_cds_expose_assoc_3 keine zusätzlichen Einschränkungen gibt, ist das Ergebnis wie beim Zugriff auf demo_cds_expose_assoc_1a\_demo_join2.
  • Die folgende CDS-View entspricht der vorhergehenden, hat aber eine zusätzliche WHERE-Bedingung.
Bei einem Zugriff auf die CDS-Assoziation demo_cds_expose_assoc_3a\_demo_join2 ist die Ergebnismenge der linken Seite des Joins durch die WHERE-Bedingung in der Assoziationsquelle der Pfadausdrucks eingeschränkt. Da es dort wegen der disjunkten WHERE-Bedingung in demo_cds_expose_assoc_1a aber keine passenden Zeilen gibt, ist Ergebnismenge der linken Seite des Joins leer.





General Data in Customer Master   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6788 Date: 20240523 Time: 161518     sap01-206 ( 82 ms )