<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=ABAP</id>
	<title>ABAP - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=ABAP"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=ABAP&amp;action=history"/>
	<updated>2026-05-25T15:27:49Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=ABAP&amp;diff=26940&amp;oldid=prev</id>
		<title>imported&gt;Andreas75: /* Evolution der Sprache */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=ABAP&amp;diff=26940&amp;oldid=prev"/>
		<updated>2026-02-07T18:13:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Evolution der Sprache&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dieser Artikel|beschreibt die Programmiersprache. Für den Betriebsstellencode der DB siehe [[Bahnhof Hamburg-Barmbek]].}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Programmiersprache&lt;br /&gt;
| Name                         = ABAP&lt;br /&gt;
| Logo                         = &lt;br /&gt;
| Beschreibung                 = proprietäre Programmiersprache&lt;br /&gt;
| Paradigma                    = [[Objektorientiert]], prozedural&lt;br /&gt;
| Designer                     = &lt;br /&gt;
| Entwickler                   = [[SAP SE]]&lt;br /&gt;
| Erscheinungsjahr             = 1983&lt;br /&gt;
| AktuelleVersion              = Die Programmiersprache hat keine eigene&amp;lt;br /&amp;gt;Versionierung, sondern ist identisch mit der&amp;lt;br /&amp;gt;Version des zugrundeliegenden Produktes,&amp;lt;br /&amp;gt;s.&amp;amp;nbsp;u. [[#Sprachversionen und Sprachumfang|Sprachversionen und&amp;lt;br /&amp;gt;Sprachumfang]]&lt;br /&gt;
| AktuelleVersionFreigabeDatum = 12. Oktober 2022&lt;br /&gt;
| AktuelleVorabVersion         = &lt;br /&gt;
| AktuelleVorabVersionFreigabeDatum = &lt;br /&gt;
| Typisierung                  = &lt;br /&gt;
| Beeinflusste                 = &lt;br /&gt;
| Betriebssystem               = [[Microsoft Windows|Windows]], [[Unix]]/[[Linux]], [[AIX]], [[HP-UX]], [[Solaris (Betriebssystem)|Solaris]], [[OS/400]]&lt;br /&gt;
| Implementierung              = &lt;br /&gt;
| Dialekte                     = &lt;br /&gt;
| Standardisierungen           = &lt;br /&gt;
| Beeinflusst_von              = [[Java (Programmiersprache)|Java]], [[SQL]], [[Cobol]], [[Haskell (Programmiersprache)|Haskell]], [[Adabas]]/[[Natural (Programmiersprache)]]&lt;br /&gt;
| Lizenz                       = [[proprietär]]&lt;br /&gt;
| Website                      = [https://community.sap.com/topics/abap community.sap.com/topics/abap]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ABAP&amp;#039;&amp;#039;&amp;#039;, kurz für „&amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;dvanced &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;usiness &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;pplication &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;rogramming“ (bis 1996 &amp;#039;&amp;#039;Allgemeiner Berichts- (und) Aufbereitungs-Prozessor&amp;#039;&amp;#039;),&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.4ap.de/abap/historie |titel=Die Historie der SAP-Programmiersprache ABAP |werk=4ap.de - for ABAP programmers |abruf=2025-07-10}}&amp;lt;/ref&amp;gt; ist eine [[proprietär]]e, [[Programmierparadigma#Multiparadigmatische Programmierung|multiparadigmatische]] [[Programmiersprache]], die [[Objektorientierte Programmierung|objektorientierte]], [[Imperative Programmierung|imperative]] und [[Funktionale Programmierung|funktionale]] Elemente hat. Die ABAP-Sprache wird zu [[Bytecode]] [[Compiler|kompiliert]] und besitzt eine [[automatische Speicherbereinigung]].&amp;lt;ref&amp;gt;[https://help.sap.com/doc/abapdocu_latest_index_htm/LATEST/en-US/index.htm ABAP Keyword Documentation], auf help.sap.com&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ABAP wird von der Softwarefirma [[SAP SE]] für die [[Programmierung]] kommerzieller Anwendungen im SAP-Umfeld entwickelt.&lt;br /&gt;
&lt;br /&gt;
Die Programmiersprache ist ein Bestandteil der ABAP-Plattform. Die Programmiersprache ABAP sollte dabei nicht mit der ABAP-Plattform als Basis-Technologie gleichgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
In dem seit 2001 veröffentlichten [[TIOBE-Index]] für Beliebtheit von Programmiersprachen liegt ABAP Stand Oktober 2025 auf Platz 26.&amp;lt;ref&amp;gt;[https://www.tiobe.com/tiobe-index/ Tiobe Index], Oktober 2025, abgerufen am 7. Oktober 2025&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eingeführt wurde die ABAP-Programmiersprache in den 1980er-Jahren. Der Sprachumfang ist nicht standardisiert und wird stetig weiterentwickelt, s. dazu auch die [[#Evolution der Sprache|Evolution der Sprache]]. Als aktuelle Weiterentwicklung seien hier das ABAP RESTful Application Programming Model (RAP) sowie &amp;#039;&amp;#039;ABAP Cloud&amp;#039;&amp;#039; zu nennen.&lt;br /&gt;
&lt;br /&gt;
== Evolution der Sprache ==&lt;br /&gt;
&lt;br /&gt;
Die Evolution der ABAP-Sprache ist ausführlich in einem SAP-Community-Blogpost beschrieben.&amp;lt;ref&amp;gt;Karl Kessler: [https://blogs.sap.com/2022/09/01/evolution-of-abap/ Evolution of ABAP], auf blogs.sap.com&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Größere Stationen waren:&lt;br /&gt;
&lt;br /&gt;
* In den 1970er Jahren war ABAP eine [[Assembler (Informatik)|Assembler]]-Makrosammlung für die Selektion und Listenaufbereitung im RFM-System, später auch R/1 genannt.&lt;br /&gt;
* In den 1980er Jahren wurden die ABAP/4-Syntax, der ABAP/4-Generierer und der ABAP-Prozessor für das [[R/2|SAP-R/2]]-System eingeführt. Damit konnten Reports ereignisgesteuert definiert und sofort ausgeführt werden. Weiterhin wurde die Sprache erweitert und damit auch die Entwicklung von Dialogtransaktionen (Dynpros) ermöglicht. Mit dem ABAP/4-Editor, Data Dictionary, Screen Painter und ABAP/4-Debugger entstand eine erste Entwicklungsumgebung.&lt;br /&gt;
* In den 1990er Jahren wurden strukturierte Datentypen für das [[SAP R/3|SAP-R/3]]-System eingeführt. ABAP/4 wird mit der Einführung von ABAP Objects zu einer [[Objektorientierte Programmiersprache|objektorientierten Programmiersprache]] erweitert. Der [[OpenSQL|Open-SQL]]-Sprachumfang wird kontinuierlich erweitert. Die Entwicklungsumgebung wird mit hierarchischen Objektlisten, Navigation, Verwendungsnachweis und graphischem Screen Painter erweitert.&lt;br /&gt;
* Mit [[SAP NetWeaver]] 7.40 wurden u.&amp;amp;nbsp;a. ABAP Core Data Services, ABAP Channels, AMDP und Zugriff auf SAP-HANA-Tabellenausdrücke eingeführt.&lt;br /&gt;
* Mit [[SAP S/4HANA]] wurde von [[OpenSQL|Open SQL]] auf ABAP SQL umgestellt, als zugrundeliegende Datenbank wird nur noch &amp;#039;&amp;#039;[[SAP HANA]]&amp;#039;&amp;#039; &amp;#039;&amp;#039;unterstützt&amp;#039;&amp;#039;&lt;br /&gt;
* Mit dem SAP BTP ABAP Environment (auch Steampunk genannt) wurden klare Leitplanken in die ABAP-Sprache eingezogen, um Cloud-Readiness zu gewährleisten (s. dazu auch Kapitel [[#Sprachversionen und Sprachumfang|Sprachversionen und Sprachumfang]]).&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
&lt;br /&gt;
ABAP ist eine multiparadigmatische [[Programmiersprache]], die [[Objektorientierte Programmierung|objektorientierte]], [[Imperative Programmierung|imperative]] und [[Funktionale Programmierung|funktionale]] Elemente hat. Die ABAP-Sprache wird zu [[Bytecode]] kompiliert und besitzt eine [[automatische Speicherbereinigung]].&lt;br /&gt;
&lt;br /&gt;
Sie ist insbesondere für die Entwicklung, den Betrieb und die Wartung betriebswirtschaftlicher Anwendungen konzipiert.&lt;br /&gt;
&lt;br /&gt;
Die [[Objektorientierung]] in ABAP basiert auf [[Klasse (Informatik)|Klassen]] und [[Schnittstelle|Interfaces]]. In ABAP gibt es keine [[Mehrfachvererbung]]. Wie in C++ werden Definition und Implementierung der Klassen getrennt. Zusätzlich gibt es ein in die Sprache integriertes Ereigniskonzept.&lt;br /&gt;
&lt;br /&gt;
Als Eigenschaften sind zu nennen:&lt;br /&gt;
&lt;br /&gt;
* ABAP unterstützt eine auf Unterprogrammen und Funktionsbausteinen basierende [[prozedurale Programmierung]]. Die [[Objektorientierte Programmierung|objektorientierten]] und die prozeduralen Programmiermodelle sind interoperabel.&lt;br /&gt;
* In neueren Sprachvarianten werden auch Elemente der [[Funktionale Programmierung|funktionalen Programmierung]], wie zum Beispiel &amp;#039;&amp;#039;[[List Comprehension]]&amp;#039;&amp;#039;, unterstützt.&lt;br /&gt;
* Interne Tabellen als Bestandteil der Sprache, d.&amp;amp;nbsp;h. tabellenartige Variablen mit Spalten und Schlüsseldefinitionen, auf denen im Hauptspeicher mit einer eigenen Syntax oder mit [[SQL]] operiert werden kann.&lt;br /&gt;
* In die Sprache eingebetteter Datenbankzugriff durch ABAP SQL (früher [[OpenSQL|Open SQL]]).&lt;br /&gt;
* [[Exception Handling]]&lt;br /&gt;
* Berechtigungswesen&lt;br /&gt;
* [[ABAP Unit|ABAP-Unit]]-Testframework&lt;br /&gt;
&lt;br /&gt;
== Sprachversionen und Sprachumfang ==&lt;br /&gt;
ABAP hat keine eigene Versionierung, sondern folgt der Version der jeweiligen ABAP-Plattform. Zusätzlich kann man beim Sprachumfang zwischen &amp;#039;&amp;#039;ABAP for Cloud Development&amp;#039;&amp;#039;, &amp;#039;&amp;#039;ABAP for Key User&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Standard&amp;#039;&amp;#039; unterscheiden. In den aktuellen Cloud-Produkten &amp;#039;&amp;#039;BTP ABAP Environment&amp;#039;&amp;#039; sowie &amp;#039;&amp;#039;[[SAP S/4HANA]] Cloud, Public Edition&amp;#039;&amp;#039; stehen nur freigegebene SAP-APIs zur Verfügung, die Cloudfähigkeit und Upgradestabilität gewährleisten.&lt;br /&gt;
&lt;br /&gt;
ABAP ist [[abwärtskompatibel]], wodurch häufig eine hohe Komplexität und ein großer Sprachumfang im Legacy Coding existiert. Es gibt obsolete Sprachelemente, von deren Verwendung abgeraten wird.&lt;br /&gt;
&lt;br /&gt;
In SAP S/4HANA sowie SAP S/4HANA Private Cloud steht der volle ABAP-Sprachumfang (&amp;#039;&amp;#039;Standard ABAP&amp;#039;&amp;#039;) zur Verfügung. Um die Transformation der diversen [[On-Premises|On-Premise]]-Installationen sowie aus der SAP S/4HANA Private Cloud zu unterstützen, ist es für ABAP-Entwickler über die ABAP-Development-Tools möglich, den Sprachumfang auf den &amp;#039;&amp;#039;ABAP-for-Cloud&amp;#039;&amp;#039;-Sprachumfang einzuschränken und somit nur für den Cloud-Kontext freigegebene Sprachelemente und APIs zu verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sowohl SAP S/4HANA Cloud 2302 als auch SAP BTP ABAP Environment 2302 beinhalten den &amp;#039;&amp;#039;ABAP-for-Cloud&amp;#039;&amp;#039;-Sprachumfang 2302.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Syntax und Semantik von ABAP sind in der ABAP-Sprachdokumentation der [[SAP]] SE dokumentiert. Die Syntax der Sprache ist der natürlichen Sprache angelehnt. Einzelne Anweisungen werden mit einem Punkt abgeschlossen. ABAP unterscheidet nicht zwischen Groß- und Kleinschreibung.&lt;br /&gt;
&lt;br /&gt;
Die folgenden ABAP-Programme zeigen sowohl die [[Imperative Programmierung|imperative]] als auch die [[Objektorientierte Programmierung|objektorientierte]] Syntax eines „[[Hallo-Welt-Programm|Hello World!]]“-Beispiels:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Imperative Syntax&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot;&amp;gt;&lt;br /&gt;
report demo_helloworld.&lt;br /&gt;
write &amp;#039;Hello World!&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objektorientierte Syntax&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot;&amp;gt;&lt;br /&gt;
CLASS hello_world DEFINITION.&lt;br /&gt;
PUBLIC SECTION.&lt;br /&gt;
    METHODS hello.&lt;br /&gt;
ENDCLASS.&lt;br /&gt;
CLASS hello_world IMPLEMENTATION.&lt;br /&gt;
    METHOD hello.&lt;br /&gt;
        cl_demo_output=&amp;gt;display( &amp;#039;Hello World!&amp;#039; ).&lt;br /&gt;
    ENDMETHOD.&lt;br /&gt;
ENDCLASS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clean ABAP ==&lt;br /&gt;
Die Clean-ABAP-Initiative wurde von [[SAP]] ins Leben gerufen.&amp;lt;ref&amp;gt;{{Internetquelle |autor=SAP PRESS |url=https://blog.sap-press.com/what-is-clean-abap |titel=What Is Clean ABAP? |sprache=en |abruf=2025-04-17}}&amp;lt;/ref&amp;gt; Sie basiert auf den Prinzipien des Buches „Clean Code“ von [[Robert Cecil Martin|Robert C. Martin]] und wurde speziell für die ABAP-Programmiersprache angepasst. Ziel ist es, die Lesbarkeit, Wartbarkeit und Testbarkeit von ABAP-Code zu verbessern.&amp;lt;ref&amp;gt;{{Internetquelle |autor=OlgaDolinskaja |url=https://community.sap.com/t5/technology-blogs-by-sap/abap-tools-for-clean-abap/ba-p/13577378 |titel=ABAP Tools for Clean ABAP |datum=2023-10-09 |sprache=en |abruf=2025-04-17}}&amp;lt;/ref&amp;gt; Einige wichtige Richtlinien von Clean ABAP sind im Folgenden aufgeführt:&amp;lt;ref&amp;gt;{{Internetquelle |url=https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#how-to |titel=styleguides/clean-abap/CleanABAP.md at main · SAP/styleguides |sprache=en |abruf=2025-04-17}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Verwendung beschreibender Namen&amp;#039;&amp;#039;&amp;#039;: Namen von Variablen, Methoden und Klassen sollten klar und aussagekräftig sein&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Vermeidung von magischen Zahlen&amp;#039;&amp;#039;&amp;#039;: Stattdessen sollten Konstanten verwendet werden, um den Code verständlicher zu machen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Bevorzugung von [[Objektorientierung]]&amp;#039;&amp;#039;&amp;#039;: Objektorientierte Programmierung wird gegenüber [[Prozedurale Programmierung|prozeduraler Programmierung]] bevorzugt&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reduzierung der Verschachtelungstiefe&amp;#039;&amp;#039;&amp;#039;: Komplexe Bedingungen sollten vermieden oder vereinfacht werden&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Einheitliche Formatierung&amp;#039;&amp;#039;&amp;#039;: Konsistente Codeformatierung hilft, den Code lesbarer zu machen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Verwendung von Kommentaren&amp;#039;&amp;#039;&amp;#039;: Kommentare sollten sparsam und nur dort eingesetzt werden, wo sie wirklich notwendig sind&lt;br /&gt;
&lt;br /&gt;
In Clean ABAP wird empfohlen, auf Namenskonvention wie die [[ungarische Notation]] und Präfixe zu verzichten, um die Lesbarkeit und Verständlichkeit des Codes zu verbessern.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-encodings-esp-hungarian-notation-and-prefixes |titel=styleguides/clean-abap/CleanABAP.md at main · SAP/styleguides |sprache=en |abruf=2025-04-17}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsmodell ==&lt;br /&gt;
Das vorherrschende Entwicklungsmodell in aktueller ABAP-Entwicklung ist das ABAP RESTful Application Programming Model (RAP).&lt;br /&gt;
&lt;br /&gt;
Die Evolution des ABAP-Programmiermodells ist ausführlich in einem SAP-Community-Blog-Post beschrieben.&amp;lt;ref&amp;gt;Carine Tchoutouo: [https://blogs.sap.com/2019/02/08/evolution-of-the-abap-programming-model/ Evolution of the ABAP Programming Model], auf blogs.sap.com&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ältere ABAP-Entwicklungsmodelle sind:&lt;br /&gt;
&lt;br /&gt;
* [[Dynpro]]s (Dialogtransaktionen)&lt;br /&gt;
* [[Web Dynpro]]s&lt;br /&gt;
* BSP ([[Business Server Pages]])&lt;br /&gt;
&lt;br /&gt;
== Programmierumgebung ==&lt;br /&gt;
Das Besondere an der Programmierung in ABAP ist, dass die Entwickler keine Textdateien auf ihrem Rechner editieren und dann auf einen Versionskontrollserver hochladen, sondern alle direkt auf dem ABAP-Server programmieren.&lt;br /&gt;
&lt;br /&gt;
Es stehen zwei Entwicklungsumgebungen für die ABAP-Entwicklung zur Verfügung: die ABAP Development Tools, welche auf der [[Open Source|Open-Source]]-Software [[Eclipse (IDE)|Eclipse]] basieren, und die ABAP Workbench, welche in das SAP-GUI integriert ist.&lt;br /&gt;
&lt;br /&gt;
=== ABAP Development Tools ===&lt;br /&gt;
Die ABAP Development Tools (ADT) sind die Standard-IDE für ABAP-Entwicklung. ABAP Development Tools / ADT sind in der Online-Dokumentation der SAP SE dokumentiert.&lt;br /&gt;
&lt;br /&gt;
Seit 2012 wird mit ABAP Development Tools (ADT) eine auf dem [[Quelloffene Software|quelloffenen]] [[Eclipse (IDE)|Eclipse]] basierende Entwicklungsumgebung für ABAP bereitgestellt. ADT wird dabei in allen Produktvarianten, in denen ABAP entwickelt werden kann, unterstützt. Es ist auch möglich, Visual Studio Code (VS Code) für die ABAP-Entwicklung zu verwenden. Es stehen dazu mehrere Plugins zur Verfügung. Der Funktionsumfang ist aber im Vergleich zu den ABAP Development Tools (ADT) noch eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
Einen ausführlichen Überblick und Einstieg in die Nutzung der ABAP Development Tools bietet der „ADT Leitfaden“ der Deutschsprachigen SAP Anwendergruppe (DSAG).&amp;lt;ref&amp;gt;{{Internetquelle |autor= |url=https://1dsag.github.io/ADT-Leitfaden/ |titel=DSAG ADT Leitfaden – ABAP in modern |werk=1dsag.github.io |datum= |sprache=de |abruf=2023-04-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ABAP Workbench / SAP GUI ===&lt;br /&gt;
Anfang der 1990er Jahre wurde die im SAP [[Grafische Benutzeroberfläche|GUI]] integrierte ABAP Workbench (Transaktion SE80) für die Entwicklung in ABAP eingeführt.&lt;br /&gt;
&lt;br /&gt;
Die ABAP Workbench (SE80) lieferte folgende wesentliche Verbesserungen:&lt;br /&gt;
&lt;br /&gt;
* Hierarchische Darstellung aller Objektlisten (ABAP-Pakete, ABAP-Programme, ABAP-Klassen etc.)&lt;br /&gt;
* Durchgängige Navigationsunterstützung zur Definitionsstelle, mit der Möglichkeit, Objekte direkt anlegen zu können&lt;br /&gt;
* Verwendungsnachweis zu allen Verwendungsstellen eines Objekts&lt;br /&gt;
&lt;br /&gt;
Eine Besonderheit in der ABAP Workbench ist die sogenannte „Vorwärtsnavigation“.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiele&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Ein Doppelklick auf einen Tabellennamen oder Datentyp führt zur Definition der Datenbanktabelle im ABAP-Dictionary.&lt;br /&gt;
* Ein Doppelklick auf einen Funktions-, Methoden- oder Klassennamen führt dorthin.&lt;br /&gt;
* Ein Doppelklick auf einen Variablennamen führt zur Definition der Variable.&lt;br /&gt;
&lt;br /&gt;
Falls das verwendete Objekt noch nicht existiert, kann es so auch angelegt werden.&lt;br /&gt;
&lt;br /&gt;
== Herausforderungen und Umgang mit Legacy-ABAP-Code ==&lt;br /&gt;
Die Vielzahl der möglichen ABAP-Anweisungen und ihrer Varianten sowie nicht reservierte Schlüsselwörter führen allgemein zu einem schwerer verständlichen Quellcode als in anderen gängigen Programmiersprachen. Die vorhandene Vielfalt der ABAP-Anweisungen resultiert aus der [[Abwärtskompatibilität]].&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass die bisherigen Entwicklungen und Kundenanpassungen funktionsfähig bleiben und deren Verhalten sich nicht ändert. Für ABAP-Entwickler bedeutet dies, dass sowohl die alten als auch die neuen Sprachelemente erlernt werden müssen.&lt;br /&gt;
&lt;br /&gt;
Mit Einführung von ABAP Objects in den 1990er Jahren wurde der in Klassen verfügbare Sprachumfang eingeschränkt, was zu einer Vereinfachung und Verbesserung des vorhandenen Legacycodes geführt hat.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von &amp;#039;&amp;#039;ABAP Cloud&amp;#039;&amp;#039; im Jahre 2022 wurde der Sprachumfang erneut angepasst, so dass auch hier eine Vereinfachung und Renovierung des vorhandenen Legacycodes erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Werkzeuge, die Entwickler dabei unterstützen, Legacycode an neueren Programmierrichtlinien auszurichten, aktuelle Sprachelemente zu verwenden sowie Legacycode auf den Cloud-Umstieg vorzubereiten:&lt;br /&gt;
&lt;br /&gt;
* Clean Code in ABAP&lt;br /&gt;
* Quick Fixes&lt;br /&gt;
* ATC (ABAP Test Cockpit) Checks&lt;br /&gt;
* Custom Code Migration&lt;br /&gt;
* ABAP-Cloud-Programmierrichtlinien&lt;br /&gt;
&lt;br /&gt;
Alle gelisteten Werkzeuge sind Teil der ABAP-Development-Tools-Entwicklungsumgebung.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Horst Keller: &amp;#039;&amp;#039;ABAP, Die offizielle Referenz.&amp;#039;&amp;#039; Rheinwerk 2016, ISBN 978-3-8362-4109-0.&lt;br /&gt;
* Horst Keller: &amp;#039;&amp;#039;ABAP-Schnellreferenz.&amp;#039;&amp;#039; Galileo Press, 2005, ISBN 3-89842-680-7.&lt;br /&gt;
* Sascha Krüger, Jörg Seelmann-Eggebert: &amp;#039;&amp;#039;ABAP Best Practices.&amp;#039;&amp;#039; Galileo Press, 2005, ISBN 3-89842-354-9.&lt;br /&gt;
* Horst Keller, Sascha Krüger: &amp;#039;&amp;#039;ABAP Objects – ABAP-Programmierung mit SAP NetWeaver.&amp;#039;&amp;#039; Galileo Press, 2006, ISBN 3-89842-358-1.&lt;br /&gt;
* Horst Keller, Wolf Hagen Thümmel: &amp;#039;&amp;#039;ABAP-Programmierichtlinien.&amp;#039;&amp;#039; Galileo Press, 2009, ISBN 978-3-8362-1286-1.&lt;br /&gt;
* Andreas Wiegenstein, Markus Schumacher, Sebastian Schinzel, Frederik Weidemann: &amp;#039;&amp;#039;Sichere ABAP-Programmierung.&amp;#039;&amp;#039; Galileo Press, 2009, ISBN 978-3-8362-1357-8.&lt;br /&gt;
* Hermann Gahm: &amp;#039;&amp;#039;ABAP Performance Tuning&amp;#039;&amp;#039; Galileo Press, 2009, ISBN 978-3-8362-1211-3.&lt;br /&gt;
* Bernd Matzke: &amp;#039;&amp;#039;ABAP / 4.&amp;#039;&amp;#039; Addison – Wesley, ISBN 3-8273-1372-4.&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Stephan Kaleske&lt;br /&gt;
   |Titel=Query-Reporting mit SAP ERP&lt;br /&gt;
   |Verlag=Galileo-Press&lt;br /&gt;
   |Ort=Bonn&lt;br /&gt;
   |Datum=2009&lt;br /&gt;
   |ISBN=978-3-8362-1433-9&lt;br /&gt;
   |Kommentar=SAP PRESS}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://help.sap.com/docs/SAP_NETWEAVER_740/7bfe8cdcfbb040dcb6702dada8c3e2f0/2ff82a005ddd4f369b74bfda71f297c0.html?locale=de-DE Einführende Übersicht über die Programmiersprache ABAP]&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |url=https://help.sap.com/doc/abapdocu_latest_index_htm/LATEST/en-US/index.htm&lt;br /&gt;
   |titel=ABAP Keyword Documentation&lt;br /&gt;
   |datum=&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2025-04-16&lt;br /&gt;
   |abruf-verborgen=1}}&lt;br /&gt;
* [https://help.sap.com/docs/SAP_S4HANA_CLOUD/6aa39f1ac05441e5a23f484f31e477e7/40bae48ec22f43489dc0573901a32887.html?mt=de-DE ABAP Development Tools / ADT Dokumentation]&lt;br /&gt;
* [https://help.sap.com/docs/SAP_NETWEAVER_701/6da3d9466c4b1014a5a2e370bd8c5dc8/4341341147041806e10000000a1553f6.html?locale=de-DE ABAP Programmierumgebung im Release NetWeaver 7.0 Enhancement Pack 1]&lt;br /&gt;
* [https://pages.community.sap.com/topics ABAP] in der SAP Community&lt;br /&gt;
* [https://tricktresor.de/ Tricktresor.de] Redaktionell aufbereitete Tipps &amp;amp; Tricks zur ABAP-Programmierung&lt;br /&gt;
* [https://www.4ap.de/ 4ap.de] alles für ABAP-Programmierer&lt;br /&gt;
* [https://www.abapforum.com/forum ABAPforum.com] deutschsprachiges Expertenforum rund um ABAP&lt;br /&gt;
* {{dmoz|World/Deutsch/Computer/Software/ERP Enterprise Resource Planning/SAP/ABAP/|ABAP}}&lt;br /&gt;
* [https://erp-up.de/ erp-up.de] Wertvolle Tipps und Tricks rund um SAP ERP, SAP S/4HANA und ABAP-Programmierung&lt;br /&gt;
* [https://pages.community.sap.com/topics/abap ABAP Community Seite]&lt;br /&gt;
* [https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/evolution-of-abap/ba-p/13522761 Evolution of ABAP], SAP Community, 1. September 2022&lt;br /&gt;
* [https://codezentrale.de/category/sap/sap-abap/ Die Codezentrale] bietet umfangreiche Codebeispiele ohne weitere Erklärungen&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4610511-6}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprache]]&lt;br /&gt;
[[Kategorie:SAP]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Andreas75</name></author>
	</entry>
</feed>