Schrödinger programmiert ABAP
Galileo Press (Verlag)
978-3-8362-2859-6 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
- Programme, GUIs und Datenbankzugriffe, die du nie wieder vergisst
- Sprachgrundlagen, Objektorientierung, Ereignisse u.v.m.
- Umwerfende Beispiele, fantastisch illustriert
- SAP-System installieren
- ABAP-Grundlagen verstehen
- Datentypen anlegen
- Objekte und Interfaces einsetzen
- Code in Module und Funktionen verpacken
- Dynpros und Ereignisse verwenden
- GUIs erstellen
- Datenbanken und SQL
- Zugriffsschutz einrichten
- Dynamische Programmierung
Ein echtes Fachbuch, nur eben ganz anders!
IF Knobeleien AND Gimmicks AND Spaß beim Lernen,
THEN Schrödinger erste Wahl,
ELSE klassisches Lehrbuch,
ENDIF.
Du fühlst dich angesprochen?
Dann hast du zum richtigen Buch gegriffen! Schrödinger ist der Mann fürs Programmieren. Er kann schon was, aber eben noch nicht ABAP.
Deshalb bringt ihm der Schwaiger Roland jetzt alles bei. Vom ersten ,Hallo Welt!' bis zur objektorientierten und dynamischen Programmierung. Und ganz nebenbei lernt Schrödinger nicht nur, warum die SAP-Welt so speziell ist, sondern auch jede Menge über guten Kaffee und die Kunst des Bierbrauens. Da raucht ihm manchmal schon der Kopf vor lauter Datentypen, Klassen und Funktionsbausteinen.
Doch zum Glück darf Schrödinger sich immer wieder ein wohlverdientes Päuschen gönnen und die müden Muskeln strecken. Und dank vieler Übungen und Tipps hat er bald den Durchblick. Wetten, du auch?
Diese zweite Auflage wurde vom Schwaiger Roland komplett durchgesehen und korrigiert.
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
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.
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 -- Eigenes SAP-System runterladen ... 31
Schrödingers SAP-System -- Das brauchst du dafür ... 33
Schrödingers SAP-System -- Installieren ... 34
Testsystem in der Wolke ... 37
Die SAP -- Das Unternehmen ... 39
SAP-System ... 40
Die Erfolgsgeschichte: Vom ABAP zum ABAP ... 43
Kompilieren/Interpretieren ... 47
ABAP allgemein ... 48
ABAP-Syntax ... 49
Beispiel ABAP ... 51
Schrödingers ABAP ... 52
2. Rein in die Küche -- raus aus der Küche -- Starten mit dem SAP-System ... 53
Anmelden zum Tauchkurs: Eintauchen in die SAP-Welt ... 54
Alles ist Transaktion -- Transaktionen als Shortcuts ... 56
Melde dich an! -- SAP-Anmeldung ... 57
Transaktion starten ... 59
Willkommen Schrödinger! -- SAP-Willkommenstext ... 60
Die Auslage des SAP-Systems -- SAP GUI-Aufbau ... 63
Alles auf einen Blick -- SAP Easy Access ... 65
Modus Operandi -- Zusätzliche Fenster öffnen ... 67
Hüben und drüben, nichts als Üben -- Rolands Folterkammer oder Übung macht den Meister ... 69
3. Ciao a tutti! (Hallo Welt!) -- Der 20-Minuten-Einstieg in die ABAP-Programmierung ... 71
Einsteigen und anschnallen! ... 72
Object Navigator -- Die integrierte Entwicklungsumgebung ... 74
Entwicklung organisieren -- Systemlandschaft, Änderungsauftrag ... 75
Ihr neuer Auftrag lautet: Auftragsanlage ... 77
Organisationskapsel Paket ... 79
Vom Entwickler zum Pakettier -- Paket anlegen ... 81
Einen Schritt zurück und bald zwei nach vorne ... 84
Die Infos zum Aufbau einer Datenbanktabelle ... 85
Das zweischichtige Domänenkonzept ... 86
Technisches Fundament eines Typs -- Domäne anlegen ... 88
Lege die Bedeutung an -- Datenelement anlegen ... 91
Kühlschrankdesign -- DB-Tabelle anlegen ... 93
Daten verarbeiten -- Programm anlegen ... 97
Das ABAP-Einmaleins -- Grundlegende Syntax ... 98
Der Durchblicker -- Programm entwickeln ... 100
Her mit den Daten -- DB-Zugriff ... 102
Jetzt lese ich ... 103
Ohne Struktur läuft nichts -- Grundlegende Programmstruktur ... 104
Alles muss es auch nicht sein -- Einfaches Selektionsbild ... 106
Layouten und Daten transportieren -- Ein einfaches Dynpro ... 110
Dekorieren der Auslage -- Dynpro-Layout ... 112
Ablauflogik ohne Ablaufdatum -- Ablauflogik programmieren ... 118
Ein Shortcut für den User -- Transaktionscode anlegen/ausführen ... 122
4. AAA -- Alles außer ABAP -- ABAP-Infrastruktur und -Werkzeuge ... 123
Warum? ... 124
Die Ablage der Entwicklungsobjekte -- Repository ... 125
Wer suchet der findet -- Suchen mit dem Repository Infosystem ... 130
Suche von oben -- Suchen in der Anwendungshierarchie ... 132
Suchen und Finden -- Repository Infosystem ... 133
Geschichtet, aber nicht gefaltet -- ABAP-Infrastruktur ... 134
Wohin mit dem Anwender -- Speicherorganisation extern und intern ... 137
Werkzeugkiste -- Entwicklungswerkzeuge ... 139
Object Navigator -- Der Regisseur ... 140
Repository Browser verschwinden lassen ... 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
5. Schräge Typen* *also jetzt nicht der Schwaiger Roland -- Datentypen und -objekte ... 159
Vorspann ... 160
Von 0 auf 100 in wenigen Seiten -- Technik der Datenspeicherung im Hauptspeicher ... 160
Variables Standgas -- Datenobjekte ... 161
Variablen sind zum Angreifen ... 162
Ein typischer Blickwinkel -- Datentypen ... 163
Anders betrachtet -- Datentypen ... 165
Die Vermessung ... 166
Ansprache -- Datenobjekte verwenden ... 167
Dynamik pur oder Statik nur? -- Statisch und dynamisch typisierte Variablen ... 168
Mein lokaler Typ ... 169
Zuerst mal elementar lokal -- Lokale elementare Typen ... 170
Dann elementar global -- Globale elementare Typen ... 172
Elementar global con domäne -- Domäne ... 175
Strukturell lokal -- Lokale strukturierte Typen ... 178
Struktur global -- Globale strukturierte Typen ... 180
Tabellarisch -- typisch/intern -- Lokaler Tabellentyp ... 184
Her mit der internen Tabelle ... 185
Wie viel Spalten hätten Sie denn gerne -- Zeilentyp ... 186
Normal, sortiert oder doch gehasht -- Tabellenart ... 187
Open the door please -- Schlüssel ... 189
Heute mal kopflos -- Kopfzeile ... 190
Tabellen für alle -- Globaler Tabellentyp ... 191
Operation: Table -- Tabellenoperationen ... 193
Bibliothek einräumen ... 195
Einzeln geht es auch -- Einzelverarbeitung von Tabelleneinträgen ... 197
Ändern und Löschen zum Abrunden -- Noch mehr Tabellenoperationen ... 198
6. Si parla ABAP? Echtes Küchenlatein -- ABAP-Syntax I ... 199
Von Kontrollen und Schleifen ... 200
Zuweisungen, Operationen, Funktionen ... 200
Bitte nicht abweisen -- Zuweisungen ... 203
Was du darfst und was du sollst -- Konvertierungsregeln ... 205
Ketten ohne Perlen -- Zeichenketten-Funktionen ... 207
Von Segmenten und Offsetten -- Zeichenketten-Operationen ... 211
Ohne Rechnung, ohne mich -- Arithmetische Operationen ... 213
Notandor -- Logische Ausdrücke ... 214
Verzweige, falls ... -- IF ... THEN ... ELSE ... 216
Cassis -- CASE ... WHEN ... ENDCASE ... 218
Schleifen ... 219
Bedingungslose Schleifen -- DO ... ENDDO ... 219
Krasses Projekt für Hardcore-ABAPer ... 220
Bedingte Schleife -- Fußgesteuert ... 222
Bedingte Schleife -- Kopfgesteuert ... 223
Jetzt aber mal systematisch -- Systemfelder ... 224
Großbaustelle Rezeptprogramm ... 226
7. Kleine Häppchen sind leichter wiederverdaut („Schluss mit Spaghetti!“) -- ABAP-Syntax II ... 229
Motivation durch Demotivieren ... 230
Den richtigen Zeitpunkt finden -- Ereignisblöcke ... 231
Ereignisreiche Programme -- Ereignisschlüsselwörter ... 232
Ereignisse: Rekapitulation mit Selbstreflexion ... 233
Zur richtigen Zeit an irgendeinem Fleck? ... 235
Meine schönsten Ereignisse -- Rahmenprogramm ... 236
Dynpros mit Modul -- PBO, PAI, HOV ... 238
Module, ganz kurz -- Dynpro-Programmierung ... 239
Aber nun mit Schnittstelle -- Unterprogramme ... 240
Definiere zuerst! Unterprogramm-Definition ... 241
Übergeben und Übernehmen -- Schnittstellenparameter für das Unterprogramm ... 242
Lesen von DB mit Kapsel -- DB-Zugriff in Unterprogramm ... 244
Ein Typ muss es sein -- Schnittstelle typisieren ... 245
Bitte mit Typ -- Typisieren ... 246
Warum in die Ferne schweifen? -- Lokale Variablen ... 247
Sichtbar oder nicht -- Lokale Überdeckung ... 248
Aufruf bitte -- Unterprogramm-Aufruf ... 249
Totalumbau ... 250
Globale Wiederverwendung -- Funktionsbausteine ... 254
Funktionsgruppe ... 256
Leg dir eine Funktionsgruppe an ... 259
Es ist so weit, global bereit -- Funktionsbaustein ... 260
Her mit dem Rezept ... 262
Haaalloooooo -- Funktionsbaustein-Aufruf ... 265
Dein Finale ... 267
8. Schrödinger zeigt Klasse -- ABAP Objects ... 269
Motivation zur OO ... 270
Begriffe aus der Realität ... 271
Holistische Sichtweise ... 273
Modellierung ... 274
Erst denken, dann lenken: Einfache UML als Analysewerkzeug zur Visualisierung von Klassen/Objekten ... 278
Klasse Kaffee(-vollautomat) auf dem Papier ... 280
Ohne meine Kollaborateure bin ich nichts ... 282
Klasse oder doch Objekt ... 284
Klasse Lokal ... 286
Dein kleines Objektistan ... 289
Kaffee für zwei ... 292
Datenablage -- Attribute ... 294
Wasserstand und Pause ... 296
Klasse Attribute, oder was? ... 297
Privat verkalkt / Private Attribute ... 300
Ab jetzt mit Methode -- Schrödinger frischt auf ... 301
Mit Methode -- ran an den Code ... 302
Die Schnittstelle der Methode ... 306
Ganz spezielle Methoden ... 309
Methoden mit Fülle ... 311
Selbstreferenz ... 314
Statisches Attribut ... 315
Methodenaufruf ... 316
Laufzeit sequenziert ... 318
Methoden für den Wasserbehälter ... 320
Von lokal nach global ... 322
Going global -- SE24 ... 323
Attribute und Methoden ... 324
Kaffeebohnen im Behälter ... 328
Senden und Empfangen ... 332
Sender mit Sendungsbedürfnis ... 333
Empfänger ... 334
Objektorientiertes Verkuppeln ... 335
Kaffee s'il vous plaît ... 337
9. Erben oder nicht, das ist hier die Frage: Pasta di Erbe -- Vererbung ... 339
Motivation ... 340
Vererben und Erben von Klassen ... 343
Vererbung lokal ... 346
Meister der Pyramiden ... 348
Globale Vererbung: Ein praktisches Beispiel im SAP-Standard ... 350
Was wird wie und wo vererbt ... 353
Redefinieren -- Polymorphie von Methoden ... 357
Redefinieren als globale Herausforderung ... 360
Statische und dynamische Typen von Klassen mit ein wenig Casting ... 366
Festigung der Einsichten ... 368
Down-Cast ... 371
Abstrakte Klassen ... 374
10. Keine Details bitte -- Der Blick durch Interfaces ... 379
Schizophrenie? ... 380
Lokal zum Einsteigen ... 383
Schnittig und definiert ... 384
Volles Risiko -- alles oder nichts ... 385
Klasse Zuordnung ... 386
Klasse Definition ... 387
Klasse Implementierung ... 388
Von Suchmaschinen und Tilden ... 389
Hast du gerufen? ... 390
Die vielen Gestalten der Methoden ... 392
Globalisierung mit positiven Auswirkungen ... 395
Global klasse Implementierung ... 397
Singleton-Party ... 399
11. Das Kapitel für Feiglinge -- Ausnahmen ... 403
Ausnahmsweise behandelt ... 404
Eine kleine Geschichte der Ausnahmen ... 406
Nochmal langsam: Mit SY-SUBRC. Ausnahmewert wird gesetzt ... ... 410
... und von dir behandelt ... 411
It's RAISING man, hallelujah. ... 412
Ausnahmen melden ... ... 412
... und behandeln ... 413
The Catcher in the System ... 416
Ausnahmen melden (mit Nummern) ... ... 416
... und behandeln (nach Nummern) ... 417
Ausnahmslos Objekte ... 419
Definieren geht vor ... 421
Ausnahmen melden (mit Ausnahmeklassen) ... ... 423
... und Ausnahmen behandeln, aber richtig! Mit Ausnahmeklassen. ... 426
Das ausnahmengespickte Projekt ... 427
12. Spaghetti-Programmierung -- Selektionsbilder, Listen und Nachrichten (GUI I) ... 433
Vom kleinen Window-Farmer bis zum Groß-GUI-Besitzer: Jeder will ein Selektionsbild! ... 434
Selektionsbild für Beschränkte mit Liste ... 436
PARAMETERS: Das kleinere der Selektionsbild-Ungeheuer ... 438
Typ und Vorschlag ... 441
Hey, Checker! ... 443
Rund wie ein Radiobutton ... 445
„Du darfst“ war gestern, heute ist „Du musst“ ... 447
Abflug in den Keller ... 448
Aber satt war er noch immer nicht: SELECT-OPTIONS ... 451
Mehr, Mehrere, Mehreres (ohne Rauschen) ... 456
Zur Anwendung gebracht ... fast ... 460
Graue Theorie: Eingabehilfe, Prüftabelle ... 462
Entfessle den Künstler in dir: Screen-Gestaltung ... 464
Endlich Texte! ... 468
Wie im Hamsterrad ... 470
Ereignisreich geht's weiter ... 476
Tagesschau ... also eine Nachrichtensendung ... 479
L -- Li -- Lis -- List -- Liste ... 483
Keine Beichte notwendig: Interaktion mit einer Liste ... 490
13. Lasagne aufs Auge -- Dynpro-Programmierung (GUI II) ... 493
Dynamisch programmieren ... 494
Wer schreit hier so? Rahmenprogramme, die Dynpros rufen! ... 498
Dreieinigkeit ... 501
Alles ist im Fluss und manchmal geht es im Kreis ... 503
Wohin soll ich mich wenden? ... 507
Wo Module bestimmen ... 508
Mit welchem Titel darf ich dich ansprechen? ... 511
Über der Fläche steht die Oberfläche ... 514
Die Gestaltung eines eigenen Menüs ... 517
Kannst du mit dem Druck umgehen? ... 520
FFFFF ... 523
Weck den Künstler in dir ... 525
Dein Dynpro ... 533
Sammle Elemente ... 535
Wohin mit den Daten? ... 537
Ablauflogik Reloaded ... 539
Dynpro rufen mal anders ... 547
14. Ravioli -- Web-Dynpro-ABAP-Programmierung (GUI III) ... 551
15. Raus aus meiner Küche! -- Berechtigungen ... 553
Berechtigungsrundumschlag -- Überblick Berechtigungen ... 554
Am Anfang steht das Objekt mit Klasse -- Berechtigungsobjekt ... 557
Die Details zur Berechtigung ... 560
Der Berechtigungs-Selbstchecker -- S_TCODE prüfen ... 562
Experimente mit AUTHORITY-CHECK ... 564
Warum mag mich keiner -- SU53 ... 565
16. Vorratskammer einrichten mit ziemlich viel Schnickschnack -- DB-Tabellen erstellen ... 567
Freiland-Datenhaltung -- Daten persistieren ... 568
Warum einfach, wenn es mit Schnittstelle geht -- Die Datenbankschnittstelle ... 570
Transparente Tabelle en Detail ... 573
Spalten und der Rest -- Tabellenfelder ... 576
Ohne Technik keine Tabelle -- Technische Einstellungen ... 581
Mehr als eine Tabelle ... 584
Welcher Wert ist möglich -- Fremdschlüssel ... 587
Ich will auch anders suchen -- Sekundärindex ... 592
Ändern oder nicht, was geht -- Erweiterungskategorie ... 595
Definieren und Realisieren -- Datenbankobjekt ... 597
Mein erster Eintrag -- Datenbanktabellen-Einträge erzeugen ... 598
Artenvielfalt im Dictionary -- Weitere Tabellenarten ... 600
17. Vorratskammer plündern -- DB-Tabellen auslesen ... 601
Erster Takt -- SQL ... 602
Zweiter Takt -- SQL ... 602
Eingelagert und geplündert -- Datenpufferung ... 603
Datenmanipulator nativ -- DML mit Native SQL ... 604
Einfach definieren -- Datendefinition mit dem ABAP Dictionary ... 604
Alles recht und schön -- Berechtigungen und Konsistenzprüfungen ... 604
Open SQL grundiert -- Basisbefehlssatz aus Open SQL ... 605
Verklausuliert -- SELECT-Klausel ... 607
Wohin damit -- INTO target ... 610
Woher -- FROM source ... 611
Aber bitte nicht alles -- WHERE-Klausel ... 613
Da geht noch mehr -- Weitere Klauseln ... 614
Und jetzt alles kombiniert -- SELECT-Beispiel ... 615
Mehr als eine Tabelle ist auch okay -- Views ... 620
Schritt für Schritt zum View mit relationalen Operatoren ... 624
Da will ich auch nicht alles -- Selektionsbedingungen ... 633
Zusammenfassung in Bildern -- View-Definition ... 634
Mit Views programmieren ... 636
Weil du so brav warst -- Programmieren mit Views ... 638
18. Vorratskammer in Schuss halten -- DB-Daten pflegen ... 641
Lesen ist Silber, Schreiben ist Gold -- DELETE, UPDATE, MODIFY und INSERT ... 642
Sichere Daten -- Transaktionskonzept ... 642
Von einem Zustand zum nächsten -- Datenbank-LUW ... 644
Bist du konsistent? ... 647
Aktionen bündeln -- SAP-LUW ... 648
Und jetzt auch noch transaktional -- SAP-Transaktion ... 649
Datenmanipulator-Entwicklungsrahmen -- Das Programm für die Open-SQL-Anweisungen ... 651
Und noch eins und noch eins und ... -- INSERT ... 656
Massendaten einfügen ... 658
Ändern muss man auch ab und zu -- UPDATE ... 661
Massendaten ... 662
Weg damit -- DELETE ... 664
Kombianweisung -- MODIFY ... 667
Halt, Sperre! -- Sperrkonzept ... 669
Die fünf Gebote der performanten DB-Programmierung ... 670
19. Mit Schirm, Charme -- und vielleicht noch einem Melonensorbet -- Daten in Dateien, Datenablage ohne DB ... 671
Daten ohne Datenbank ... 672
GUI-Loads -- Upload und Download ... 672
Frontend Services ... 674
Pfad ermitteln ... 677
Download now, zumindest vorbereitet -- Download vorbereiten ... 679
Auch nett für Datenwiederverwendung -- Clipboard ... 680
Download now! ... 682
Einen hamma noch -- Upload ... 685
Daten auf dem Applikationsserver ... 687
OPEN House -- OPEN DATASET ... 688
DatenTRANSFER -- Daten schreiben ... 689
READ DATASET -- Daten lesen ... 691
20. Täglich wechselnde Speisekarten -- Dynamische Programmierung ... 693
Dynamische Programmierung hat nichts mit Beweglichkeit zu tun ... 694
Feldsymbole ... 694
Datenrefs ... 696
RTTS = RTTI + RTTC ... 698
Überschrift finden ... 699
Dynamische Tokens ... 701
Dynamisches Feld ... 703
Dynamischer Typ ... 703
Dynamische Komponente ... 704
Dynamische Bedingung ... 704
Dynamisches Unterprogramm ... 706
Programmerzeugung im Hauptspeicher ... 706
Programmerzeugung im Repository ... 707
Bildnachweis ... 710
Anhang. Transportmanagementsystem einrichten ... 711
Index ... 715
»ABAP-Buchtipp!« E-3 Magazin, März 2014
Erscheint lt. Verlag | 28.3.2014 |
---|---|
Reihe/Serie | SAP PRESS |
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 200 x 235 mm |
Gewicht | 1775 g |
Einbandart | Paperback |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Weitere Themen ► SAP | |
Schlagworte | ABAP • ABAP Buch • ABAP Grundkurs • ABAP; Handbuch/Lehrbuch • ABAP lernen • ABAP objects • Einstieg in ABAP • SAP |
ISBN-10 | 3-8362-2859-9 / 3836228599 |
ISBN-13 | 978-3-8362-2859-6 / 9783836228596 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich