ABAP CDS Views
Webinar, 23. Juni 2017, 10:00 Uhr
Föß ABAP CDS Views
Johann Fößleitner
Senior Consultant & Development Coach
eMail: johann.foessleitner@cadaxo.com
Twitter: @foessleitnerj
Beratungsschwerpunkte
• ABAP
• Konzeption & Management von SAP Entwicklungsprojekten
• Qualitymanagement & Performanceoptimierung
• Clean Code
• SAP CRM
Domi ABAP CDS Views
Domi Bigl
Senior Consultant & Development Coach
eMail: dominik.bigl@cadaxo.com
Twitter: @DomiBiglSAP
Beratungsschwerpunkte
• ABAP
• Konzeption & Management von Entwicklungsprojekten
• Qualitymanagement & Performanceoptimierung
• ABAP Units
• SAP Fiori/SAPUI5
• SAP Cloud
Dusan ABAP CDS Views
Dusan Sacha
Consultant at Cadaxo
eMail: dusan.sacha@cadaxo.com
Twitter: @sacha_dusan
Beratungsschwerpunkte
• SAP Fiori / SAP UI5
• SAP Cloud
• SAP NetWeaver Gateway
• User Experience
Agenda ABAP CDS Views
 CDS Views
 Eingebaute Funktionen
 Parameter in CDS Views
 Associations
 Annotations
 Integration NetWeaver Gateway
 Berechtigungen
 Table Functions
ABAP CDS Views
CDS Views
ABAP CDS Views ABAP CDS Views
 ABAP CDS Views
◦ Next Generation zum Definieren von Views
◦ CDS beinhaltet
 DDL (Data Definition Language)
 DCL (Data Control Language)
◦ 100% in ABAP integriert
 ABAP Dictionary
 Transportmanagement
◦ Pflege ausschließlich über ABAP in Eclipse
◦ Zugriff via Open SQL
ABAP Programmiermodell S/4 HANA ABAP CDS Views
SAP HANA
ABAP Plattform
Client
SAP Gateway
CDS
SADL
BOPF
Open SQL
Rest
OData
Datenbankviews ABAP CDS Views
Traditionelle Datebankviews in SAP
Keine Outer
Joins
Keine
komplexen
Joins
Keine
Kommentare
Kein UNION
Kein View
-> View
…
Keine impliziten
Berechtigungen
Code Pushdown ABAP CDS Views
ABAP modern
Open SQL
ABAP CDS Views
AMDP
ABAP Managed Database
Procedures
◦ Neue Syntax
◦ Expressions
◦ Neue JOIN Möglichkeiten
◦ …
◦ Neue, moderne Form von Datenbankviews
◦ Verwendung von AMDPs möglich
◦ Aufruf von HANA Funktionen (SQL Script) via ABAP
Code Pushdown to the database
Any
DB
HANA
only
DDL & DCL ABAP CDS Views
• Definition von CDS Views
DDL
Data Definition Language
• Definition von Zugriffskontrollen
für CDS Views
• PFCG Rollen integrierbar
DCL
Data Control Language
ABAP CDS ABAP CDS Views
• Einführung
NetWeaver 7.4
SP05
• Eingabeparameter
• View Erweiterungen
• Neue Funktionen
NetWeaver 7.4
SP08
• Zugriffskontrolle
mit DCL
NetWeaver 7.4
SP10
• Tabellen-
funktionen
• Neue Funktionen
• Sitzungsvariablen
NetWeaver 7.5
• Cross Join
• Weitere
Zugriffsregeln
• Benutzer-
bedingung
NetWeaver 7.5
SP01
 Die Geschichte der ABAP CDS Views
◦ … wurden/werden aus HANA CDS übernommen …
ABAP CDS vs. HANA CDS ABAP CDS Views
• DB Unabhängig -> Offen
• Tabellenbuffer
• …
ABAP CDS View
• Nur für HANA
• Mehr Funktionen/Möglichkeiten
HANA CDS View
Ähnlich
aber NICHT gleich!
 ABAP CDS vs. HANA CDS
◦ Gleiche Syntax (DDL)
◦ Wer ABAP CDS kennt, findet sich auch in HANA CDS
zurecht
CDS View Hierarchie ABAP CDS Views
VerwenderView auf ViewView
CDS_VIEW_01
CDS_VIEW_02
Anwendung 1
Anwendung 2
CDS_VIEW_03 Anwendung 3
CDS Development Umgebung ABAP CDS Views
CDS View DDL Syntax ABAP CDS Views
Tabelle der zu
lesenden Daten
CDS View Entität
Viewfelder,
Funktionen, …
Name des DB Views
CDS Viewname
ABAP CDS Views
Eingebaute Funktionen
Eingebaute Funktionen ABAP CDS Views
Konvertierungs-
funktionen
FLTP_TO_DEC,
UNIT_CONVERSION,
CURRENCY_CONVERSION,
DECIMAL_SHIFT
Zeichenketten-
funktionen
CONCAT,
CONCAT_WITH_SPACE,
INSTR, LEFT, LENGTH,
LOWER, LPAD,
LTRIM, REPLACE,
RIGHT, RPAD, RTRIM,
SUBSTRING, UPPER
Numerische Funktionen
ABS, CEIL,
DIV, DIVISION,
FLOOR, MOD,
ROUND
Datumsfunktionen
Zeitfunktionen
DATS_IS_VALID,
DATS_DAYS_BETWEEN,
DATS_ADD_DAYS,
DATS_ADD_MONTHS
Zeitfunktion
TIME_IS_VALID
Bytekettenfunktionen
BINTOHEX,
HEXTOBIN
Coalesce-Funktion
COALESCE
Zeitstempelfunktionen
TSTMP_IS_VALID,
TSTMP_CURRENT_UTCTIM
ESTAMP,
TSTMP_SECONDS_BETWE
EN,
TSTMP_ADD_SECONDS
Zeitzonenfunktionen
ABAP_SYSTEM_TIMEZONE,
ABAP_USER_TIMEZONE
Datums/Zeit-
konvertierungen
TSTMP_TO_DATS,
TSTMP_TO_TIMS,
TSTMP_TO_DST,
DATS_TIMS_TO_TSTMP
XXX - 7.40 SP8
XXX - 7.50
XXX - 7.51
ABAP CDS Views
Live Demos
CDS View
CDS View mit eingebauter Funktion
CDS View mit Parameter
ABAP CDS Views
Associations
SQL Join – CDS Join – CDS Association ABAP CDS Views
SELECT A~PARTNER,
B~ADDRNUMBER
FROM BUT000 AS A
INNER JOIN BUT020 AS B
ON B~PATNER = A~PARTNER
ORDER BY A~PARTNER,
B~ADDRNUMBER
INTO TABLE @DATA(LT_RESULTS).
Open SQL Join
@AbapCatalog.sqlViewName:
‘Z_DEMOJOIN_DB'
@AccessControl.authorizationCheck:
#NOT_REQUIRED
define view z_demo_cds_join
as select from but000
inner join but020 on
but000.partner = but020.partner
{
but000.partner as partner,
but020.addrnumber as addrnumber,
}
CDS Join
@AbapCatalog.sqlViewName:
‘Z_DEMOJOIN_DB'
@AccessControl.authorizationCheck:
#NOT_REQUIRED
define view z_demo_cds_join
as select from but000
association [0..1] to but020 as
_but020 on
but000.partner = _but020-partner
{
but000.partner,
_but020[inner].addrnumber,
_but020[1: ].addrnumber
_but020
}
CDS Association
 CDS Associations werden zur Laufzeit in
JOINS übersetzt, wenn sie benötigt werden
ABAP CDS Views
Live Demo
CDS View mit Associations
ABAP CDS Views
Annotations
CDS Annotations ABAP CDS Views
 CDS View Annotations
◦ Ermöglicht das Anreichern von Metadaten
direkt im View
 SAP Pufferung aktiv
 Mandantenbehandlung
 Labelinformationen
 …
◦ Auslesen von Annotations in ABAP mit
CL_DD_DDL_ANNOTATION_SERVICE
CDS
BI Tools
OData
AnalyticsABAP
…
CDS Annotations ABAP CDS Views
• Werden von der ABAP Laufzeit-
umgebung ausgewertet
• Beispiele:
• Tabellenpufferung
• Mandantenbehandlung
• Erweiterbarkeit von CDS Views
• Datenbankviewname
• …
ABAP
Annotationen
• Werden von Software-Komponenten
benötigt/ausgewertet
• Frameworks:
• BOPF
• SADL
• Enterprise Search
• Analytics
• ABAP Entwicklung
• …
Framework-spezifisch
Annotationen
ABAP
Annotationen
Framework-spezifisch
Annotationen
 Derzeit sollten Kunden/Partner keine eigenen Annotationen definieren
 Aufstellung und weitere Infos aller CDS Annotations (NetWeaver 7.5 SP01)
Core vs. Element Annotations ABAP CDS Views
@AbapCatalog.sqlViewName: 'zcdsview_foe2_db'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #CHECK
define view Zcdsview_Foe2
with parameters exc_date: abap.dats,
to_curr: abap.cuky(5)
as select from zdatentypen {
zdatentypen.curr as original,
@EndUserText.label: Currency‘
zdatentypen.cuky as currency,
…
Core Annotations
Element Annotations
ABAP CDS Views
Live Demo
NetWeaver Gateway Annotations
SAP Annotations ABAP CDS Views
 Übersicht SAP Annotations
◦ SAP Annotations
 https://help.sap.com/http.svc/rc/abapdocu_750_index_ht
m/7.50/en-US/abencds_annotations_sap.htm
◦ Annotations „Landing Page“
 http://help.sap.com/saphelp_nw75/helpdata/en/63/0ce9b
386b84e80bfade96779fbaeec/content.htm?frameset=/en
/cc/db054e4ecf4573829d4ba258cafa72/frameset.htm&cu
rrent_toc=/en/d9/bc687d35fa42ccbb0b9256ce786d51/pla
in.htm&node_id=3&show_children=false
ABAP CDS Views
DCL Berechtigungen
DCL Überblick ABAP CDS Views
… ABAP … SQL
Authorization
Check
... ABAP …
… ABAP … SQL ... ABAP …
DCL CDS View
CDS View ABAP CDS Views
SAP Berechtigungsobjekt
CDS View Entität
Vergleichsfeld(er)
aus View
Derzeit nur true erlaubt (alle
user/alle mandanten)
Berechtigungsfelder aus
Berechtigungsobjekt
Name der CDS Rolle
ABAP CDS Views
Live Demo
Daten Filtern mit DCL
Zugriffskontrolle ABAP CDS Views
Bedingte
Zugriffsregel
Vollzugriffsregel
Geerbte
Zugriffsregeln
◦ … GRANT SELECT ON …
◦ Schränkt den Zugriff mit Hilfe von Zugriffsbedingungen (WHERE) ein
 Literalbedingungen
 PFCG-Bedingungen
 Benutzerbedingunge (ab 7.51)
◦ … GRANT SELECT ON …
◦ Ohne den Zusatz einer Zugriffsbedingung (WHERE) wird ein Zugriff
bedingungslos freigegeben
◦ … GRANT SELECT ON … INHERIT …
◦ Übernimmt die Zugriffsregeln einer bereits vorhandenen CDS Rolle
Ab
7.51
Zugriffsregeln
ABAP CDS Views
CDS View Erweitern
CDS View Extension ABAP CDS Views
VerwenderView auf ViewView
CDS_VIEW_01
CDS_VIEW_02
Anwendung 1
Anwendung 2
CDS_VIEW_03 Anwendung 3
CDS View
Extension
◦ Ermöglicht das Hinzufügen von zusätzlichen
Spalten, arithmetische Expressions oder
Literalen
ABAP CDS Views
Live Demo
CDS View erweitern
ABAP CDS Views
CDS Views vs. Open SQL
CDS Views vs. Open SQL Expressions ABAP CDS Views
• Re-Use Scenarien
• Views können verschachtelt werden
• CDS Features
• UNION, UNION ALL, Mengen bzw.
Währungs Umrechnungen
• Associations
• Berechtigungsprüfungen
CDS Views Open SQL
• Einmalverwendungen
• FOR ALL ENTRIES
• Kein Eclipse
ABAP CDS Views
Table Functions
ABAP CDS Views
 Table Functions
◦ Ermöglichen die Verwendung von SAP HANA
Datenbankfunktionen direkt in CDS Views
◦ Realisiert wird dies durch einen
Zugriff auf ABAP Managed
Database Procedures (AMDB)
Table Functions
define table function z_function
with parameters
i_value :abap.int4
returns
{
e_value:abap.int4
}
implemented by method zcl_function=>get_data;
DDL Table Function (Draft)
SELECT SINGLE FROM z_function( i_value = 1 )
FIELDS *
INTO @DATA(ls_result)
ABAP SQL
ABAP CDS Views
Zusammenfassung
ABAP CDS Views
 ABAP CDS Views
◦ sind eine neue Form von DB Views
◦ basieren auf SQL (Joins, Unions, … )
◦ sind für alle SAP supporteten DB einsetzbar
◦ ermöglichen Code Pushdown durch eingebaute Funktionen etc.
◦ sind erweiterbar
ABAP CDS Views - Zusammenfassung
ABAP CDS Views
Weiterführende Infos
ABAP CDS Views
SAP TechEd Keynote 2015 von Björn Goerke
http://events.sap.com/teched/en/session/26506
ABAP CDS Views
Youtube – ABAP Channel (sdn community)
https://www.youtube.com/channel/UC5DgCoTxyLCuli33BQrLmrg/about
ABAP CDS Views
 Interessante Blogs
◦ Jerry Wang - My CDS view self study tutorial
◦ SDN Sammlung - CDS - Core Data Services
◦ Horst Keller - CDS – One Concept, Two Flavors
◦ Horst Keller - ABAP News for Release 7.50 – ABAP CDS Access Control
◦ Horst Keller - ABAP News for Release 7.50 – Environment Information in ABAP CDS
◦ Horst Keller - ABAP News for Release 7.50 – Annotations in ABAP CDS
◦ Horst Keller - From Open SQL Joins to CDS Associations
ABAP CDS Views
 help.sap.com
Vergangene Webinare
http://www.cadaxo.com/blog/
ABAP CDS Views
If you want to stay in touch …
https://twitter.com/domibiglsap
https://www.linkedin.com/in/dominik-bigl-9b98b68b
https://www.xing.com/profile/dominik_bigl
dominik.bigl@cadaxo.com
See you again!
Thank you for participating!
https://twitter.com/foessleitnerj
https://www.linkedin.com/in/johann-fößleitner-a9851b2a
https://www.xing.com/profile/johann_foessleitner
johann.foessleitner@cadaxo.com
http://com.slideshare.net/cadaxogmbh
https://twitter.com/cadaxo
https://www.linkedin.com/company/cadaxo-gmbh
http://www.youtube.com/CadaxoGmbH
https://www.facebook.com/CadaxoGmbH
https://www.xing.com/companies/cadaxogmbhCadaxo GmbH
Stubenring 18/5a| 1010 Vienna, Austria
office@cadaxo.com
www.cadaxo.com

Webinar - ABAP CDS Views

  • 1.
    ABAP CDS Views Webinar,23. Juni 2017, 10:00 Uhr
  • 2.
    Föß ABAP CDSViews Johann Fößleitner Senior Consultant & Development Coach eMail: johann.foessleitner@cadaxo.com Twitter: @foessleitnerj Beratungsschwerpunkte • ABAP • Konzeption & Management von SAP Entwicklungsprojekten • Qualitymanagement & Performanceoptimierung • Clean Code • SAP CRM
  • 3.
    Domi ABAP CDSViews Domi Bigl Senior Consultant & Development Coach eMail: dominik.bigl@cadaxo.com Twitter: @DomiBiglSAP Beratungsschwerpunkte • ABAP • Konzeption & Management von Entwicklungsprojekten • Qualitymanagement & Performanceoptimierung • ABAP Units • SAP Fiori/SAPUI5 • SAP Cloud
  • 4.
    Dusan ABAP CDSViews Dusan Sacha Consultant at Cadaxo eMail: dusan.sacha@cadaxo.com Twitter: @sacha_dusan Beratungsschwerpunkte • SAP Fiori / SAP UI5 • SAP Cloud • SAP NetWeaver Gateway • User Experience
  • 5.
    Agenda ABAP CDSViews  CDS Views  Eingebaute Funktionen  Parameter in CDS Views  Associations  Annotations  Integration NetWeaver Gateway  Berechtigungen  Table Functions
  • 6.
  • 7.
    ABAP CDS ViewsABAP CDS Views  ABAP CDS Views ◦ Next Generation zum Definieren von Views ◦ CDS beinhaltet  DDL (Data Definition Language)  DCL (Data Control Language) ◦ 100% in ABAP integriert  ABAP Dictionary  Transportmanagement ◦ Pflege ausschließlich über ABAP in Eclipse ◦ Zugriff via Open SQL
  • 8.
    ABAP Programmiermodell S/4HANA ABAP CDS Views SAP HANA ABAP Plattform Client SAP Gateway CDS SADL BOPF Open SQL Rest OData
  • 9.
    Datenbankviews ABAP CDSViews Traditionelle Datebankviews in SAP Keine Outer Joins Keine komplexen Joins Keine Kommentare Kein UNION Kein View -> View … Keine impliziten Berechtigungen
  • 10.
    Code Pushdown ABAPCDS Views ABAP modern Open SQL ABAP CDS Views AMDP ABAP Managed Database Procedures ◦ Neue Syntax ◦ Expressions ◦ Neue JOIN Möglichkeiten ◦ … ◦ Neue, moderne Form von Datenbankviews ◦ Verwendung von AMDPs möglich ◦ Aufruf von HANA Funktionen (SQL Script) via ABAP Code Pushdown to the database Any DB HANA only
  • 11.
    DDL & DCLABAP CDS Views • Definition von CDS Views DDL Data Definition Language • Definition von Zugriffskontrollen für CDS Views • PFCG Rollen integrierbar DCL Data Control Language
  • 12.
    ABAP CDS ABAPCDS Views • Einführung NetWeaver 7.4 SP05 • Eingabeparameter • View Erweiterungen • Neue Funktionen NetWeaver 7.4 SP08 • Zugriffskontrolle mit DCL NetWeaver 7.4 SP10 • Tabellen- funktionen • Neue Funktionen • Sitzungsvariablen NetWeaver 7.5 • Cross Join • Weitere Zugriffsregeln • Benutzer- bedingung NetWeaver 7.5 SP01  Die Geschichte der ABAP CDS Views ◦ … wurden/werden aus HANA CDS übernommen …
  • 13.
    ABAP CDS vs.HANA CDS ABAP CDS Views • DB Unabhängig -> Offen • Tabellenbuffer • … ABAP CDS View • Nur für HANA • Mehr Funktionen/Möglichkeiten HANA CDS View Ähnlich aber NICHT gleich!  ABAP CDS vs. HANA CDS ◦ Gleiche Syntax (DDL) ◦ Wer ABAP CDS kennt, findet sich auch in HANA CDS zurecht
  • 14.
    CDS View HierarchieABAP CDS Views VerwenderView auf ViewView CDS_VIEW_01 CDS_VIEW_02 Anwendung 1 Anwendung 2 CDS_VIEW_03 Anwendung 3
  • 15.
  • 16.
    CDS View DDLSyntax ABAP CDS Views Tabelle der zu lesenden Daten CDS View Entität Viewfelder, Funktionen, … Name des DB Views CDS Viewname
  • 17.
  • 18.
    Eingebaute Funktionen ABAPCDS Views Konvertierungs- funktionen FLTP_TO_DEC, UNIT_CONVERSION, CURRENCY_CONVERSION, DECIMAL_SHIFT Zeichenketten- funktionen CONCAT, CONCAT_WITH_SPACE, INSTR, LEFT, LENGTH, LOWER, LPAD, LTRIM, REPLACE, RIGHT, RPAD, RTRIM, SUBSTRING, UPPER Numerische Funktionen ABS, CEIL, DIV, DIVISION, FLOOR, MOD, ROUND Datumsfunktionen Zeitfunktionen DATS_IS_VALID, DATS_DAYS_BETWEEN, DATS_ADD_DAYS, DATS_ADD_MONTHS Zeitfunktion TIME_IS_VALID Bytekettenfunktionen BINTOHEX, HEXTOBIN Coalesce-Funktion COALESCE Zeitstempelfunktionen TSTMP_IS_VALID, TSTMP_CURRENT_UTCTIM ESTAMP, TSTMP_SECONDS_BETWE EN, TSTMP_ADD_SECONDS Zeitzonenfunktionen ABAP_SYSTEM_TIMEZONE, ABAP_USER_TIMEZONE Datums/Zeit- konvertierungen TSTMP_TO_DATS, TSTMP_TO_TIMS, TSTMP_TO_DST, DATS_TIMS_TO_TSTMP XXX - 7.40 SP8 XXX - 7.50 XXX - 7.51
  • 19.
    ABAP CDS Views LiveDemos CDS View CDS View mit eingebauter Funktion CDS View mit Parameter
  • 20.
  • 21.
    SQL Join –CDS Join – CDS Association ABAP CDS Views SELECT A~PARTNER, B~ADDRNUMBER FROM BUT000 AS A INNER JOIN BUT020 AS B ON B~PATNER = A~PARTNER ORDER BY A~PARTNER, B~ADDRNUMBER INTO TABLE @DATA(LT_RESULTS). Open SQL Join @AbapCatalog.sqlViewName: ‘Z_DEMOJOIN_DB' @AccessControl.authorizationCheck: #NOT_REQUIRED define view z_demo_cds_join as select from but000 inner join but020 on but000.partner = but020.partner { but000.partner as partner, but020.addrnumber as addrnumber, } CDS Join @AbapCatalog.sqlViewName: ‘Z_DEMOJOIN_DB' @AccessControl.authorizationCheck: #NOT_REQUIRED define view z_demo_cds_join as select from but000 association [0..1] to but020 as _but020 on but000.partner = _but020-partner { but000.partner, _but020[inner].addrnumber, _but020[1: ].addrnumber _but020 } CDS Association  CDS Associations werden zur Laufzeit in JOINS übersetzt, wenn sie benötigt werden
  • 22.
    ABAP CDS Views LiveDemo CDS View mit Associations
  • 23.
  • 24.
    CDS Annotations ABAPCDS Views  CDS View Annotations ◦ Ermöglicht das Anreichern von Metadaten direkt im View  SAP Pufferung aktiv  Mandantenbehandlung  Labelinformationen  … ◦ Auslesen von Annotations in ABAP mit CL_DD_DDL_ANNOTATION_SERVICE CDS BI Tools OData AnalyticsABAP …
  • 25.
    CDS Annotations ABAPCDS Views • Werden von der ABAP Laufzeit- umgebung ausgewertet • Beispiele: • Tabellenpufferung • Mandantenbehandlung • Erweiterbarkeit von CDS Views • Datenbankviewname • … ABAP Annotationen • Werden von Software-Komponenten benötigt/ausgewertet • Frameworks: • BOPF • SADL • Enterprise Search • Analytics • ABAP Entwicklung • … Framework-spezifisch Annotationen ABAP Annotationen Framework-spezifisch Annotationen  Derzeit sollten Kunden/Partner keine eigenen Annotationen definieren  Aufstellung und weitere Infos aller CDS Annotations (NetWeaver 7.5 SP01)
  • 26.
    Core vs. ElementAnnotations ABAP CDS Views @AbapCatalog.sqlViewName: 'zcdsview_foe2_db' @AbapCatalog.compiler.CompareFilter: true @AccessControl.authorizationCheck: #CHECK define view Zcdsview_Foe2 with parameters exc_date: abap.dats, to_curr: abap.cuky(5) as select from zdatentypen { zdatentypen.curr as original, @EndUserText.label: Currency‘ zdatentypen.cuky as currency, … Core Annotations Element Annotations
  • 27.
    ABAP CDS Views LiveDemo NetWeaver Gateway Annotations
  • 28.
    SAP Annotations ABAPCDS Views  Übersicht SAP Annotations ◦ SAP Annotations  https://help.sap.com/http.svc/rc/abapdocu_750_index_ht m/7.50/en-US/abencds_annotations_sap.htm ◦ Annotations „Landing Page“  http://help.sap.com/saphelp_nw75/helpdata/en/63/0ce9b 386b84e80bfade96779fbaeec/content.htm?frameset=/en /cc/db054e4ecf4573829d4ba258cafa72/frameset.htm&cu rrent_toc=/en/d9/bc687d35fa42ccbb0b9256ce786d51/pla in.htm&node_id=3&show_children=false
  • 29.
    ABAP CDS Views DCLBerechtigungen
  • 30.
    DCL Überblick ABAPCDS Views … ABAP … SQL Authorization Check ... ABAP … … ABAP … SQL ... ABAP … DCL CDS View
  • 31.
    CDS View ABAPCDS Views SAP Berechtigungsobjekt CDS View Entität Vergleichsfeld(er) aus View Derzeit nur true erlaubt (alle user/alle mandanten) Berechtigungsfelder aus Berechtigungsobjekt Name der CDS Rolle
  • 32.
    ABAP CDS Views LiveDemo Daten Filtern mit DCL
  • 33.
    Zugriffskontrolle ABAP CDSViews Bedingte Zugriffsregel Vollzugriffsregel Geerbte Zugriffsregeln ◦ … GRANT SELECT ON … ◦ Schränkt den Zugriff mit Hilfe von Zugriffsbedingungen (WHERE) ein  Literalbedingungen  PFCG-Bedingungen  Benutzerbedingunge (ab 7.51) ◦ … GRANT SELECT ON … ◦ Ohne den Zusatz einer Zugriffsbedingung (WHERE) wird ein Zugriff bedingungslos freigegeben ◦ … GRANT SELECT ON … INHERIT … ◦ Übernimmt die Zugriffsregeln einer bereits vorhandenen CDS Rolle Ab 7.51 Zugriffsregeln
  • 34.
    ABAP CDS Views CDSView Erweitern
  • 35.
    CDS View ExtensionABAP CDS Views VerwenderView auf ViewView CDS_VIEW_01 CDS_VIEW_02 Anwendung 1 Anwendung 2 CDS_VIEW_03 Anwendung 3 CDS View Extension ◦ Ermöglicht das Hinzufügen von zusätzlichen Spalten, arithmetische Expressions oder Literalen
  • 36.
    ABAP CDS Views LiveDemo CDS View erweitern
  • 37.
    ABAP CDS Views CDSViews vs. Open SQL
  • 38.
    CDS Views vs.Open SQL Expressions ABAP CDS Views • Re-Use Scenarien • Views können verschachtelt werden • CDS Features • UNION, UNION ALL, Mengen bzw. Währungs Umrechnungen • Associations • Berechtigungsprüfungen CDS Views Open SQL • Einmalverwendungen • FOR ALL ENTRIES • Kein Eclipse
  • 39.
  • 40.
    ABAP CDS Views Table Functions ◦ Ermöglichen die Verwendung von SAP HANA Datenbankfunktionen direkt in CDS Views ◦ Realisiert wird dies durch einen Zugriff auf ABAP Managed Database Procedures (AMDB) Table Functions define table function z_function with parameters i_value :abap.int4 returns { e_value:abap.int4 } implemented by method zcl_function=>get_data; DDL Table Function (Draft) SELECT SINGLE FROM z_function( i_value = 1 ) FIELDS * INTO @DATA(ls_result) ABAP SQL
  • 41.
  • 42.
    ABAP CDS Views ABAP CDS Views ◦ sind eine neue Form von DB Views ◦ basieren auf SQL (Joins, Unions, … ) ◦ sind für alle SAP supporteten DB einsetzbar ◦ ermöglichen Code Pushdown durch eingebaute Funktionen etc. ◦ sind erweiterbar ABAP CDS Views - Zusammenfassung
  • 43.
  • 44.
    ABAP CDS Views SAPTechEd Keynote 2015 von Björn Goerke http://events.sap.com/teched/en/session/26506
  • 45.
    ABAP CDS Views Youtube– ABAP Channel (sdn community) https://www.youtube.com/channel/UC5DgCoTxyLCuli33BQrLmrg/about
  • 46.
    ABAP CDS Views Interessante Blogs ◦ Jerry Wang - My CDS view self study tutorial ◦ SDN Sammlung - CDS - Core Data Services ◦ Horst Keller - CDS – One Concept, Two Flavors ◦ Horst Keller - ABAP News for Release 7.50 – ABAP CDS Access Control ◦ Horst Keller - ABAP News for Release 7.50 – Environment Information in ABAP CDS ◦ Horst Keller - ABAP News for Release 7.50 – Annotations in ABAP CDS ◦ Horst Keller - From Open SQL Joins to CDS Associations
  • 47.
    ABAP CDS Views help.sap.com
  • 48.
  • 49.
    If you wantto stay in touch … https://twitter.com/domibiglsap https://www.linkedin.com/in/dominik-bigl-9b98b68b https://www.xing.com/profile/dominik_bigl dominik.bigl@cadaxo.com See you again! Thank you for participating! https://twitter.com/foessleitnerj https://www.linkedin.com/in/johann-fößleitner-a9851b2a https://www.xing.com/profile/johann_foessleitner johann.foessleitner@cadaxo.com
  • 50.

Hinweis der Redaktion

  • #26 SADL: SADL (Service Adaption Description Language) ist eine ABAP Technologie, welche die Konsumierung von ABAP-Datenmodellen wie BOPF, CDS oder DDIC-Tabellen auf Grundlage eines modellgesteuerten Ansatzes erlaubt. SADL ist derzeit nicht für die Verwendung von Anwendungsentwickler vorgesehen. SADL wird derzeit von folgenden Anwendungen verwendet: SAP List Viewer with Integrated Data Access (ALV mit IDA) (für CDS und DDIC) WebDynpro ABAP Using Floorplan Manager (FPM) Gateway für OData-Implementierung