D5: ABAP on SAP Cloud Platform Ist ABAP tot? Es …...itelligence World 2019 –Let‘stransform!...
Transcript of D5: ABAP on SAP Cloud Platform Ist ABAP tot? Es …...itelligence World 2019 –Let‘stransform!...
itelligence World 2019 – Let‘s transform! Design your future.
24. Oktober 2019
Florian Hermann, SAP Expert Consultant Business Engineering, itelligence AG
D5: ABAP on SAP Cloud Platform – Ist ABAP tot? Es lebe König ABAP?
Agenda
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
2
Unterschiedliche Visionen
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
3
Was SAP verspricht… Was das CC SAP befürchtet…
Digitalisierung
Skalierbarkeit
Produktivität
Sicherheit
Was wird aus unseren Investitionen?
In SAP S/4 HANA Cloud Edition entfallen Modifikationen sowie alle «klassischen» Erweiterungsmöglichkeiten – wozu überhaupt noch ABAP?
Tatsächlich stehen Kunden und Partnern sogar zwei Varianten von ABAP zur Verfügung für zwei verschiedene Anwendungsfälle
Als «Key-User-ABAP» für In-App-Extensions
Als «SAP Cloud Platform ABAP Environment» für Side-By-Side Extensions
ABAP in der Cloud – Gibt es noch Raum für Erweiterungen?
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
4
Schnitts
tellen
Modifikation/ Klassische
ErweiterungK
ey-U
ser
Exte
nsib
ilit
y
On Premise Cloud
Sid
e-b
y-S
ide
Exte
nsio
ns
Sid
e-b
y-S
ide
Exte
nsio
ns
In-App-Extensions
Schnitts
tellen
Gibt Key-Usern die Möglichkeit, eigenständig mithilfe spezieller Fiori-Apps die Standard-Funktionalität zu erweitern und ihre Änderungen selber zu transportieren
Key-User Extensibility bietet eine einheitliche Funktionalität unabhängig ob On-Premise oder Cloud-Edition
Technisch entkoppelt vom Digital Core
Die Möglichkeiten sind allerdings beschränkt – die Priorität liegt auf der Integrität des Digital Core
Programmierfehler in einem Account dürfen die Stabilität der Cloud-Platform nicht gefährden
Updates der SAP-Produkte müssen jederzeit ohne Rücksicht auf Kundenerweiterungen möglich sein
Verfügbare Erweiterungsoptionen sind offiziell unterstützt und aufwärtskompatibel (stabile Schnittstellen)
In-App-Extensions: Neu mit Key-User-Extensibility
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
5
Modifikation/ Klassische
Erweiterung
Key-U
ser
Exte
nsib
ilit
y
On Premise Cloud
Cloud-kompatible In-App-Extensions:
Wo kann man Custom Business Logic anwenden?
Vordefinierte Erweiterungsoptionen am SAP Standard
BAdIs genannt: Ähnlich aber nicht identisch zu SE18-BAdIs
Vordefinierte Trigger zum Hinzufügen von Logik zu anderen In-App-Erweiterungen
z.B. Custom Business Objects
Transport über den Adaption Transport Organizer (ATO)
In-App-Extensions: Key-User-Extensibility Überblick
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
6
Key-U
ser
Exte
nsib
ility
Oberfläche
Applikation
Datenbank
S/4 HANA
Form Ext.
(Druckformulare & Email Templates)
Tran
sp
ort
Cap
ab
ilties
Field Ext.
(Kunden-Felder)
Report Ext.
(KPIs eigene Filter, etc.)
Table Ext.
(Kunden-Business-Objekte)
UI Ext.
(Fiori Feld einblenden etc.)
Business Logic
(ABAP-Coding)
Key-User-Extensibility: Möglich mit Fiori-Apps
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
7
Beispiel: ABAP-Implementierung für Erweiterungs-Option anlegen
Beispiel: ABAP-Implementierung für Erweiterungs-Option anlegen
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
8
Beispiel: ABAP-Implementierung für Erweiterungs-Option anlegen
24.1
0.2
019
© 2
019 ite
llig
ence
-itellig
ence
World 2
019
9
Sicht Kopfbereich wählen
Anzeige von Testergebnissen
Aktionsbuttons
Beispiel-Code von SAP
ABAP Editor
Ansicht umschalten
Testdaten-Editor mit Variantenfunktion
Begrenzter Sprachumfang von Key-User ABAP
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
10
Die Einschränkungen verhindern, dass das System korrumpiert wird
Vor- und Nachteile Key-User ABAP
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
11
Pro Kontra
• Möglichkeit eigener Logik in S/4 HANA Cloud Edition
• Geeignet für Key-User – Entwickler konzentrieren sich auf komplexere Aufgaben
• Vorhandenes Know-how und Legacy-Code mitnehmen
• ABAP ist auf Business-Logik zugeschnitten
• Begrenzter Funktionsumfang, nicht mit den Möglichkeiten On Premise vergleichbar
• Nur ~100 Business-Addins
Side-by-Side-Extensions
24.1
0.2
019
© 2
019 ite
llig
ence
-itellig
ence
World 2
019
12
S/4 HANA Cloud Edition
Digital Core
Key-User-Extensibility
S/4 HANA On Premise
Modifikationen, Userexits,
CustomerFunctionsEnhancements,
BAdIs
Digital Core
Lokale ABAP Entwicklungs-
umgebung
Freigegebene / nicht
freigegebene Schnittstellen
Key-User-Extensibility Side-by-Side Side-by-Side
SAP Cloud Platform
SAP Cloud Platform ABAP Environment
Weitere Laufzeitumgebungen
und Services
Business Events
Freig./ nicht freig. APIs
Business Events
Freigegebene APIs
SAP Cloud Platform JAVA Environment
SAP Cloud Platform Node.js
Environment
Erweiterungen der Funktionalität von SAP S/4 HANA durch zusätzliche Apps und Services
Ausserhalb des S/4 HANA Systems auf der SAP Cloud Platform
Koppelung mit SAP S/4 HANA nur über klar definierte Schnittstellen
«Whitelisted APIs» (auf SAP API Business Hub https://api.sap.com freigegebene Programmierschnittstellen)
«Business Events» (vordefinierte Ereignisse, die abonniert werden können)
«View Replication»
«UI Integration»
Implementierung durch IT-Spezialisten mit technischem Know-how
Die SCP bietet verschiedene Laufzeitumgebungen als PaaS (Platform as a Service) Angebot der SAP
JAVA Runtime Environment
Node.js Runtime Environment
ABAP Runtime Environment
Python, PHP, Ruby on Rails, Go, .NET, weitere werden folgen
Side-By-Side Extensions
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
13
Läuft auf Cloud Foundry
Immer die neueste ABAP-Version
HANA Datenbank inklusive
Kein SAP GUI
Entwicklungswerkzeuge
SE11, SE24, SE37, SE38, SE80, SEGW, SE* sind nicht verfügbar
Eclipse mit ABAP Development Tools
abapGit
SAP Web IDE Fullstack
Eingeschränkter Sprachumfang, aber bei weitem nicht wie bei Keyuser-ABAP
Zugriff nur auf freigegebene Schnittstellen (Whitelisted APIs)
Obsolete Sprachelemente gestrichen
Zugriff aufs Betriebssystem und Filesystem nicht möglich
Andererseits wird ABAP für den Einsatz in der Cloud erweitert
z.B. Quelltext-basiertes bearbeiten transparenter Tabellen
Neue Features für Networking- und IOT-Szenarien
Tools zur Übernahme und Bereinigung von Legacy-Code
SAP Cloud Platform ABAP Environment
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
15
Stärken und Schwächen des ABAP Environment im Vergleich zu anderen SAP Cloud Platform Entwicklungsumgebungen
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
16
Pro Kontra
• Vorhandenes ABAP Know-how und Coding in die Cloud mitnehmen
• Unterstützt das ABAP Programming Model für Fiori/ UI5 zur Publikation von Daten
• Open SQL und integrierte HANA Datenbank
• Zu wenige freigegebene APIs von SAP und eingeschränkte Funktionalität dieser
• Noch wenige Third Party APIs für ABAP
• ABAP gehört nicht zu den verbreitetsten Sprachen mit den meisten Entwicklern
Als Teil der Key-User-Extensibility ermöglicht ABAP In-App-Erweiterungen für S/4 HANA Cloud Edition und On Premise
Das SAP Cloud Platform ABAP Environment ist ausserdem eine ernstzunehmende Option für Side-by-Side Erweiterungen
Umgekehrt haben andere SAP Cloud Platform Umgebungen wie Java und Node.js nun gleichberechtigten Zugriff auf die Kernfunktionalität von SAP S/4 HANA
Der Grundstein für die Erweiterbarkeit von S4/HANA Cloud ist gelegt; jetzt muss die Abdeckung mit Erweiterungsoptionen und Schnittstellen ausgebaut werden
Forderung: Eat your own meal! SAP sollte selbst mit «Whitelisted APIs» arbeiten!
Fazit
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
18
ABAP für Key-User:
https://help.sap.com/viewer/43e4215eb12c497daaa58382a0411b17/7.52.4/en-US/f91d4bf046584547896d5a04e1a85c12.html
App: Custom Fields and Logic
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F1481')/S15OP
https://help.sap.com/viewer/b4367b1cec3243c4989f0ff3d727c4ab/7.52.4/en-US/dd39f11e977b41b49a5421399f4850f5.html
App: Custom Reusable Elements
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F3248')/S15OP
https://help.sap.com/viewer/9a281eac983f4f688d0deedc96b3c61c/201909.000/en-US/0d8294c9417541ed8cd261f6a4161b93.html
OpenSAP Kurse
Extending SAP S/4HANA Cloud and SAP S/4 HANA: https://open.sap.com/courses/s4h7/
Extending SAP S/4HANA with SAP HANA Cloud Platform: https://open.sap.com/courses/hcp3a1
Create and Deliver Cloud-Native SAP S/4HANA Extensions: https://open.sap.com/courses/s4h13/
Managing ABAP Systems on SAP NetWeaver: https://open.sap.com/courses/cst1
SAP API Business Hub / White-Listed-APIs für Side-By-Side Extensions
https://api.sap.com
Weiterführende Informationen
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
19
S4/HANA-Cloud-Erweitern
https://sapinsider.wispubs.com/Assets/Articles/2017/August/SPI-Modification-Free-Extensions-for-SAP-S4HANA
SAP Cloud Platform ABAP Environment:
https://sapinsider.wispubs.com/Assets/Articles/2018/September/SPI-Take-Your-ABAP-Skills-to-the-Cloud
https://sapinsider.wispubs.com/Assets/Articles/2017/November/SPI-ABAP-and-the-Cloud
ABAP Git
https://github.com/larshp/abapGit
Weiterführende Informationen
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
20
Wir machen mehr aus SAP-Lösungen!
Althardstrasse 80, CH-8105 Regensdorf / ZH Tel.: +41 44 735 85 55Fax: +41 44 735 85 50
Bogenschützenstrasse 9A, CH-3008 BernTel.: +41 31 340 32 32Fax: +41 31 340 32 30
E-Mail: [email protected] Internet: www.itelligence.ch
24.1
0.2
019
© 2
019 ite
llig
ence
-itellig
ence
World 2
019
21
Copyright itelligence AG - All rights reserved
24.1
0.2
019
© 2
019 ite
llig
ence -
itellig
ence W
orld 2
019
22
Die Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch itelligence AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden.
Einige von der itelligence AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind. Die in diesem Dokument erwähnten Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen.
Die in diesem Dokument enthaltenen Informationen sind Eigentum von itelligence. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderen Vereinbarung mit itelligence. Dieses Dokument enthält nur vorgesehene Strategien, Entwicklungen und Produktfunktionen und ist für itelligence nicht bindend, einen bestimmten Geschäftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. itelligence übernimmt keine Verantwortung für Fehler oder Auslassungen in diesen Materialien. itelligence garantiert nicht die Richtigkeit oder Vollständigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts.
itelligence übernimmt keine Haftung für Schäden jeglicher Art, einschließlich und ohne Einschränkung für direkte, spezielle, indirekte oder Folgeschäden im Zusammenhang mit der Verwendung dieser Unterlagen. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit.
Die gesetzliche Haftung bei Personenschäden oder die Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von itelligence, und itelligence unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten Dritter ab.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of itelligence AG. The information contained herein may be changed without prior notice.
Some software products marketed by itelligence AG and its distributors contain proprietary software components of other software vendors. All product and service names mentioned and associated logos displayed are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to itelligence. This document is a preliminary version and not subject to your license agreement or any other agreement with itelligence. This document contains only intended strategies, developments and product functionalities and is not intended to be binding upon itelligence to any particular course of business, product strategy, and/or development. itelligence assumes no responsibility for errors or omissions in this document. itelligence does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
itelligence shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. itelligence has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.