ABAP Programmierung (BC-ABA)
   ABAP Einführung
      Übersicht über das R/3-Basis-System
         Das Basis-System im Gesamtsystem
         Applikationsserver
         Workprozesse
      Übersicht über die Komponenten von Anwendungsprogr
         Aufbau von Anwendungsprogrammen
         Mögliche Bildschirmbilder
         Aufbau von ABAP-Programmen
         Verarbeitungsblöcke in ABAP-Programmen
         ABAP-Sprachelemente
         Logische Datenbanken und Contexte
         Speicherstrukturen eines ABAP-Programms
      ABAP-Programme anlegen und ändern
         Programme im Object Navigator öffnen
         Programme mit dem ABAP-Editor öffnen
         Programme durch Vorwärtsnavigation öffnen
         Programmeigenschaften pflegen
         Programme editieren
   ABAP Programmiersprache
      ABAP-Syntax
      Typen und Objekte
      Grundlegende Sprachelemente
         Datentypen und Datenobjekte
            Datentypen
               Definition von Datentypen
                  Eingebaute ABAP-Typen
                  Programmlokale Datentypen
                  Datentypen im ABAP Dictionary
               Der TYPE-Zusatz
               Der LIKE-Zusatz
            Datenobjekte
               Literale
               Textsymbole
               Variablen
               Konstanten
               Schnittstellen-Arbeitsbereiche
               Vordefinierte Datenobjekte
            Kompatibilität
            Attribute von Datenobjekten bestimmen
            Beispiele zu Datentypen und Objekten
         Daten verarbeiten
            Wertzuweisungen
               Werte mit MOVE zuweisen
               Werte mit WRITE TO zuweisen
               Werte auf Initialwerte setzen
            Numerische Operationen
               Arithmetische Berechnungen
               Mathematische Funktionen
               Kaufmännisches Rechnen
               Datums- und Zeitberechnungen
            Verarbeitung von Zeichenketten
               Feldinhalte verschieben
               Feldinhalte ersetzen
               Groß-/Kleinschreibung oder Zeichen umsetzen
               Konvertierung in ein sortierbares Format
               Zeichenketten überlagern
               Zeichenketten suchen
               Länge einer Zeichenkette ermitteln
               Feldinhalte verdichten
               Zeichenfolgen verketten
               Zeichenketten zerlegen
               Teile von Zeichenketten zuweisen
            Einzelbitverarbeitung in Hexadezimalfeldern
               Bits setzen und lesen
               Bitoperationen
               Mengenoperationen mit Bitfolgen
            Typkonvertierungen
               Konvertierungsregeln für elementare Datentypen
               Konvertierungsregeln für Referenzen
               Konvertierungsregeln für Strukturen
               Konvertierungsregeln für interne Tabellen
               Ausrichtung von Datenobjekten
            Bearbeitung von Teilfeldern
         Feldsymbole und Datenreferenzen
            Feldsymbole
               Feldsymbole deklarieren
               Zuweisung von Datenobjekten an Feldsymbole
                  Grundformen der ASSIGN-Anweisung
                  Strukturen komponentenweise zuweisen
                  Casting von Datenobjekten
                  Datenbereiche für Feldsymbole
            Datenreferenzen
               Referenzvariable
               Datenobjekte dynamisch erzeugen
               Referenzen auf Datenobjekte beschaffen
               Datenreferenzen dereferenzieren
               Beispiel zu Datenreferenzen
         Logische Ausdrücke
            Vergleiche zwischen verschiedenen Datentypen
            Vergleiche zwischen Zeichenketten
            Vergleiche zwischen Bitfolgen
            Intervallzugehörigkeit prüfen
            Initialwert prüfen
            Selektionskriterien prüfen
            Zuweisung zu einem Feldsymbol überprüfen
            Mehrere logische Ausdrücke verknüpfen
         Programmablaufsteuerung
            Bedingte Verzweigungen
            Schleifen
      Bearbeitung großer Datenmengen
         Interne Tabellen
            Interne Tabellen anlegen
               Interne Tabellentypen
               Interne Tabellenobjekte
               Besonderheiten bei Standard-Tabellen
            Interne Tabellen bearbeiten
               Operationen mit der gesamten internen Tabelle
                  Interne Tabellen zuweisen
                  Interne Tabellen initialisieren
                  Interne Tabellen vergleichen
                  Interne Tabellen sortieren
                  Interne Tabellen als Schnittstellenparameter
                  Attribute interner Tabellen bestimmen
               Operationen mit einzelnen Zeilen
                  Operationen für alle Tabellenarten
                     Tabellenzeilen einfügen
                     Tabellenzeilen verdichtet einfügen
                     Tabellenzeilen lesen
                     Tabellenzeilen ändern
                     Tabellenzeilen löschen
                     Tabellenzeilen in Schleifen bearbeiten
                  Operationen für Index-Tabellen
                     Tabellenzeilen anhängen
                     Tabellenzeilen über den Index einfügen
                     Tabellenzeilen über den Index lesen
                     Binäre Suche bei Standard-Tabellen
                     Tabellenzeilen nach Zeichenketten durchsuchen
                     Tabellenzeilen über den Index ändern
                     Tabellenzeilen über den Index löschen
                     Indexangaben bei Schleifen
               Zugriff über Feldsymbole
               Kopfzeilen als Arbeitsbereich
         Extrakte
            Extrakt definieren
            Extrakt mit Daten füllen
            Extrakte verarbeiten
               Extrakt auslesen
               Extrakt sortieren
               Gruppenstufenverarbeitung
               Anzahlen und Summen ermitteln
         Daten aufbereiten
            Beispiel für aufbereitete Daten
            Daten beim Lesen aufbereiten
            Daten über interne Tabellen aufbereiten
            Daten über Extrakte aufbereiten
      Externe Datenspeicherung
         Datenobjekte als Cluster speichern
            Daten-Cluster im ABAP-Memory
               Datenobjekte im Memory speichern
               Datenobjekte aus dem Memory lesen
               Daten-Cluster im Memory löschen
            Daten-Cluster in Datenbanken
               Cluster-Datenbanken
                  Struktur von Cluster-Datenbanken
                  Beispiel einer Cluster-Datenbank
               Datenobjekte in Cluster-Datenbanken speichern
               Inhaltsverzeichnis eines Daten-Clusters erstellen
               Datenobjekte aus Cluster-Datenbanken lesen
               Daten-Cluster in Cluster-Datenbanken löschen
               Open SQL-Anweisungen und Cluster-Datenbanken
         Arbeiten mit Dateien
            Arbeiten mit Dateien auf dem Anwendungsserver
               Dateihandhabung in ABAP
                  Öffnen einer Datei
                     Grundform der Anweisung OPEN DATASET
                     Öffnen einer Datei zum Lesen
                     Öffnen einer Datei zum Schreiben
                     Öffnen einer Datei für das Schreiben an das Ende der Datei
                     Binärmodus angeben
                     Textmodus angeben
                     Öffnen einer Datei an einer bestimmten Position
                     Betriebssystemkommandos absetzen
                     Empfangen der Betriebssystemnachricht
                  Schließen einer Datei
                  Löschen einer Datei
               Daten in Dateien schreiben
               Daten aus Dateien lesen
               Automatische Prüfungen bei Dateioperationen
                  Berechtigungsprüfung für bestimmte Programme und Dateien
                  Allgemeine Verprobung bei Dateizugriffen
            Arbeiten mit Dateien auf dem Präsentationsserver
               Daten mit Benutzerdialog auf den Präsentationsserver schreiben
               Daten ohne Benutzerdialog auf den Präsentationsserver schreiben
               Daten mit Benutzerdialog vom Präsentationsserver lesen
               Daten ohne Benutzerdialog vom Präsentationsserver lesen
               Dateien auf dem Präsentationsserver überprüfen
            Verwendung plattformunabhängiger Dateinamen
               Syntaxgruppen pflegen
               Betriebssysteme Syntaxgruppen zuordnen
               Logische Pfade anlegen und definieren
               Logische Dateinamen anlegen und definieren
               Verwendung von logischen Dateien in ABAP-Programmen
      Modularisierungstechniken
         Quelltext-Module
            Makros
            Include-Programme
         Prozeduren
            Unterprogramme
               Definition von Unterprogrammen
                  Globale Daten des Rahmenprogramms
                  Lokale Daten des Unterprogramms
                  Die Parameterschnittstelle
                  Unterprogramme beenden
               Aufruf von Unterprogrammen
                  Benennung des Unterprogramms
                  Parameterübergabe an Unterprogramme
                  Beispiele zu Unterprogrammen
                  Gemeinsamer Datenbereich
            Funktionsbausteine
               Funktionsgruppen
               Funktionsbausteine aufrufen
               Funktionsbausteine anlegen
            Organisation von externen Prozeduraufrufen
      Spezielle Techniken
         Abfangbare Laufzeitfehler
            Programmüberprüfungen
            Laufzeitfehler abfangen
         Berechtigungen überprüfen
            Berechtigungskonzept
            Berechtigungsprüfungen
         Laufzeitmessung von Programmsegmenten
            GET RUN TIME FIELD
            Laufzeitmessung von Datenbankzugriffen
         Programme dynamisch generieren und starten
            Ein neues Programm dynamisch anlegen
            Bestehende Programme dynamisch ändern
            Dynamische angelegte Programme starten
            Temporäre Unterprogramme anlegen und starten
   ABAP Bildschirmbilder
      Dynpros
         Bestandteile von Dynpros
            Dynproattribute
            Bildschirmelemente
            Dynprofelder
            Die Dynproablauflogik
         Verarbeitung von Dynpros
            Benutzeraktionen auf Dynpros
               Ein- und Ausgabefelder verarbeiten
               Drucktasten auf dem Dynpro
               Ankreuzfelder und Auswahlknöpfe mit Funktionscodes
               GUI-Status verwenden
               Funktionscodes auswerten
               Cursorposition bestimmen
            Aufruf von ABAP-Dialogmodulen
               Einfacher Modulaufruf
               Steuerung des Datentransports
               Unbedingter Modulaufruf
               Bedingte Modulaufrufe
            Eingabeüberprüfungen
               Automatische Eingabeüberprüfungen
               Eingabeüberprüfungen in der Ablauflogik
               Eingabeüberprüfungen in Dialogmodulen
            Feldhilfe, Eingabehilfe und Dropdown-Boxen
               Feldhilfe
               Eingabehilfe
                  Eingabehilfen des ABAP Dictionary
                  Eingabehilfen des Dynpro
                  Eingabehilfen in Dialogmodulen
               Dropdown-Boxen
            Bildschirmbilder dynamisch modifizieren
               Attribute dynamisch setzen
               Die Funktion Feldauswahl
               Cursorposition festlegen
               Halten von Daten dynamisch ermöglichen
         Komplexe Bildschirmelemente
            Statusikonen
            Kontextmenüs
            Subscreens
            TabStrips
            Custom Controls
            Table Controls
               Table Controls auf dem Bildschirmbild
               Table Controls in der Ablauflogik
               Table Controls im ABAP-Programm
               Table Controls: Beispiel mit Blättern
               Table Controls: Beispiel mit Modifikationen
               Anhang: Die Steploop-Technik
      Selektionsbilder
         Selektionsbilder und logische Datenbanken
         Selektionsbilder definieren
            Eingabefelder für Einzelwerte definieren
               Grundform von Parametern
               Dynamischer Dictionary-Bezug
               Vorschlagswerte für Parameter
               SPA/GPA-Parameter als Vorschlagswerte
               Groß- und Kleinschreibung bei Parametern
               Sichtbare Länge verkleinern
               Mußfelder definieren
               Suchhilfe für Parameter
               Eingabewerte überprüfen
               Ankreuzfelder definieren
               Auswahlknöpfe definieren
               Eingabefelder ausblenden
               Eingabefelder modifizieren
            Komplexe Selektionen definieren
               Selektionstabellen
               Grundform von Selektionskriterien
               Selektionskriterien und logische Datenbanken
               Vorschlagswerte für Selektionskriterien
               Eingabe auf eine Zeile beschränken
               Eingabe auf Einzelfelder beschränken
               Weitere Zusätze für Selektionskriterien
            Selektionsbilder aufbereiten
               Leerzeilen, Linien und Kommentare
               Mehrere Elemente in einer Zeile
               Elementblöcke
         Selektionsbilder aufrufen
            Standardselektionsbilder aufrufen
            Eigenständige Selektionsbilder aufrufen
         Benutzeraktionen auf Selektionsbildern
            Drucktasten auf dem Selektionsbild
            Ankreuzfelder und Auswahlknöpfe mit Funktionscodes
            Drucktasten in der Drucktastenleiste
            Standard-GUI-Status ändern
         Selektionsbildverarbeitung
            Grundform
            PBO des Selektionsbilds
            Einzelfeldverarbeitung
            Blockverarbeitung
            Auswahlknöpfe verarbeiten
            Mehrfachselektion verarbeiten
            Feldhilfe definieren
            Eingabehilfe definieren
         Subscreens und TabStrips bei Selektionsbildern
            Selektionsbilder als Subscreens
            TabStrips auf Selektionsbildern
            Subscreens auf Selektionsbildern
         Selektionskriterien verwenden
            Selektionstabellen in der WHERE-Klausel
            Selektionstabellen in logischen Ausdrücken
            Selektionstabellen in GET-Ereignissen
      Listen
         Listenerstellung
            Einfache Listen mit der WRITE-Anweisung erstellen
               Die Anweisung WRITE
               WRITE-Ausgabedaten auf der Liste positionieren
               Aufbereitungsoptionen
               Symbole und Ikonen auf der Liste ausgeben
               Linien und Leerzeilen
               Feldinhalt als Ankreuzfeld ausgeben
               WRITE über Anweisungsmuster verwenden
            Komplexe Listen erstellen
               Die Standardliste
                  Aufbau der Standardliste
                  GUI-Status der Standardliste
               Listenaufbau selbst definieren
                  Seitenkopf gestalten
                  Listenbreite festlegen
                  Leerzeilen erzeugen
                  Seitenlänge festlegen
                  Seitenfuß gestalten
               Listen mit mehreren Seiten
                  Seitenvorschübe programmieren
                  Standardseitenkopf einzelner Seiten
                  Seitenlänge einzelner Seiten
                  Seitenbreite von Listenstufen
               In Listen blättern
                  Fensterweise blättern
                  Seitenweise blättern
                  Zu den Rändern der Liste blättern
                  Spaltenweise blättern
                  Blätterbaren Teil einer Seite festlegen
               Listenseiten gestalten
                  Positionierung der Ausgabe
                     Absolute Positionsangaben
                     Relative Positionsangaben
                  Formatierung der Ausgabe
                     Die Anweisung FORMAT
                        Farben in Listen
                        Felder eingabebereit machen
                        Felder als Hotspot ausgeben
                     Besondere Ausgabeformate
                     Linien auf Listen
         Benutzeraktionen auf Listen
            Verzweigungslisten
            Dialogstatus für Listen
            Kontextmenüs für Listen
            Listenereignisse im ABAP-Programm
            Listen in Dialogfenstern
            Datenübergabe von Listen an das Programm
               Automatische Datenübergabe
               Programmgesteuerte Datenübergabe
            Verzweigungslisten beeinflussen
               In Verzweigungslisten blättern
               Cursor vom Programm aus setzen
               Listenzeilen modifizieren
         Listen und Dynpros
            Aufruf von Listen aus der Dynproverarbeitung
            Aufruf von Dynpros aus der Listenverarbeitung
         Listen drucken und ablegen
            Drucken einer Liste nach Ihrer Erstellung
            Drucken einer Liste während ihrer Erstellung
               Druckparameter
               Ausführen und Drucken
               Programmgesteuertes Drucken
               Listen von aufgerufenen Programmen drucken
            Drucksteuerung
               Linken und oberen Rand festlegen
               Druckformat festlegen
            Ablegen von Listen mit SAP ArchiveLink
      Nachrichten
         Nachrichten verwalten
         Nachrichten senden
         Nachrichtenverarbeitung
            Nachrichten ohne Bildschirmbezug
            Nachrichten auf Dynpros
            Nachrichten auf Selektionsbildern
            Nachrichten auf Listen
            Nachrichten in Funktionsbausteinen und Methoden
   ABAP Programmausführung
      Verarbeitungsblöcke definieren
         Ereignisblöcke
         Dialogmodule
      Direkte Ausführung - Reports
         Verknüpfung mit logischen Datenbanken
         Reporttransaktionen
         Ereignisblöcke in ausführbaren Programmen
            Beschreibung der Reporting-Ereignisse
               INITIALIZATION
               AT SELECTION-SCREEN
               START-OF-SELECTION
               GET
               GET … LATE
               END-OF-SELECTION
            Ereignisblöcke verlassen
               Ereignisblöcke mit STOP verlassen
               Ereignisblöcke mit EXIT verlassen
               Ereignisblöcke mit CHECK verlassen
               GET-Ereignisblöcke mit REJECT verlassen
      Dialoggesteuerte Ausführung - Transaktionen
         Übersicht zu Dialogprogrammen
            Eine Beispieltransaktion
         Transaktionspflege
            Dialogtransaktion
            Reporttransaktion
            Variantentransaktion
            Parametertransaktion
         Dynprofolgen
            Statisches Folgedynpro
            Dynamisches Folgedynpro
            Dynpros programmgesteuert beenden
            Dynprofolgen aufrufen
            Modale Dialogfenster einbetten
            Beispieltransaktion für Dynprofolgen
      Programme aufrufen
         Ausführbare Programme (Reports) aufrufen
            Selektionsbild des aufgerufenen Programms füllen
            Listen des aufgerufenen Programms beeinflussen
            Aufgerufenes Programm programmgesteuert verlassen
         Transaktionen aufrufen
         Dynprofolgen als Module aufrufen
         Daten zwischen Programmen übergeben
            Einstiegsbilder über SPA/GPA-Parameter füllen
   ABAP Datenbankzugriffe
      Datenbankzugriffe im R/3-System
      Open SQL
         Daten lesen
            Selektion definieren
            Zielbereich angeben
            Datenbanktabellen angeben
            Zeilen auswählen
            Zeilen gruppieren
            Zeilengruppen auswählen
            Sortierreihenfolge angeben
            Subqueries
            Daten über Cursor lesen
            Mögliche Sperrkonflikte
         Daten ändern
            Tabellenzeilen einfügen
            Tabellenzeilen ändern
            Tabellenzeilen löschen
            Tabellenzeilen einfügen oder ändern
            Datenbankänderungen festschreiben
         Performance-Hinweise
            Treffermenge klein halten
            Übertragene Datenmenge klein halten
            Zahl der Zugriffe klein halten
            Suchaufwand klein halten
            Datenbanklast klein halten
      Native SQL
         Native SQL für Oracle
         Native SQL für Informix
         Native SQL für DB2 Common Server
      Logische Datenbanken
         Aufbau logischer Datenbanken
         Selektionsviews
         Beispiel einer logischen Datenbank
         Logische Datenbanken verwenden
            Verknüpfung mit ausführbaren Programmen
            Aufruf über Funktionsbaustein
         Logische Datenbanken bearbeiten
            Logische Datenbank anlegen
            Struktur bearbeiten
            Suchhilfen bearbeiten
            Selektionen bearbeiten
            Datenbankprogramm bearbeiten
               Freie Abgrenzungen im Datenbankprogramm
               Feldselektionen im Datenbankprogramm
               Suchhilfen im Datenbankprogramm
               Eigenständiger Aufruf und Datenbankprogramm
            Weitere Komponenten bearbeiten
            Performanceverbesserungen
      Arbeiten mit Contexten
         Was ist ein Context?
         Der Context Builder in der Workbench
            Contexte anlegen und pflegen
               Tabellen als Module
               Funktionsbausteine als Module
               Contexte als Module
            Contexte testen
            Contexte puffern
            Felder
            Module
            Schnittstellen
         Contexte in ABAP-Programmen verwenden
            Contexte suchen und anzeigen
            Context-Instanzen anlegen
            Context-Instanzen mit Schlüsselwerten versorgen
            Daten von Context-Instanzen abfragen
            Nachrichtenbehandlung in Contexten
               Nachrichtenbehandlung in Tabellen-Modulen
               Nachrichtenbehandlung in Funktionsbaustein-Modulen
         Tips zum Arbeiten mit Contexten
      SAP-Transaktionskonzept
         Transaktionen und Logical Units of Work
            Datenbank-LUW
            SAP-LUW
            SAP-Transaktionen
         Das R/3-Sperrkonzept
            Beispielprogramm für SAP-Sperren
         Techniken der Verbuchung
            Asynchron verbuchen
            Asynchron in Abschnitten verbuchen
            Synchron verbuchen
            Lokal verbuchen
         Verbuchungsfunktionsbausteine anlegen
         Verbuchungsfunktionsbausteine aufrufen
            Verbuchungsfunktionsbausteine direkt aufrufen
            Aufrufe in einem Unterprogramm aufnehmen
         Spezielle Überlegungen zu LUWs
            Transaktionen, die Verbuchungsfunktionsbausteine a
            Dialogbausteine, die Verbuchungsfunktionsbausteine
         Fehlerbehandlung bei gebündelten Aktualisierungen
   ABAP Objects
      Was ist Objektorientierung?
      Was bedeutet ABAP Objects?
      Von Funktionsgruppen zu Objekten
         Beispiel zu Instanzen von Funktionsgruppen
      Klassen
         Übersichtsgrafik zu Klassen
         Einführendes Beispiel zu Klassen
      Behandlung von Objekten
         Übersichtsgrafik zu Objekten
         Einführendes Beispiel zu Objekten
      Methoden deklarieren und aufrufen
         Beispiel zu Methoden in ABAP Objects
      Vererbung
         Übersichtsgrafiken zur Vererbung
         Einführendes Beispiel zur Vererbung
      Interfaces
         Übersichtsgrafiken zu Interfaces
         Einführendes Beispiel zu Interfaces
      Ereignisse auslösen und behandeln
         Übersichtsgrafik zu Ereignissen
         Einführendes Beispiel zu Ereignissen
         Komplexes Beispiel zu Ereignissen
      Class- und Interface-Pools
   Anhang
      Programme, Bildschirmbilder, Verarbeitungsblöcke
      Programmeinleitende Anweisungen
      Übersicht über ABAP-Aufrufe
         Kontext der Aufrufe
            Interne Aufrufe
            Externe Prozeduraufrufe
            Externe Programmaufrufe
         Aufrufbare Einheiten
            ABAP-Programme
            Prozeduren
            Dynpros und Dynprofolgen
      Übersicht über alle ABAP-Anweisungen
      ABAP-Systemfelder
      ABAP-Glossar
      Syntaxkonventionen