ABAP Programmierung (BC-ABA)
ABAP Einführung
Der NetWeaver Application Server ABAP
Übersicht über den NetWeaver AS ABAP
ABAP-Applikationsserver
Workprozesse
Die Komponenten von ABAP-Anwendungsprogrammen
Anwendungsprogramme auf dem NetWeaver AS ABAP
Benutzungsschnittstellen
ABAP-Programmiermodelle
Objektorientiertes Programmiermodell
Prozedurales Programmiermodell
Aufbau der Verarbeitungslogik
Verarbeitungsblöcke in ABAP-Programmen
Programmausführung und Programmtypen
Dialogprogrammierung
Reportprogrammierung
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
Programmüberprüfungen
ABAP Programmiersprache
ABAP-Syntax
Syntaxkonventionen
Übersicht über die ABAP-Anweisungen
Programmeinleitende Anweisungen
Datentypen und Datenobjekte
Datentypen
Definition und Sichtbarkeit von Datentypen
Kompatibilität
Datenobjekte
Literale
Textsymbole
Variablen
Konstanten
Schnittstellen-Arbeitsbereiche
Attribute von Datenobjekten bestimmen
Eingebaute Datentypen und Datenobjekte
Eingebaute ABAP-Typen
Datentypen im ABAP Dictionary
Eingebaute Datenobjekte
Generische Datentypen für Typisierungen
Programmlokale Datentypen und Datenobjekte
Die Anweisungen TYPES und DATA
Selbstdefinierte elementare Datentypen und Datenobjekte
Referenztypen und Referenzvariablen
Selbstdefinierte komplexe Datentypen
Strukturierte Datentypen
Selbstdefinierte Tabellentypen
Operationen auf Datenobjekten
Wertzuweisungen
Werte mit MOVE zuweisen
Werte auf Initialwerte setzen
Typkonvertierungen
Zuweisungsregeln für Referenzvariablen
Konvertierungsregeln für Strukturen
Konvertierungsregeln für interne Tabellen
Ausrichtung von Datenobjekten
Numerische Operationen
Arithmetische Berechnungen
Mathematische Funktionen
Kaufmännisches Rechnen
Datums- und Zeitberechnungen
Programmablaufsteuerung
Logische Ausdrücke
Vergleiche für Operanden beliebiger Datentypen
Vergleiche zwischen Zeichenketten und Byteketten
Vergleiche zwischen Bit-Mustern
Anforderungen überprüfen
Mehrere logische Ausdrücke verknüpfen
Kontrollstrukturen
Bedingte Verzweigungen
Schleifen
Ausnahmebehandlung
Klassenbasierte Ausnahmen
Übersicht über klassenbasierte Ausnahmen
Ausnahmen behandeln
Ausnahmen auslösen
Ausnahmen propagieren
Ausnahmen definieren
Ausnahmetexte
Vorhergehende Konzepte
Ausnahmen in Funktionsbausteinen und Methoden
Abfangbare Laufzeitfehler
Byte- und Zeichenkettenverarbeitung
Verarbeitung von Zeichenketten
Zeichenketten durchsuchen
Ersetzen in Zeichenketten
Feldinhalte zeichenweise verschieben
Zeichenfolgen verketten
Zeichenketten zerlegen
Groß-/Kleinschreibung oder Zeichen umsetzen
Konvertierung in ein sortierbares Format
Zeichenketten überlagern
Feldinhalte verdichten
Obsolete Anweisungen für Zeichenketten
Verarbeitung von Byte-Ketten
Bits setzen und lesen
Bitoperationen
Mengenoperationen mit Bitfolgen
Bearbeitung von Teilfeldern
Länge ermitteln
Feldsymbole und Datenreferenzen
Feldsymbole
Feldsymbole deklarieren
Zuweisung von Datenobjekten an Feldsymbole
Grundformen der ASSIGN-Anweisung
Strukturen komponentenweise zuweisen
Casting von Datenobjekten
Obsoletes Casting
Datenbereiche für Feldsymbole
Datenreferenzen
Referenzvariable
Datenobjekte dynamisch erzeugen
Referenzen auf Datenobjekte beschaffen
Datenreferenzen dereferenzieren
Beispiel zu Datenreferenzen
Interne Tabellen und Extrakte
Interne Tabellen
Interne Tabellen anlegen
Tabellentypen
Interne Tabellen
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
Zugriffsmethoden auf einzelne Tabelleneinträge
Zugriff über Feldsymbole
Interne Tabellen zeilenweise füllen
Tabellenzeilen einfügen
Tabellenzeilen verdichtet einfügen
Tabellenzeilen anhängen
Tabellenzeilen lesen
Binäre Suche bei Standard-Tabellen
Tabellenzeilen in Schleifen bearbeiten
Tabellenzeilen ändern
Tabellenzeilen löschen
Interne Tabellen zeilenweise durchsuchen
Tabellenzeilen durchsuchen
Tabellenzeilen durchsuchen und ersetzen
Obsolete Anweisungen für interne Tabellen
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
Datenbankzugriffe
Datenbankzugriffe des NetWeaver AS ABAP
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
Dateischnittstellen
Arbeiten mit Dateien auf dem Applikationsserver
Automatische Prüfungen bei Dateioperationen
Berechtigungsprüfung für bestimmte Programme und Dateien
Allgemeine Verprobung bei Dateizugriffen
Arbeiten mit Dateien auf dem Präsentationsserver
Verwendung plattformunabhängiger Dateinamen
Daten-Cluster
Speichermedien für Daten-Cluster
Anweisungen zu Daten-Clustern
Datenkonsistenz
Transaktionen und Logical Units of Work
Datenbank-LUW
SAP-LUW
SAP-Transaktionen
Berechtigungen überprüfen
Berechtigungskonzept
Berechtigungsprüfungen
Das SAP-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 aufrufen
Dialogbausteine, die Verbuchungsfunktionsbausteine aufrufen
Fehlerbehandlung bei gebündelten Aktualisierungen
Obsolete Techniken
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
Logische Datenbanken
Aufbau logischer Datenbanken
Selektionsviews
Freie Abgrenzungen
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
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
ABAP Programmeinheiten ausführen
Zusammenfassung aufrufbarer Einheiten
ABAP-Programme
Prozeduren
Dynpros und Dynpro-Folgen
Programme aufrufen
Programmaufrufe - Übersicht
Ausführbare Programme aufrufen
Selektionsbild des aufgerufenen Programms füllen
Listen des aufgerufenen Programms beeinflussen
Aufgerufenes Programm programmgesteuert verlassen
Direkte Ausführung
Verknüpfung mit logischen Datenbanken
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
Transaktionen
Aufruf durch den Benutzer (Transaktionscode)
Eine Beispieltransaktion
Transaktionen aufrufen
Dynpro-Folgen als Module aufrufen
Daten zwischen Programmen übergeben
Modularisierungstechniken
Verarbeitungsblöcke definieren
Ereignisblöcke
Dialogmodule
Prozeduren
Definition von Unterprogrammen
Globale Daten des Rahmenprogramms
Lokale Daten des Unterprogramms
Die Parameterschnittstelle
Funktionsbausteine
Funktionsgruppen
Funktionsbausteine anlegen
Quelltext-Module
Makros
Include-Programme
Prozeduren aufrufen
Prozeduraufrufe - Übersicht
Interne Prozeduraufrufe
Externe Prozeduraufrufe
Organisation von externen Prozeduraufrufen
Aufruf von Unterprogrammen
Benennung des Unterprogramms
Parameterübergabe an Unterprogramme
Beispiele zu Unterprogrammen
Gemeinsamer Datenbereich
Unterprogramme beenden
Funktionsbausteine aufrufen
ABAP Objects
Was ist Objektorientierung?
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
OO-Transaktionen
ABAP und Unicode
Zeichencodes
ABAP-Entwicklung unter Unicode
Bezeichnungen und Vereinbarungen
Datentypen
Datenlayout von Strukturen
Unicode-Fragmentsicht
Zulässige Zeichen
Einschränkungen in Unicode-Programmen
Zeichenartige und numerische Operanden
Zugriffe mit Offset- und Längenangaben
Zuweisungen
Vergleiche
Verarbeitung von Zeichenketten
Typprüfung und Typkompatibilität
Änderungen bei Datenbank-Operationen
Längen- und Abstandsermittlung
Strukturerweiterungen
Sonstige Änderungen
Neue ABAP-Anweisungen für Unicode
Stringverarbeitung für Bytefolgen
Längen- und Abstandsermittlung
Zuweisungen an Feldsymbole
Includes mit Gruppennamen
Dynamische Erzeugung von Datenobjekten
Dynamische Feldzuweisungen
Ablage von Daten als Cluster
Dateischnittstelle
Dateien auf dem Präsentationsserver
Generische Typen für Feldsymbole und Parameter
Aufbereitung von Listen
Neue Klassen für Unicode
Ermittlung von Feldeigenschaften
Konvertierung von Daten
RFC und Unicode
Abrundungsmaßnahmen
Beispiele
Zuweisungen zwischen Strukturen I
Zuweisungen zwischen Strukturen II
Zuweisungen zwischen Strukturen III
Zuweisungen zwischen Strukturen IV
Zuweisung zwischen Struktur und Einzelfeld I
Zuweisung zwischen Struktur und Einzelfeld II
Zuweisung zwischen Struktur und Einzelfeld III
Zuweisung zwischen Struktur und Einzelfeld IV
Zuweisung zwischen Struktur und Einzelfeld V
Zeichenkettenverarbeitung
Dateischnittstelle
Ausgabe von Listen
Unicode Glossar
ABAP Benutzungsschnittstellen
Anhang
Bildschirmbilder, Verarbeitungsblöcke
ABAP-Systemfelder