Schwaiger | Schrödinger programmiert ABAP | Buch | 978-3-8362-6607-9 | sack.de

Buch, Deutsch, 788 Seiten, Format (B × H): 203 mm x 233 mm, Gewicht: 1875 g

Reihe: SAP PRESS

Schwaiger

Schrödinger programmiert ABAP

Die volle Ladung ABAP: Programmieren lernen im Comic-Stil
3. korrigierte und erweiterte Auflage 2019
ISBN: 978-3-8362-6607-9
Verlag: Rheinwerk Verlag GmbH

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

Schwaiger Schrödinger programmiert ABAP jetzt bestellen!

Autoren/Hrsg.


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


Schwaiger, Roland
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.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.