Schrödinger programmiert ABAP

Inhaltsverzeichnis



  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

SAP PRESS Band 3

Schrödinger programmiert ABAP

Die volle Ladung ABAP: Programmieren lernen im Comic-Stil

Buch (Taschenbuch)

49,90 € inkl. gesetzl. MwSt.

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. 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

»Dieses Buch wird dir einen ausführlichen Einstieg in ABAP gewähren. [...] Der spielerische Ansatz zeichnet Schrödingers Bücher aus. Somit macht das Lesen Spaß und es gibt genügend Aufgaben, welche du benutzen kannst, um dein Wissen nochmals zu vertiefen.« Programmierbuch.de 202103

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.

Details

Einband

Taschenbuch

Erscheinungsdatum

28.03.2019

Verlag

Rheinwerk

Seitenzahl

788

Maße (L/B/H)

23,3/20,3/5,3 cm

Beschreibung

Details

Einband

Taschenbuch

Erscheinungsdatum

28.03.2019

Verlag

Rheinwerk

Seitenzahl

788

Maße (L/B/H)

23,3/20,3/5,3 cm

Gewicht

1872 g

Auflage

3. erweiterte Auflage

Sprache

Deutsch

ISBN

978-3-8362-6607-9

Das meinen unsere Kund*innen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Kund*innenkonto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kund*innen meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

  • Schrödinger programmiert ABAP


  •   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