Schrödinger programmiert ABAP - Roland Schwaiger

Roland Schwaiger

Schrödinger programmiert ABAP

Das etwas andere Fachbuch. 4. Auflage
eBook (pdf), 753 Seiten
EAN 9783367111664
Veröffentlicht Oktober 2026
Verlag/Hersteller Rheinwerk eBooks

Auch erhältlich als:

Buch (Softcover)
€ 49,90
€ 49,90 inkl. MwSt.
Teilen
Beschreibung

Schrödinger kann schon ein bisschen programmieren, aber ABAP - so stellt er fest - ist eine ganz eigene Welt. Deshalb bringt ihm der Schwaiger Roland jetzt alles bei: von den Grundlagen über ABAP Objects bis zur modernen Cloud-Entwicklung. Da raucht Schrödinger manchmal schon der Kopf vor lauter Datentypen, Klassen und Funktionsbausteinen. Doch dank vieler Übungen und Tipps hat er bald den Durchblick. Wetten, du auch?- Von den ersten Schritten bis zur kompletten Anwendung- Umwerfende Beispiele, fantastisch illustriert- Mit topaktuellen Infos zu SAP S/4HANA, ABAP Cloud und RAP Aus dem Inhalt:- ABAP Development Tools in Eclipse- ABAP-Grundlagen und moderne Syntax- Datentypen und interne Tabellen- ABAP Objects, Vererbung und Interfaces- Core Data Services (CDS)- Entity Manipulation Language (EML)- ABAP RESTful Application Programming Model (RAP)- SAP-Fiori-Benutzeroberflächen- Datenbankzugriffe mit ABAP SQL- Berechtigungen und Zugriffskontrollen- Dynamische Programmierung

Portrait

Dr. Roland Schwaiger ist in so manchen Bereichen der IT-Welt zuhause - Entwickler, Dozent, Forscher und Autor. In seinem Buch "Schrödinger programmiert ABAP" oder "Neuronale Netze programmieren mit Python" verbindet er technisches Know-how mit einem lockeren, humorvollen Stil, der selbst komplexe Themen verständlich und unterhaltsam macht.Seine berufliche Reise begann nach dem Studium der Informatik und Mathematik an der Bowling Green State University (Ohio, USA) und der Universität Salzburg, wo er in Mathematik/Informatik promovierte. Als Softwareentwickler bei der SAP AG in Walldorf sammelte er praktische Erfahrungen im Bereich Human Resources, bevor er sich der Wirtschaft und anwendungsbezogenen Projekten widmete.Seit Anfang 2000 unterrichtet Dr. Schwaiger an Fachhochschulen, Universitäten und für SAP. Dort bringt er Studierenden und Schulungsteilnehmern die Feinheiten der ABAP-Programmierung und Themen wie künstliche Intelligenz näher. Seine angewandte Forschung dreht sich um Künstliche Neuronale Netze, Evolutionäre Algorithmen und innovative Ansätze in der Softwareentwicklung.Als Geschäftsführer der NoR GmbH, einem Unternehmen mit Fokus auf SAP-HCM, SAP-Technologien und KI, bringt er Praxis und Forschung zusammen. Ob in Vorlesungen, Workshops oder seinem Buch - Dr. Schwaiger vermittelt nicht nur Wissen, sondern auch Begeisterung für die Welt der Informatik.

Inhaltsverzeichnis


Vorwort ... 24
1. Eine Nudel­maschine für zu Hause ... 27
Servus Schrödinger!!! ... 28
Die SAP -- Das Unternehmen ... 31
SAP-System ... 32
Die Erfolgsgeschichte: Vom ABAP zum ABAP ... 35
Kompilieren/Interpretieren ... 39
ABAP allgemein ... 40
ABAP-Syntax ... 40
Schrödingers ABAP ... 43
2. Rein in die Küche -- raus aus der Küche ... 45
Anmelden zum Tauchkurs: Eintauchen in die SAP-Welt ... 46
Alles ist Transaktion -- Transaktionen als Shortcuts ... 48
Melde dich an! -- SAP-Anmeldung ... 49
Transaktion starten ... 51
Willkommen Schrödinger! -- SAP-Willkommenstext ... 52
Die Auslage des SAP-Systems -- SAP-GUI-Aufbau ... 55
Alles auf einen Blick -- SAP Easy Access ... 57
Modus Operandi -- Zusätzliche Fenster öffnen ... 59
Das ist doch kein Thema ... 61
Hoppi-Galoppi ... SAP Fiori ... 64
3. Ciao a tutti! (Hallo Welt!) ... 67
Einsteigen und anschnallen! ... 68
Object Navigator -- Die integrierte ­Entwicklungsumgebung ... 70
Entwicklung organisieren -- ­Systemlandschaft, Änderungsauftrag ... 71
Ihr neuer Auftrag lautet: Auftragsanlage ... 73
Organisationskapsel Paket ... 74
Vom Entwickler zum Pakettier -- Paket anlegen ... 77
Die Infos zum Aufbau einer Datenbanktabelle ... 80
Das zweischichtige Domänenkonzept ... 82
Technisches Fundament eines Typs -- Domäne anlegen ... 83
Lege die Bedeutung an -- Datenelement anlegen ... 87
Kühlschrankdesign -- DB-Tabelle anlegen ... 88
Der ultimative Tabellenpflegebildgenerator ... 92
... 96
Das ABAP-Einmaleins -- Grundlegende Syntax ... 97
Der Durchblicker -- Programm entwickeln ... 100
Her mit den Daten -- DB-Zugriff ... 102
Ohne Struktur läuft nichts -- Grundlegende Programmstruktur ... 104
Layouten und Daten transportieren -- Ein einfaches Dynpro ... 109
Ablauflogik ohne Ablaufdatum -- Ablauflogik programmieren ... 118
Ein Shortcut für die User -- Transaktionscode anlegen/ausführen ... 122
Aufbruch in eine neue Welt: ABAP Development Tools ... 124
4. AAA -- Alles außer ABAP ... 127
Warum? ... 128
Die Ablage der Entwicklungsobjekte -- Repository ... 129
Wer suchet der findet -- Suchen mit dem Repository Infosystem ... 132
Geschichtet, aber nicht gefaltet -- ABAP-Infrastruktur ... 136
Wohin mit dem Anwender -- Speicherorganisation extern und intern ... 140
Object Navigator -- Der Regisseur ... 142
Repository Browser ausnutzen ... 145
Repository Browser browsen ... 146
Synchron oder aus dem Tritt -- Objekt-Browser-Synchronisation ... 149
ABAP Editor -- Die Schreibmaschine ... 150
Debugger -- Der Kammerjäger ... 153
Debugger entschleunigt ... 155
Verwendungsnachweis -- Der Rückwärtssucher ... 159
Die ADT können das auch ... 161
5. Schräge Typen* *also jetzt nicht der Schwaiger Roland ... 167
Vorspann ... 167
Von 0 auf 100 auf wenigen Seiten -- Technik der Datenspeicherung im Hauptspeicher ... 168
Variables Standgas -- Datenobjekte ... 170
Variablen sind zum Angreifen ... 171
Variablendeklaration inline ... 172
Ein typischer Blickwinkel -- Datentypen ... 173
Anders betrachtet -- Datentypen ... 175
Ansprache -- Datenobjekte verwenden ... 177
Dynamik pur oder Statik nur? -- Statisch und dynamisch typisierte Variablen ... 178
Mein lokaler Typ ... 179
Zuerst mal elementar lokal -- Lokale elementare Typen ... 180
Dann elementar global -- Globale elementare Typen ... 182
Strukturell lokal -- Lokale strukturierte Typen ... 188
Struktur global -- Globale strukturierte Typen ... 190
Tabellarisch -- typisch/intern -- Lokaler Tabellentyp ... 194
Her mit der internen Tabelle ... 195
Wie viel Spalten hätten Sie denn gerne -- Zeilentyp ... 196
Normal, sortiert oder doch gehasht -- Tabellenart ... 197
Open the door please -- Schlüssel ... 199
Heute mal kopflos -- Kopfzeile ... 200
Tabellen für alle -- Globaler Tabellentyp ... 200
Operation: Table -- Tabellenoperationen ... 203
Einzeln geht es auch -- Einzelverarbeitung von Tabelleneinträgen ... 206
Ändern und Löschen zum Abrunden -- Noch mehr Tabellenoperationen ... 208
6. Si parla ABAP? ­Echtes Küchen­latein ... 215
Von Kontrollen und Schleifen ... 215
Zuweisungen, Operationen, Funktionen ... 216
Bitte nicht abweisen -- Zuweisungen ... 218
Was du darfst und was du sollst -- ­Konvertierungsregeln ... 221
Ketten ohne Perlen -- Zeichenketten-Funktionen ... 223
Ohne Rechnung, ohne mich -- Arithmetische Operationen ... 231
NOTANDOR -- Logische Ausdrücke ... 232
Verzweige, falls ... -- IF ... THEN ... ELSE ... 234
Schleifen ... 237
Bedingungslose Schleifen -- DO ... ENDDO ... 237
Krasses Projekt für Hardcore-ABAPer ... 238
Bedingte Schleife -- Fußgesteuert ... 240
Bedingte Schleife -- Kopfgesteuert ... 241
Jetzt aber mal systematisch -- ­Systemfelder ... 242
Die neue ABAP-Syntax ... 244
7. Kleine Häppchen sind leichter ­wiederverdaut( 'Schluss mit Spaghetti!' ) ... 253
Motivation durch Demotivieren ... 253
Den richtigen Zeitpunkt finden -- Ereignisblöcke ... 255
Ereignisreiche Programme -- Ereignisschlüsselwörter ... 256
Zur richtigen Zeit an irgendeinem Fleck? ... 259
Dynpros mit Modul -- PBO, PAI, HOV ... 261
Module, ganz kurz -- Dynpro-Programmierung ... 263
Aber nun mit Schnittstelle -- Unterprogramme ... 264
Definiere zuerst! Unterprogramm-Definition ... 265
Übergeben und Übernehmen -- Schnittstellenparameter für das Unterprogramm ... 266
Ein Typ muss es sein -- Schnittstelle ­typisieren ... 269
Bitte mit Typ -- Typisieren ... 270
Warum in die Ferne schweifen? -- Lokale Variablen ... 271
Sichtbar oder nicht -- Lokale Überdeckung ... 271
Aufruf bitte -- Unterprogramm-Aufruf ... 273
Globale Wiederverwendung -- ­Funktionsbausteine ... 277
Funktionsgruppe ... 280
Leg dir eine Funktionsgruppe an ... 283
Es ist so weit, global bereit -- ­Funktionsbaustein ... 284
Haaalloooooo -- Funktionsbaustein-Aufruf ... 288
8. Schrödinger zeigt Klasse ... 293
Motivation zur OO ... 294
Begriffe aus der Realität ... 295
Holistische Sichtweise ... 297
Modellierung ... 298
Erst denken, dann lenken: Einfache UML als Analysewerkzeug zur Visualisierung von Klassen/Objekten ... 302
Klasse Kaffee(-vollautomat) auf dem Papier ... 304
Ohne meine Kollaborateure bin ich nichts ... 306
Klasse Lokal ... 310
Dein kleines Objektistan ... 313
Datenablage -- Attribute ... 318
Klasse Attribute, oder was? ... 321
Mit Methode -- ran an den Code ... 325
Die Schnittstelle der Methode ... 330
Ganz spezielle Methoden ... 333
Selbstreferenz ... 338
Statisches Attribut ... 339
Methodenaufruf ... 340
Laufzeit sequenziert ... 341
Methoden für den Wasserbehälter ... 343
Von lokal nach global ... 346
Going global -- SE24 ... 347
Attribute und Methoden ... 349
Senden und Empfangen ... 358
Sender mit Sendungsbedürfnis ... 359
Nächster Zubereitungsschritt: der Empfänger ... 361
Objektorientiertes Verkuppeln ... 362
9. Erben oder nicht, das ist hier die Frage: Pasta di Erbe ... 365
Vererben und Erben von Klassen ... 368
Vererbung lokal ... 372
Globale Vererbung: Ein praktisches Beispiel im SAP-Standard ... 376
Redefinieren -- Polymorphie von Methoden ... 383
Redefinieren als globale Herausforderung ... 386
Statische und dynamische Typen von Klassen mit ein wenig Casting ... 392
Down-Cast ... 397
Abstrakte Klassen ... 400
10. Keine Details bitte ... 405
Schizophrenie? ... 406
Lokal zum Einsteigen ... 408
Schnittig und definiert ... 410
Volles Risiko -- alles oder nichts ... 411
Klasse Zuordnung ... 411
Klasse Definition ... 413
Klasse Implementierung ... 414
Hast du gerufen? ... 416
Globalisierung mit positiven Auswirkungen ... 420
Eine global klasse Implementierung ... 423
Singleton-Party ... 425
11. Das Kapitel für ­Feiglinge ... 429
Ausnahmsweise behandelt ... 429
Eine kleine Geschichte der Ausnahmen ... 431
It's RAISING men, hallelujah. ... 438
Ausnahmen melden ... ... 438
... und behandeln ... 439
Ausnahmslos Objekte ... 445
Definieren geht vor ... 446
... und Ausnahmen behandeln, aber richtig! Mit Ausnahmeklassen. ... 453
12. Schrödingers Speisekarten-Albtraum ... 461
Erst mal eine solide Grundlage -- ein leeres Programm ... 464
Eine Entscheidung, bitte: PARAMETERS ... 465
Die Auswahl lichtet sich -- das erste Eingabefeld ... 466
Darf's ein bisschen mehr sein? SELECT-OPTIONS ... 468
Vegetarisch, Fisch oder Fleisch -- Radiobuttons mit Sofortwirkung ... 470
Drei Ereignisse, drei Aufgaben: AT SELECTION-SCREEN ... 472
Daten holen -- SELECT mit JOIN und MESSAGE ... 474
Schreiben mit Stil -- WRITE, TOP-OF-PAGE und ein bisschen Glamour ... 476
Das fertige Programm -- das volle Speisekartenerlebnis ... 477
13. Most Valuable Cook (MVC) ... 483
Dein Wirtshaus, dein Rahmenprogramm ... 485
Vier Sichten -- und die Köchin dirigiert ... 489
Schwing den Kochlöffel -- Module schreiben ... 490
Decken und garnieren -- der Layout-Editor ... 492
À la carte -- durch die Speisekarte blättern ... 496
Kellner mit Bestellbuch -- GUI-Status ... 498
Bestellung aufnehmen -- OK-Code ... 502
Ich nehm eh immer Wiener Schnitzel -- zielsicher zu einer Mahlzeit ... 503
Tellerwechsel -- das Detail-Pop-up als zweites Dynpro ... 505
Speisentypänderung prüfen -- CHAIN-FIELD ... 507
14. Ravioli ... 511
15. Bäume, Bäume, Bäume ... und langsam wächst daraus ein Wald ... 513
Aus Grau mach bunt -- die Evolution der SAP-Oberflächen ... 514
Der kleinstmögliche SAPUI5-Werkzeugkoffer ... 519
Dein Cockpit einrichten -- BAS abonnieren und Dev Space anlegen ... 519
Hello OData-World! ... 521
Bei Aufruf Service (und dessen Analyse) ... 524
Destinationen oder 'Wohin soll ich mich wenden?' ... 529
Weg 1: Selbst gebaut -- OData V2 mit SEGW und eine Freestyle-App ... 530
Erst mal Rucksack packen -- zwei Tabellen fürs Gepäck ... 531
Der Service Builder -- ein SEGW-Projekt anlegen ... 534
Ein bisschen ABAP muss sein -- GET_ENTITYSET und GET_ENTITY ... 536
Und jetzt die Oberfläche -- eine schlanke Freestyle-App ... 541
So eine schöne Aussicht -- der Haupt-View ... 546
Einer muss ja die Kontrolle haben -- der Haupt-Controller für Auswahl und Navigation ... 548
Das Routing -- zwei Seiten, eine App ... 550
Jetzt geht's ans Detail -- Positionen über die Association abbilden ... 552
Weg 2: SAP Fiori Elements -- die Fertigpackung ... 555
Weg 3: RAP -- wenn der Service aus dem eigenen Backend kommt ... 565
Erster Baustein -- das CDS-Datenmodell ... 566
Zweiter Baustein -- die Verhaltensdefinition ... 571
Zwischenspiel 1: Die Draft-Tabelle anlegen ... 574
Zwischenspiel 2: Den Behavior Pool implementieren ... 576
Dritter Baustein -- der Business-Service ... 577
16. Raus aus meiner Küche! ... 583
Berechtigungsrundumschlag ... 583
Die Details zur Berechtigung ... 590
Der Berechtigungs-Selbstchecker -- S_TCODE prüfen ... 592
Warum mag mich keiner -- SU53 ... 594
Finger weg von meinem View! ... 596
17. Vorratskammer ­einrichten mit ziemlich viel Schnickschnack ... 601
Freiland-Datenhaltung -- ­Daten persistieren ... 602
Warum einfach, wenn es mit Schnittstelle geht -- Die Datenbankschnittstelle ... 604
Transparente Tabelle en Detail ... 606
Ohne Technik keine Tabelle -- Technische Einstellungen ... 614
... 619
Mehr als eine Tabelle ... 620
Welcher Wert ist möglich -- Fremdschlüssel ... 623
Ich will auch anders suchen -- Sekundärindex ... 628
Definieren und Realisieren -- Datenbankobjekt ... 632
Mein erster Eintrag -- Datenbanktabellen-Einträge erzeugen ... 634
Artenvielfalt im Dictionary -- Weitere Tabellenarten ... 635
18. Vorratskammer plündern ... 637
Erster Takt -- SQL ... 637
Zweiter Takt -- SQL ... 638
Eingelagert und geplündert -- Datenpufferung ... 639
Datenmanipulator nativ -- DML mit Native SQL ... 640
Einfach definieren -- Datendefinition mit dem ABAP Dictionary ... 640
Alles recht und schön -- Berechtigungen und Konsistenzprüfungen ... 641
ABAP SQL grundiert -- Basisbefehlssatz aus ABAP SQL ... 641
Verklausuliert -- SELECT-Klausel ... 642
Woher? FROM source ... 647
Da geht noch mehr -- Weitere Klauseln ... 649
Und jetzt alles kombiniert -- SELECT-Beispiel ... 650
Mehr als eine Tabelle ist auch okay -- Views ... 655
Schritt für Schritt zum View mit ­relationalen Operatoren ... 660
Da will ich auch nicht alles -- Selektionsbedingungen ... 668
Mit Views programmieren ... 671
Weil du so brav warst -- Programmieren mit Views ... 674
Die CDS-Beziehungskiste: Von Joins und Assoziationen ... 676
19. Vorratskammer in Schuss halten ... 681
Lesen ist Silber, Schreiben ist Gold -- DELETE, UPDATE, MODIFY und INSERT ... 681
Sichere Daten -- Transaktionskonzept ... 682
Von einem Zustand zum nächsten -- Datenbank-LUW ... 684
Aktionen bündeln -- SAP-LUW ... 687
Und jetzt auch noch transaktional -- SAP-Transaktion ... 689
Und noch eins und noch eins und ... -- INSERT ... 695
Massendaten einfügen ... 698
Weg damit -- DELETE ... 702
Halt, Sperre! -- Sperrkonzept ... 707
20. Mit Schirm, Charme -- und vielleicht noch ­einem Melonensorbet ... 709
21. Täglich wechselnde Speisekarten ... 711
Dynamische Programmierung hat nichts mit Beweglichkeit zu tun ... 712
Feldsymbole ... 712
Datenrefs ... 714
RTTS = RTTI + RTTC ... 716
Überschrift finden ... 717
Dynamische Tokens ... 719
Dynamisches Feld ... 720
Dynamischer Typ ... 721
Dynamische Komponente ... 722
Dynamische Bedingung ... 722
Dynamisches Unterprogramm ... 724
Programmerzeugung im Hauptspeicher ... 724
Programmerzeugung im Repository ... 725
Bildnachweis ... 728
Index ... 729

Technik
Sie können dieses eBook zum Beispiel mit den folgenden Geräten lesen:
• tolino Reader 
Laden Sie das eBook direkt über den Reader-Shop auf dem tolino herunter oder übertragen Sie das eBook auf Ihren tolino mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions. 
• Sony Reader & andere eBook Reader 
Laden Sie das eBook direkt über den Reader-Shop herunter oder übertragen Sie das eBook mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions auf ein Standard-Lesegeräte. 
• Tablets & Smartphones 
Möchten Sie dieses eBook auf Ihrem Smartphone oder Tablet lesen, finden Sie hier unsere kostenlose Lese-App für iPhone/iPad und Android Smartphone/Tablets. 
• PC & Mac 
Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions, Sony READER FOR PC/Mac oder direkt über Ihre eBook-Bibliothek in Ihrem Konto unter „Meine eBooks“ -  „online lesen“.
 
Bitte beachten Sie, dass die Kindle-Geräte das Format nicht unterstützen und dieses eBook somit nicht auf Kindle-Geräten lesbar ist.
Hersteller
Libri GmbH
Friedensallee 273

DE - 22763 Hamburg

E-Mail: GPSR@libri.de

Website: www.libri.de