ABAP Objects - Felix Roth

ABAP Objects

Das aktuelle, umfassende Handbuch zu Konzepten, Sprachelementen und Werkzeugen in ABAP OO

(Autor)

Buch | Hardcover
1130 Seiten
2020 | 2. Auflage
Rheinwerk (Verlag)
978-3-8362-7692-4 (ISBN)
79,90 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
  • Konzepte, Sprachelemente und Werkzeuge verständlich erklärt
  • Ihr praktisches Nachschlagewerk für alle Programmierfragen
  • Inkl. der neuen ABAP-Programmiermodelle für SAP S/4HANA

Alle Techniken, Sprachelemente und Werkzeuge für den Programmieralltag vollständig und verständlich erklärt! Dieses Buch ist Ihnen ein unverzichtbares Hilfsmittel, ob als Begleiter während einer Einstiegsschulung oder als Nachschlagewerk.

Sie werden mit den Standardwerkzeugen, wie ABAP Workbench und ABAP Development Tools, sowie den Regeln und Elementen der Sprache vertraut gemacht – von der objektorientierten Programmierung mit Klassen und Interfaces bis zu den neuen Programmiermodellen für SAP S/4HANA.

Programm- und Dialogentwicklung
Sie lernen die ABAP-Grundbefehle, den Umgang mit internen Tabellen, den Zugriff auf Datenbanken und die Syntax von ABAP Objects – alles aktuell zu ABAP 7.54. So werden Sie den Umgang mit Reports, Selektionsbildschirmen, Klassen und Funktionsbausteinen bald mühelos beherrschen.

Hilfreiche Werkzeuge
Felix Roth stellt Ihnen nützliche Techniken und Tools für die ABAP-Entwicklung vor: Debugger, Performanceanalysetools, Transportwesen, SAP List Viewer (ALV), Core Data Services (CDS) und vieles mehr.

Objektorientierte Programmierung
Die objektorientierte Programmierung mit ABAP wird Ihnen mit diesem Buch keine Schwierigkeiten mehr bereiten. Verstehen Sie, welche Ideen dahinter stecken, und erlernen Sie den sicheren Umgang mit Klassen und Methoden.

Aus dem Inhalt:
ABAP Workbench und ABAP Development Tools (Eclipse)
ABAP Dictionary
Datenbankzugriffe und neue SQL-Funktionen
CDS und BOPF
Reports und Selektionsbildschirme
Tests und Performanceanalyse
Transporte und Jobverwaltung
Schnittstellen, RFC und Erweiterungstechniken
Klassen, Methoden, Ereignisse und Interfaces
ABAP-Programmiermodell für SAP Fiori und RESTful-ABAP-Programmiermodell
ABAP Channels und ABAP Daemon Framework
Nützliche Übersichten und Glossar

Felix Roth ist Trainer, Entwickler und Berater mit Herzblut und im kompletten ABAP-Technologie-Umfeld zu Hause. Aktuell ist er als selbstständiger Berater unter dem Namen LOOP AT Consulting (www.loop-at.de) tätig. In seiner Position berät er Kunden in den verschiedensten Entwicklungsprojekten und beschäftigt sich maßgeblich mit den neuesten SAP-Technologien. Seit 2014 hält Felix Roth regelmäßig SAP-Schulungen für die Integrata AG.



Einleitung ... 33


Teil I. Die Werkzeugkiste des ABAP-Entwicklers ... 43


1. Die ABAP Workbench ... 45


1.1 ... Die Werkzeuge der ABAP Workbench ... 46

1.2 ... Der Object Navigator ... 47

1.3 ... Der Repository Browser ... 50

1.4 ... Der ABAP Editor ... 52



2. Die ABAP Development Tools ... 69


2.1 ... SAPs Eclipse-Strategie ... 69

2.2 ... Installation und Konfiguration ... 71

2.3 ... Ein System anbinden ... 75

2.4 ... Einen Report anlegen ... 76

2.5 ... Die Menüleiste und wichtige Tastaturkürzel ... 77

2.6 ... Der Pretty Printer und weitere Quellcodefunktionen ... 81

2.7 ... Die Musterfunktion ... 81

2.8 ... Der Debugger ... 83

2.9 ... Dokumentation mit ABAP Doc ... 89

2.10 ... Refactoring-Funktionen ... 93



3. Das ABAP Dictionary ... 97


3.1 ... Domänen ... 99

3.2 ... Datenelemente ... 104

3.3 ... Strukturen ... 107

3.4 ... Tabellentypen ... 109

3.5 ... Datenbanktabellen ... 112

3.6 ... Indizes ... 118

3.7 ... Typgruppen ... 119

3.8 ... Views ... 120

3.9 ... Pflegedialoge ... 124

3.10 ... Suchhilfen ... 128

3.11 ... Datenbank-Utility-Tool ... 131

3.12 ... Das Sperrkonzept ... 132



4. Transaktionen ... 135


4.1 ... Transaktionen anlegen ... 136

4.2 ... Transaktionen mit ABAP aufrufen ... 140



5. Der Function Builder ... 143


5.1 ... Der Aufbau eines Funktionsbausteins ... 143

5.2 ... Einen Funktionsbaustein anlegen ... 146

5.3 ... Funktionsbausteine testen ... 147

5.4 ... Funktionsgruppen ... 148



6. Der Class Builder ... 151


6.1 ... Klassen anlegen ... 151

6.2 ... Ausnahmeklassen anlegen ... 163

6.3 ... Interfaces anlegen ... 164



Teil II. Der Kern der Sprache ABAP ... 165


7. Die ABAP-Grundbefehle ... 167


7.1 ... Syntaxregeln ... 168

7.2 ... Kommentare ... 169

7.3 ... Die SAP-Hilfe ... 170

7.4 ... Datendeklaration ... 171

7.5 ... Inline-Deklarationen ... 183

7.6 ... Typdefinitionen ... 184

7.7 ... Initialisierung ... 188

7.8 ... Steueranweisungen ... 188

7.9 ... Rechenoperationen ... 196

7.10 ... Ausgabeanweisungen ... 199

7.11 ... Meldungen ... 201

7.12 ... Mit Zeichenketten arbeiten ... 203

7.13 ... Konstruktorausdrücke ... 216

7.14 ... Operandenpositionen ... 227

7.15 ... Änderungen und Neuerungen bis ABAP 7.54 ... 229



8. Mit internen Tabellen arbeiten ... 231


8.1 ... Tabellenarten ... 232

8.2 ... Interne Tabellen definieren ... 234

8.3 ... Interne Tabellen initialisieren ... 238

8.4 ... Zeilen hinzufügen ... 239

8.5 ... Inhalt auslesen ... 250

8.6 ... Einträge löschen ... 264

8.7 ... Inhalt ändern ... 265

8.8 ... Interne Tabellen kopieren ... 270

8.9 ... Interne Tabellen aufbereiten ... 272

8.10 ... Eingebaute Funktionen für interne Tabellen ... 279

8.11 ... Meshes ... 281

8.12 ... Änderungen und Neuerungen im Umfeld von internen Tabellen bis ABAP 7.54 ... 285



9. Zugriff auf Datenbanken ... 287


9.1 ... Die fünf goldenen Regeln ... 288

9.2 ... Die Open-SQL-Anweisung SELECT ... 290

9.3 ... Open-SQL-Ausdrücke ... 315

9.4 ... Open-SQL-Funktionen ... 320

9.5 ... Ändernde Open-SQL-Anweisungen ... 327

9.6 ... Sekundäre Datenbankverbindungen ... 335

9.7 ... Natives SQL ... 335

9.8 ... ABAP Core Data Services (CDS) ... 339

9.9 ... Änderungen und Neuerungen im Umfeld von Open SQL bis ABAP 7.54 ... 370

9.10 ... Änderungen und Neuerungen im Umfeld von CDS bis ABAP 7.54 ... 372



10. Zugriff auf SAP-HANA-Entwicklungsobjekte ... 375


10.1 ... Aufruf von SAP-HANA-Views ... 375

10.2 ... Aufruf von Datenbankprozeduren ... 378

10.3 ... ABAP Managed Database Procedures (AMDP) ... 381

10.4 ... Änderungen und Neuerungen beim Zugriff auf SAP-HANA-Entwicklungsobjekte bis ABAP 7.54 ... 386



11. Die ABAP-Objects-Syntax ... 389


11.1 ... Grundaufbau einer Klasse ... 390

11.2 ... Sichtbarkeiten ... 393

11.3 ... Datentypen und Attribute ... 394

11.4 ... Methoden ... 395

11.5 ... Konstruktoren ... 402

11.6 ... Ereignisse ... 405

11.7 ... Vererbung ... 408

11.8 ... Klassenarten ... 410

11.9 ... Ausnahmen für Methoden ... 412

11.10 ... Freunde ... 418

11.11 ... Interfaces ... 418

11.12 ... Das ABAP-Objects-Muster ... 422

11.13 ... Casting ... 423

11.14 ... Objekttyp überprüfen ... 424

11.15 ... Änderungen und Neuerungen in ABAP Objects bis ABAP 7.54 ... 426



12. Reports und Selektionsbildschirme ... 427


12.1 ... Ereignisse eines Reports ... 428

12.2 ... Eingabeelemente ... 429

12.3 ... Strukturierungselemente für den Selektionsbildschirm ... 439

12.4 ... Ereignisse eines Selektionsbildschirms ... 443

12.5 ... Textelemente ... 447

12.6 ... Nachrichtenklassen ... 451

12.7 ... Einen Report mit ABAP aufrufen ... 454

12.8 ... SPA-/GPA-Parameter ... 456



13. Strukturierungselemente in ABAP ... 459


13.1 ... Unterprogramme ... 460

13.2 ... Makros ... 466

13.3 ... Includes ... 468

13.4 ... Funktionsbausteine ... 471

13.5 ... Datenkonsistenz ... 477



14. Die Dynpro-Programmierung ... 479


14.1 ... Dynpros anlegen ... 480

14.2 ... Ablauflogik eines Dynpros ... 484

14.3 ... SAP Control Framework ... 492

14.4 ... Pop-up-Fenster ... 496



Teil III. Techniken zur Qualitätssicherung ... 501


15. Tests und Qualitätskontrolle ... 503


15.1 ... Der ABAP Debugger ... 503

15.2 ... Das Debugging-Skript ... 522

15.3 ... Der Code Inspector ... 528

15.4 ... ABAP Unit ... 532

15.5 ... Das ABAP Test Cockpit ... 541



16. Werkzeuge und Tipps zur Performanceanalyse ... 545


16.1 ... Richtlinien für die ABAP-Entwicklung ... 546

16.2 ... Transaktion SAT: Laufzeitanalyse ... 548

16.3 ... Transaktion SE30: Die alte Laufzeitanalyse ... 552

16.4 ... SQL-Monitor ... 554

16.5 ... SQL Performance Tuning Worklist ... 558

16.6 ... Transaktion ST05 ... 559

16.7 ... Laufzeitanalyse mithilfe der ABAP-Programmierung ... 563

16.8 ... Application Log ... 565



17. Das Transportwesen ... 571


17.1 ... Die SAP-Systemlandschaft ... 572

17.2 ... Transportaufträge ... 575



18. Die Jobverwaltung ... 587


18.1 ... Transaktion SM36: Jobs definieren ... 587

18.2 ... Transaktion SM37: Jobs überwachen und freigeben ... 594

18.3 ... Ereignisse für Jobs ... 595

18.4 ... Jobs mit ABAP definieren ... 596



Teil IV. Fortgeschrittene Programmiertechniken ... 599


19. Tabellenanzeige mit dem SAP List Viewer (ALV) ... 601


19.1 ... Die alte ALV-Anzeige ... 603

19.2 ... Die neue ALV-Anzeige ... 622

19.3 ... SAP List Viewer mit integriertem Datenzugriff (IDA) ... 637

19.4 ... Mehrere ALV-Tabellen auf einer Oberfläche ... 652



20. SAP-Schnittstellen ... 655


20.1 ... RFC-Funktionsbausteine ... 656

20.2 ... Business-Objekte und BAPIs ... 658

20.3 ... Flat Files ... 669

20.4 ... Webservices (SOAP) ... 676

20.5 ... Batch Input ... 692

20.6 ... Einführung in die Legacy System Migration Workbench (LSMW) ... 699



21. SAP-Erweiterungen ... 701


21.1 ... User Exits ... 701

21.2 ... Customer Exits ... 704

21.3 ... Klassische Business Add-ins (BAdIs) ... 708

21.4 ... Enhancement Framework ... 712

21.5 ... Neue Business Add-ins (BAdIs) ... 732

21.6 ... Switch Framework ... 745

21.7 ... Suche nach Erweiterungen ... 747



22. SAP-Formularentwicklung ... 749


22.1 ... Der Druckdialog ... 751

22.2 ... SAPscript ... 752

22.3 ... SAP Smart Forms ... 760

22.4 ... SAP Interactive Forms by Adobe ... 770

22.5 ... Generierung von PDFs ... 775



23. Business Object Processing Framework ... 781


23.1 ... Aufbau von Geschäftsobjekten ... 784

23.2 ... Anwendung der Consumer-API ... 795



24. Fortgeschrittene Programmiertechniken ... 811


24.1 ... Object Services ... 812

24.2 ... Mit XML und JSON arbeiten ... 820

24.3 ... Daten im Memory ablegen ... 825

24.4 ... Parallelisierung ... 832

24.5 ... Dynamische Erzeugung von Datenobjekten ... 834

24.6 ... Runtime Type Services (RTTS) ... 840

24.7 ... Dynamisches SQL ... 850

24.8 ... Das ABAP Daemon Framework (ADF) ... 852

24.9 ... ABAP Channels ... 860



Teil V. Objektorientierte Programmierung ... 873


25. Grundlagen der Objektorientierung ... 875


25.1 ... Einführung für ABAP-Entwickler ... 875

25.2 ... Klassen und Objekte ... 881

25.3 ... Instanziierung ... 884

25.4 ... Datenkapselung ... 887

25.5 ... Ereignisse ... 890

25.6 ... Vererbung ... 892

25.7 ... Klassenarten ... 897

25.8 ... Interfaces ... 898

25.9 ... Polymorphie ... 902

25.10 ... Zusammenfassung ... 904



26. Unified Modeling Language (UML) ... 907


26.1 ... Anwendungsfalldiagramm ... 908

26.2 ... Klassendiagramm ... 913



27. Anwendungsentwicklung -- wo fange ich an? ... 923


27.1 ... Anforderungsermittlung ... 925

27.2 ... Analyse ... 930

27.3 ... Entwurf ... 934



28. Entwurfsmuster ... 937


28.1 ... Singleton ... 938

28.2 ... Fabrikmethode ... 940

28.3 ... Model View Controller ... 945

28.4 ... Fassade ... 953

28.5 ... Observer ... 954

28.6 ... Objektorientierte Reports ... 961



Teil VI. Ein Blick über den Tellerrand: Was Sie als ABAP-Entwickler sonst noch kennen sollten ... 965


29. ABAP-Programmiermodelle ... 967


29.1 ... Das klassische Programmiermodell ... 970

29.2 ... Die Innovation für die Zukunft ... 972

29.3 ... Das ABAP-Programmiermodell für SAP Fiori ... 974

29.4 ... Das ABAP-RESTful-Programmiermodell ... 977



30. SAP HANA ... 981


30.1 ... Überblick ... 982

30.2 ... Architektur ... 983

30.3 ... Migration auf SAP HANA ... 987

30.4 ... SAP-HANA-Objekte ... 988

30.5 ... Volltextsuchen ... 992



31. SAPUI5, SAP Fiori und SAP Gateway ... 1001


31.1 ... SAPUI5 ... 1002

31.2 ... SAP Web IDE ... 1004

31.3 ... SAP Fiori ... 1005

31.4 ... OData ... 1007

31.5 ... SAP Gateway ... 1013

31.6 ... Entwicklung eines OData-Service ... 1015

31.7 ... Überblick über die Implementierung der CRUDQ-Methoden ... 1027



32. Andere SAP-Webtechnologien ... 1035


32.1 ... Business Server Pages (BSP) ... 1036

32.2 ... Web Dynpro ABAP ... 1043

32.3 ... Internet Communication Framework ... 1061



Anhang ... 1065


A. Das SAP-Flugdatenmodell ... 1067


B. Übersicht der ABAP-Anweisungen ... 1069


C. Eingebaute Datentypen ... 1079


D. Transaktionscodes ... 1081


E. Wichtige Systemfelder ... 1085


F. Technische Tabellen ... 1087


G. Nützliche Funktionsbausteine ... 1089


H. Klassen ... 1093


I. Namenskonventionen für die Programmierung ... 1095


J. Systemglossar und Suche nach fremdsprachigen SAP-Begriffen ... 1099


K. Der Autor ... 1101


L. Glossar ... 1103


Index ... 1109

»Wenn du dich ernsthaft mit der ABAP-Programmierung befassen willst, dann ist dieses Buch ein Muss. Im Vergleich zu den Alternativen, gibt es kein so kompaktes Buch mit über 1100 Seiten. Da der Inhalt keine Wünsche übrig lässt, empfehle ich dieses Buch allen Leuten, die ernsthaft ABAP lernen wollen.« Programmierbuch.de 202003

»Wenn du dich ernsthaft mit der ABAP-Programmierung befassen willst, dann ist dieses Buch ein Muss. Im Vergleich zu den Alternativen, gibt es kein so kompaktes Buch mit über 1100 Seiten. Da der Inhalt keine Wünsche übrig lässt, empfehle ich dieses Buch allen Leuten, die ernsthaft ABAP lernen wollen.«

Erscheinungsdatum
Reihe/Serie SAP PRESS
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Weitere Themen SAP
Schlagworte ABAP development • ABAP-Entwicklung • ABAP OO • ABAP-Programmierung • ABAP Workbench • Befehle • Dialogprogrammierung • Entwicklung • Klassen • Methoden • Objektorientierung • Referenz • SAP ABAP • SAP HANA • SAP NetWeaver • Schnittstellen • Tests • Tipp Hand-Buch Anleitung Best Practice Übung • Tipp Hand-Buch Anleitung Best Practice Übung Training Lernen • Tools • Transporte • umfassendes Handbuch
ISBN-10 3-8362-7692-5 / 3836276925
ISBN-13 978-3-8362-7692-4 / 9783836276924
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich