E-Book, Deutsch, 1759 Seiten
Reihe: SAP Press
Keller ABAP – Die offizielle Referenz
4. Auflage 2016
ISBN: 978-3-8362-8314-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
E-Book, Deutsch, 1759 Seiten
Reihe: SAP Press
ISBN: 978-3-8362-8314-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Die offizielle SAP-Sprachreferenz zu ABAP 7.5 sollte in keinem Programmiererbüro fehlen! In diesem Buch finden Sie zu jedem Schlüsselwort und jedem Zusatz Syntaxdiagramme, Funktionsbeschreibungen und Verwendungshinweise. Knappe, aber präzise Einführungen zu jedem Thema helfen Ihnen dabei, das jeweilige Sprachelement in seinem Kontext zu verstehen. Diese umfassend erweiterte Neuauflage berücksichtigt alle Neuerungen - von ABAP Doc über ABAP Managed Database Procedures für SAP HANA bis hin zu Meshes.
Aus dem Inhalt:
- ABAP-Syntax und Programmaufbau
- Deklarative Anweisungen
- Objekterzeugung
- Programmeinheiten ausführen
- Programmablaufsteuerung
- Zuweisungen
- Interne und externe Daten verarbeiten
- Benutzerdialoge
- Daten- und Kommunikationsschnittstellen
- Obsolete Anweisungen
Horst Keller ist Mitglied der Abteilung PI Tech Core ABAP Server (SE) und dort als Knowledge Architect hauptsächlich für die Dokumentation und den Roll-out von ABAP und ABAP Objects verantwortlich, wobei er auch die Programme zur Aufbereitung und Darstellung der ABAP-Dokumentation inklusive der zugehörigen Suchalgorithmen betreut. Er studierte Physik an der Technischen Universität Darmstadt, promovierte dort auf dem Gebiet der Kernphysik und kam nach einem Auslandsaufenthalt an der Universität von Paris in Frankreich 1995 zur SAP AG. Horst Keller ist langjähriger Autor und Herausgeber mehrerer ABAP-Bücher bei SAP PRESS und zahlreicher weiterer Veröffentlichungen und Workshops zu diesem Thema.
Autoren/Hrsg.
Weitere Infos & Material
Vorwort zur vierten Auflage ... 33 Einleitung ... 35
TEIL I ABAP-Syntax ... 39 1. Anweisungen ... 41 1.1 ... ABAP-Wörter ... 42 1.2 ... Operanden ... 42 1.3 ... Operatoren und Ausdrücke ... 59 2. Bezeichner ... 63 2.1 ... Namenskonventionen ... 63 2.2 ... Namensräume ... 64 3. Kettensätze ... 65 4. Kommentare ... 67 5. Programmdirektiven ... 69 5.1 ... ABAP Doc ... 69 5.2 ... Pragmas ... 74 5.3 ... Pseudokommentare für den Code Inspector ... 75
TEIL II Programmaufbau ... 77 6. Programme ... 79 6.1 ... Eigenständige Programme ... 79 6.2 ... Ausführbare Programme ... 81 6.3 ... Modul-Pools und Subroutinen-Pools ... 84 6.4 ... Funktionsgruppen ... 86 6.5 ... Class-Pools ... 87 6.6 ... Interface-Pools ... 87 6.7 ... Typgruppen ... 88 7. Modularisierung ... 91 7.1 ... Prozeduren ... 91 7.2 ... Dialogmodule ... 100 7.3 ... Ereignisblöcke ... 101 7.4 ... Quelltextmodule ... 105 8. Eingebaute Elemente ... 111 8.1 ... Eingebaute Datentypen ... 111 8.2 ... Eingebaute Datenobjekte ... 119 8.3 ... Eingebaute Funktionen ... 126 8.4 ... Konstruktoroperatoren für Konstruktorausdrücke ... 127
TEIL III Deklarative Anweisungen ... 129 9. Datentypen und -objekte ... 131 9.1 ... Übersicht über Typen und Objekte ... 131 9.2 ... Gültigkeit und Sichtbarkeit ... 137 9.3 ... Absolute Typnamen ... 139 9.4 ... Kompatible Datentypen ... 141
10. Datentypen und -objekte deklarieren ... 145 10.1 ... Datentypen deklarieren ... 145 10.2 ... Datenobjekte deklarieren ... 173
11. Klassen und Interfaces ... 195 11.1 ... Klassen definieren ... 195 11.2 ... Interfaces definieren ... 210 11.3 ... Komponenten deklarieren ... 213
12. Feldsymbole ... 243
13. Inline-Deklarationen ... 245 13.1 ... Inline-Deklaration von Variablen ... 245 13.2 ... Inline-Deklaration von Feldsymbolen ... 246
14. Lokale Deklarationen in Ausdrücken ... 249 14.1 ... Definition einer lokalen Hilfsvariablen ... 250 14.2 ... Definition eines lokalen Feldsymbols ... 251
15. Typisierung ... 253 15.1 ... Syntax der Typisierung ... 253 15.2 ... Typisierung überprüfen ... 257
TEIL IV Objekt- und Werterzeugung ... 265
16. Objekte erzeugen ... 267 16.1 ... Datenobjekte erzeugen ... 267 16.2 ... Instanzen von Klassen erzeugen ... 276 16.3 ... Instanziierungsoperator ... 282
17. Werte erzeugen ... 295 17.1 ... Initialwert für alle Typen ... 297 17.2 ... Strukturen ... 298 17.3 ... Interne Tabellen ... 299
18. Zugriff auf externen Speicher ... 301 18.1 ... Shared Objects ... 301 18.2 ... Parameter im User Memory ... 316
TEIL V Programmeinheiten ausführen ... 323
19. Programme aufrufen ... 325 19.1 ... Ausführbare Programme aufrufen ... 326 19.2 ... Transaktionen aufrufen ... 341
20. Verarbeitungsblöcke aufrufen ... 351 20.1 ... Prozeduren aufrufen ... 351 20.2 ... Ereignisbehandler aufrufen ... 383 20.3 ... Ereignisblöcke aufrufen ... 388
21. Programmeinheiten verlassen ... 389 21.1 ... Programme verlassen ... 389 21.2 ... Verarbeitungsblöcke verlassen ... 390 21.3 ... Schleifen verlassen ... 394
TEIL VI Programmablaufsteuerung ... 397
22. Bedingungen ... 399 22.1 ... Logische Ausdrücke ... 399 22.2 ... Logische Funktionen ... 436
23. Kontrollstrukturen ... 439 23.1 ... Verzweigungen ... 439 23.2 ... Schleifen ... 444 23.3 ... Ausnahmebehandlung ... 446 23.4 ... Bedingte Ausdrücke ... 472 23.5 ... Iterationsausdrücke ... 477
TEIL VII Interne Daten verarbeiten ... 485
24. Zuweisungen ... 487 24.1 ... Zuweisungs- und Konvertierungsregeln ... 487 24.2 ... Zuweisungsoperator ... 512 24.3 ... Konvertierungsoperator ... 518 24.4 ... Strukturkomponenten zuweisen ... 521 24.5 ... Referenzen zuweisen ... 535 24.6 ... Feldsymbole setzen ... 549 24.7 ... Verlustfreie Zuweisungen ... 566 24.8 ... Spezielle Zuweisungen ... 575 24.9 ... Initialisierungen ... 577
25. Numerische Berechnungen ... 579 25.1 ... Arithmethische Ausdrücke ... 579 25.2 ... Numerische Funktionen ... 587 25.3 ... Anweisungen für numerische Berechnungen ... 594
26. Zeichen- und Bytekettenverarbeitung ... 597 26.1 ... Eigenschaften der Zeichen- und Bytekettenverarbeitung ... 597 26.2 ... Anweisungen für die Zeichen- und Bytekettenverarbeitung ... 599 26.3 ... Zeichenkettenausdrücke ... 642 26.4 ... Zeichenkettenfunktionen ... 662 26.5 ... Reguläre Ausdrücke ... 680 26.6 ... Ausdrücke und Funktionen für die Bytekettenverarbeitung ... 685
27. Datums- und Zeitverarbeitung ... 691 27.1 ... Allgemeines zu Datum, Zeit, Zeitstempel und Zeitzonen ... 691 27.2 ... Datums- und Zeitfelder ... 694 27.3 ... Zeitstempel ... 698 27.4 ... Systemfelder für Datum und Zeit ... 705
28. Interne Tabellen ... 707 28.1 ... Eigenschaften interner Tabellen ... 707 28.2 ... Anweisungen für interne Tabellen ... 718 28.3 ... Intervall-Join interner Tabellen ... 796 28.4 ... Ausdrücke und Funktionen für interne Tabellen ... 800
29. Meshes ... 823 29.1 ... Mesh-Pfade ... 823
30. Eigenschaften von Datenobjekten ... 841 30.1 ... Elementare Eigenschaften bestimmen ... 841 30.2 ... Run Time Type Services ... 849
31. Streaming ... 851 31.1 ... Klassen und Interfaces für Ströme ... 851 31.2 ... Streaming für Datenobjekte ... 853
TEIL VIII Externe Daten verarbeiten ... 855
32. Datenbankzugriffe ... 857 32.1 ... Relationale Datenbanken ... 857 32.2 ... Open SQL ... 858 32.3 ... Native SQL ... 1002 32.4 ... ABAP und SAP HANA ... 1037
33. Daten-Cluster ... 1047 33.1 ... Daten-Cluster erstellen ... 1047 33.2 ... Daten-Cluster lesen ... 1056 33.3 ... Inhaltsverzeichnis lesen ... 1067 33.4 ... Daten-Cluster löschen ... 1068 33.5 ... Daten-Cluster im ABAP Memory löschen ... 1069 33.6 ... Systemklasse für Daten-Cluster ... 1070
34. ABAP-Dateischnittstelle ... 1071 34.1 ... Physische und logische Dateinamen ... 1071 34.2 ... Berechtigungen für Dateizugriffe ... 1072 34.3 ... Dateien sperren ... 1077 34.4 ... Datei öffnen ... 1078 34.5 ... Datei schreiben ... 1091 34.6 ... Datei lesen ... 1093 34.7 ... Dateieigenschaften bestimmen ... 1096 34.8 ... Dateieigenschaften ändern ... 1099 34.9 ... Dateigröße ändern ... 1102 34.10 ... Datei schließen ... 1103 34.11 ... Datei löschen ... 1104
35. Datenkonsistenz ... 1105 35.1 ... Datenbank-LUW ... 1105 35.2 ... SAP-LUW ... 1111 35.3 ... Datenbanksperren ... 1119 35.4 ... SAP-Sperren ... 1122
36. Berechtigungen ... 1125
TEIL IX Benutzerdialoge ... 1129
37. Dynpros ... 1131 37.1 ... Benutzeroberfläche ... 1131 37.2 ... Dynpro-Felder ... 1133 37.3 ... Dynpro-Ablauf und Dynpro-Folgen ... 1135 37.4 ... Anweisungen der Dynpro-Ablauflogik ... 1136 37.5 ... ABAP-Anweisungen für Dynpros ... 1155
38. Selektionsbilder ... 1175 38.1 ... Selektionsbilder erstellen ... 1176 38.2 ... Parameter definieren ... 1196 38.3 ... Selektionskriterien definieren ... 1207 38.4 ... Selektionsbilder aufrufen ... 1216 38.5 ... Selektionsbildverarbeitung ... 1218 38.6 ... Selektionsbildereignisse ... 1219 38.7 ... Freie Abgrenzungen ... 1223
39. Klassische Listen ... 1225 39.1 ... Eigenschaften klassischer Listen ... 1225 39.2 ... Listen erstellen ... 1230 39.3 ... Listen im Listenpuffer bearbeiten ... 1265 39.4 ... Listen anzeigen ... 1274 39.5 ... Spooling von Listen ... 1283 39.6 ... Ereignisblöcke für Listen ... 1292
40. Konvertierungsroutinen ... 1299 40.1 ... Ausführung von Konvertierungsroutinen ... 1299 40.2 ... Funktionsbausteine für Konvertierungsroutinen ... 1300
TEIL X Textablagen und Sprachumgebung ... 1301
41. Textablagen ... 1303 41.1 ... Texte in Text-Pools ... 1303 41.2 ... Nachrichten ... 1305
42. Sprachumgebung ... 1323 42.1 ... Textumgebung ... 1323 42.2 ... Formatierungseinstellungen ... 1326
TEIL XI Programmbearbeitung ... 1331
43. Programme testen und prüfen ... 1333 43.1 ... Checkpoints ... 1333 43.2 ... Laufzeitmessung ... 1339 43.3 ... ABAP Unit ... 1342
44. Programme dynamisch bearbeiten ... 1355 44.1 ... Quelltext dynamisch bearbeiten ... 1356 44.2 ... Textelemente ... 1369
TEIL XII Daten- und Kommunikationsschnittstellen ... 1373
45. Remote Function Call ... 1375 45.1 ... Eigenschaften des RFCs ... 1375 45.2 ... Remote-Funktionsaufruf ... 1382
46. Internet Communication Framework ... 1397 46.1 ... Services ... 1398 46.2 ... Clients ... 1399 46.3 ... Sicherheit ... 1399
47. ABAP Channels ... 1401 47.1 ... ABAP Messaging Channels ... 1401 47.2 ... ABAP Push Channels ... 1406
48. XML-Schnittstelle ... 1411 48.1 ... Klassenbibliotheken für XML ... 1411 48.2 ... Transformationen für XML ... 1438 48.3 ... XSL-Transformationen ... 1438 48.4 ... Identitäts-Transformation ... 1439 48.5 ... Simple Transformations ... 1440 48.6 ... Kanonische XML-Repräsentation ... 1443 48.7 ... Transformation aufrufen ... 1459
49. JSON-Schnittstelle ... 1471 49.1 ... XML-Repräsentation von JSON ... 1471 49.2 ... Parsen und Rendern von JSON-Daten ... 1472 49.3 ... Transformationen für JSON ... 1473 49.4 ... Kanonische JSON-Repräsentation ... 1475
50. OLE-Schnittstelle ... 1481 50.1 ... Automation-Objekt erzeugen ... 1481 50.2 ... Automation-Methode aufrufen ... 1483 50.3 ... Automation-Objekteigenschaften feststellen ... 1485 50.4 ... Automation-Objekteigenschaften ändern ... 1486 50.5 ... Automation-Objekt freigeben ... 1486
51. ABAP und Betriebssystemanweisungen ... 1489 51.1 ... Betriebssystemanweisungen des Applikationsservers ... 1489 51.2 ... Betriebssystemanweisungen des Präsentationsservers ... 1492 51.3 ... Zugriff auf den Präsentationsserver ... 1493
TEIL XIII Erweiterungstechniken ... 1495
52. Quelltext erweitern ... 1497 52.1 ... Implizite Erweiterungsoptionen ... 1497 52.2 ... Explizite Erweiterungsoptionen ... 1498
53. BAdIs ... 1503 53.1 ... BAdI-Objekt erzeugen ... 1504 53.2 ... BAdI-Methode aufrufen ... 1507
TEIL XIV Obsolete Anweisungen ... 1511
54. Obsolete Programmeigenschaften ... 1513 54.1 ... Obsoletes Abschalten der Unicode-Prüfung ... 1513 54.2 ... Obsoletes Abschalten der Festpunktarithmetik ... 1513
55. Obsolete Syntax ... 1515 55.1 ... Obsoleter Anweisungsaufbau ... 1515 55.2 ... Obsolete Operandenpositionen ... 1515 55.3 ... Obsolete Pseudokommentare ... 1516
56. Obsolete eingebaute Datenobjekte ... 1519 56.1 ... Obsolete Systemfelder ... 1519 56.2 ... Die eingebaute Struktur screen ... 1521
57. Obsolete Modularisierung ... 1523 57.1 ... Obsolete Unterprogramme ... 1523 57.2 ... Obsolete Funktionsbausteinparameter ... 1528 57.3 ... Obsoletes Zwischenspeichern ... 1532
58. Obsolete Deklarationen ... 1533 58.1 ... Obsolete Datentypen und Datenobjekte ... 1533 58.2 ... Obsoletes Bekanntmachen und Laden ... 1534 58.3 ... Obsolete Schnittstellen-Arbeitsbereiche ... 1536 58.4 ... Obsolete interne Tabellen ... 1539 58.5 ... Obsolete Feldsymbole ... 1544 58.6 ... Obsoleter Typbezug ... 1545
59. Obsolete Objekterzeugung ... 1547
60. Obsolete Aufrufe ... 1549 60.1 ... Obsolete Transaktionsaufrufe ... 1549 60.2 ... Obsoleter statischer Methodenaufruf ... 1550 60.3 ... Obsoleter Aufruf von Dialogbausteinen ... 1552 60.4 ... Obsoleter Funktionsbaustein-Exit ... 1554 60.5 ... Obsolete Behandlung von Ausnahmen ... 1555 60.6 ... Obsoleter externer Unterprogrammaufruf ... 1556 60.7 ... Obsoletes Verlassen ... 1557
61. Obsolete Programmablaufsteuerung ... 1559 61.1 ... Obsolete relationale Ausdrücke ... 1559 61.2 ... Obsolete Kontrollstrukturen ... 1560 61.3 ... Obsolete abfangbare Laufzeitfehler ... 1565
62. Obsolete Verarbeitung interner Daten ... 1567 62.1 ... Obsolete Zuweisungen ... 1567 62.2 ... Obsolete Rechenanweisungen ... 1571 62.3 ... Obsolete Zeichen- und Bytekettenverarbeitung ... 1574 62.4 ... Obsolete Verarbeitung interner Tabellen ... 1579 62.5 ... Obsolete Extrakte ... 1589
63. Obsolete Verarbeitung externer Daten ... 1599 63.1 ... Obsolete Datenbankzugriffe ... 1599 63.2 ... Obsolete Daten-Cluster-Zugriffe ... 1607 63.3 ... Obsolete Contexte ... 1610 63.4 ... Obsolete logische Datenbanken ... 1614
64. Obsolete Benutzerdialoge ... 1629 64.1 ... Obsolete Dynpro-Ablauflogik ... 1629 64.2 ... Obsolete ABAP-Anweisungen für Dynpros ... 1636 64.3 ... Obsolete Listenverarbeitung ... 1637 64.4 ... Obsolete Texteditoraufrufe ... 1644
65. Obsolete Textumgebung ... 1647 65.1 ... Obsoletes Setzen der Textumgebung ... 1647 65.2 ... Obsoletes Auslesen der Textumgebung ... 1647
66. Obsolete Programmbearbeitung ... 1649 66.1 ... Obsoletes Ausschalten der Programmprüfung ... 1649
67. Obsolete Daten- und Kommunikationsschnittstellen ... 1651 67.1 ... Obsoletes Warten ... 1651 67.2 ... Obsolete XML-Anbindung ... 1651 67.3 ... Obsolete CPI-C-Schnittstelle ... 1651 67.4 ... Obsolete JavaScript-Anbindung ... 1652 Anhang ... 1653 A ... Glossar ... 1653 B ... Der Autor ... 1731 Index ... 1733