Eclipse & Modern ABAP Schulungsthemen

Eclipse Einführung

  • Überblick über Eclipse als Entwicklungsplattform
  • Eclipse Installation und Konfiguration
  • Workspace-Konzept und Bedeutung der lokalen Speicherung
  • ABAP Development Tools (ADT) Plugins
  • Installation und Konfiguration von Eclipse
  • Verbindung zu SAP-Systemen herstellen

Eclipse UI-Konzepte

  • Ansichten und Perspektiven
    • Anordnen und Anpassen von Ansichten
    • Abtrennen von Ansichten in separate Fenster
    • Zurücksetzen von Perspektiven
    • Speichern benutzerdefinierter Perspektiven
  • Editor-Bereich vs. Ansichten
  • Quellcode-basierter Ansatz vs. formularbasierter Ansatz
  • Projekt-Explorer
  • Favoriten-Pakete und -Objekte
  • System-Bibliothek-Navigation
  • Link-mit-Editor-Funktionalität
  • Element-Info-Tool
    • Zugriff mit F2
    • Navigation durch Objektdefinitionen
  • Navigation mit Tastenkombinationen (Alt+Pfeil, Strg+Klick)

Suchen in Eclipse

  • Öffnen von ABAP-Entwicklungsobjekten
    • Liste kürzlich geöffneter Objekte
    • Filtern nach Objekttyp, Paket, Eigentümer, Datum
    • Verwendung mehrerer Filter mit Kommatrennung
  • Allgemeine Suchfunktionalität

Entwicklung in Eclipse

  • Erstellen von ABAP-Klassen
  • Implementieren von Schnittstellen
  • Code-Vorschläge mit Strg+Leertaste
  • Ausführen von Klassen mit Konsolenausgabe (F9)
  • Pretty-Printer-Konfiguration (ABAP-Formatierer)

Zusätzliche Tools

  • Lesezeichen für Code-Navigation
  • Eigenschaften-Ansicht für Objektinformationen
  • Transport-Organizer
  • ABAP Cleaner (für spätere Diskussion erwähnt)
  • Element-Info
  • Properties-Ansicht
  • Bookmarks
  • Problems-Ansicht
    • Filterung von Fehlern und Warnungen
    • Umgang mit Warnungen
  • Templates
    • Vordefinierte Templates
    • Eigene Templates erstellen
  • Feed Reader
    • Runtime-Fehler (Dumps)
    • Gateway-Fehler
    • Systembenachrichtigungen
  • Transport Organizer
    • Transportaufträge verwalten
    • Neue Anfragen erstellen
  • Konsole
  • Datenvorschau
    • Filterung von Daten
    • Export-Optionen
    • SQL-Konsole für komplexe Abfragen

Refactoring-Tools

  • Extrahieren von Interfaces
  • Quick Fixes mit Control+1
  • Löschen ungenutzter Variablen
  • Pretty Printer (Shift+F1)
  • Umbenennen von Variablen, Methoden und Klassen
  • Extrahieren von Methoden
  • Lokale Historie und Versionsverwaltung
  • Vergleich von Versionen und Systemen

Debugging

  • Breakpoints setzen
  • Debugging-Perspektive
  • Call Stack Navigation
  • Variablen-Ansicht
  • Interne Tabellen anzeigen und anheften
  • Bedingte Breakpoints
  • Watchpoints
  • Spezielle Breakpoints (Exception, Message, ABAP Statement)
  • Breakpoint-Eigenschaften und -Typen
  • System- und Update-Debugging
  • Ändern von Variablenwerten während des Debuggings
  • Tabellenwerte bearbeiten
  • Speichern von Debug-Layouts
  • Speicheranalyse und Memory Inspector

Moderne ABAP-Konzepte

  • ABAP Doc für Dokumentation
  • Code-Vervollständigung
  • Block-Editor für Mehrfachbearbeitung

ABAP Cleaner

  • Automatische Codeformatierung
  • Interaktive vs. automatische Anwendung von Regeln
  • Regelprofile und deren Konfiguration
  • Integration mit dem Textpool
  • Clean ABAP Repository und Stilrichtlinien

Modern ABAP

Modern ABAP Grundlagen

  • Geschichte und Entwicklung des modernen ABAP
  • Ausdrucksorientierte Programmierung
  • Vermeidung von Hilfsvariablen
  • Lesbarkeit als Hauptziel

Zeichenkettenverarbeitung

  • Unterschiede zwischen Zeichenfeldern (Typ C) und Strings
  • Verkettungsoperator
  • String-Funktionen (Built-in Functions)
  • String-Templates mit Pipes
  • Eingebettete Ausdrücke und Formatierungsoptionen
  • Übersetzbare String-Templates mit Textsymbolen

Inline-Deklarationen

  • Motivation und Vorteile
  • Reduzierung von Redundanz und Abhängigkeiten
  • Deklarationspositionen (linke Seite von Zuweisungen, Methodenaufrufe, Schleifen)
  • Typinferenz und potenzielle Fallstricke
  • Beispiel: Datumsberechnungen und unerwartete Ergebnisse

Konstruktor-Ausdrücke

Allgemeines Konzept

  • Struktur: Operator, Datentyp, runde Klammern
  • Typinferenz mit #

VALUE-Operator

  • Erstellen von Strukturen und internen Tabellen
  • Vorfüllen mit BASE
  • Fortgeschrittene Features (Schleifen in VALUE)

NEW-Operator

  • Instanziierung von Klassen
  • Direkter Methodenaufruf nach Instanziierung

CONV/CAST-Operator

  • Typkonvertierung für Daten und Objekte
  • Anwendungsfälle und Beispiele

EXACT-Operator

  • Verhinderung von Datenverlust bei Konvertierungen
  • Auslösen von Exceptions bei Datenverlust

REF-Operator

  • Erstellen von Referenzen

CORRESPONDING-Operator

  • Erstellen neuer Tabellen mit gewünschter Struktur
  • Feldmapping zwischen unterschiedlichen Strukturen
  • Vorfüllen mit BASE

SWITCH/COND-Operator

  • Bedingte Ausdrücke
  • Rückgabe eines Wertes basierend auf Bedingungen

FILTER-Operator

  • Filtern interner Tabellen
  • Durchsetzung geeigneter Schlüssel

REDUCE-Operator

  • Reduzieren einer Tabelle auf einen Wert oder kleinere Struktur
  • Komplexität und Debugging-Herausforderungen