Fr. 63.90

Schrödinger programmiert ABAP - Das etwas andere Fachbuch

German · Paperback / Softback

Shipping usually within 4 to 7 working days

Description

Read more

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

List of contents



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

About the author

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.

Summary

Über dieses Buch
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

Additional text

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

Report

»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

Product details

Authors Roland Schwaiger
Publisher Rheinwerk Verlag
 
Languages German
Product format Paperback / Softback
Released 26.03.2019
 
EAN 9783836266079
ISBN 978-3-8362-6607-9
No. of pages 788
Dimensions 200 mm x 237 mm x 51 mm
Weight 1872 g
Illustrations m. zahlr. Abb.
Series SAP PRESS
SAP Press
Schrödinger programmiert / Das etwas andere Fachbuch
Subjects Natural sciences, medicine, IT, technology > IT, data processing > Programming languages

Informatik, Syntax, SAPUI5, SAP, ABAP, ABAP Objects, Fiori, SAP NetWeaver, ABAP in Eclipse, Web Dynpro, ABAP Tutorial, ABAP programmieren, ABAP Blog, ABAP Grundkurs, ABAP Programmierung, Einstieg in ABAP, ABAP anders, ABAP Video, ABAP lernen, Dynpro

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.