mindsquare.de durchsuchen

ABAP

Sie brauchen einen ABAP Berater und/oder möchten, dass wir Ihnen unser Angebot in diesem Umfeld vorstellen?

Ingo Biermann
29. August 2017

ABAP ist die proprietäre Programmiersprache von SAP. Die Abkürzung steht für „Advanced Business Application Programming“.

Eigenschaften

Die Programmiersprache der SAP ähnelt in ihrer Syntax COBOL und wurde speziell für die Massendatenverarbeitung in kommerziellen Anwendungen entwickelt.

Seit 1990 basieren alle SAP R/3-Module auf ABAP. Seit der Einführung von SAP NetWeaver bietet die SAP neben ABAP auch eine Ablauf- und Programmierumgebung für die Programmiersprache Java an. Aus diesem Grund gibt es neben dem herkömmlichen ABAP-basierten Applikationsserver einen weiteren Applikationsserver, auf dem die Java-basierten Programme umgesetzt werden.

Ursprünglich stand die Abkürzung für „Allgemeiner Berichtsanwendungsprozessor“, da mit dieser Programmiersprache nur kundenspezifische Auswertungsprogramme entwickelt werden konnten, die allerdings keine Datenbankveränderungen vornehmen konnten. Später wurde „Advanced Business Application Programming“ zur offiziellen Erklärung des Akronyms.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

Datenbankzugriffe auf die zentrale Datenbank werden im Coding als sogenannte Open SQL Statements eingebunden. Diese standardisierten Befehle zeichnen sich durch eine Performance-Optimierung während der Laufzeit aus und sorgen für entsprechende Performance bei gleichzeitigem Zugriff vieler Benutzer. Dieses Konzept wird als Online Transaction Processing (OLTP) bezeichnet und regelt den Zugriff in Abhängigkeit von der Benutzerberechtigung sowie des gegenseitigen Ausschlusses.

ABAP

Ergänzung durch ABAP OO

ABAP wurde fortlaufend an aktuelle Entwicklungen angepasst. Das klassische ABAP unterstützt ein auf Unterprogrammen und Funktionsbausteinen basierendes, prozedurales Programmiermodell. Ab Release 6.10 ist die Programmiersprache um objektorientierte Sprachbefehle erweitert worden (ABAP OO = ABAP Objects).

Das Programmiermodell von ABAP OO bietet nun auf Klassen und Interfaces basierende, objektorientierte Programmiermöglichkeiten. Beide Modelle sind interoperabel, d.h. SAP betreibt bei der Weiterentwicklung das Prinzip der Abwärtskompatibilität. Gibt es eine neuere, performantere Anweisung, so verliert die alte Anweisung nicht ihre Gültigkeit oder Funktion. Der Sprachumfang ist aus diesem Grund sehr weitgehend, da die alten Anweisungen neben den neuen Anweisungen weiterexistieren. Alte Sprachelemente bekommen die Kennzeichnung „obsolet“ und sollen nicht mehr eingesetzt werden. Eine Einschränkung gibt es allerdings: Bei der Verwendung von ABAP OO können einige wenige alte Bestandteile nicht mehr eingesetzt werden.

ABAP OO

Lernen Sie in unserer zweitägigen ABAP OO Schulung, wie Sie sicher mit ABAP umgehen und die Programmiersprache in Ihrem SAP-System nutzen können.

Ein Vorteil dieser Strategie liegt darin, dass bestehende SAP Entwicklungen und Kundenprogramme funktionsfähig bleiben. Entwicklungen müssen nicht überarbeitet werden. Bei der Programmierung sollte aber darauf geachtet werden, nicht zu alten Komponenten zu greifen, sondern die neueren und effektiveren Sprachbestandteile zu verwenden.

Alte und neue Sprachbestandteile können auch kombiniert verwendet werden. Im objektorientiertem Coding können auch prozedurale Sprachelemente verwendet werden, gleichzeitig ist die Verwendung objektorientierter Elemente im prozeduralen Coding ebenfalls möglich. Durch eine gezielte Kombination neuer und alter Bestandteile kann die Wirksamkeit der Sprache erhöht werden.

Besondere Merkmale

Quellcode

Es wird der gesamte Quellcode des SAP-Anwendungssystems ausgeliefert. Erst beim erstmaligen Ausführen wird der Quellcode kompiliert. Dies ermöglicht sehr einfache Erweiterungen und Korrekturen der Programme im installierten System.

Data Dictionary (DDIC)

Datentypen und Code werden strikt voneinander getrennt. Die Definition von globalen Datentypen und Tabellen werden im Data Dictionary getätigt. Neben den technischen Eigenschaften können auch die Dokumentation und Beschreibungen für den Datentyp hinterlegt werden.

Tabellen

Tabellarische Datentypen werden, anders als z. B. in Java, fest in den Sprachumfang integriert. Zugriffe auf interne Tabellen für die dynamische Speicherung und Bearbeitung von tabellarischen Massendaten erfolgt durch Statements wie ‚LOOP AT table WHERE condition‘, Datenbanktabellen werden durch Open SQL Statements in der Form ‚SELECT * FROM dbtable WHERE condition‘ durchgeführt.

Transport

Die SAP-Programmierung ist darauf ausgerichtet, große Projekte mit mehreren Entwicklern durchzuführen. Es muss zu jeder Zeit ein lauffähiges System gewährleistet bleiben. Hierzu werden die geänderten Objekte auf sogenannten Transportaufträgen erfasst, welche nach einer Freigabe auf das Folgesystem importiert werden können. Durch diesen Mechanismus kann die Entwicklung der Programme von ihrem produktiven Einsatz getrennt erfolgen.

Entwicklungsumgebung

Die Entwicklungsumgebung zur Programmiersprache ist die ABAP Workbench. In einer Baumstruktur werden vorhandene Programme, zusammengefasst nach inhaltlichen Aspekten, in sogenannten Paketen angezeigt, verändert und erweitert. Der Einstieg erfolgt über die Transaktion SE80. Das Besondere an der Workbench ist die sogenannte „Vorwärtsnavigation“. So führt beispielsweise ein Doppelklick auf einen Tabellennamen direkt zur Definition der Datenbanktabelle im ABAP-Dictionary; ein Doppelklick auf einen Methodennamen in diese Methode,  und ein Doppelklick auf eine Variable zur entsprechenden Deklaration. Die ABAP-Workbench wird mit der Zeit an die Anforderungen moderner Software-Entwicklung angepasst. Seit einem der letzten Releases wird beispielsweise auch Syntax-Highlighting unterstützt.

ABAP für Anfänger Teil 1

ABAP für Anfänger [Teil 1]

Dieses Buch macht dich mit den Grundlagen von ABAP vertraut, der proprietären Programmiersprache der SAP.

Herausforderungen

Sie benötigen Unterstützung bei der Entwicklung von Applikationen in SAP und suchen nach einem erfahrenden Partner? mindsquare hat sich auf individuelle Software-Entwicklung im SAP-Umfeld spezialisiert. Greifen Sie auf unsere SAP zertifizierten Entwickler zurück.

Alle Softwareentwickler der mindsquare sind studierte Informatiker, die mit ihrem erlernten akademischen Wissen auch größere Applikationen konzeptionieren und entwickeln können, egal ob es sich hierbei um das Designen von Datenbanken, Anwendungsfällen, Workflows oder Oberflächen handelt. Neben der klassischen Entwicklung von Dialogen (Dynpros), Funktionsbausteinen oder Reports beherrschen unsere Berater zusätzlich die Programmierung mit ABAP Objects, Object Services und WebDypro für ABAP.

Verwandte Know-Hows

Der SAP Floorplan Manager (FPM) ist ein Framework zur einfachen Entwicklung und Anpassung von Anwendungsoberflächen, das in die WebDynpro-ABAP-Entwick­lungsumgebung eingebunden ist.
JavaScript (JS) gehört zu den am häufigsten verwendeten Programmiersprachen im World Wide Web. Denn es erweitert die Möglichkeiten von HTML und CSS um dynamische Elemente und Möglichkeiten. 
Dynamische Programme – kurz Dynpros – sind grafische Oberflächen im SAP-System, die eine Interaktion zwischen dem User und dem SAP Backend ermöglichen. Programmiersprachen für Dynpros sind unter anderem Web Dynpro […]

Passende Angebote zum Thema

Sie wollen ein Update in Ihrem Java oder ABAP Umfeld durchführen, haben hier aber noch nicht so viel Erfahrung gesammelt? Unsere erfahrenen Berater unterstützen Sie bei Ihrem Update, sodass ein […]
Ein wichtiger Schritt in Richtung des neuen SAP Frameworks for Digital Business ist die in-memory Datenbank SAP HANA. Für bestehende SAP Kunden ist vor allem wichtig: Wie schaffe ich das […]
Das Warehouse Paket eignet sich für Lager, die mit SAP Warehouse Management (WM) verwaltet werden.
Kontakt aufnehmen
Ansprechpartner
Laura Feldkamp mindsquare Kundenservice
Laura Feldkamp Kundenservice