Buch, Deutsch, 788 Seiten, Format (B × H): 203 mm x 233 mm, Gewicht: 1875 g
Reihe: SAP Press
Die volle Ladung ABAP: Programmieren lernen im Comic-Stil
Buch, Deutsch, 788 Seiten, Format (B × H): 203 mm x 233 mm, Gewicht: 1875 g
Reihe: SAP Press
            ISBN: 978-3-8362-6607-9 
            Verlag: Rheinwerk Verlag GmbH
        
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. 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?
Aus dem Inhalt:
- ABAP-Grundlagen verstehen
- Datentypen anlegen
- Objekte und Interfaces einsetzen
- Code in Module und Funktionen verpacken
- Dynpros und Ereignisse verwenden
- GUIs und Fiori-Oberflächen erstellen
- Datenbanken, SAP HANA, SQL, CDS
- Zugriffsschutz einrichten
- Dynamische Programmierung
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
                            
  An den Leser ... 2
  Schrödingers Büro ... 4
  Schrödingers Werkstatt ... 6
  Schrödingers Wohnzimmer ... 8
  Impressum ... 10
  Inhaltsverzeichnis ... 12
  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 ... 31
       Die SAP -- Das Unternehmen ... 33
       SAP-System ... 34
       Die Erfolgsgeschichte: Vom ABAP zum ABAP ... 37
       Kompilieren/Interpretieren ... 41
       ABAP allgemein ... 42
       ABAP-Syntax ... 43
       Beispiel ABAP ... 45
       Schrödingers ABAP ... 46
  2.  Rein in die Küche -- raus aus der Küche -- Starten mit dem SAP-System ... 47
       Anmelden zum Tauchkurs: Eintauchen in die SAP-Welt ... 48
       Alles ist Transaktion -- Transaktionen als Shortcuts ... 50
       Melde dich an! -- SAP-Anmeldung ... 51
       Transaktion starten ... 53
       Willkommen Schrödinger! -- SAP-Willkommenstext ... 54
       Die Auslage des SAP-Systems -- SAP GUI-Aufbau ... 57
       Alles auf einen Blick -- SAP Easy Access ... 59
       Modus Operandi -- Zusätzliche Fenster öffnen ... 61
       Das ist doch kein Thema ... 63
       Hüben und drüben, nichts als Üben -- Rolands Folterkammer oder Übung macht den Meister ... 64
       Hoppi-Galoppi ... SAP Fiori ... 66
  3.  Ciao a tutti! (Hallo Welt!) -- Der 20-Minuten-Einstieg in die ABAP-Programmierung ... 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 ... 111
       Ablauflogik ohne Ablaufdatum -- Ablauflogik programmieren ... 117
       Ein Shortcut für den User -- Transaktionscode anlegen/ausführen ... 121
       Aufbruch in eine neue Welt: ABAP Development Tools ... 122
  4.  AAA -- Alles außer ABAP -- ABAP-Infrastruktur und -Werkzeuge ... 125
       Warum? ... 126
       Die Ablage der Entwicklungsobjekte -- Repository ... 127
       Wer suchet der findet -- Suchen mit dem Repository Infosystem ... 132
       Suchen und Finden -- Repository Infosystem ... 134
       Geschichtet, aber nicht gefaltet -- ABAP-Infrastruktur ... 135
       Wohin mit dem Anwender -- Speicherorganisation extern und intern ... 138
       Werkzeugkiste -- Entwicklungswerkzeuge ... 140
       Object Navigator -- Der Regisseur ... 141
       Repository Browser ausnutzen ... 143
       Repository Browser browsen ... 144
       Synchron oder aus dem Tritt -- Objekt-Browser-Synchronisation ... 147
       ABAP Editor -- Die Schreibmaschine ... 149
       Debugger -- Der Kammerjäger ... 152
       Debugger entschleunigt ... 153
       Verwendungsnachweis -- Der Rückwärtssucher ... 157
       Die ADT können das auch ... 160
  5.  Schräge Typen* *also jetzt nicht der Schwaiger Roland -- Datentypen und -objekte ... 165
       Vorspann ... 165
       Von 0 auf 100 in wenigen Seiten -- Technik der Datenspeicherung im Hauptspeicher ... 166
       Variables Standgas -- Datenobjekte ... 168
       Variablen sind zum Angreifen ... 169
       Variablendeklaration inline ... 170
       Ein typischer Blickwinkel -- Datentypen ... 171
       Anders betrachtet -- Datentypen ... 173
       Die Vermessung ... 174
       Ansprache -- Datenobjekte verwenden ... 175
       Dynamik pur oder Statik nur? -- Statisch und dynamisch typisierte Variablen ... 176
       Mein lokaler Typ ... 177
       Zuerst mal elementar lokal -- Lokale elementare Typen ... 178
       Dann elementar global -- Globale elementare Typen ... 180
       Elementar global con domäne -- Domäne ... 183
       Strukturell lokal -- Lokale strukturierte Typen ... 186
       Struktur global -- Globale strukturierte Typen ... 188
       Tabellarisch -- typisch/intern -- Lokaler Tabellentyp ... 192
       Her mit der internen Tabelle ... 193
       Wie viel Spalten hätten Sie denn gerne -- Zeilentyp ... 194
       Normal, sortiert oder doch gehasht -- Tabellenart ... 195
       Open the door please -- Schlüssel ... 197
       Heute mal kopflos -- Kopfzeile ... 198
       Tabellen für alle -- Globaler Tabellentyp ... 199
       Operation: Table -- Tabellenoperationen ... 201
       Bibliothek einräumen ... 203
       Einzeln geht es auch -- Einzelverarbeitung von Tabelleneinträgen ... 205
       Ändern und Löschen zum Abrunden -- Noch mehr Tabellenoperationen ... 206
       Eine kleine Gutenachtgeschichte (über CDS) ... 207
  6.  Si parla ABAP? Echtes Küchenlatein -- ABAP-Syntax I ... 213
       Von Kontrollen und Schleifen ... 213
       Zuweisungen, Operationen, Funktionen ... 214
       Bitte nicht abweisen -- Zuweisungen ... 217
       Was du darfst und was du sollst -- Konvertierungsregeln ... 219
       Ketten ohne Perlen -- Zeichenketten-Funktionen ... 221
       Von Segmenten und Offsetten -- Zeichenketten-Operationen ... 225
       Ohne Rechnung, ohne mich -- Arithmetische Operationen ... 227
       Notandor -- Logische Ausdrücke ... 228
       Verzweige, falls ... -- IF ... THEN ... ELSE ... 230
       Cassis -- CASE ... WHEN ... ENDCASE ... 232
       Schleifen ... 233
       Bedingungslose Schleifen -- DO ... ENDDO ... 233
       Krasses Projekt für Hardcore-ABAPer ... 234
       Bedingte Schleife -- Fußgesteuert ... 236
       Bedingte Schleife -- Kopfgesteuert ... 237
       Jetzt aber mal systematisch -- Systemfelder ... 238
       Großbaustelle Rezeptprogramm ... 240
  7.  Kleine Häppchen sind leichter wiederverdaut( „Schluss mit Spaghetti!“ ) -- ABAP-Syntax II ... 243
       Motivation durch Demotivieren ... 244
       Den richtigen Zeitpunkt finden -- Ereignisblöcke ... 245
       Ereignisreiche Programme -- Ereignisschlüsselwörter ... 246
       Ereignisse: Rekapitulation mit Selbstreflexion ... 247
       Zur richtigen Zeit an irgendeinem Fleck? ... 249
       Meine schönsten Ereignisse -- Rahmenprogramm ... 250
       Dynpros mit Modul -- PBO, PAI, HOV ... 252
       Module, ganz kurz -- Dynpro-Programmierung ... 253
       Aber nun mit Schnittstelle -- Unterprogramme ... 254
       Definiere zuerst! Unterprogramm-Definition ... 255
       Übergeben und Übernehmen -- Schnittstellenparameter für das Unterprogramm ... 256
       Lesen von DB mit Kapsel -- DB-Zugriff in Unterprogramm ... 258
       Ein Typ muss es sein -- Schnittstelle typisieren ... 259
       Bitte mit Typ -- Typisieren ... 260
       Warum in die Ferne schweifen? -- Lokale Variablen ... 261
       Sichtbar oder nicht -- Lokale Überdeckung ... 262
       Aufruf bitte -- Unterprogramm-Aufruf ... 263
       Totalumbau ... 264
       Globale Wiederverwendung -- Funktionsbausteine ... 268
       Funktionsgruppe ... 270
       Leg dir eine Funktionsgruppe an ... 273
       Es ist so weit, global bereit -- Funktionsbaustein ... 274
       Her mit dem Rezept ... 276
       Haaalloooooo -- Funktionsbaustein-Aufruf ... 279
       Dein Finale ... 281
  8.  Schrödinger zeigt Klasse -- ABAP Objects ... 283
       Motivation zur OO ... 284
       Begriffe aus der Realität ... 285
       Holistische Sichtweise ... 287
       Modellierung ... 288
       Erst denken, dann lenken: Einfache UML als Analysewerkzeug zur Visualisierung von Klassen/Objekten ... 292
       Klasse Kaffee(-vollautomat) auf dem Papier ... 294
       Ohne meine Kollaborateure bin ich nichts ... 296
       Klasse oder doch Objekt ... 298
       Klasse Lokal ... 300
       Dein kleines Objektistan ... 303
       Kaffee für zwei ... 306
       Datenablage -- Attribute ... 308
       Wasserstand und Pause ... 310
       Klasse Attribute, oder was? ... 311
       Privat verkalkt/Private Attribute ... 314
       Ab jetzt mit Methode -- Schrödinger frischt auf ... 315
       Mit Methode -- ran an den Code ... 316
       Die Schnittstelle der Methode ... 320
       Ganz spezielle Methoden ... 323
       Methoden mit Fülle ... 325
       Selbstreferenz ... 328
       Statisches Attribut ... 329
       Methodenaufruf ... 330
       Laufzeit sequenziert ... 332
       Methoden für den Wasserbehälter ... 334
       Von lokal nach global ... 336
       Going global -- SE24 ... 337
       Attribute und Methoden ... 338
       Kaffeebohnen im Behälter ... 342
       Senden und Empfangen ... 346
       Sender mit Sendungsbedürfnis ... 347
       Nächster Zubereitungsschritt: der Empfänger ... 348
       Objektorientiertes Verkuppeln ... 349
       Kaffee s'il vous plaît ... 351
  9.  Erben oder nicht, das ist hier die Frage: Pasta di Erbe -- Vererbung ... 353
       Motivation ... 354
       Vererben und Erben von Klassen ... 357
       Vererbung lokal ... 360
       Meister der Pyramiden ... 362
       Globale Vererbung: Ein praktisches Beispiel im SAP-Standard ... 364
       Was wird wie und wo vererbt ... 367
       Redefinieren -- Polymorphie von Methoden ... 371
       Redefinieren als globale Herausforderung ... 374
       Statische und dynamische Typen von Klassen mit ein wenig Casting ... 380
       Festigung der Einsichten ... 382
       Down-Cast ... 385
       Abstrakte Klassen ... 388
10.  Keine Details bitte -- Der Blick durch Interfaces ... 393
       Schizophrenie? ... 394
       Lokal zum Einsteigen ... 397
       Schnittig und definiert ... 398
       Volles Risiko -- alles oder nichts ... 399
       Klasse Zuordnung ... 400
       Klasse Definition ... 401
       Klasse Implementierung ... 402
       Von Suchmaschinen und Tilden ... 403
       Hast du gerufen? ... 404
       Die vielen Gestalten der Methoden ... 406
       Globalisierung mit positiven Auswirkungen ... 409
       Global klasse Implementierung ... 411
       Singleton-Party ... 413
11.  Das Kapitel für Feiglinge -- Ausnahmen ... 417
       Ausnahmsweise behandelt ... 418
       Eine kleine Geschichte der Ausnahmen ... 420
       Noch mal langsam: Mit SY-SUBRC. Ausnahmewert wird gesetzt ... ... 424
       ... und von dir behandelt ... 425
       It's RAISING man, hallelujah. ... 426
       Ausnahmen melden ... ... 426
       ... und behandeln ... 427
       The Catcher in the System ... 430
       Ausnahmen melden (mit Nummern) ... ... 430
       ... und behandeln (nach Nummern) ... 431
       Ausnahmslos Objekte ... 433
       Definieren geht vor ... 435
       Ausnahmen melden (mit Ausnahmeklassen) ... ... 437
       ... und Ausnahmen behandeln, aber richtig! Mit Ausnahmeklassen. ... 440
       Das ausnahmengespickte Projekt ... 441
12.  Spaghetti-Programmierung -- Selektionsbilder, Listen und Nachrichten (GUI I) ... 447
       Vom kleinen Window-Farmer bis zum Groß-GUI-Besitzer: Jeder will ein Selektionsbild! ... 448
       Selektionsbild für Beschränkte mit Liste ... 450
       PARAMETERS: Das kleinere der Selektionsbild-Ungeheuer ... 452
       Typ und Vorschlag ... 455
       Hey, Checker! ... 457
       Rund wie ein Radiobutton ... 459
       „Du darfst“ war gestern, heute ist „Du musst“ ... 461
       Abflug in den Keller ... 462
       Aber satt war er noch immer nicht: SELECT-OPTIONS ... 465
       Mehr, Mehrere, Mehreres (ohne Rauschen) ... 470
       Zur Anwendung gebracht ... fast ... 474
       Graue Theorie: Eingabehilfe, Prüftabelle ... 476
       Entfessle den Künstler in dir: Screen-Gestaltung ... 478
       Endlich Texte! ... 482
       Wie im Hamsterrad ... 484
       Ereignisreich geht's weiter ... 490
       Tagesschau ... also eine Nachrichtensendung ... 493
       L -- Li -- Lis -- List -- Liste ... 497
       Keine Beichte notwendig: Interaktion mit einer Liste ... 504
13.  Lasagne aufs Auge -- Dynpro-Programmierung (GUI II) ... 507
       Dynamisch programmieren ... 508
       Wer schreit hier so? Rahmenprogramme, die Dynpros rufen! ... 512
       Dreieinigkeit ... 515
       Alles ist im Fluss und manchmal geht es im Kreis ... 517
       Wohin soll ich mich wenden? ... 521
       Wo Module bestimmen ... 522
       Mit welchem Titel darf ich dich ansprechen? ... 525
       Über der Fläche steht die Oberfläche ... 528
       Die Gestaltung eines eigenen Menüs ... 531
       Kannst du mit dem Druck umgehen? ... 534
       FFFFF ... 537
       Weck den Künstler in dir ... 539
       Dein Dynpro ... 547
       Sammle Elemente ... 549
       Wohin mit den Daten? ... 551
       Ablauflogik Reloaded ... 553
       Dynpro rufen mal anders ... 561
14.  Ravioli -- Web-Dynpro-ABAP-Programmierung (GUI III) ... 565
15.  Wie Phönix aus der Asche -- SAPUI5 oder wie baue ich eine moderne Webanwendung (aus Sicht von SAP ;-)) ... 567
       SAP Ju-Ai-Feif ... 568
       Der kleinstmögliche SAPUI5-Werkzeugkoffer ... 571
       Hello OData-World! ... 575
       Bei Aufruf Service (und dessen Analyse) ... 578
       Jetzt aber: Daten anzeigen lassen ... 581
       Destinationen muss man haben ... 583
       Was ist Ihre Destination, Herr Schödinger?  ... 584
       Eine Architektur für SAPUI5-Anwendungen ... 586
       Wir generieren uns eine Anwendung ... 587
16.  Raus aus meiner Küche! -- Berechtigungen ... 593
       Berechtigungsrundumschlag -- Überblick Berechtigungen ... 594
       Am Anfang steht das Objekt mit Klasse -- Berechtigungsobjekt ... 597
       Die Details zur Berechtigung ... 600
       Der Berechtigungs-Selbstchecker -- S_TCODE prüfen ... 602
       Experimente mit AUTHORITY-CHECK ... 604
       Warum mag mich keiner -- SU53 ... 605
       Finger weg von meinem View! ... 607
17.  Vorratskammer einrichten mit ziemlich viel Schnickschnack -- DB-Tabellen erstellen ... 611
       Freiland-Datenhaltung -- Daten persistieren ... 612
       Warum einfach, wenn es mit Schnittstelle geht -- Die Datenbankschnittstelle ... 614
       Transparente Tabelle en Detail ... 617
       Spalten und der Rest -- Tabellenfelder ... 620
       Ohne Technik keine Tabelle -- Technische Einstellungen ... 625
       Mehr als eine Tabelle ... 630
       Welcher Wert ist möglich -- Fremdschlüssel ... 633
       Ich will auch anders suchen -- Sekundärindex ... 638
       Ändern oder nicht, was geht -- Erweiterungskategorie ... 641
       Definieren und Realisieren -- Datenbankobjekt ... 643
       Mein erster Eintrag -- Datenbanktabellen-Einträge erzeugen ... 644
       Artenvielfalt im Dictionary -- Weitere Tabellenarten ... 646
18.  Vorratskammer plündern -- DB-Tabellen auslesen ... 647
       Erster Takt -- SQL ... 648
       Zweiter Takt -- SQL ... 648
       Eingelagert und geplündert -- Datenpufferung ... 649
       Datenmanipulator nativ -- DML mit Native SQL ... 650
       Einfach definieren -- Datendefinition mit dem ABAP Dictionary ... 650
       Alles recht und schön -- Berechtigungen und Konsistenzprüfungen ... 651
       Open SQL grundiert -- Basisbefehlssatz aus Open SQL ... 651
       Verklausuliert -- SELECT-Klausel ... 653
       Wohin damit -- INTO target ... 656
       Woher -- FROM source ... 657
       Aber bitte nicht alles -- WHERE-Klausel ... 659
       Da geht noch mehr -- Weitere Klauseln ... 660
       Und jetzt alles kombiniert -- SELECT-Beispiel ... 661
       Mehr als eine Tabelle ist auch okay -- Views ... 666
       Schritt für Schritt zum View mit relationalen Operatoren ... 670
       Da will ich auch nicht alles -- Selektionsbedingungen ... 679
       Zusammenfassung in Bildern -- View-Definition ... 680
       Mit Views programmieren ... 682
       Weil du so brav warst -- Programmieren mit Views ... 684
       Die CDS-Beziehungskiste: Von Joins und Assoziationen ... 686
       Mit CDS-Views programmieren ... 688
19.  Vorratskammer in Schuss halten -- DB-Daten pflegen ... 691
       Lesen ist Silber, Schreiben ist Gold -- DELETE, UPDATE, MODIFY und INSERT ... 692
       Sichere Daten -- Transaktionskonzept ... 692
       Von einem Zustand zum nächsten -- Datenbank-LUW ... 694
       Bist du konsistent? ... 697
       Aktionen bündeln -- SAP-LUW ... 698
       Und jetzt auch noch transaktional -- SAP-Transaktion ... 699
       Datenmanipulator-Entwicklungsrahmen -- Das Programm für die Open-SQL-Anweisungen ... 701
       Und noch eins und noch eins und ... -- INSERT ... 706
       Massendaten einfügen ... 708
       Ändern muss man auch ab und zu -- UPDATE ... 711
       Massendaten ... 712
       Weg damit -- DELETE ... 714
       Kombianweisung -- MODIFY ... 717
       Halt, Sperre! -- Sperrkonzept ... 719
       Die fünf Gebote der performanten DB-Programmierung ... 720
20.  Mit Schirm, Charme -- und vielleicht noch einem Melonensorbet -- Daten in Dateien, Datenablage ohne DB ... 721
       Daten ohne Datenbank ... 722
       GUI-Loads -- Upload und Download ... 722
       Frontend Services ... 724
       Pfad ermitteln ... 727
       Download now, zumindest vorbereitet -- Download vorbereiten ... 729
       Auch nett für Datenwiederverwendung -- Clipboard ... 730
       Download now! ... 732
       Einen hamma noch -- Upload ... 735
       Daten auf dem Applikationsserver ... 737
       OPEN House -- OPEN DATASET ... 738
       DatenTRANSFER -- Daten schreiben ... 739
       READ DATASET -- Daten lesen ... 741
21.  Täglich wechselnde Speisekarten -- Dynamische Programmierung ... 743
       Dynamische Programmierung hat nichts mit Beweglichkeit zu tun ... 744
       Feldsymbole ... 744
       Datenrefs ... 746
       RTTS = RTTI + RTTC ... 748
       Überschrift finden ... 749
       Dynamische Tokens ... 751
       Dynamisches Feld ... 753
       Dynamischer Typ ... 753
       Dynamische Komponente ... 754
       Dynamische Bedingung ... 754
       Dynamisches Unterprogramm ... 756
       Programmerzeugung im Hauptspeicher ... 756
       Programmerzeugung im Repository ... 757
  Bildnachweis ... 760
  Index ... 761
                        





