ABAP Objects

Objektorientiertes ABAP für moderne Clean Core SAP Systeme

Praxisbeispiele

(C) Brandeis Consulting📁

Einige Bemerkungen vorab...

  • Die folgenden Folien zeigen Beispiele aus der Praxis, wo Objektorientierung und/oder objektorientiertes ABAP eingesetzt wurde bzw. sinnvoll eingesetzt werden kann
  • Es geht dabei oft um die Umsetzung von API First Konzepten mit dem Ziel, durch geeignete Vorgaben (Frameworks) wartbare SAP Systeme (Clean Core) zu schaffen
  • Dabei werden die von der SAP vorgegebenen Frameworks priorisiert und durch eigene Frameworks oder Funktionen ergänzt
  • Oft erreicht man mit solchen eigenen Frameworks selbstdokumentierende Systeme
  • Diese Beispiele sollen Anregungen für eigene objektorientierte Lösungen sein
(C) Brandeis Consulting📁

Umsetzung komplexer Oberflächen

SAPGUI UI ADAM

  • Beispiel aus der alten SAPGUI Welt
  • Daten-Segmentierung für Marketingkampagnen
    • Aus verschiedenen Datenquellen (z.B. ERP, BW, Excel) werden Daten beschafft
    • Diese einzenlnen Segmente werden miteinander abgemischt, veredelt und weiter verarbeitet
    • Die umgesetzte UI ermöglich parallele Aktivitäten und damit sehr konmplexe Modellierungen
  • Einsatz von Objektorientierung:
    • Oberfläche: Favoriten, Navigationsmenü, vordefinierte Knoten, Arbeitsbereich
    • Knotentypen: Extraktion, Mengenoperation, Filter, Veredelung, Export durch Farben symbolisiert
    • Typabhängige Eigenschaften: Anzahl möglicher Ein- und Ausgänge, Beschreibungstexte, Konfiguration
    • Objektspezifische Aktionen: alle Vorgängerknoten aktualisieren, Transparente Zwischenergebnisse
(C) Brandeis Consulting📁

ABAP RESTful Application Programming Model (RAP)

RAP Big Picure

  • Im modernen ABAP steht das RESTful Application Programming Model (RAP) im Mittelpunkt
  • Dieses verwendet die Core Data Services (CDS) und FIORI Elements
  • Überall findet man objektorientierte Konzepte (z.B. CDS Datenmodellierung, OData Services) und objektorientiertes ABAP (z.B. RAP Behavior implementation)
  • Der Einsatz von RAP sorgt für wartbare SAP Systeme
(C) Brandeis Consulting📁

Kundeneigene ABAP Toolbox

Customer ABAP Toolbox

  • Eine kundeneigene ABAP-basierende Toolbox für die Unterstützung von S/4 HANA Projekten und den Umstieg auf modernes ABAP und Clean Clore
  • Fragestellung: Welche Themen kommen auf uns zu und wie können wir diese einheitlich umsetzen?
  • Von der eigenen IT gemanaged und eingefordert, ggf. im eigenen Namensraum
  • Strukturiert nach technischen Architekturschichten und Fachdomänen
  • Objektorientiertes API Design mit Erweiterbarkeit durch Konfiguration
  • Einsatz von Factory Pattern und Utilities (z.B. Logger)
  • Domänenspezifische Standards und Vorgaben (z.B. wiederverwendbare CDS oder BL)
  • Monitoring und Key User Tools (z.B. Applikation Log, Queues)
(C) Brandeis Consulting📁

SAP ABAP API First Portal

SAP ABAP API First Portal

  • SAP ABAP basierende APIs werden zentral konfiguriert (z.B. mit Gültigkeiten, Verantwortlichkeiten und Klassifizierungen)
  • Die Hauptverwendung ist der Aufruf einer API Aktion aus anderen SAP Programmen heraus für die Abgrenzung, Austauschbarkeit und Dokumentation
  • API Aktionen können synchron oder asynchron verarbeitet werden
  • Die Verarbeitung erfolgt intern oder extern (z.B. externe HTTP Services)
  • Über ABAP basierende HTTP Services können diese API Aktionen auch externen Konsumemten bereitgestellt werden
  • Zusätzlich können weitere Funktionen für externe Konsumenten über Provider bereitgestellt werden
  • Das Framework bietet zusätzliche Funktionen für Entwickler, Administratoren und Key User
(C) Brandeis Consulting📁

Event-getriebene Echtzeit-Datenflüsse (SAP ABAP Framework)

Event-getriebene Datenflüsse

  • Events aus verschiedenen Quellen werden harmonisiert: z.B. SalesOrder Changed
  • Je nach Event-Quelle kann zusätzlicher Kontext ergänzt werden
  • Events werden an einen Event-Channel weitergeleitet oder führen zur Erstellung von Daten-Produkten
  • Datenprodukte werden für die Verwendung über die Daten-Produkt-API gespeichert (Pull-Modus), über einen Daten-Broker veröffentlicht oder an KI Services weitergereicht (z.B. RAG-Szenarien)
  • Der Daten-Broker versorgt den den Real-Time-Message-Hub (z.B. SAP APC, Websockets) oder leitet die Datenprodukte an registrierte Daten-Konsumenten weitergeleitet
  • Interne und externe Daten-Konsumenten werden aktiv mit den Datenprodukten versorgt (Push), schreiben Änderungszeiger oder erzeugen weitere Events (z.B. abhängige Objekte informieren)
(C) Brandeis Consulting📁

Datengetriebene Fertigung

Data Driven Manufacturing

  • Beispiel für S/4 HANA Private Cloud, die über die SAP BTP Integration Suite mit einer On-Premise Produktionsumgebung verbunden ist
  • Architekturkonzept:
    • Der Daten-Produzent sorgt dafür, dass die Daten in Echtzeit (Push) zum Daten-Konsumenten gesendet werden
    • Beide einigen sich auf den Inhalt (Daten-Produkt) und das Transportmittel (hier SAP BTP Integration Suite)
    • Im Falle von Transportproblemen sorgt der Sender dafür, dass keine Daten verloren gehen
  • Objektorientierung und API First sorgen hier für standardisierte Datenflüsse und Wiederverwendung
(C) Brandeis Consulting📁

KI RAG Szenario: Talk to your SAP Business Objects

Wie funktioniert ein (einfaches) KI RAG?

Daten werden in natürlicherweise Sprache extrahiert, vektorisiert und in einer Vektordatenbank gespeichert. Für eine Frage im KI Chatbot wird die Frage ebenfalls vektorisiert und durch Ähnlichkeitssuche passender Kontext ermittelt. Aus diesem und seinem eigenen Wissen formuliert dann ein LLM eine Antwort.

Wie kann SAP davon profitieren?

  1. Extrahieren der relevanten Informationen aus einem komplexen Business Objekt ist keine Herausforderung (inkl. Markdown-Formatierungen)
  2. Das Szenario "Talk-to-Your-Business-Objekt" dann auch nicht mehr
  3. Abfallprodukt KI Suche: funktioniert auch mehrsprachig und Unschärfen, weil auch ähnliche Bedeutungen erkannt werden
(C) Brandeis Consulting📁

Clean Core Szenario: LKW Waage

LKW Waage

SAP OPC ODA

SAP Clean Core API Gateway


  • Die Waage wird über OPC und den SAP OPC Data Access (ODA) an SAP angebunden
  • SAP ODA ist ggf. nicht für Clean Core freigegeben und muss perspektivisch ersetz werden
  • API Definition: Messung an Waage X
  • Erwartet: Gewicht, Einheit, Alibi-ID, Zeitstempel
(C) Brandeis Consulting📁