ABAP Objects

Objektorientiertes ABAP für moderne Clean Core SAP Systeme

Einleitung

(C) Brandeis Consulting📁

Ziele dieser ABAP Objects Schulung

  • Schulungsziele
    • Objektorientierte Grundkonzepte verstehen
    • Objektorientierung im SAP ABAP anwenden können
    • Objektorientierten ABAP Code verstehen
    • Typische Entwurfsmuster verstehen und anwenden können
  • Nebenziele:
    • Die notwendigen SAP Werkzeuge kennenlernen
    • An die neue Entwicklungsumgebung Eclipse ADT gewöhnen
    • Modernes ABAP kennenlernen
    • Fit machen für S/4 HANA und Clean Core
    • Interesse wecken für moderne SAP Technologien wie CDS, RAP, u.a.
  • Vorgehensweise und Methodik
    • Training am eigenen SAP System - alle Beispiele auch in Nachgang noch vorhanden
    • Zugang zum Brandeis Trainingsportal auch nach der Schulung
    • Beispielszenarien am Praxisbeispiel
    • Wiederholungen und Konkretisierungen
(C) Brandeis Consulting📁

ABAP Objects

Agenda

Übungssammlung

(C) Brandeis Consulting📁

Was ist Objektorientierung (OO)?

Objektorientierung in Programmiersprachen ist ein Programmierparadigma, bei dem wir Software nicht als eine Abfolge von Anweisungen, sondern als eine Sammlung von Objekten entwerfen.

Jedes Objekt ist wie ein kleines, autonomes Paket, das sowohl Daten (seine Eigenschaften) als auch Funktionen (sein Verhalten) bündelt, die auf diese Daten wirken.

Wir machen das, weil es uns hilft, komplexe Probleme in kleinere, besser verwaltbare Teile zu zerlegen.

(Google Gemini)

(C) Brandeis Consulting📁

Warum Objektorientierung?

Wir nutzen Objektorientierung, um:

  • Komplexität zu reduzieren:
    Sie hilft uns, große Systeme in kleinere, verständliche Module zu zerlegen.
  • Wiederverwendbarkeit zu fördern:
    Einmal definierte Klassen können an verschiedenen Stellen im Programm oder sogar in anderen Projekten wiederverwendet werden. Das spart Zeit und Aufwand.
  • Code lesbarer und wartbarer zu machen:
    Da Daten und Funktionen, die zusammengehören, in einem Objekt gebündelt sind, ist der Code logischer strukturiert und Fehler können leichter gefunden und behoben werden.
(C) Brandeis Consulting📁

Objektorientierung einfach erklärt

  • Unterscheidung Klasse (der "Bauplan") und Objekt (die konkrete Ausprägung, auch "Instanz")
  • Die Klasse definiert Eigenschaften und Methoden
  • Jedes Objekt hat individuelle Eigenschaften, die durch Methoden gelesen oder verändert werden können
  • Zusatzkonzept Ereignisse: Objekte können anderen Objekten - auch Objekten anderer Klassen - "Bescheid sagen"
  • Quelle: https://www.computerweekly.com/de/definition/Objektorientierte-Programmierung-OOP
(C) Brandeis Consulting📁

Wo begegnet uns Objektorientierung in der Praxis?

(C) Brandeis Consulting📁

Objektorientierung in Computerspielen: "Doom" (1993)

(C) Brandeis Consulting📁

Objektorientierung in Film und Fernsehen: "Herr der Ringe" (2002)

  • Für den zweiten Teil der Herr der Ringe Trilogie (Kinostart 2002) wurde eine gigantische Schlacht benötigt
  • Die größte Herausforderung war, die unglaubliche Menge an benötigten Kämpfern zu simulieren
  • Dies wurde mit Computergrafik gelöst: die Kämpfer wurden einzeln betrachtet, bekamen Aktionen/Bewegungen und konnten über ein simuliertes "Gehirn" selbständig Entscheidungen treffen
  • Fun Fact: in den ersten Versuchen, sind die Orks vor der Schlacht weggelaufen...
  • Quellen:
(C) Brandeis Consulting📁

Objektorientierung in grafischen Oberflächen (Windows 3.0 - 1990)

(C) Brandeis Consulting📁

Objektorientierung in Werkzeugen für grafische Oberflächen (Delphi 1.0 - 1995)

  • In Rapid Application Development Werkzeugen (RAD) werden UI Elemente objektorientiert programmiert
  • In vielen aktuellen Low-Code/No-Code-Lösungen wurde dieses RAD-Konzept jetzt "wiederentdeckt"
  • Quelle: https://gdksoftware.com/how-to-update-delphi
(C) Brandeis Consulting📁

Objektorientierung in Physik-Simulationen

  • Komplexe Szenarien der Realität werden in Einzelobjekte zerlegt und ihre Eigenschaften und Verhaltensweisen objektorientiert abgebildet
  • In einer virtuellen Simulationsumgebung werden die Objekte in einer Szene platziert und mit vorgegebenen aber auch zufälligen Rahmenbedingungen über einen gewissen Zeitraum beobachtet
  • Quelle: https://ekiefl.github.io/2021/03/25/pooltool-start/
(C) Brandeis Consulting📁

Objektorientierung in Mixed Reality

(C) Brandeis Consulting📁

Objektorientierung in "alten" SAP Welt

(C) Brandeis Consulting📁

Objektorientierung für SAPGUI Kontrollen

(C) Brandeis Consulting📁

Objektorientierung in "neuen" SAP Welt

(C) Brandeis Consulting📁

Objektorientierte Konzepte im SAP (Beispiele)

  • SAP-Standard-Frameworks
    • SAPGUI Controls
    • Web Dynpro für ABAP (WDA)
    • Business Object Processing Framework (BOPF)
    • ABAP RESTful Application Programming Model (RAP)
  • Business-Objekte und Services
    • SAP Business Workflow
    • Business Add-Ins (BAdIs)
    • Business APIs (BAPIs)
  • ABAP Hilfsklassen und Utilities
    • Klassenbasiere APIs: z.B. CL_GUI_FRONTEND_SERVICES
    • ABAP Unit Tests
    • Ausnahmeklassem
(C) Brandeis Consulting📁

ABAP Objects

Objektorientiertes ABAP für moderne Clean Core SAP Systeme

nächste Station...

ABAP Werkzeuge

(C) Brandeis Consulting📁