Vorwort | 7 |
Inhaltsverzeichnis | 9 |
1 Einleitung | 11 |
Teil 1 Einführung in SAP | 14 |
2 Einführung in SAP - Übersicht | 15 |
2.1 Was ist SAP? | 15 |
2.2 Wo ist der Client, wo der Server? | 16 |
2.2.1 Klassische R/3-Architektur | 16 |
2.2.2 Weboberflächen | 20 |
2.2.3 Produkt- und Versionsbezeichnungen | 24 |
2.3 Terminologie | 25 |
2.4 Bedienhinweise für R/3 | 29 |
3 ABAP | 33 |
3.1 Einleitung | 34 |
3.2 Struktur eines ABAP-Programms | 34 |
3.2.1 Reports | 34 |
3.2.2 Forms | 36 |
3.2.3 Ereignisblöcke im Report | 37 |
3.2.4 Includes | 39 |
3.2.5 Funktionsbausteine | 40 |
3.2.6 Modulpools und Dynpros | 43 |
3.3 Datentypen | 47 |
3.3.1 Elementare Datentypen | 47 |
3.3.2 Strukturierte Datentypen | 50 |
3.3.3 Zuweisungen, Referenztypen und Feldsymbole | 51 |
3.3.4 Tabellentypen, interne Tabellen | 56 |
3.3.5 Unvollständige Typen | 60 |
3.3.6 Das ABAP Dictionary | 61 |
3.4 Kontrollstrukturen, verschiedene weitere Konstrukte | 65 |
3.4.1 Schleifen | 65 |
3.4.2 Bedingte Anweisungen | 66 |
3.4.3 Zeichenkettenoperationen | 67 |
3.4.4 Logische Ausdrücke | 68 |
3.4.5 Arithmetische Ausdrücke | 69 |
3.4.6 Der WRITE-Befehl | 69 |
3.4.7 Kommentare | 70 |
3.4.8 Namensräume | 70 |
3.5 Datenbankzugriffe | 71 |
3.5.1 Datenbankinhalte auslesen | 71 |
3.5.2 Datenbankinhalte schreiben | 76 |
3.5.3 Locking | 78 |
3.5.4 Transaktionen (LUWs) | 80 |
4 Entwicklungsumgebung und -prozess | 83 |
4.1 Grundbegriffe | 83 |
4.2 Transportwesen | 86 |
4.3 Entwicklungswerkzeuge | 89 |
4.3.1 Grundlegende Bedienung der Entwicklungsumgebung | 90 |
4.3.2 Der ABAP Editor | 94 |
4.3.3 Der Function Builder | 100 |
4.3.4 Das ABAP Dictionary | 104 |
4.4 Entwickeln am SAP-Standard | 109 |
4.4.1 Standardsoftware | 109 |
4.4.2 Customizing-Techniken | 111 |
Teil 2 Anbindung von Java und SAP | 114 |
5 Anbindung von Java und SAP - Übersicht | 115 |
6 RFC-Schnittstellen und Java Connector | 117 |
6.1 RFC auf R/3-Seite | 118 |
6.1.1 Überblick | 118 |
6.1.2 Remote-fähige Funktionsbausteine | 119 |
6.1.3 BAPIs | 122 |
6.1.4 Batch Input / Call Transaction | 126 |
6.2 RFC auf Java-Seite | 129 |
6.2.1 Installation und Verbindungsaufbau | 130 |
6.2.2 Auffinden und Aufrufen eines einfachen | 131 |
Funktionsbausteins | 131 |
6.2.3 Aufruf eines komplexen Funktionsbausteins | 132 |
6.2.4 Problemstellungen aus der Praxis | 134 |
6.3 Debugging | 138 |
6.4 Weiterführende Themen | 141 |
7 IDocs | 145 |
7.1 Aufbau eines IDocs | 146 |
7.1.1 Physikalische Struktur | 146 |
7.1.2 Logische Struktur | 148 |
7.1.3 Benennung von IDocs und Segmenten | 149 |
7.2 Austausch von IDocs | 150 |
7.2.1 Erzeugen eines IDocs in SAP | 152 |
7.2.2 Exportieren des IDocs aus SAP | 156 |
7.2.3 Einlesen des IDocs in Java | 157 |
7.2.4 Erzeugen eines IDocs in Java | 161 |
7.2.5 Importieren des IDocs nach SAP | 165 |
7.2.6 Auswerten des IDocs in SAP | 165 |
Teil 3 Netweaver | 169 |
8 Netweaver - Übersicht | 171 |
8.1 Produkte und Technologien | 172 |
8.1.1 Web Application Server | 172 |
8.1.2 Enterprise Portal | 172 |
8.1.3 Web Dynpro und xApps | 173 |
8.1.4 Mobile Infrastructure | 175 |
8.1.5 Exchange Infrastructure | 176 |
8.1.6 NWDS und JDI | 176 |
8.1.7 Weitere Produkte | 177 |
8.2 Architektur | 178 |
8.2.1 Architektur einfacher Netweaver-Applikationen | 178 |
8.2.2 Enterprise Service Architecture | 179 |
8.3 Aufbau von Teil 3 | 181 |
9 Entwicklungsumgebung und -prozess | 183 |
9.1 Gliederung von Code und Projekt | 183 |
9.1.1 Development Object | 184 |
9.1.2 Development Component | 184 |
9.1.3 Software Component | 187 |
9.1.4 Produkt | 188 |
9.1.3 Software Component | 187 |
9.1.4 Produkt | 188 |
9.2 Entwicklungszyklus | 188 |
9.2.1 Produkt- und Trackdefinition | 189 |
9.2.2 Entwicklung und lokaler Test | 191 |
9.2.3 Check-in und Aktivierung | 191 |
9.2.4 Transport | 192 |
9.2.5 Zusammenfassung des Entwicklungszyklus | 194 |
9.3 Netweaver Developer Studio | 194 |
9.3.1 Eclipse als Basis | 194 |
9.3.2 Erweiterungen für das NWDS | 195 |
9.3.3 Die Development-Configurations-Perspektive | 197 |
10 Web Dynpro | 199 |
10.1 MVC und Web Dynpro | 200 |
10.2 Web Dynpro in der Entwicklungsumgebung | 202 |
10.2.1 Views, Navigationspfade und Oberflächenereignisse | 204 |
10.2.2 Datenelemente | 207 |
10.2.3 Java-Code der Präsentationslogik | 212 |
10.3 Weitere Web-Dynpro-Mechanismen | 214 |
10.3.1 Windows, View Sets, etc. | 214 |
10.3.2 Web Dynpro im Enterprise Portal | 214 |
11 Backend-Zugriff | 217 |
11.1 Konzept | 217 |
11.2 Backend-Zugriff über Web Services | 219 |
11.2.1 Die Technologie | 219 |
11.2.2 Die Vision dahinter | 220 |
11.2.3 Einbinden von Web Services in Web Dynpro | 221 |
11.2.4 Erstellen eines eigenen Web Service | 224 |
11.3 Backend-Zugriff über RFC | 228 |
12 Persistenz | 231 |
12.1 Das Java Dictionary | 232 |
12.1.1 Beispieltabelle für Terminkalender | 233 |
12.1.2 Data Source einrichten | 238 |
12.2 Datenbankzugriff | 239 |
12.2.1 Einbindung in eine Applikation | 239 |
12.2.2 Persistenzvariante I: Entity Beans | 240 |
12.2.3 Persistenzvariante II: SQLJ | 248 |
12.2.4 Persistenzvariante III: JDO | 251 |
12.3 Schichtung der Netweaver-Persistenz | 253 |
13 Exchange Infrastructure | 257 |
13.1 Grundprinzip | 257 |
13.1.1 Ein Architekturvergleich | 257 |
13.1.2 Interfaces und Mappings | 259 |
13.1.3 Proxies und Adapter | 260 |
13.1.4 Mappings | 262 |
13.2 Das Produkt XI | 263 |
13.2.1 Bestandteile des XI-Servers | 263 |
13.2.2 Definition von Mappings | 265 |
14 Netweaver - Resumee | 269 |
Anhang | 271 |
Sachverzeichnis | 285 |