SlideShare ist ein Scribd-Unternehmen logo
1 von 50
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

Weitere ähnliche Inhalte

Ähnlich wie Webinar - ABAP CDS Views

Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development ToolsCadaxo GmbH
 
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionWebinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionCONOGY GmbH
 
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA Tauglichkeit
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA TauglichkeitPrüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA Tauglichkeit
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA TauglichkeitCadaxo GmbH
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAPCadaxo GmbH
 
Webinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANAWebinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANACONOGY GmbH
 
Webinar - SAP Gateway
Webinar  - SAP GatewayWebinar  - SAP Gateway
Webinar - SAP GatewayCadaxo GmbH
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
Technische Lösungen zur Unternehmenssteuerung
Technische Lösungen zur UnternehmenssteuerungTechnische Lösungen zur Unternehmenssteuerung
Technische Lösungen zur UnternehmenssteuerungIBsolution GmbH
 
Web-Anwendungen mit BSP
Web-Anwendungen mit BSPWeb-Anwendungen mit BSP
Web-Anwendungen mit BSPrplantiko
 
Office 365 Akademie News – Dezember 2020
Office 365 Akademie News – Dezember 2020Office 365 Akademie News – Dezember 2020
Office 365 Akademie News – Dezember 2020Thomas Maier
 
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...Community ITmitte.de
 
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19cAOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19cStefan Oehrli
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der PraxisTobias Kraft
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Railsgearwheeldotnet
 
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplantModerne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplantChristian Nagel
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsChristoph Adler
 
Process Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO Cloud
Process Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO CloudProcess Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO Cloud
Process Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO CloudNatasha Senn
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitAWS Germany
 

Ähnlich wie Webinar - ABAP CDS Views (20)

Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development Tools
 
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionWebinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
 
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA Tauglichkeit
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA TauglichkeitPrüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA Tauglichkeit
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA Tauglichkeit
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAP
 
Webinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANAWebinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANA
 
Webinar - SAP Gateway
Webinar  - SAP GatewayWebinar  - SAP Gateway
Webinar - SAP Gateway
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
cbs Webinar SAP AIF
cbs Webinar SAP AIFcbs Webinar SAP AIF
cbs Webinar SAP AIF
 
Technische Lösungen zur Unternehmenssteuerung
Technische Lösungen zur UnternehmenssteuerungTechnische Lösungen zur Unternehmenssteuerung
Technische Lösungen zur Unternehmenssteuerung
 
Web-Anwendungen mit BSP
Web-Anwendungen mit BSPWeb-Anwendungen mit BSP
Web-Anwendungen mit BSP
 
Office 365 Akademie News – Dezember 2020
Office 365 Akademie News – Dezember 2020Office 365 Akademie News – Dezember 2020
Office 365 Akademie News – Dezember 2020
 
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
 
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19cAOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Rails
 
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplantModerne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
 
SAP BW/4HANA - Ein Überblick
SAP BW/4HANA - Ein ÜberblickSAP BW/4HANA - Ein Überblick
SAP BW/4HANA - Ein Überblick
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
Process Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO Cloud
Process Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO CloudProcess Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO Cloud
Process Partner Fokustag 2017: 02_Planung und Reporting mit SAP BO Cloud
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
 

Mehr von Cadaxo GmbH

Webinar SAP/ABAP und Microsoft
Webinar  SAP/ABAP und MicrosoftWebinar  SAP/ABAP und Microsoft
Webinar SAP/ABAP und MicrosoftCadaxo GmbH
 
Webinar - ABAP Releasenotes 7.53/7.54
Webinar - ABAP Releasenotes 7.53/7.54Webinar - ABAP Releasenotes 7.53/7.54
Webinar - ABAP Releasenotes 7.53/7.54Cadaxo GmbH
 
Webinar ABAP Managed Database Procedures
Webinar ABAP Managed Database ProceduresWebinar ABAP Managed Database Procedures
Webinar ABAP Managed Database ProceduresCadaxo GmbH
 
Webinar - Entwurfsmuster in ABAP
Webinar - Entwurfsmuster in ABAPWebinar - Entwurfsmuster in ABAP
Webinar - Entwurfsmuster in ABAPCadaxo GmbH
 
Webinar Modern ABAP
Webinar Modern ABAPWebinar Modern ABAP
Webinar Modern ABAPCadaxo GmbH
 
Webinar ABAP 7.51 Releaseinformationen
Webinar ABAP 7.51 ReleaseinformationenWebinar ABAP 7.51 Releaseinformationen
Webinar ABAP 7.51 ReleaseinformationenCadaxo GmbH
 
SQL Cockpit 3.1 - Overview
SQL Cockpit 3.1 - OverviewSQL Cockpit 3.1 - Overview
SQL Cockpit 3.1 - OverviewCadaxo GmbH
 
Webinar - SAP BOPF
Webinar - SAP BOPFWebinar - SAP BOPF
Webinar - SAP BOPFCadaxo GmbH
 
Webinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige ÄnderungenWebinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige ÄnderungenCadaxo GmbH
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP UnitsCadaxo GmbH
 
Clean code in ABAP
Clean code in ABAPClean code in ABAP
Clean code in ABAPCadaxo GmbH
 
SQL Cockpit - Releasenotes 3.0
SQL Cockpit - Releasenotes 3.0SQL Cockpit - Releasenotes 3.0
SQL Cockpit - Releasenotes 3.0Cadaxo GmbH
 
Webinar ABAP 7.40 sp5/sp8 Releaseinformationen
Webinar ABAP 7.40 sp5/sp8 ReleaseinformationenWebinar ABAP 7.40 sp5/sp8 Releaseinformationen
Webinar ABAP 7.40 sp5/sp8 ReleaseinformationenCadaxo GmbH
 
Cadaxo SQL Cockpit 2.0 - Neue Features im Detail
Cadaxo SQL Cockpit 2.0 - Neue Features im DetailCadaxo SQL Cockpit 2.0 - Neue Features im Detail
Cadaxo SQL Cockpit 2.0 - Neue Features im DetailCadaxo GmbH
 
Abap 7 02 new features - new string functions
Abap 7 02   new features - new string functionsAbap 7 02   new features - new string functions
Abap 7 02 new features - new string functionsCadaxo GmbH
 
Abap 7.02 new features - neue stringfunktionen
Abap 7.02   new features - neue stringfunktionenAbap 7.02   new features - neue stringfunktionen
Abap 7.02 new features - neue stringfunktionenCadaxo GmbH
 
Funktionstests in SAP
Funktionstests in SAPFunktionstests in SAP
Funktionstests in SAPCadaxo GmbH
 

Mehr von Cadaxo GmbH (17)

Webinar SAP/ABAP und Microsoft
Webinar  SAP/ABAP und MicrosoftWebinar  SAP/ABAP und Microsoft
Webinar SAP/ABAP und Microsoft
 
Webinar - ABAP Releasenotes 7.53/7.54
Webinar - ABAP Releasenotes 7.53/7.54Webinar - ABAP Releasenotes 7.53/7.54
Webinar - ABAP Releasenotes 7.53/7.54
 
Webinar ABAP Managed Database Procedures
Webinar ABAP Managed Database ProceduresWebinar ABAP Managed Database Procedures
Webinar ABAP Managed Database Procedures
 
Webinar - Entwurfsmuster in ABAP
Webinar - Entwurfsmuster in ABAPWebinar - Entwurfsmuster in ABAP
Webinar - Entwurfsmuster in ABAP
 
Webinar Modern ABAP
Webinar Modern ABAPWebinar Modern ABAP
Webinar Modern ABAP
 
Webinar ABAP 7.51 Releaseinformationen
Webinar ABAP 7.51 ReleaseinformationenWebinar ABAP 7.51 Releaseinformationen
Webinar ABAP 7.51 Releaseinformationen
 
SQL Cockpit 3.1 - Overview
SQL Cockpit 3.1 - OverviewSQL Cockpit 3.1 - Overview
SQL Cockpit 3.1 - Overview
 
Webinar - SAP BOPF
Webinar - SAP BOPFWebinar - SAP BOPF
Webinar - SAP BOPF
 
Webinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige ÄnderungenWebinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige Änderungen
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP Units
 
Clean code in ABAP
Clean code in ABAPClean code in ABAP
Clean code in ABAP
 
SQL Cockpit - Releasenotes 3.0
SQL Cockpit - Releasenotes 3.0SQL Cockpit - Releasenotes 3.0
SQL Cockpit - Releasenotes 3.0
 
Webinar ABAP 7.40 sp5/sp8 Releaseinformationen
Webinar ABAP 7.40 sp5/sp8 ReleaseinformationenWebinar ABAP 7.40 sp5/sp8 Releaseinformationen
Webinar ABAP 7.40 sp5/sp8 Releaseinformationen
 
Cadaxo SQL Cockpit 2.0 - Neue Features im Detail
Cadaxo SQL Cockpit 2.0 - Neue Features im DetailCadaxo SQL Cockpit 2.0 - Neue Features im Detail
Cadaxo SQL Cockpit 2.0 - Neue Features im Detail
 
Abap 7 02 new features - new string functions
Abap 7 02   new features - new string functionsAbap 7 02   new features - new string functions
Abap 7 02 new features - new string functions
 
Abap 7.02 new features - neue stringfunktionen
Abap 7.02   new features - neue stringfunktionenAbap 7.02   new features - neue stringfunktionen
Abap 7.02 new features - neue stringfunktionen
 
Funktionstests in SAP
Funktionstests in SAPFunktionstests in SAP
Funktionstests in SAP
 

Webinar - ABAP CDS Views

  • 1. ABAP CDS Views Webinar, 23. Juni 2017, 10:00 Uhr
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. Agenda ABAP CDS Views  CDS Views  Eingebaute Funktionen  Parameter in CDS Views  Associations  Annotations  Integration NetWeaver Gateway  Berechtigungen  Table Functions
  • 7. 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
  • 8. ABAP Programmiermodell S/4 HANA ABAP CDS Views SAP HANA ABAP Plattform Client SAP Gateway CDS SADL BOPF Open SQL Rest OData
  • 9. Datenbankviews ABAP CDS Views Traditionelle Datebankviews in SAP Keine Outer Joins Keine komplexen Joins Keine Kommentare Kein UNION Kein View -> View … Keine impliziten Berechtigungen
  • 10. 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
  • 11. 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
  • 12. 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 …
  • 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 Hierarchie ABAP CDS Views VerwenderView auf ViewView CDS_VIEW_01 CDS_VIEW_02 Anwendung 1 Anwendung 2 CDS_VIEW_03 Anwendung 3
  • 15. CDS Development Umgebung ABAP CDS Views
  • 16. CDS View DDL Syntax ABAP CDS Views Tabelle der zu lesenden Daten CDS View Entität Viewfelder, Funktionen, … Name des DB Views CDS Viewname
  • 18. 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
  • 19. ABAP CDS Views Live Demos CDS View CDS View mit eingebauter Funktion CDS View mit Parameter
  • 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 Live Demo CDS View mit Associations
  • 24. 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 …
  • 25. 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)
  • 26. 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
  • 27. ABAP CDS Views Live Demo NetWeaver Gateway Annotations
  • 28. 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
  • 29. ABAP CDS Views DCL Berechtigungen
  • 30. DCL Überblick ABAP CDS Views … ABAP … SQL Authorization Check ... ABAP … … ABAP … SQL ... ABAP … DCL CDS View
  • 31. 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
  • 32. ABAP CDS Views Live Demo Daten Filtern mit DCL
  • 33. 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
  • 34. ABAP CDS Views CDS View Erweitern
  • 35. 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
  • 36. ABAP CDS Views Live Demo CDS View erweitern
  • 37. ABAP CDS Views CDS Views 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. ABAP CDS Views Table Functions
  • 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
  • 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
  • 44. ABAP CDS Views SAP TechEd 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
  • 49. 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

Hinweis der Redaktion

  1. 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