
Schrödinger programmiert ABAP
Das etwas andere Fachbuch
Roland Schwaiger(Author)
SAP PRESS
1st Edition
Published on 25. February 2013
Book
Paperback/Softback
735 pages
978-3-8362-1858-0 (ISBN)
Article exhausted; check for reprint
Description
IF Knobeleien AND Gimmicks AND Spaß beim Lernen,THEN Schrödinger erste Wahl,ELSE klassisches Lehrbuch,ENDIF.So ungefähr haben wir uns das mit Schrödinger gedacht. Denn Schrödinger ist unser Mann fürs Programmieren! Er kann schon was, aber eben noch nicht ABAP. Und er weiß auch nicht so richtig, was er von dieser komischen Sprache halten soll. Trotzdem bringt ihm der Schwaiger Roland jetzt alles bei. Mit der nötigen Theorie und vielen Hinweisen und Tipps (im Büro); Unmengen von gutem Code, aber auch schlechtem, der verbessert und repariert werden will (in der Werkstatt); mit viel Kaffee und Übungen und den verdienten Pausen (zu Hause im Wohnzimmer). Also alles wie immer, nur eben etwas anders.Schrödinger garantiert:- Einen ausführlichen Einstieg in ABAP- Lösungen für die tägliche Programmierarbeit- Jede Menge guter Beispiele- Leichtes Lernen durch Abwechslung und Spaß- Erfolg für Einsteiger, Umsteiger und Fortgeschrittene
Schrödinger garantiert:
Einen ausführlichen Einstieg in ABAP
Lösungen für die tägliche Programmierarbeit
Jede Menge guter Beispiele
Leichtes Lernen durch Abwechslung und Spaß
Erfolg für Einsteiger, Umsteiger und Fortgeschrittene
Schrödinger garantiert:
Einen ausführlichen Einstieg in ABAP
Lösungen für die tägliche Programmierarbeit
Jede Menge guter Beispiele
Leichtes Lernen durch Abwechslung und Spaß
Erfolg für Einsteiger, Umsteiger und Fortgeschrittene
Reviews / Votes
»Eine heitere und verständliche Lektüre mit garantiertem Lerneffekt. [...] Ein ABAP-Comic mit ernstem Hintergrund. Das Buch kann fesseln und kaum hat man es weggelegt, will man schon wieder weiterlesen. Ich finde es hat einen absoluten Suchtcharakter. [...] Ein geniales Buch für alle, die nicht auf Trockenfutter in Fachbuchformat, stehen. Der Lerneffekt bleibt nicht aus weil die Programmiersprache in kleinen, verständlichen Happen serviert wird. Der Aufbau ist logisch und verständlich. Ein Neuling wird geführt, nicht irregeführt. Was soll ich sagen: es hat wahnsinnig Spaß gemacht die Nase in das Buch zu stecken. Ganz nebenbei habe ich viel Verständnis für die Programmiersprache gewonnen und der Respekt vor der programmierenden Zunft ist gestiegen. Aber viel wichtiger ist, ich habe es verstanden und kann mich, wenn auch noch ein wenig stolpernd, durch kleinere Programme lesen und verstehen warum das System sich so verhält oder verhalten soll.«
More details
Series
Language
German
Place of publication
Bonn
Germany
Publishing group
Rheinwerk
Edition type
New edition
Product notice
Klappenbroschur
Dimensions
Height: 23.5 cm
Width: 20 cm
ISBN-13
978-3-8362-1858-0 (9783836218580)
Schweitzer Classification
Other editions
New editions

Book
03/2019
3rd Edition
SAP PRESS
€49.90
Available immediately

Roland Schwaiger
Schrödinger programmiert ABAP
Das etwas andere Fachbuch - Dein unterhaltsamer Einstieg in ABAP
Book
03/2014
2nd Edition
SAP PRESS
€49.90
Article exhausted; check for reprint
Person
Dr. Roland Schwaiger studierte an der Bowling Green State University, OH (USA) Computer Science und an der Universität Salzburg (Österreich) Angewandte Informatik und Mathematik und promovierte dort im Bereich Mathematik. Nach mehrjähriger Assistententätigkeit an der Universität Salzburg kam er 1996 als Softwareentwickler zur SAP AG und entfaltete dort seine Fähigkeiten für drei Jahre im Bereich Human Resources in einem anregenden und inspirierenden Umfeld.
Seit 1999 ist er als freiberuflicher Trainer, Lektor, Berater und Entwickler tätig (Zertifizierter Development Consultant SAP NetWeaver 2004 - Application Development Focus ABAP). Er setzt seine akademische Vorbildung und das bei SAP erworbene Wissen, abgerundet durch einen MBA in Prozess- und Projektmanagement, für die Softwareentwicklung in konkreten Entwicklungsprojekten und SAP-Schulungen ein. Die dort wiederum erworbenen Erkenntnisse trägt er zurück in die akademische Welt und verknüpft so Theorie und Praxis.
Seit 1999 ist er als freiberuflicher Trainer, Lektor, Berater und Entwickler tätig (Zertifizierter Development Consultant SAP NetWeaver 2004 - Application Development Focus ABAP). Er setzt seine akademische Vorbildung und das bei SAP erworbene Wissen, abgerundet durch einen MBA in Prozess- und Projektmanagement, für die Softwareentwicklung in konkreten Entwicklungsprojekten und SAP-Schulungen ein. Die dort wiederum erworbenen Erkenntnisse trägt er zurück in die akademische Welt und verknüpft so Theorie und Praxis.
Content
Vorwort ... 24
1. Eine Nudelmaschine für zu Hause - Die SAP, das SAP-System und ABAP ... 27
Servus Schrödinger!!! ... 28
Schrödingers SAP-System -- Eigenes SAP-System runterladen ... 31
Schrödingers SAP-System -- Das brauchst du dafür ... 33
Schrödingers SAP-System -- Installieren ... 34
Die SAP -- Das Unternehmen ... 37
SAP -- SAP-System ... 38
Die Erfolgsgeschichte: Vom ABAP zum ABAP ... 41
Kompilieren/Interpretieren ... 45
ABAP allgemein ... 46
ABAP-Syntax ... 47
Beispiel ABAP ... 49
Schrödingers ABAP ... 50
2. Rein in die Küche -- raus aus der Küche - Starten mit dem SAP-System ... 51
Anmelden zum Tauchkurs: Eintauchen in die SAP-Welt ... 52
Alles ist Transaktion -- Transaktionen als Shortcuts ... 54
Melde dich an! -- SAP-Anmeldung ... 55
Transaktion starten ... 57
Willkommen Schrödinger! -- SAP-Willkommenstext ... 58
Die Auslage des SAP-Systems -- SAP GUI-Aufbau ... 61
Alles auf einen Blick -- SAP Easy Access ... 63
Modus Operandi -- Zusätzliche Fenster öffnen ... 65
Hüben und drüben, nichts als Üben -- Rolands Folterkammer oder Übung macht den Meister ... 67
3. Ciao a tutti! (Hallo Welt!) ... 69
Einsteigen und anschnallen! ... 70
Object Navigator -- Die integrierte Entwicklungsumgebung ... 72
Entwicklung organisieren -- Systemlandschaft, Änderungsauftrag ... 73
Ihr neuer Auftrag lautet: Auftragsanlage ... 75
Organisationskapsel Paket ... 77
Vom Entwickler zum Pakettier -- Paket anlegen ... 79
Einen Schritt zurück und bald zwei nach vorne ... 82
Die Infos zum Aufbau einer Datenbanktabelle ... 83
Das zweischichtige Domänenkonzept ... 84
Technisches Fundament eines Typs -- Domäne anlegen ... 86
Lege die Bedeutung an -- Datenelement anlegen ... 89
Kühlschrankdesign -- DB-Tabelle anlegen ... 91
Daten verarbeiten -- Programm anlegen ... 95
Das ABAP-Einmaleins -- Grundlegende Syntax ... 96
Der Durchblicker -- Programm entwickeln ... 98
Her mit den Daten -- DB-Zugriff ... 100
Jetzt lese ich ... 101
Ohne Struktur läuft nichts -- Grundlegende Programmstruktur ... 102
Alles muss es auch nicht sein -- Einfaches Selektionsbild ... 104
Layouten und Daten transportieren -- Ein einfaches Dynpro ... 108
Dekorieren der Auslage -- Dynpro-Layout ... 110
Ablauflogik ohne Ablaufdatum -- Ablauflogik programmieren ... 116
Ein Shortcut für den User -- Transaktionscode anlegen/ausführen ... 120
4. AAA -- Alles außer ABAP - ABAP-Infrastruktur und -Werkzeuge ... 121
Warum? ... 122
Die Ablage der Entwicklungsobjekte -- Repository ... 123
Wer suchet der findet -- Suchen mit dem Repository Infosystem ... 128
Suche von oben -- Suchen in der Anwendungshierarchie ... 130
Suchen und Finden -- Repository Infosystem ... 131
Geschichtet, aber nicht gefaltet -- ABAP-Infrastruktur ... 132
Wohin mit dem Anwender -- Speicherorganisation extern und intern ... 135
Werkzeugkiste -- Entwicklungswerkzeuge ... 137
Object Navigator -- Der Regisseur ... 138
Repository Browser verschwinden lassen ... 139
Repository Browser ausnutzen ... 141
Repository Browser browsen ... 142
Synchron oder aus dem Tritt -- Objekt-Browser-Synchronisation ... 145
ABAP Editor -- Die Schreibmaschine ... 147
Debugger -- Der Kammerjäger ... 150
Debugger entschleunigt ... 151
Verwendungsnachweis -- Der Rückwärtssucher ... 155
5. Schräge Typen* - *also jetzt nicht der Schwaiger Roland - Datentypen und -objekte ... 157
Vorspann ... 158
Von 0 auf 100 in wenigen Seiten -- Technik der Datenspeicherung im Hauptspeicher ... 158
Variables Standgas -- Datenobjekte ... 159
Variablen sind zum Angreifen ... 160
Ein typischer Blickwinkel -- Datentypen ... 161
Anders betrachtet -- Datentypen ... 163
Die Vermessung ... 164
Ansprache -- Datenobjekte verwenden ... 165
Dynamik pur oder Statik nur? -- Statisch und dynamisch typisierte Variablen ... 166
Mein lokaler Typ ... 167
Zuerst mal elementar lokal -- Lokale elementare Typen ... 168
Dann elementar global -- Globale elementare Typen ... 170
Elementar global con domäne -- Domäne ... 173
Strukturell lokal -- Lokale strukturierte Typen ... 176
Struktur global -- Globale strukturierte Typen ... 178
Tabellarisch -- typisch/intern -- Lokaler Tabellentyp ... 182
Her mit der internen Tabelle ... 183
Wie viel Spalten hätten Sie denn gerne -- Zeilentyp ... 184
Normal, sortiert oder doch gehasht -- Tabellenart ... 185
Open the door please -- Schlüssel ... 187
Heute mal kopflos -- Kopfzeile ... 188
Tabellen für alle -- Globaler Tabellentyp ... 189
Operation: Table -- Tabellenoperationen ... 191
Bibliothek einräumen ... 193
Einzeln geht es auch -- Einzelverarbeitung von Tabelleneinträgen ... 195
Ändern und Löschen zum Abrunden -- Noch mehr Tabellenoperationen ... 196
6. Si parla ABAP? Echtes Küchenlatein - ABAP-Syntax I ... 197
Von Kontrollen und Schleifen ... 198
Zuweisungen, Operationen, Funktionen ... 198
Bitte nicht abweisen -- Zuweisungen ... 201
Was du darfst und was du sollst -- Konvertierungsregeln ... 203
Ketten ohne Perlen -- Zeichenketten-Funktionen ... 205
Von Segmenten und Offsetten -- Zeichenketten-Operationen ... 209
Ohne Rechnung, ohne mich -- Arithmetische Operationen ... 211
Notandor -- Logische Ausdrücke ... 212
Verzweige, falls ... -- IF ... THEN ... ELSE ... 214
Cassis -- CASE ... WHEN ... ENDCASE ... 216
Schleifen ... 217
Bedingungslose Schleifen -- DO ... ENDDO ... 217
Krasses Projekt für Hardcore-ABAPer ... 218
Bedingte Schleife -- Fußgesteuert ... 220
Bedingte Schleife -- Kopfgesteuert ... 221
Jetzt aber mal systematisch -- Systemfelder ... 222
Großbaustelle Rezeptprogramm ... 224
7. Kleine Häppchen sind leichter wiederverdaut ( »Schluss mit Spaghetti!« ) - ABAP-Syntax II ... 227
Motivation durch Demotivieren ... 228
Den richtigen Zeitpunkt finden -- Ereignisblöcke ... 229
Ereignisreiche Programme -- Ereignisschlüsselwörter ... 230
Ereignisse: Rekapitulation mit Selbstreflexion ... 231
Zur richtigen Zeit an irgendeinem Fleck? ... 233
Meine schönsten Ereignisse -- Rahmenprogramm ... 234
Dynpros mit Modul -- PBO, PAI, HOV ... 236
Module, ganz kurz -- Dynpro-Programmierung ... 237
Aber nun mit Schnittstelle -- Unterprogramme ... 238
Definiere zuerst ! Unterprogramm-Definition ... 239
Übergeben und Übernehmen -- Schnittstellenparameter für das Unterprogramm ... 240
Lesen von DB mit Kapsel -- DB-Zugriff in Unterprogramm ... 242
Ein Typ muss es sein -- Schnittstelle typisieren ... 243
Bitte mit Typ -- Typisieren ... 244
Warum in die Ferne schweifen? -- Lokale Variablen ... 245
Sichtbar oder nicht -- Lokale Überdeckung ... 246
Aufruf bitte -- Unterprogramm-Aufruf ... 247
Totalumbau ... 248
Globale Wiederverwendung -- Funktionsbausteine ... 252
Funktionsgruppe ... 254
Leg dir eine Funktionsgruppe an ... 257
Es ist so weit, global bereit -- Funktionsbaustein ... 258
Her mit dem Rezept ... 260
Haaalloooooo -- Funktionsbaustein-Aufruf ... 263
Dein Finale ... 265
8. Schrödinger zeigt Klasse - ABAP Objects I ... 267
Motivation zur OO ... 268
Begriffe aus der Realität ... 269
Holistische Sichtweise ... 271
Modellierung ... 272
Erst denken, dann lenken: Einfache UML als Analysewerkzeug zur Visualisierung von Klassen/Objekten ... 276
Klasse Kaffee(-vollautomat) auf dem Papier ... 278
Ohne meine Kollaborateure bin ich nichts ... 280
Klasse oder doch Objekt ... 282
Klasse Lokal ... 284
Dein kleines Objektistan ... 287
Kaffee für zwei ... 290
Datenablage -- Attribute ... 292
Wasserstand und Pause ... 294
Klasse Attribute, oder was? ... 295
Privat verkalkt / Private Attribute ... 298
Ab jetzt mit Methode -- Schrödinger frischt auf ... 299
Mit Methode -- ran an den Code ... 300
Die Schnittstelle der Methode ... 304
Ganz spezielle Methoden ... 307
Methoden mit Fülle ... 309
Selbstreferenz ... 312
Statisches Attribut ... 313
Methodenaufruf ... 314
Laufzeit sequenziert ... 316
Methoden für den Wasserbehälter ... 318
Von lokal nach global ... 320
Going global -- SE24 ... 321
Attribute und Methoden ... 322
Kaffeebohnen im Behälter ... 326
Senden und Empfangen ... 330
Sender mit Sendungsbedürfnis ... 331
Empfänger ... 332
Objektorientiertes Verkuppeln ... 333
Kaffee s'il vous ... 335
9. Erben oder nicht, das ist hier die Frage: Pasta di Erbe - Vererbung ... 337
Motivation ... 338
Vererben und Erben von Klassen ... 341
Vererbung lokal ... 344
Meister der Pyramiden ... 346
Globale Vererbung: Ein praktisches Beispiel im SAP-Standard ... 348
Was wird wie und wo vererbt ... 351
Redefinieren -- Polymorphie von Methoden ... 355
Redefinieren als globale Herausforderung ... 358
Statische und dynamische Typen von Klassen mit ein wenig Casting ... 364
Festigung der Einsichten ... 366
Down-Cast ... 369
Abstrakte Klassen ... 372
10. Keine Details bitte - Der Blick durch Interfaces ... 377
Schizophrenie? ... 378
Lokal zum Einsteigen ... 381
Schnittig und definiert ... 382
Volles Risiko -- alles oder nichts ... 383
Klasse Zuordnung ... 384
Klasse Definition ... 385
Klasse Implementierung ... 386
Von Suchmaschinen und Tilden ... 387
Hast du gerufen? ... 388
Die vielen Gestalten der Methoden ... 390
Globalisierung mit positiven Auswirkungen ... 393
Global klasse Implementierung ... 395
Singleton-Party ... 397
11. Das Kapitel für Feiglinge - Ausnahmen ... 401
Ausnahmsweise behandelt ... 402
Eine kleine Geschichte der Ausnahmen ... 404
Nochmal langsam: Mit SY-SUBRC. Ausnahmewert wird gesetzt ... ... 408
... und von dir behandelt ... 409
It's RAISING man, hallelujah. ... 410
Ausnahmen melden ... ... 410
... und behandeln ... 411
The Catcher in the System ... 414
Ausnahmen melden (mit Nummern) ... ... 414
... und behandeln (nach Nummern) ... 415
Ausnahmslos Objekte ... 417
Definieren geht vor ... 419
Ausnahmen melden (mit Ausnahmeklassen) ... ... 421
... und Ausnahmen behandeln, aber richtig! Mit Ausnahmeklassen. ... 424
Das ausnahmengespickte Projekt ... 425
12. Spaghetti-Programmierung - Selektionsbilder, Listen und Nachrichten (GUI I) ... 431
Vom kleinen Window-Farmer bis zum Groß-GUI-Besitzer: Jeder will ein Selektionsbild! ... 432
Selektionsbild für Beschränkte mit Liste ... 434
PARAMETERS: Das kleinere der Selektionsbild-Ungeheuer ... 436
Typ und Vorschlag ... 439
Hey, Checker! ... 441
Rund wie ein Radiobutton ... 443
»Du darfst« war gestern, heute ist »Du musst« ... 445
Abflug in den Keller ... 446
Aber satt war er noch immer nicht: SELECT-OPTIONS ... 449
Mehr, Mehrere, Mehreres (ohne Rauschen) ... 453
Zur Anwendung gebracht ... fast ... 456
Graue Theorie: Eingabehilfe, Prüftabelle ... 458
Entfessle den Künstler in dir: Screen-Gestaltung ... 460
Endlich Texte! ... 462
Wie im Hamsterrad ... 464
Ereignisreich geht's weiter ... 470
Tagesschau ... also eine Nachrichtensendung ... 473
L -- Li -- Lis -- List -- Liste ... 477
Keine Beichte notwendig: Interaktion mit einer Liste ... 484
13. Lasagne aufs Auge - Dynpro-Programmierung (GUI II) ... 487
Dynamisch programmieren ... 488
Wer schreit hier so? Rahmenprogramme, die Dynpros rufen! ... 492
Dreieinigkeit ... 495
Alles ist im Fluss und manchmal geht es im Kreis ... 497
Wohin soll ich mich wenden? ... 501
Wo Module bestimmen ... 502
Mit welchem Titel darf ich dich ansprechen? ... 505
Über der Fläche steht die Oberfläche ... 508
Die Gestaltung eines eigenen Menüs ... 511
Kannst du mit dem Druck umgehen? ... 514
FFFFF ... 517
Weck den Künstler in dir ... 519
Dein Dynpro ... 525
Sammle Elemente ... 527
Wohin mit den Daten? ... 529
Ablauflogik Reloaded ... 531
Dynpro rufen mal anders ... 539
14. Ravioli - Web-Dynpro-ABAP-Programmierung (GUI III) ... 543
Motivieren funktioniert nicht ... 544
15. Raus aus meiner Küche! - Berechtigungen ... 547
Berechtigungsrundumschlag -- Überblick Berechtigungen ... 548
Am Anfang steht das Objekt mit Klasse -- Berechtigungsobjekt ... 551
Die Details zur Berechtigung ... 554
Der Berechtigungs-Selbstchecker -- S_TCODE prüfen ... 556
Experimente mit AUTHORITY-CHECK ... 558
Warum mag mich keiner -- SU53 ... 559
16. Vorratskammer einrichten mit ziemlich viel Schnickschnack - DB-Tabellen erstellen ... 561
Freiland-Datenhaltung -- Daten persistieren ... 562
Warum einfach, wenn es mit Schnittstelle geht -- Die Datenbankschnittstelle ... 564
Transparente Tabelle en Detail ... 567
Spalten und der Rest -- Tabellenfelder ... 570
Ohne Technik keine Tabelle -- Technische Einstellungen ... 575
Mehr als eine Tabelle ... 578
Welcher Wert ist möglich -- Fremdschlüssel ... 581
Ich will auch anders suchen -- Sekundärindex ... 586
Ändern oder nicht, was geht -- Erweiterungskategorie ... 589
Definieren und Realisieren -- Datenbankobjekt ... 591
Mein erster Eintrag -- Datenbanktabellen-Einträge erzeugen ... 592
Artenvielfalt im Dictionary -- Weitere Tabellenarten ... 594
17. Vorratskammer plündern - DB-Tabellen auslesen ... 595
Erster Takt -- SQL ... 596
Zweiter Takt -- SQL ... 596
Eingelagert und geplündert -- Datenpufferung ... 597
Datenmanipulator nativ -- DML mit Native SQL ... 598
Einfach definieren -- Datendefinition mit dem ABAP Dictionary ... 598
Alles recht und schön -- Berechtigungen und Konsistenzprüfungen ... 598
Open SQL grundiert -- Basisbefehlssatz aus Open SQL ... 599
Verklausuliert -- SELECT-Klausel ... 601
Wohin damit -- INTO target-Klausel ... 604
Woher -- FROM source-Klausel ... 605
Aber bitte nicht alles -- WHERE-Klausel ... 607
Da geht noch mehr -- Weitere Klauseln ... 608
Und jetzt alles kombiniert -- SELECT-Beispiel ... 609
Mehr als eine Tabelle ist auch okay -- Views ... 614
Schritt für Schritt zum View mit relationalen Operatoren ... 618
Da will ich auch nicht alles -- Selektionsbedingungen ... 627
Zusammenfassung in Bildern -- View-Definition ... 628
Mit Views programmieren ... 630
Weil du so brav warst -- Programmieren mit Views ... 632
18. Vorratskammer in Schuss halten - DB-Daten pflegen ... 635
Lesen ist Silber, Schreiben ist Gold -- DELETE, UPDATE, MODIFY und INSERT ... 636
Sichere Daten -- Transaktionskonzept ... 636
Von einem Zustand zum nächsten -- Datenbank-LUW ... 638
Bist du konsistent? ... 641
Aktionen bündeln -- SAP-LUW ... 642
Und jetzt auch noch transaktional -- SAP-Transaktion ... 643
Datenmanipulator-Entwicklungsrahmen -- Das Programm für die Open-SQL-Anweisungen ... 645
Und noch eins und noch eins und ... -- INSERT ... 650
Massendaten einfügen ... 652
Ändern muss man auch ab und zu -- UPDATE ... 655
Massendaten ... 656
Weg damit -- DELETE ... 658
Kombianweisung -- MODIFY ... 661
Halt, Sperre! -- Sperrkonzept ... 663
Die fünf Gebote der performanten DB-Programmierung ... 664
19. Mit Schirm, Charme -- und vielleicht noch einem Melonensorbet - Daten in Dateien, Datenablage ohne DB ... 665
Daten ohne Datenbank ... 666
GUI-Loads -- Upload und Download ... 666
Frontend Services ... 668
Pfad ermitteln ... 671
Download now, zumindest vorbereitet -- Download vorbereiten ... 673
Auch nett für Datenwiederverwendung -- Clipboard ... 674
Download now! ... 676
Einen hamma noch -- Upload ... 679
Daten auf dem Applikationsserver ... 681
OPEN House -- OPEN DATASET ... 682
DatenTRANSFER -- Daten schreiben ... 683
READ DATASET -- Daten lesen ... 685
20. Täglich wechselnde Speisekarten - Dynamische Programmierung ... 687
Dynamische Programmierung hat nichts mit Beweglichkeit zu tun ... 688
Feldsymbole ... 688
Datenrefs ... 690
RTTS = RTTI + RTTC ... 692
Überschrift finden ... 693
Dynamische Tokens ... 695
Dynamisches Feld ... 697
Dynamischer Typ ... 697
Dynamische Komponente ... 698
Dynamische Bedingung ... 698
Dynamisches Unterprogramm ... 700
Programmerzeugung im Hauptspeicher ... 700
Programmerzeugung im Repository ... 701
Bildnachweis ... 704
Index ... 705