ABAP Workbench - 100 Tipps & Tricks - ReadingSample

40
SAP PRESS ABAP Workbench - 100 Tipps & Tricks Bearbeitet von Christian Assig 1. Auflage 2011. Taschenbuch. 405 S. Paperback ISBN 978 3 8362 1719 4 Format (B x L): 16 x 24 cm Weitere Fachgebiete > EDV, Informatik > Datenbanken, Informationssicherheit, Geschäftssoftware > SAP Zu Inhaltsverzeichnis schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.

Transcript of ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Page 1: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

SAP PRESS

ABAP Workbench - 100 Tipps & Tricks

Bearbeitet vonChristian Assig

1. Auflage 2011. Taschenbuch. 405 S. PaperbackISBN 978 3 8362 1719 4

Format (B x L): 16 x 24 cm

Weitere Fachgebiete > EDV, Informatik > Datenbanken, Informationssicherheit,Geschäftssoftware > SAP

Zu Inhaltsverzeichnis

schnell und portofrei erhältlich bei

Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft.Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programmdurch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr

als 8 Millionen Produkte.

Page 2: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Bonn � Boston

Christian Assig

ABAP™ Workbench – 100 Tipps & Tricks

Page 3: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Auf einen Blick

TEIL 1 Quelltext bearbeiten ............................................................... 17

TEIL 2 Quelltext automatisch erzeugen............................................. 73

TEIL 3 Mit Zusatzinformationen zu Entwicklungsobjekten arbeiten .............................................. 97

TEIL 4 Allgemeines zur ABAP Workbench ......................................... 147

TEIL 5 ABAP-Dictionary-Objekte und Tabellenpflege- werkzeuge bearbeiten ............................................................. 163

TEIL 6 Web-Dynpro-Components bearbeiten ................................... 195

TEIL 7 Anwendungen testen .............................................................. 211

TEIL 8 Anwendungen debuggen......................................................... 239

TEIL 9 In Entwicklungsobjekten suchen ............................................ 287

TEIL 10 Werkzeuge zur Analyse von Anwendungen ............................ 309

TEIL 11 Mit Transportaufträgen arbeiten ............................................ 369

Page 4: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

7

Inhalt

Einleitung .............................................................................................. 13

TEIL 1 Quelltext bearbeiten ..................................................... 17

Tipp 1 Den neuen ABAP Editor aktivieren ........................................ 18Tipp 2 Neue Ansichten ab Release 7.0 EHP2 .................................... 23Tipp 3 Den Sperrmechanismus besser verstehen ............................... 27Tipp 4 Die mehrstufige Zwischenablage nutzen ................................ 30Tipp 5 Quelltext spaltenweise markieren .......................................... 33Tipp 6 Zwischen Groß- und Kleinschreibung wechseln ...................... 37Tipp 7 Kommentare mit dem Pretty Printer

automatisch einrücken ........................................................... 40Tipp 8 Automatische Formatierung beim Einfügen aktivieren ............ 43Tipp 9 Den Pretty Printer als Vorstufe der Syntaxprüfung nutzen ...... 46Tipp 10 Fehlermeldungen der Syntaxprüfung besser verstehen ........... 49Tipp 11 Die automatische Fehlerkorrektur verwenden ........................ 53Tipp 12 Objektorientierte Ereignisse ................................................... 57Tipp 13 Variablendefinitionen bereinigen ........................................... 62Tipp 14 Methoden verschieben .......................................................... 65Tipp 15 Quelltext-Segmente extrahieren ............................................ 68

TEIL 2 Quelltext automatisch erzeugen ............................... 73

Tipp 16 Muster per Drag & Drop einfügen .......................................... 74Trick 17 Funktionale Schreibweise in Mustern aktivieren ..................... 76Tipp 18 Eigene Muster definieren ....................................................... 78Tipp 19 Remote Function Calls mit dem BAPI Browser erzeugen ........ 81Tipp 20 Die Code-Vervollständigung verwenden ................................ 84Tipp 21 Funktionalitäten der Code-Vervollständigung ........................ 86Tipp 22 Einstellungen zur Code-Vervollständigung ............................. 89Tipp 23 Code-Vorlagen definieren und einfügen ................................. 91Tipp 24 Textsymbol aus Literal anlegen .............................................. 94

Page 5: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Inhalt

8

TEIL 3 Mit Zusatzinformationen zu Entwicklungsobjekten arbeiten ................................. 97

Tipp 25 Den Programmstatus deklarieren ........................................... 98Tipp 26 Die Standardnachrichtenklasse festlegen ................................ 101Tipp 27 Informationen aus dem Objektkatalog auswerten .................. 103Tipp 28 Bevorzugte Parameter von Methoden deklarieren .................. 107Tipp 29 Die Editorsperre verwenden .................................................. 110Tipp 30 Interne Namen von Modularisierungseinheiten ermitteln ....... 114Tipp 31 Typen in Klassen und Interfaces definieren ............................. 119Tipp 32 Das Workflow-Interface integrieren ....................................... 122Tipp 33 Versionen von Entwicklungsobjekten anlegen ........................ 124Tipp 34 Versionsstände vergleichen .................................................... 126Tipp 35 Alte Versionen von Entwicklungsobjekten zurückholen .......... 130Tipp 36 Pakete definieren ................................................................... 133Tipp 37 Paketschnittstellen definieren ................................................ 136Tipp 38 Verwendungserklärungen definieren ...................................... 139Tipp 39 Paketabhängigkeiten prüfen ................................................... 142

TEIL 4 Allgemeines zur ABAP Workbench ........................... 147

Tipp 40 Die Vorwärtsnavigation nutzen .............................................. 148Tipp 41 Mit der Historie im SAP GUI arbeiten .................................... 151Tipp 42 Formulare schneller ausfüllen ................................................. 154Tipp 43 Die Spaltenbreite anpassen .................................................... 157Tipp 44 Darstellungen von Entwicklungsobjekten aktualisieren ........... 160

TEIL 5 ABAP-Dictionary-Objekte und Tabellenpflegewerkzeuge bearbeiten ...................... 163

Tipp 45 Elementare Suchhilfen definieren ........................................... 164Tipp 46 Fremdschlüssel definieren ...................................................... 168Tipp 47 Schlüsselfelder und Initialwerte in Strukturen ........................ 173Tipp 48 Die Reihenfolge der Felder in Datenbanktabellen

korrigieren ............................................................................. 176Tipp 49 Pflegedialoge anlegen und aktualisieren ................................. 179Tipp 50 Pflegedialoge um Anwendungslogik erweitern ....................... 183Tipp 51 Pflege-Views definieren ......................................................... 186Tipp 52 Viewcluster definieren ........................................................... 190

Page 6: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Inhalt

9

TEIL 6 Web-Dynpro-Components bearbeiten .................... 195

Tipp 53 Ansicht im Context-Editor wechseln ...................................... 196Tipp 54 Die quelltextbasierte Ansicht in Web Dynpro nutzen ............. 199Tipp 55 Mit dem Code-Wizard Quelltext generieren .......................... 202Tipp 56 Mit dem Code-Wizard Benutzeroberflächen generieren ......... 205Tipp 57 Mit relativen Breitenangaben in Web Dynpro arbeiten .......... 208

TEIL 7 Anwendungen testen .................................................... 211

Tipp 58 Die Testumgebung für Klassen und Funktionsbausteine einsetzen ................................................ 212

Tipp 59 Sperren testen ....................................................................... 218Tipp 60 Die Performance-Beispiele nutzen ......................................... 221Tipp 61 Modultests mit ABAP Unit durchführen ................................. 224Tipp 62 Tests von Benutzeroberflächen mit eCATT automatisieren ..... 228Tipp 63 Assertions, Breakpoints und Logpoints aktivieren ................... 235

TEIL 8 Anwendungen debuggen ............................................. 239

Tipp 64 Zwischen dem klassischen und dem neuen ABAP Debugger umschalten .................................................. 240

Tipp 65 Debugging von Systemprogrammen ....................................... 243Tipp 66 Debugging aus einem Pop-up aktivieren ................................ 246Tipp 67 Debugging von Hintergrundanwendungen aktivieren ............. 249Tipp 68 Debugging für laufende Web-Dynpro-

Anwendungen aktivieren ....................................................... 253Tipp 69 Besonderheiten beim Debugging von

Web-Dynpro-Anwendungen .................................................. 256Tipp 70 Breakpoints bei bestimmten Anweisungen anlegen ................ 260Tipp 71 Breakpoints mit Bedingungen verwenden .............................. 264Tipp 72 Watchpoints verwenden ........................................................ 267Tipp 73 Layer-Aware Debugging ........................................................ 271Tipp 74 Layouts im ABAP Debugger konfigurieren .............................. 274Tipp 75 Klassenbasierte Ausnahmen im

ABAP Debugger auswerten .................................................... 278Tipp 76 Informationen aus einem Kurzdump auswerten ..................... 282

Page 7: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Inhalt

10

TEIL 9 In Entwicklungsobjekten suchen .............................. 287

Tipp 77 Im Quelltext inkrementell suchen .......................................... 288Tipp 78 Systemweit Quelltext durchsuchen ........................................ 291Tipp 79 Klassen schneller finden ......................................................... 297Tipp 80 Grenzen des Indexes für den Verwendungs-

nachweis kennen ................................................................... 300Tipp 81 Den Verwendungsnachweis für Methoden ausführen ............. 303Tipp 82 Die Umfeldermittlung verwenden .......................................... 306

TEIL 10 Werkzeuge zur Analyse von Anwendungen ........... 309

Tipp 83 Quelltexte mit dem Splitscreen-Editor vergleichen ................. 310Tipp 84 Die erweiterte Prüfung verwenden ........................................ 314Tipp 85 Die Funktionalitäten des Code Inspectors kennen .................. 318Tipp 86 Inspektionen, Objektmengen und Prüfvarianten im

Code Inspector ...................................................................... 322Tipp 87 Syntaxprüfung, erweiterte Prüfung und

Modultests automatisieren .................................................... 328Tipp 88 Eigene Code-Inspector-Tests implementieren ........................ 333Tipp 89 Die unterschiedlichen Möglichkeiten des

Performance-Trace ................................................................. 339Tipp 90 Datenbanktabellen zu einer laufenden

Anwendung bestimmen ......................................................... 342Tipp 91 Die Laufzeitanalyse verwenden .............................................. 345Tipp 92 Die Laufzeitanalyse mit Web-Dynpro-

Applikationen verwenden ...................................................... 352Tipp 93 Den Performancemonitor in Web-Dynpro-

Anwendungen einsetzen ........................................................ 356Tipp 94 Den Speicherbedarf von Anwendungen analysieren ............... 360Tipp 95 Den Coverage Analyzer einsetzen .......................................... 364

Page 8: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Inhalt

11

TEIL 11 Mit Transportaufträgen arbeiten .............................. 369

Tipp 96 Standardaufträge definieren ................................................... 370Tipp 97 Transportaufträge organisieren ............................................... 373Tipp 98 Mit Sperren in Transportaufträgen arbeiten ............................ 378Tipp 99 Einträge in Transportaufträgen verschieben ............................ 382Tipp 100 Mit Entwicklungsobjekten in ein anderes System umziehen ... 386

Der Autor und die Ideengeber ............................................................... 393Index ..................................................................................................... 397

Page 9: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

13

Einleitung

Die Entwicklung von Software in ABAP unterscheidet sich deutlich von der Entwicklung in anderen Programmiersprachen wie Java, C++ oder C#. Wäh-rend es bei zahlreichen anderen Programmiersprachen eine Vielzahl von Entwicklungsumgebungen gibt, aus der ein Entwickler die für sich passende Entwicklungsumgebung aussuchen kann, besitzt die ABAP Workbench mehr oder weniger ein Monopol für die Softwareentwicklung in ABAP. Jeder ABAP-Entwickler kennt darum die ABAP Workbench und ihre grundlegen-den Funktionalitäten.

Auch am Buchmarkt spiegelt sich der Unterschied in den Entwicklungsland-schaften wider: Zu Entwicklungsumgebungen für andere Programmierspra-chen wie Eclipse oder Microsoft Visual Studio ist eine Vielzahl von Büchern verfügbar. In diesen Büchern steht die Entwicklungsumgebung im Vorder-grund. Die Programmiersprache spielt, wenn überhaupt, nur eine unterge-ordnete Rolle. In der ABAP-Welt gibt es dagegen viele Bücher, die sich mit der Programmiersprache ABAP oder mit bestimmten Technologien in der ABAP-Welt beschäftigen. Die ABAP Workbench als Entwicklungsumgebung thematisieren diese Bücher dabei jedoch nur am Rand.

Natürlich wäre es auch wenig sinnvoll, ein Buch zu schreiben, das alle Grundlagen der ABAP Workbench, vom Anmelden am System über den Ent-wicklerschlüssel bis hin zum Aktivieren von Entwicklungsobjekten, im Detail erläutert. All das kennt jeder ABAP-Entwickler ohnehin, da es wahr-scheinlich keinen ABAP-Entwickler gibt, der niemals mit der ABAP Work-bench gearbeitet hat.

Aber über die Grundlagen hinaus bietet die ABAP Workbench noch eine Vielzahl von Möglichkeiten, die nicht jedem Entwickler bekannt sind. Man-che erlauben es Ihnen, Dinge zu tun, von denen Sie bisher dachten, dass sie in der ABAP-Welt nicht möglich seien. Andere helfen Ihnen dabei, Ihr Ziel deutlich schneller und mit viel weniger Aufwand zu erreichen als auf die Ihnen bereits bekannte Art.

Aber wo kann ein ABAP-Entwickler nachschlagen, wenn er mehr über das Werkzeug erfahren möchte, mit dem er tagtäglich arbeitet? Beim Versuch diese Frage zu beantworten, entstand die Idee zu diesem Buch.

Page 10: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Einleitung

14

Zielgruppe

Dieses Buch richtet sich an alle, die in Ihrem beruflichen Alltag mit der Soft-ware-Entwicklung in ABAP zu tun haben. Egal, ob Sie vornehmlich kleinere Erweiterungen zu bestehenden SAP-Produkten schreiben oder größere Kom-ponenten selbst entwickeln, ob Sie gerade erst in die ABAP-Entwicklung ein-gestiegen sind oder sich in der ABAP-Welt bereits seit Jahren zu Hause füh-len: Sie werden in diesem Buch neue Ideen finden, die Sie bei der Arbeit mit der ABAP Workbench weiterbringen.

Zielsetzung und Inhalt

Ich verzichte in diesem Buch bewusst darauf, Ihnen Grundlagen zu erläu-tern, die Sie seit Ihren ersten Gehversuchen in ABAP ohnehin schon kennen. Stattdessen ist es das Ziel, Ihnen in Form der Tipps und Tricks möglichst viele neue Themen zu vermitteln, die Ihnen den Umgang mit der ABAP Workbench erleichtern, und damit Ihre Arbeit produktiver machen. Je nach Ihrem Kenntnisstand werden Sie sicherlich einige oder vielleicht sogar viele Themen bereits kennen, die im Buch erwähnt werden. Das Ziel des Buches ist es nicht, nur Geheimnisse zu offenbaren, die vorher noch keinem Ent-wickler bekannt waren. Vielmehr möchte ich Ihnen einen Überblick über die wichtigsten Themen vermitteln, die für jeden ABAP-Entwickler interessant sein können. Und ich bin mir sicher, dass auch Sie in diesem Buch Tipps fin-den werden, deren Inhalt Sie bisher noch nicht im Alltag anwenden.

Zum Aufbau

Das Buch enthält elf Teile, die jeweils mehrere Tipps zu einem Themengebiet zusammenfassen. Die einzelnen Tipps setzen nicht voraus, dass Sie auch die vorhergehenden Tipps gelesen haben. Sie können also an beliebiger Stelle damit beginnen, einzelne Tipps oder einzelne Teile in beliebiger Reihenfolge zu lesen. Wo inhaltliche Zusammenhänge zwischen mehreren Tipps beste-hen, enthalten die Tipps jeweils Verweise auf die anderen Tipps, die not-wendiges Vorwissen oder weitere Informationen zum aktuellen Tipp bein-halten.

Page 11: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Einleitung

15

Systemvoraussetzungen

Die meisten Inhalte dieses Buches können Sie in jedem SAP-System anwen-den, das auf einem SAP NetWeaver Application Server ABAP basiert. Dazu gehören neben SAP ERP auch die meisten anderen betriebswirtschaftlichen Systeme von SAP. Einige Tipps beziehen sich auf Funktionalitäten, die erst in den letzten Jahren neu zur ABAP Workbench hinzugekommen sind.

Diese Tipps enthalten darum Hinweise dazu, ab welchem Release die beschriebenen Funktionalitäten verfügbar sind. Diese Release-Angaben beziehen sich jeweils auf das Basis-Release, das heißt darauf, welche Version der ABAP-Laufzeit- und Entwicklungsumgebung in Ihrem System enthalten ist. Um herauszufinden, mit welchem Basis-Release Sie arbeiten, rufen Sie im SAP GUI den Menüeintrag System � Status... auf. Klicken Sie dann im Bereich SAP-Systemdaten auf das Detail-Symbol ( ). In der Zeile mit der Softwarekomponente SAP_BASIS sehen Sie dann in der Spalte Release, mit welchem Basis-Release Sie arbeiten.

Mit dem Basis-Release 7.0 können Sie den Großteil der Tipps aus diesem Buch nutzen. Die Funktionalitäten aus allen Tipps können Sie nutzen, sobald Sie mindestens mit dem Basis-Release 7.0 EHP2 arbeiten.

Danksagung

Die Ideen zu den einzelnen Tipps sind im beruflichen Alltag mit der Soft-wareentwicklung in ABAP entstanden. Natürlich habe ich mir nicht alle Tipps selbst ausgedacht. Eine Vielzahl von Vorschlägen für Tipps haben Experten für verschiedene Themenbereiche der Softwareentwicklung in ABAP beigetragen. Diese Ideengeber sind am Ende des Buches im Abschnitt »Der Autor und die Ideengeber« genannt. Ihnen gilt mein besonderer Dank. Ohne sie wäre es nicht möglich gewesen, ein Buch wie dieses zu schreiben.

Christian Assig SAP-Entwickler, Thalia Holding

Page 12: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

17

TEIL 1

TEIL 1 Quelltext bearbeiten

Die Zeiten, in denen Entwickler jedes Zeichen im Quelltext manuell eintippen mussten, sind zum Glück lange vorbei. Die ABAP Workbench unterstützt Sie mit einer Vielzahl von Werkzeugen dabei, Quelltext schnell und einfach zu erstellen oder zu verändern. Zu diesen Werkzeugen gehören beispielsweise die Zwischenablage, die nicht nur den letzten, sondern die letzten zwölf kopierten Werte für Sie bereithält, oder Tastaturkürzel, mit denen Sie zwischen Groß- und Kleinschreibung wechseln können. Nicht mehr benötigte Variablen und zahlreiche Syntaxfehler kann die ABAP Workbench sogar automatisch entfernen.

Tipps in diesem Teil

Tipp 1 Den neuen ABAP Editor aktivieren ........................................ 18

Tipp 2 Neue Ansichten ab Release 7.0 EHP2 .................................... 23

Tipp 3 Den Sperrmechanismus besser verstehen ............................... 27

Tipp 4 Die mehrstufige Zwischenablage nutzen ................................ 30

Tipp 5 Quelltext spaltenweise markieren .......................................... 33

Tipp 6 Zwischen Groß- und Kleinschreibung wechseln ...................... 37

Tipp 7 Kommentare mit dem Pretty Printer automatisch einrücken ........................................................... 40

Tipp 8 Automatische Formatierung beim Einfügen aktivieren ............ 43

Tipp 9 Den Pretty Printer als Vorstufe der Syntaxprüfung nutzen ...... 46

Tipp 10 Fehlermeldungen der Syntaxprüfung besser verstehen ........... 49

Tipp 11 Die automatische Fehlerkorrektur verwenden ........................ 53

Tipp 12 Objektorientierte Ereignisse ................................................... 57

Tipp 13 Variablendefinitionen bereinigen ........................................... 62

Tipp 14 Methoden verschieben .......................................................... 65

Tipp 15 Quelltext-Segmente extrahieren ............................................ 68

Page 13: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

18

Tipp 1 Den neuen ABAP Editor aktivieren

Aktivieren Sie ihn am besten sofort: Der neue ABAP Editor ist die Basis für viele der in diesem Buch genannten Tipps und Tricks und bietet zahlreiche Vorteile!

In den Benutzerprofilen zahlreicher Entwickler ist noch der alte ABAP Editor aktiviert. Der neue ABAP Editor ist zwar in aktuellen SAP-Systemen mittler-weile als Standard voreingestellt. Wer aber in einem SAP-System bereits ein Benutzerkonto hatte, als es den neuen ABAP Editor noch nicht gab, arbeitet in der Regel weiter mit dem alten ABAP Editor, bis er sich explizit für einen Wechsel entscheidet.

Entwickler, die den neuen ABAP Editor nie verwendet haben, vermissen ihn auch nicht unbedingt. Der neue ABAP Editor bringt jedoch viele Vorteile im Alltag, ein Umstieg lohnt sich, versprochen!

› Und so geht’s

Ist der neue ABAP Editor in Ihrem Benutzerprofil noch nicht aktiviert, rufen Sie aus der ABAP Workbench heraus den folgenden Menüeintrag auf:

Wechseln Sie anschließend auf der Registerkarte ABAP Editor auf die Unter-registerkarte Editor. Hier können Sie über die Einstellung Frontend Editor (neu) den neuen ABAP Editor aktivieren.

Nach der Aktivierung des neuen ABAP Editors wird Ihnen der ABAP-Quell-text angezeigt – erste Unterschiede fallen schon rein optisch auf.

Tipp 1

Hilfsmittel � Einstellungen

Page 14: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Den neuen ABAP Editor aktivieren Tipp 1

19

ABAP-Quelltext im alten ABAP Editor

ABAP-Quelltext im neuen ABAP Editor

Page 15: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

20

Einstellung zum Aktivieren des neuen ABAP Editors

Zu den zusätzlichen Funktionalitäten, die der neue ABAP Editor bereitstellt, gehören unter anderem:

� Automatische Code-Vervollständigung: Während Sie die ersten Zeichen einer ABAP-Anweisung eingeben, bietet Ihnen der neue ABAP Editor ver-schiedene Möglichkeiten an, wie die weiteren Bestandteile der Anweisung aussehen könnten.

� Code-Vorlagen: Häufig benötigte Blöcke aus Kommentaren und ABAP-Quelltext werden Ihnen automatisch vorgeschlagen, wenn Sie die ersten Zeichen eines solchen Blocks eingeben. Haben Sie beispielsweise das Wort CASE eingegeben, bietet Ihnen der neue ABAP Editor an, einen vollständi-gen CASE-Block inklusive WHEN-Anweisungen und ENDCASE-Anweisung ein-zufügen. Sie können auch eigene Code-Vorlagen definieren, die Ihnen auf demselben Weg angeboten werden.

� Mehrstufige Zwischenablage: Der neue ABAP Editor merkt sich nicht nur den letzten Wert, den Sie in die Zwischenablage kopiert haben, sondern die letzten zwölf Werte. So können Sie zunächst mehrere Werte kopieren und diese dann einzeln an anderer Stelle wieder einfügen.

Page 16: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Den neuen ABAP Editor aktivieren Tipp 1

21

� Farbliche Hervorhebung im Quelltext: Die verschiedenen Bestandteile des Quelltextes wie Schlüsselwörter, Kommentare oder Operatoren werden in verschiedenen Farben und Schriftstilen dargestellt. Welche Farben und Schriftstile verwendet werden, können Sie auch individuell einstellen.

� Einfache Syntaxprüfung während der Eingabe: Schon bevor Sie den Quell-text sichern, aktivieren oder prüfen, führt der neue ABAP Editor be-stimmte Syntaxprüfungen durch. So erkennen Sie beispielsweise bereits während der Eingabe an der farblichen Hervorhebung, wenn Sie sich bei einem Schlüsselwort vertippt haben.

� Hervorhebung von Blöcken: Ebenfalls optisch hervorgehoben stellt der neue ABAP Editor zusammengehörige Anweisungen dar, beispielsweise welche ELSE- und welche ENDIF-Anweisung zu einer gerade markierten IF-Anweisung gehört.

� Zusammenklappen von Blöcken: Sie können zusammenhängende Quell-text-Blöcke zusammenklappen, zum Beispiel Kommentarblöcke, Schleifen oder andere Kontrollstrukturen. So können Sie aktuell für Sie nicht rele-vante Quelltext-Bestandteile ausblenden und den Blick auf das Wesent-liche fokussieren.

� Zeilennummerierung: Am linken Rand jeder Quelltext-Zeile wird die Zei-lennummer angezeigt. Diese Funktionalität ist hilfreich, um bestimmte Zeilen zu referenzieren, zum Beispiel wenn Sie sich am Telefon mit einem anderen Entwickler über den Quelltext eines Programms unterhalten.

� Markierung veränderter Zeilen: Der neue ABAP Editor markiert Zeilen, die Sie seit dem Öffnen des Quelltextes und seit dem letzten Speichern bear-beitet haben. So haben Sie die Möglichkeit, schnell festzustellen, ob Sie versehentlich auch Zeilen bearbeitet haben, die Sie eigentlich nicht bear-beiten wollten.

� Inkrementelle Suche: Mit der inkrementellen Suche springt der ABAP Edi-tor bereits zu dem ersten passenden Treffer, während Sie noch eintippen, wonach Sie suchen möchten. So müssen Sie in der Regel nicht einmal ein vollständiges Wort eingeben, nach dem Sie suchen möchten, da Ihnen schon vorher die gesuchte Stelle angezeigt wird.

� Automatisches Setzen von schließenden Klammern: Bei der Eingabe einer öffnenden Klammer setzt der neue ABAP Editor automatisch eine entspre-chende schließende Klammer. Einige Entwickler stört diese Funktionalität mehr als sie ihnen nützt, da sie daran gewöhnt sind, die schließende Klam-

Page 17: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

22

mer selbst einzugeben. Darum können Sie diese Funktionalität – wie die meisten anderen auch – auf Wunsch abschalten.

� Frei konfigurierbare Tastaturkürzel: Die meisten Funktionalitäten des ABAP Editors können auch über Tastaturkürzel aufgerufen werden. Die standardmäßig vorgegebenen Tastaturkürzel können Sie durch Ihre eige-nen ersetzen.

� Lesezeichen: Sie können interessante Stellen im Quelltext mit Lesezeichen markieren. Mit wenigen Mausklicks oder einem Tastaturkürzel können Sie dann schnell wieder zu einer solchen Stelle springen.

� Fensterteilungslinie: Das aktuelle Fenster des ABAP Editors können Sie mit der Fensterteilungslinie horizontal aufteilen. So können Sie sich in einem Modus gleichzeitig mehrere Stellen im Quelltext eines Programms anse-hen bzw. diese Stellen bearbeiten.

Bei Bedarf können Sie natürlich jederzeit zum alten ABAP Editor zurück-wechseln. Aufgrund von Stabilitätsproblemen, die bei der Einführung des neuen ABAP Editors noch auftraten, ist ein Wechsel in den alten ABAP Edi-tor bei aktuellen Releases aber nicht mehr notwendig; Probleme dieser Art gehören inzwischen der Vergangenheit an.

Page 18: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Neue Ansichten ab Release 7.0 EHP2 Tipp 2

23

Tipp 2 Neue Ansichten ab Release 7.0 EHP2

Seit Release 7.0 EHP2 können Sie ABAP-Klassen auch so darstellen, wie Klassen in vielen anderen Entwicklungsumgebungen abgebildet werden: in der quelltextbasierten Form mit dem Quelltext aller Methoden untereinander.

Erinnern Sie sich noch an Ihren ersten Kontakt mit einer Klasse im Class Buil-der? Wenn Sie Klassen bereits aus Entwicklungsumgebungen für andere Pro-grammiersprachen wie Java oder C++ kannten, waren Sie sicher überrascht über die formularbasierte Darstellung einer Klasse.

Viele andere Entwicklungsumgebungen legen alle Methoden einer Klasse in einer Datei ab und stellen die Methoden im Editor untereinander dar. Die ABAP Workbench dagegen legt die Quelltexte jeweils einer Methode einer globalen Klasse separat in der Datenbank ab, und stellte in der Vergangen-heit auf dem Bildschirm immer nur den Quelltext einer Methode dar. Seit Release 7.0 EHP2 können Sie entscheiden, ob Sie die ABAP-typische formu-larbasierte Darstellung für übersichtlicher halten oder eine Klasse lieber in der alternativen quelltextbasierten Form bearbeiten.

› Und so geht’s

Wenn Sie die Möglichkeit haben, zwischen der formularbasierten und der quelltextbasierten Darstellung zu wechseln, erscheint die Schaltfläche Quell-textbasiert mit dem Symbol zum Wechseln der Ansicht ( ) in der Symbol-leiste des Class Builders. Klicken Sie auf diese Schaltfläche, um in die quell-textbasierte Ansicht zu wechseln.

Tipp 2

Page 19: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

24

Formularbasierte Ansicht mit der Möglichkeit zum Wechsel in die quelltextbasierte Ansicht

In der quelltextbasierten Ansicht zeigt Ihnen der Class Builder den gesamten Quelltext einer globalen Klasse in einem Editorfenster an. Dazu zählen die Klassendefinition mit der Public Section, der Protected Section und der Pri-vate Section sowie alle Methodenimplementierungen. Diese Darstellung ent-spricht der Darstellung von lokalen Klassen in ABAP, und sie ähnelt der Dar-stellung von Klassen, wie sie in Entwicklungsumgebungen für andere Programmiersprachen typisch ist.

Im Rahmen der quelltextbasierten Ansicht steht Ihnen außerdem ein neuer Dialog zur Navigation innerhalb der aktuell geöffneten Klasse zur Verfügung: der Klassen-/Interface-Navigator. Sie können den Klassen-/Interface-Naviga-tor in der quelltextbasierten Ansicht über das Navigations-Symbol ( ) in der Symbolleiste des Class Builders aufrufen. Über ihn erhalten Sie schnell einen Überblick über die Attribute und Methoden der geöffneten Klasse. Mit einem Doppelklick auf einen Bestandteil der Klasse im Klassen-/Interface-Navigator navigieren Sie direkt zur entsprechenden Stelle im Quelltext der Klasse. Neben dem Klassen-/Interface-Navigator steht Ihnen auch in der quelltextbasierten Ansicht weiterhin die Navigation über die bekannte Objektliste am linken Bildschirmrand zur Verfügung.

Page 20: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Neue Ansichten ab Release 7.0 EHP2 Tipp 2

25

Quelltextbasierte Ansicht einer globalen Klasse

Klassen-/Interface-Navigator

Page 21: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

26

Mit der quelltextbasierten Ansicht versucht SAP nicht, die für globale Klassen bisher ausschließlich verwendete formularbasierte Darstellungsform abzulö-sen. Die quelltextbasierte Ansicht ist vielmehr als Alternative für Entwickler gedacht, die diese Darstellungsform aus anderen Programmiersprachen bzw. Entwicklungsumgebungen gewohnt sind. Außerdem ist die Verwendung der quelltextbasierten Ansicht sinnvoll, wenn Sie kleine Änderungen an vielen Methoden einer Klasse durchführen möchten. Auch das Ausdrucken oder das Kopieren einer ganzen Klasse in der quelltextbasierten Ansicht ist deutlich einfacher. Die formularbasierte Ansicht, mit der Navigation über Registerkar-ten und der Darstellung von jeweils einer Methode im Editor, ist dagegen übersichtlicher. Die Definition von Attributen und Methoden erfordert mit den Formularen deutlich weniger Wissen über die Details der ABAP-Syntax als die direkte Definition im Quelltext.

Page 22: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Den Sperrmechanismus besser verstehen Tipp 3

27

Tipp 3 Den Sperrmechanismus besser verstehen

Gleiches Recht für alle: Denselben Sperrmechanismus, den Sie in Ihren Program-men verwenden, verwendet auch die ABAP Workbench, um zu verhindern, dass mehrere Entwickler gleichzeitig an demselben Entwicklungsobjekt arbeiten.

Die Entwicklung in ABAP ist durch ein pessimistisches Sperrverfahrengeschützt. Möchten Sie eine Methode ändern, die gerade von einem Ihrer Kollegen bearbeitet wird, erhalten Sie eine Fehlermeldung mit dem Hinweis auf den Namen des Benutzers, der Ihnen zuvorgekommen ist.

Technisch gelöst ist die Implementierung durch das SAP-Sperrkonzept, mit dem auch Sie in Ihren Programmen konkurrierende Zugriffe verhindern müssen. Das hat zur Folge, dass Sie die Werkzeuge des SAP-Sperrkonzeptes zur Auswertung der gesetzten Sperren auch anwenden können, um heraus-zufinden, welche Sperren die ABAP Workbench gerade gesetzt hat. Wenn Sie in einem großen Team mit vielen Entwicklern arbeiten, haben Sie so die Möglichkeit, sich schnell einen Überblick darüber zu verschaffen, an wel-chen Stellen aktuell gearbeitet wird.

› Und so geht’s

Möchten Sie sich einen Überblick über die Entwicklungsobjekte verschaffen, die gerade in einem SAP-System bearbeitet werden, schauen Sie in die Liste der Sperreinträge (Transaktion SM12). Für jedes Entwicklungsobjekt, das gerade bearbeitet wird, zeigt Ihnen die Liste der Sperreinträge mindestens einen entsprechenden Sperreintrag an.

Im Selektionsbild zur Liste der Sperreinträge können Sie auswählen, welche Sperren Sie sehen möchten. Beispielsweise können Sie sich alle Sperren eines Benutzers oder alle Sperren in einem Mandanten ansehen. Sie können

Tipp 3

Page 23: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

28

in dem Selektionsbild auch mit den Platzhaltern ? (ein beliebiges Zeichen) und * (beliebig viele beliebige Zeichen) arbeiten.

Selektionsbild zur Liste der Sperreinträge

Da die ABAP Workbench eine Vielzahl verschiedener Tabellennamen für die Sperren verwendet, ist es eher schwierig, über den Tabellennamen die Selek-tion auf Entwicklungsobjekte eines bestimmten Typs einzuschränken. Schon eher geeignet ist das Sperrargument. Der Name des Entwicklungsobjekts kommt in der Regel im Sperrargument vor. So können Sie sich beispiels-weise über den Ausdruck */IOT/CL* alle aktuell bearbeiteten Klassen aus dem Namensraum /IOT/ anzeigen lassen.

Die folgende Abbildung zeigt ein Beispiel für die Liste der aktuell gesetzten Sperren. In diesem Fall bearbeitet der Benutzer ASSIG das Programm /IOT/BLOCKAUSWAHL und die Methode RAISE_EVENT der Klasse /IOT/CL_EVENT_RAISER.

Liste der aktuell gesetzten Sperren

Page 24: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Den Sperrmechanismus besser verstehen Tipp 3

29

Je nachdem, was Sie gerade bearbeiten, setzt die ABAP Workbench Sperren mit unterschiedlichen Granularitäten. Bearbeiten Sie beispielsweise im Class Builder die Definition einer Klasse, ist die gesamte Klasse gesperrt. Ein ande-rer Entwickler kann daher zur gleichen Zeit keine Methode der Klasse bear-beiten. Wenn Sie dagegen die Implementierung einer Methode bearbeiten, ist nur diese eine Methode gesperrt. Andere Methoden derselben Klasse können parallel auch von anderen Entwicklern bearbeitet werden.

Ähnlich verhält sich auch der Dialog zur Bearbeitung von Nachrichtenklas-sen (Transaktion SE91). Bearbeiten Sie die gesamte Nachrichtenklasse, ver-hindern Sie, dass ein anderer Entwickler parallel eine andere Nachricht der-selben Nachrichtenklasse bearbeiten kann. In der Regel werden Sie jedoch nur eine oder wenige Nachrichten auf einmal bearbeiten. Wechseln Sie dann auch nur für die einzelnen Nachrichten, die Sie ändern möchten, in den Änderungsmodus. So ermöglichen Sie es Ihren Kollegen, parallel Änderun-gen an anderen Nachrichten derselben Nachrichtenklasse vorzunehmen.

Page 25: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

30

Tipp 4 Die mehrstufige Zwischenablage nutzen

Mit mehr als nur einem Wert in der Zwischenablage sparen Sie sich unnötiges Hin- und Herkopieren.

Möchten Sie mehrere Zeilen Quelltext aus einem Entwicklungsobjekt in ein anderes kopieren, verwenden Sie vermutlich eine der folgenden Vorgehens-weisen: Entweder wechseln Sie mehrfach zwischen Fenstern hin und her und kopieren dabei jeweils die Blöcke, die Sie übernehmen möchten. Oder Sie kopieren einen zusammenhängenden Block, der auch Zeilen enthält, die Sie eigentlich nicht benötigen, und löschen dann nachträglich wieder die Zeilen, die Sie eigentlich gar nicht benötigen.

Die elegante Alternative, die die ABAP Workbench für Aufgaben dieser Art anbietet, ist nur wenigen Entwicklern bekannt.

› Und so geht’s

Der neue ABAP Editor der ABAP Workbench merkt sich automatisch nicht nur den letzten Wert, sondern die letzten zwölf Werte, die Sie aus dem Edi-tor in die Zwischenablage kopiert haben.

Um diese mehrstufige Zwischenablage zu nutzen, kopieren Sie den markier-ten Text einfach auf dem gewohnten Weg in die Zwischenablage, das heißt entweder über das Tastaturkürzel (Strg) + (C) oder über den Eintrag Kopie-ren aus dem Kontextmenü. Um einen der letzten zwölf Werte, den Sie in die Zwischenablage kopiert haben, wieder einzufügen, haben Sie dann ebenfalls zwei Möglichkeiten:

� Sie können sich über das Kontextmenü unter dem Eintrag Mehr � Erwei-tertes Einfügen die letzten Werte anzeigen lassen, die Sie in die Zwischen-

Tipp 4

Page 26: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Die mehrstufige Zwischenablage nutzen Tipp 4

31

ablage kopiert haben, und den gewünschten Wert auswählen, um ihn ein-zufügen.

Mehrstufige Zwischenablage, aufgerufen über das Kontextmenü

� Über die Tastatur erreichen Sie dieselbe Liste auch direkt mit dem Kürzel (Strg) + (ª) + (V). Mit den Cursor-Tasten ((½) bzw. (¼)) können Sie den gewünschten Eintrag markieren und den Wert mit der (¢)-Taste ein-fügen.

Mehrstufige Zwischenablage, aufgerufen über das Tastaturkürzel

Unabhängig davon, für welche der beiden Möglichkeiten Sie sich entschei-den, müssen Sie zuvor mindestens zwei Werte aus dem ABAP Editor in die Zwischenablage kopiert haben, damit Ihnen die Liste der letzten Werte ange-zeigt wird.

Um die mehrstufige Zwischenablage zu nutzen, ist keine besondere Aktion beim Kopieren notwendig – sie ist automatisch aktiv. Daher ist es auch mög-

Page 27: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

32

lich, Werte einzufügen, die Sie zuvor in die Zwischenablage kopiert haben, ohne dass Sie sich beim Kopieren bereits bewusst waren, dass Sie den Wert später noch einmal benötigen. Haben Sie beispielsweise den Namen einer Variablen vor kurzem in die Zwischenablage kopiert, die Zwischenablage aber zwischenzeitlich für andere Dinge verwendet, können Sie den Varia-blennamen später erneut einfügen, ohne ihn zuvor wieder in die Zwischen-ablage kopieren zu müssen.

Page 28: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Quelltext spaltenweise markieren Tipp 5

33

Tipp 5 Quelltext spaltenweise markieren

Wenn Sie die Alt-Taste beim Ausrichten von Quelltext für sich entdeckt haben, wird sie Sie nicht mehr loslassen – nicht umgekehrt.

Viele Entwickler legen Wert auf eine optisch ansprechende Formatierung des Quelltextes. Dazu kann beispielsweise gehören, dass bei mehreren auf-einanderfolgenden Variablendefinitionen das Schlüsselwort TYPE immer in derselben Spalte steht.

Ausgangssituation mit zehn Variablen

Tipp 5

Page 29: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

34

Was geschieht aber, wenn bereits zehn Variablen definiert und ausgerichtet sind, und nun eine elfte Variable hinzugefügt werden soll, deren Name län-ger ist als die Namen der bereits vorhandenen Variablen? Es ist lästig, alle zehn Zeilen einzeln zu bearbeiten, um dort jeweils die benötigten weiteren Leerzeichen einzufügen.

› Und so geht’s

Mit gedrückter (Alt)-Taste können Sie im ABAP Editor mit der sogenannten Blockauswahl den Quelltext spaltenweise markieren. So ist es zum Beispiel möglich, nur die Variablennamen aus mehreren Zeilen mit Variablendefiniti-onen zu kopieren, in mehreren Zeilen gleichzeitig etwas einzufügen oder aus mehreren Zeilen gleichzeitig bestimmte Teile zu löschen.

Um die Blockauswahl zu verwenden, halten Sie die (Alt)-Taste gedrückt und markieren einen Block aus mehreren Zeilen und Spalten mit der Maus. Auch ohne die Maus können Sie die Blockauswahl verwenden, indem Sie die (Alt)-Taste und die (ª)-Taste gedrückt halten und den Block mit den Cur-sor-Tasten markieren. Den markierten Block können Sie wie gewohnt über (Strg) + (C) kopieren. Dabei werden nur die markierten Zeichen in die Zwi-schenablage kopiert, nicht aber der Teil der Zeilen, den Sie mit der Blockaus-wahl nicht markiert haben.

Wenn Sie einen Block auswählen und dann den Inhalt der Zwischenablage einfügen, ersetzt der ABAP Editor die markierten Zeichen durch den Inhalt der Zwischenablage. Mit der (Entf)-Taste oder mit der (æ__)-Taste können Sie die per Blockauswahl markierten Zeichen aus mehreren Zeilen löschen. Ebenfalls in Kombination mit der Blockauswahl nutzbar ist die Funktionali-tät, die Einrückung von Quelltext über die (ÿ)-Taste zu vergrößern oder zu verkleinern. In Kombination mit der Blockauswahl ändern Sie jedoch nicht die Einrückung der gesamten Zeile, sondern nur die Einrückung des mar-kierten Blocks inklusive aller Zeichen, die sich rechts vom markierten Block befinden.

Folgende Abbildung zeigt die eingangs skizzierte Problemstellung. Das Schlüsselwort TYPE soll wieder in allen Zeilen untereinander stehen. Um dies zu erreichen, wurde bereits ein Block markiert. Der markierte Block und alles, was rechts davon steht, sollen weiter nach rechts verschoben werden.

Page 30: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Quelltext spaltenweise markieren Tipp 5

35

Variablendefinitionen vor der Anpassung der Formatierung

Mit der (ÿ)-Taste können Sie die rechte Hälfte der Variablendefinitionennun jeweils um zwei Leerzeichen nach rechts verschieben, bis sie an der gewünschten Position angekommen sind. Mit der (ª)-Taste und der (ÿ)-Taste können Sie jeweils zwei Leerzeichen entfernen und damit den rechten Teil der Variablendefinitionen wieder nach links verschieben. Haben Sie genau eine Spalte markiert, bevor Sie mit dem Verändern der Einrückung beginnen, können Sie zum Abschluss noch eine Feinkorrektur vornehmen, indem Sie den markierten Block und damit aus jeder Zeile ein einzelnes Leerzeichen mit der (Entf)-Taste löschen. Bei der Formatierung von Quell-text auf die beschriebene Art ist es darum sinnvoll, mit der Blockauswahl immer genau eine Spalte zu markieren, die nur Leerzeichen enthält, und dann die Einrückung anzupassen.

Page 31: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

TEIL 1 Quelltext bearbeiten

36

Variablendefinitionen nach der Anpassung der Formatierung

Page 32: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

397

Index

%SurroundedText% 93*$&$MUSTER 79/$sync 161_EDITOR_EXIT 80

A

ABAP Debugger 100, 216, 218, 240, 241, 243, 246, 249, 255, 256, 260, 264, 267, 271, 274, 278, 282, 361ABAP Dictionary 119, 165, 168, 173, 176, 179, 183, 187ABAP Editor 18, 30, 34, 37, 43, 48, 75, 76, 78, 82, 84, 89, 91, 116, 221, 288ABAP Unit 224, 328

lokale Testklasse 299Testklasse 299

ABAP-Paketkonzept 133, 139ABAP-Stack 244Abgleichkennzeichen 181Abhängigkeit zwischen Paketen 139, 142Ablaufzeit 153Aggregation 346aktive Version, Rückkehr 131aktivierbarer Checkpoint 235Aktivieren und Datenbank anpassen 178alle Syntaxfehler anzeigen 55alte Version wiederherstellen 130Analyse

lexikalische 49semantische 50syntaktische 49

Änderer, letzter 297Änderung, untersagte 110Änderungsgrund 182Anlegen eines Transportauftrags mit Vorlage 374Ansicht, formularbasierte 199Anweisung

problematische 317überflüssige 317veraltete 317

Anweisungsabdeckung 367Anwendungskomponente 134Anwendungslogik 183Anzeigeformat 214

ASSERT 235Assertion 235Aufgabe umhängen 377Aufgabentyp ändern 383Aufruf

Konstruktor 75remotefähiger Funktionsbaustein 81,

339Aufrufhierarchie 350Auftrag

Auftragsstatus 371Auftragstyp 371, 387schützen 377verschmelzen 377

Aufzeichnung eines SAP-GUI-Kommandos 231Aufzeichnungsroutine 181Ausgabelänge 119, 157Auslösen eines Ereignisses 61Auslösestelle zeigen 280Ausnahme, klassenbasierte 278, 283Ausnahmeklasse 299Ausnahmeobjekt immer erzeugen 278Ausnahmeobjekt, letztes 279automatische Code-Vervoll- ständigung 20automatische Fehlerkorrektur 53automatische Formatierung nach jedem Einfügen 43

B

BAPI Browser 81Batch-Workprozess 251Bedingungseingabe, freie 268Befehlsfeld 161, 243, 246, 250, 253, 261, 361, 390Benennung des Benutzer-Desktops 277Benutzer-Desktop benennen 277Benutzeroberfläche generieren 205Benutzerprofil 18Berechtigungsgruppe 180Beschreibung der Ausnahme 283beteiligte Datenbanktabelle 342bevorzugter Parameter 107Bezugstyp 120

Page 33: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

398

BI_PERSISTENT 122Block hervorheben 21Block zusammenklappen 21Blockauswahl 34Breakpoint 235, 249, 251, 257, 260, 261, 263, 264, 267, 270, 277, 283

Bedingung ändern 266Bedingung anlegen 265Bedingung löschen 266externer 249, 256

Breitenangabe, relative 208Bruttozeit 349BUFFER 80Business Configuration Set 181Business Server Pages 249

C

CALL FUNCTION 315CALL METHOD 76Checkpoint, aktivierbarer 235Checkpoint-Gruppe 235CHEGUI-Kommando 232CL_AUNIT_ASSERT 225CL_CI_TEST_ROOT 334CL_CI_TEST_SCAN 334CL_OO_INCLUDE_NAMING 114Class Builder 23, 99, 115, 117, 122, 213, 225Classic Debugger 242Code-Hinweis 84, 89, 91Code-Vervollständigung 84, 86, 89

automatische 20Code-Vorlage 20, 88, 91Code-Vorschlag 45, 89Compiler 49Container-Formular erzeugen 207Context 196, 206Context-Editor 196Coverage Analyzer 326, 364Customizing 276Customizing-Auftrag 370, 376

an Workbench-Auftrag hängen 376Customizing-Tabelle 179

D

Darstellung

formularbasierte 23quelltextbasierte 23

Data Browser 105Datenbank

anpassen 178Eigenschaft 173Utility 177View 165

Datenbankobjekt 177Datenbanktabelle 119, 165, 168, 173, 176, 179, 183, 186, 190

beteiligte 342Datendeklaration löschen 63Datenschutz 152Datentyp 119Debugger-Layer konfigurieren 271Debugger-Profil 272

Einstellungen ändern 244, 276, 278Debugger-Sitzung 276, 277Debugging 241, 243, 248, 249, 253, 256, 267, 271, 274

aktivieren 254deaktivieren 255einschalten 217

Definition eines Ereignisses 57Desktop 274Dialogstruktur 191Dialog-Workprozess 251direkte Typeingabe 121Dokumentation 39Domäne mit Festwert 164Drag & Drop 66, 74, 77, 248dynamisch Quelltext generieren 78dynamischer Test 321dynamisches Muster 79Dynpro 205

Konsistenz 315Stack 244

E

eCATT 228Editiersperre 110, 112Editor, methodenbasierter 199Eigenschaft, semantische 170Einfügen, erweitertes 30Eingabehilfe 168Eingabeprüfung 168Eingabevorschlag 151

Page 34: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

399

Einrückung 40, 43Quelltext 34

Einstellung 18, 43, 76, 89, 91, 129, 199, 242, 244einstufiger Pflegedialog 181Eintrag

aus der Historie löschen 152Maximalanzahl 153

Element, sichtbares 137elementare Suchhilfe 164End2End 357Endlosschleife 249Enqueue-Trace 341Entwicklungsdatenbank 127Entwicklungselement, nach außen sichtbares 138Entwicklungsklasse 106Entwicklungsobjekt

gelöschtes 103wiederherstellen 130

Entwicklungspaket 133Entwicklungssystem, neues 386Ereignis 57

auslösen 61definieren 57objektorientiertes 57statisches 58

Ereignisbehandler 57registrieren 61

Ereignisbehandlermethode 60Ereignisparameter 58Ergebnis der Inspektion 332Ersetzen generischer Parameter 115erweiterte Prüfung 314, 328erweitertes Einfügen 30EU_INIT 301EU_PUT 301EU_REORG 301Exception-Kette 279exklusive Sperre 220EXP 166Export-Parameter 166Extended Computer-Aided Test Tool 228externer Breakpoint 249, 256

F

F4-Hilfe 164

farbliche Hervorhebung 21Fehleranalyse 284Fehlerkorrektur, automatische 53Fehlermeldung 49Fehlerschwere 140Fehlersuche 278, 282Feldabhängigkeit 192Feldeigenschaft 316Fenster, modales 246Fensterteilungslinie 22FOR TESTING 225Format, internes 215Formatierung 43

automatische 43von Quelltext 33

formularbasierte Ansicht 199formularbasierte Darstellung 23Formularfeld 154freie Bedingungseingabe 268Fremdschlüssel 164, 168Fremdschlüsseltabelle 168Frontend-Editor (neu) 18Function Builder 217, 219funktionale Kurzschreibweise 107funktionale Schreibweise 75, 76Funktionsbaustein, remotefähiger 81, 339

G

gelöschtes Entwicklungsobjekt 103wiederherstellen 130

Generierung eines Tabellenpflege- Dialogs 190generischen Parameter ersetzen 115Granularität von Sperren 29GridLayout 209Groß- und Kleinschreibung 37Großschreibung 37

H

Hauptpaket 133kein Hauptpaket 135

Hervorhebungeines Blocks 21farbliche 21

Hintergrundanwendung 219, 249Hintergrundjob 361

Page 35: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

400

Hintergrundverarbeitung 237Historie 151

Beschreibungstext 153Eintrag löschen 152löschen 152

Hitliste 349

I

ICF 253, 256IF_WORKFLOW 122IMP 166Implementierung 199Import-Parameter 166Include 173Include-Name 115Index des Verwendungsnachweises 301individuelle Aufzeichnungsroutine 181Initialisierungsflag 173Initialwert 173inkrementelle Suche 21, 288, 289Inspektion 319, 322, 328

als Job einplanen 326zyklisch einplanen 327

Inspektionsergebnis 332Instanzereignis 58Integrität, referenzielle 168Interface 303Internationalisierung 317, 334interner Name 114internes Format 215Internet Communication Framework 253, 256Inversion of Control 57

J

Job debuggen 250Jobübersicht 249

K

Kardinalität 170kein Hauptpaket 135keine Aufzeichnungsroutine 181Klasse suchen 297Klasse, persistente 299

Klassen-/Interface-Navigator 24klassenbasierte Ausnahme 278, 283Klassenbibliothek 307klassischer ABAP Debugger 240Kleinschreibung 38Kommandofeld � BefehlsfeldKommentar 40, 78, 84, 149Kommentarzeile 40Konsistenz 168Konvertierungsroutine 119Kopfkommentar 41Kopie transportieren 380, 389Kopieren eines Transportauftrags 374Korrekturvorschlag 53Kundennamensbereich 79, 191Kundenprogramm, produktives 98Kurzdump 282Kurzschreibweise 76, 101

funktionale 107

L

Langtext des Laufzeitfehlers 283Laufzeit 356, 357

messen 222Laufzeitanalyse 326, 345, 352

aktivieren 353deaktivieren 353

Laufzeitfehler 282Laufzeitverhalten 213, 221, 339, 345Layer 272Layer-Aware Debugging 271Layer-Step 272Layout 205, 208, 258, 274Layoutdaten 209Lesezeichen 22letzter Änderer 297letztes Ausnahmeobjekt 279lexikalische Analyse 49Liste

gesetzte Sperren 219Laufzeitfehler 282Sperreinträge 27

Literal 94LOG-POINT 235Logpoint 235lokale ABAP-Unit-Testklasse 299lokale Testklasse 226Löschen

Page 36: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

401

Eintrag aus der Historie 152ungenutzte Datendeklaration 63

Löschungskennzeichen 106Lower case 38LPos 166

M

Markierenspaltenweises 34veränderte Zeilen 21

Massenänderung von Objekt-katalogeinträgen 390MatrixLayout 209maximale Anzahl von Einträgen 153mehrstufige Zwischenablage 20, 30Memory Inspector 358, 360MESSAGE 101MESSAGE-ID 102Messgenauigkeit 355Methode verschieben 65methodenbasierter Editor 199Metrik 321Microsoft Word 39modales Fenster 246Modifikation 317Modularisierung 68Modultest 224, 328Muster 75, 76, 93

bearbeiten 79dynamisches 79selbst definiertes 78

Musterfunktion 74, 76, 78, 81

N

nach außen sichtbares Entwicklungselement 138Nachricht 101Nachrichtenklasse 29, 101Nachrichtennummer 101Nachrichtentyp 101nächste Objektmenge 272Name, interner 114Namensraum 28

generierter 191reservierter 79

Navigationsfenster 149Navigationsstapel 149Nettozeit 349neuer ABAP Debugger 240neues Entwicklungssystem 386

O

Object Navigator 82, 134, 139, 142Object Services 123Objekt

Selektion 325sperren 380Zuordnung 325

Objektkatalog 103, 112, 132, 389Eintrag 103, 379Eintrag ändern 389

Objektkollektor 326Objektliste 24, 74, 77, 160, 297, 380

eines Transportauftrags 375neu aufbauen 161sortieren und verdichten 377

Objektmenge 272, 319, 322, 330nächste 272

Objektname 105objektorientiertes Ereignis 57Objektstruktur 191Objekttyp 105offener Transportauftrag 371optimistische Sperre 220optionaler Parameter 107Organisation von Transport- aufträgen 373Originalsprache 103Originalsystem 103, 375, 386, 390

P

Paket 103, 133, 136kein Hauptpaket 135

Pakethierarchie 133, 142Paketprüfung 136, 142

als Client 143als Server 143Fehler 142

Paketschnittstelle 136, 139, 142Paketstruktur 133

Page 37: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

402

PAKPARAM 142Parameter

bevorzugter 107Export-Parameter 166Import-Parameter 166präferierter 108

Parser 49Performance-Analyse 339Performance-Beispiel 221Performance-Monitor 356Performance-Prüfung 320Performance-Trace 339, 342persistente Klasse 299Persistenzabbildung 123pessimistisches Sperrverfahren 27Pflege eines Service 253, 352Pflegedialog 179, 181, 183, 186, 190Pflegemerkmal 188Pflege-View 179, 183, 186Platzhalter 28, 92, 101POPUP_GET_VALUES 80Pop-up-Fenster 246Post-Mortem-Analyse 286präferierter Parameter 108Pretty Printer 40, 43, 46Primärschlüssel 173Primärtabelle 187problematische Anweisung 317produktives Kundenprogramm 98produktives SAP-Standard- programm 98Programm-ID 105Programmierkonvention 321Programmierrichtlinie 316Programmierung, robuste 321Programmobjekt 366Programmstatus 98, 243Programmtext anlegen 95Proxy-Prüfung 321Prozedurabdeckung 367Prozessübersicht 251Prüftabelle 168Prüfung, erweiterte 314, 328Prüfvariante 319, 322, 328

Q

Qualitätsprüfung 224Quelltext

analysieren 50durchsuchen 288dynamisch generieren 78extrahieren 69Segmente extrahieren 68strukturieren 41vergleichen 310Wildwuchs 78

quelltextbasierte Darstellung 23

R

RAISE EVENT 61Refactoring 65, 69, 300Refactoring-Assistent 65referenzielle Integrität 168Registrieren eines Ereignis- behandlers 61Reihenfolge der Felder einer Datenbanktabelle 176relative Breitenangabe 208Release 6.40 119Release 7.0 EHP1 145, 196, 356Release 7.0 EHP2 23, 62, 87, 228, 238, 261, 264, 269, 271, 279, 351Remote Function Call 81, 249, 339remotefähiger Funktionsbaustein 81

Aufruf 81, 339Rendering 359Repository Browser 133Repository-Infosystem 297, 306reservierter Namensraum 79, 191RFC 81, 249, 339RFC-Trace 341robuste Programmierung 321ROOTUIELEMENTCONTAINER 209RSWSOURCET 80Run Time Type Services 335

S

SAP Business Workflow 122SAP Code Inspector 291, 318, 322, 328, 333

eigenerTest 333Prüfung 114Test 333

SAP GUI 85, 86, 151

Page 38: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

403

Kommando aufzeichnen 231Verknüpfung 246

SAP NetWeaver Business Client 228SAP-Hinweis 85, 142, 301SAP-Sperrkonzept 27, 110, 217, 339, 378SAP-Standardprogramm, produktives 98Scanner 49Schlüssel 173Schlüsselattribut 122Schlüsselfeld 170, 173

einer Texttabelle 170Schreibweise, funktionale 75, 76, 107Schutz aufheben 377selbst definiertes Muster 78Selektionsmethode 165semantische Analyse 50semantische Eigenschaft 170SENDER 58Service pflegen 253, 352Session-Breakpoint 249, 257SET HANDLER 61SETUP 225Sicherheitsprüfung 320sichtbares Element 137SLAD 271SLAD-Cockpit 272Software Layer-Aware Debugging 271Softwarekomponente 134Spaltenbreite 157Spaltenüberschrift 119spaltenweises Markieren 34Speicherabzug 358, 360

erzeugen 361vergleichen 361

Speicheranalyse 361Speicherbedarf 360Speicherverbrauch 356, 360Sperr-/Importstatus 380Sperranforderung 339Sperrargument 28, 219Sperrbaustein 217, 218Sperre

exklusive 220in Transportauftrag 104, 378, 385optimistische 220testen 218

Sperreintrag 27Sperrkonflikt 218

simulieren 217Sperrmechanismus 27

Sperrmodus 219Sperrübersicht 379Sperrverfahren, pessimistisches 27Splitscreen-Editor 310Splitter Control 276SPos 166SQL-Trace 340, 342Stabilitätsproblem 22Stack-Trace 341Standardauftrag 370

rücksetzen 372setzen 372

Standardaufzeichnungsroutine 181Standardnachrichtenklasse 101START_UP 277statisches Ereignis 58Statistik 321String-Literal 94Strukturerweiterung 317Strukturierung des Quelltextes 41Strukturpaket 133stufenweises Suchen 289Suche

ABAP-Anweisungsmuster 294ABAP-Token 294inkrementelle 21, 288, 289Klasse 297stufenweise 289

Suchfernglas 289Suchfunktion 321Suchfunktionalität 288Suchhilfe 119, 164, 168

elementare 164Suchhilfe-Exit 167Suchhilfeparameter 165sy-batch 251syntaktische Analyse 49Syntaxfehler, alle anzeigen 55Syntaxprüfung 21, 46, 49, 53, 314, 320, 328Systembefehl 247System-Debugging 243, 254Systeminformation 359Systemprogramm 99, 243, 254

T

Tabellenpflegedialog generieren 190Tabellenpflegegenerator 180, 183, 188

Page 39: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

404

Tabellenpuffer 339Tabellenpuffer-Trace 341, 342Tabellensichtpflege 181Tabellenumsetzung 177TADIR 105Tastaturkürzel 22, 30, 37, 40Tastenkombination 85, 356TEARDOWN 225Template-Galerie 205temporäre Version 125Test 329

dynamischer 321Testklasse 225

lokale 226Testprogramm 99, 221Testskript 228Testumgebung 115, 212, 219Testverwaltung 338TEXT_ID 280Textfeldliteral 94Textsymbol 94Texttabelle 170Tippfehler 53, 152, 289Token 49Trace

anzeigen 343ausschalten 343einschalten 343Liste 344

TransparentContainer 209Transport

von Kopien 380, 389Ziel 387

Transport Management System 125Transport Organizer 371, 373, 380, 383, 387, 389Transportauftrag 124, 179, 326, 370, 373, 378, 382

anlegen 374Eintrag verschieben 382kopieren 374offener 371organisieren 373schützen 377Sperre 104, 378, 385verschmelzen 377

Transportschicht 135, 388Typ

Interface 119Klasse 119

Typeingabe, direkte 121TYPES 121Typgruppe 119Typisierungsart 120

U

überflüssige Anweisung 317Umbenennen von Variablen 62Umfeld 307Umfeldermittlung 306Umsetzung erzwingen 178Umzug 387

Entwicklungsobjekt 386komplettes Paket 387Objekt mit Paketwechsel 387Objekt ohne Paketwechsel 387

Umzugstransport 386untersagte Änderung 110Upper case 37

V

Variable umbenennen 62Variablendefinition 35

bereinigen 62veraltete Anweisung 317veränderte Zeile markieren 21Verantwortlicher 104, 375, 390Vererbungshierarchie 303Vergleich über Systeme 311VERS_AT_IMP 125Verschieben

Eintrag in Transportauftrag 382Methode 65

Version 124erzeugen 125temporäre 125vergleichen 126wiederherstellen 130ziehen 125

Versionsdatenbank 127, 130Versionshistorie 124Versionsvergleich 128Versionsverwaltung 124, 126, 130Vervollständigung aktivieren 90Verwaltung von Tests 338Verwendungserklärung 136, 139, 142

Page 40: ABAP Workbench - 100 Tipps & Tricks - ReadingSample

Index

405

Verwendungsnachweis 149, 300, 303, 306Index 301

View-Cluster 190Pflege 193

View-Feld 187View-Typ 187Volltextsuche 291Vorlage 93Vorschlag 84

Eingabe 151Vorwärtsnavigation 148VSEOCLASS 299

W

Watchpoint 263, 267, 270anlegen 267auf Objektattribut 269

WDY_BAPI_BROWSER 82WDY_WB_GET_COMPONENT_ CLASS 117WDY_WB_GET_CONTROLLER_ INCLUDE 117Web Application Builder 82Web Dynpro 199, 208

Anwendung 249, 253, 256, 352, 356, 361

Code-Wizard 202, 205

Component 117, 256Controller 196, 199, 202Web Dynpro Explorer 196, 199, 202, 205

Webservice 249, 253Wechsel

zum klassischen ABAP Debugger 241zum neuen ABAP Debugger 241

Werkzeug zum Ändern eines Objektkatalogeintrags 389Wertehilfe 154, 171Wiederverwendbarkeit 68Workbench-Auftrag 370, 376Workflow 122

Z

Zeilenendekommentar 40Zeilennummerierung 21Zeitpunkt, Pflegedialog 183Ziel des Transports 387Zielpaket 388Zieltransportschicht 388Zurück zur aktiven Version 131Zurückholen 130Zusammenklappen von Blöcken 21zweistufiger Pflegedialog 181Zwischenablage 30, 34, 43

mehrstufige 20, 30