Understanding ABAP

Objectives

After completing this lesson, you will be able to:
  • Die Grundlagen von ABAP verstehen
  • Die ABAP-Umgebung verstehen
  • Die Grundlagen des ABAP-RESTful-Anwendungsprogrammiermodells verstehen

Die Programmiersprache ABAP

Grundlagen von ABAP

Als ABAP 1983 erstmals veröffentlicht wurde, war es als prozedurale Programmiersprache auf der Grundlage von Anweisungen konzipiert. Obwohl es relativ unabhängig war, wurde es von anderen populären Programmiersprachen der Zeit beeinflusst, hauptsächlich von COBOL und Pascal.

Bis Ende der 1990er Jahre wurde die Sprache ABAP erweitert, um eine objektorientierte Programmierung zu ermöglichen. Wichtige Konzepte gängiger objektorientierter Programmiersprachen wie C++ und Java wurden in die ABAP-Sprache integriert. ABAP Objects, wie die Programmiersprache genannt wurde, kombinierte prozedurale und objektorientierte Teile in einer Sprache.

ABAP wurde erneut um moderne Ausdrücke erweitert. ABAP kombiniert traditionelle anweisungsbasierte Syntaxelemente und moderne, ausdrucksbasierte Syntaxelemente in einer Programmiersprache. Objektorientierte und ausdrucksbasierte Syntaxelemente werden für ABAP-Neuentwicklungen wo immer möglich empfohlen.

Sehen wir uns im folgenden Video einige der wichtigsten Funktionen von ABAP an.

Der ABAP-Sprachumfang wurde angepasst, um die ABAP-Cloud-Entwicklung zu unterstützen, und die Sprachversionen "ABAP für Cloud-Entwicklung" und "ABAP für Key-User" wurden eingeführt. Details zu den ABAP-Sprachversionen finden Sie im SAP Help Portal.

Die drei ABAP-Sprachversionen sind Standard-ABAP, ABAP für Cloud-Entwicklung und ABAP für Key-User.
Standard ABAPABAP für Cloud-EntwicklungABAP für Key-User
Universelle VersionEingeschränkte ABAP-SprachversionEingeschränkte ABAP-Sprachversion
Uneingeschränkte ABAP-SprachversionCloud-optimiertVorgesehen für die Implementierung von Erweiterungen durch Anwendungsexperten
Deckt den gesamten Sprachumfang ab

Verwendet freigegebene öffentliche SAP:

  • APIs (lokal oder remote) für den Zugriff auf SAP-Funktionen und SAP-Daten
  • Erweiterungspunkte zur Erweiterung von SAP-Objekten
Deckt allgemeine Regeln des klassischen ABAP mit einem eingeschränkten Satz von Sprachelementen ab
 Unterstützt keine Modifikationen an SAP-Objekten 
ABAP Development Tools (ADT) als ABAP IDE

Notiz

Dieser Kurs bietet eine allgemeine Einführung in die ABAP-Entwicklung. Diese beschränkt sich auf Syntaxelemente und Sprachfunktionen, die in allen drei Sprachversionen verfügbar sind. Eine Ausnahme bildet die Einführung des ABAP-RESTful-Anwendungsprogrammiermodells, das nicht Teil von ABAP für Key-User ist.

In diesem Kurs wird SAP BTP, ABAP-Umgebung für die Übungen und Demonstrationen verwendet.

Die ABAP Cloud

ABAP-Umgebungen

ABAP Cloud ist das gemeinsame Entwicklungsmodell für die Erstellung von Cloud-fähigen Erweiterungen und Anwendungen in On-Stack- und Side-by-Side-Szenarien. Sie ist in allen SAP-S/4HANA-Editionen und in der ABAP-Umgebung von SAP Business Technology Platform (BTP) verfügbar.

Notiz

Weitere Informationen zu SAP S/4HANA finden Sie unter https://learning.sap.com/learning-journeys/learn-the-basics-of-sap-fiori . Wählen Sie dort ArchitekturSAP S/4HANA beschreiben.

ABAP Cloud

Das ABAP-Entwicklungsmodell zum Erstellen cloudfähiger Geschäftsanwendungen, Services und Erweiterungen.

Sie ist mit SAP BTP und SAP S/4HANA verfügbar.

Es funktioniert mit Public oder Private Cloud und sogar Any-Premise.

ABAP-Entwicklungsmodelle

Das ABAP-Entwicklungsmodell ist ein umfassender Entwicklungsansatz, der alle durchgängigen Aspekte des Entwicklungsprozesses abdeckt. Es handelt sich um einen übergreifenden Begriff, der konkrete und abstrakte Dinge wie die zugrunde liegende Architektur, die für die Entwicklung verwendeten Werkzeuge, Entwicklungsrichtlinien und vieles mehr umfasst.

Sehen wir uns die Schlüsselkonzepte an, auf denen das ABAP-Cloud-Programmiermodell basiert.

Das RESTful-Anwendungsprogrammiermodell

Das ABAP-RESTful-Anwendungsprogrammiermodell definiert die Architektur für die effiziente durchgängige Entwicklung von SAP-HANA-optimierten OData-Services (z.B. SAP-Fiori-Apps) in der ABAP-Umgebung. Es unterstützt die Entwicklung aller Arten von Fiori-Anwendungen und das Publizieren von Web-APIs. Sie basiert auf Technologien und Frameworks wie Core Data Services (CDS) zur Definition semantisch reicher Datenmodelle und einer Servicemodellinfrastruktur zum Anlegen von OData-Services mit Bindungen an ein OData-Protokoll und ABAP-basierten Anwendungsservices für benutzerdefinierte Logik und SAPUI5-basierte Benutzungsoberflächen.

SAP verwendet das RESTful-Anwendungsprogrammiermodell, um neue Standardanwendungen zu erstellen und bestehende zu modernisieren. SAP empfiehlt seinen Kunden und Partnern außerdem, sie für kundeneigene Entwicklungen auf SAP S/4HANA und SAP Business Technology Platform (BTP), ABAP-Umgebung, zu verwenden.

Struktur des RESTful-Anwendungsprogrammiermodells bestehend aus Datenmodellierung und -verhalten, Business-Service-Bereitstellung und -Nutzung

Anwendungen, die mit dem ABAP-RESTful-Anwendungsprogrammiermodell entwickelt wurden, bestehen aus den folgenden Building Blocks:

Business-Objekte
Business-Objekte stellen das Datenmodell dar und definieren die datenbezogene Logik, das sogenannte Verhalten, unabhängig von der spezifischen Nutzung. RESTful-Anwendungsprogrammier-Business-Objekte werden über CDS-Datenmodellierungs-Views (Core Data Service), CDS-Verhaltensdefinitionen und Verhaltensimplementierungen in ABAP-Klassen definiert.
Business-Objekt-Projektionen
Die Business-Objekt-Projektion ist ein Ansatz für das Projekt und Alias einer Teilmenge des Business-Objekts für einen bestimmten Business-Service. Die Projektion ermöglicht eine flexible Servicenutzung sowie rollenbasierte Service-Designs. In RESTful-Anwendungsprogrammen besteht eine Business-Objekt-Projektion aus CDS-Projektions-Views, CDS-Verhaltensprojektionen und bei Bedarf aus zusätzlichen oder verbrauchsspezifischen Views.
Service-Definition
Eine Service-Definition definiert den Umfang eines Business-Service, insbesondere die Business-Objekt-Projektion, die von diesem Service exponiert werden soll.
Service-Binding
Ein Service-Binding definiert das Kommunikationsprotokoll, z.B. OData V2 oder OData V4, und die Art des Service, der einem Consumer angeboten werden soll, z.B. UI-Services oder Web-Services.
SAP-Fiori-Benutzungsoberfläche
Die SAP-Fiori-UI bietet eine designierte UI für häufig verwendete Anwendungsmuster, die auf OData-Services basieren.
Web-API
Eine Web-API bietet eine öffentliche Schnittstelle für jeden OData-Client für den Zugriff auf den Service.

Nachdem Sie die Grundlagen der ABAP-Programmierung kennengelernt haben, erstellen Sie eine ABAP-RESTful-Anwendung für eine nachhaltige Lebensmittel-App. Sie verwenden den Repository Objects Generator und legen ein einsatzbereites ABAP-RESTful-Anwendungsprogrammier-Business-Objekt in weniger als einer Stunde an. Mit dieser Anwendung können Sie Ihre Lebensmittel und deren Ablaufdatum verfolgen.

Screenshot einer Anwendung, die mit dem RESTful-Anwendungsprogrammiermodell erstellt wurde