TYPO3 Cumulus Flash tag cloud by TYPO3Macher (based on WP Cumulus Flash tag cloud by Roy Tanck) requires Flash Player 9 or better.

ABAP bei mindsquare

Die mindsquare hat sich auf individuelle Software-Entwicklung im SAP-Umfeld spezialisiert, daher ist die Programmiersprache ABAP für uns von größter Bedeutung. Gemeinsam mit dem objektorientierten Nachfolger ABAP OO und der UI-Technologie WebDynpro stellt ABAP nach wie vor die meist verwendete Grundlage für Entwicklungen in SAP-Systemen dar.

 

Mit SAP NetWeaver steht neben dem ABAP Stack auch ein Java Stack zur Verfügung. Je nach Strategie, Vorhaben und Plattform kommt die passende Programmiersprache zum Einsatz. Alle Softwareentwickler der mindsquare sind studierte Informatiker und können neben der prozedualen Programmiersprache ABAP auch die objektorientierten Sprachen ABAP OO und Java.

 

Unsere Dienstleitungen im ABAP-Umfeld sind:

 

  • Konzeption von Individualsoftware auf der SAP-Plattform
  • Entwicklung von Individualsoftware (auch zum Festpreis)
  • Reengineering/Refactoring/Rückführung zum Standard von älteren ABAP-Programmen


Einige unserer ABAP-Referenzen sind:

 

  • Handel / Großhandel
    z.B. Metro: Entwicklung von kundenindividuellen Anwendungen in den Modulen SD, MM und FI
  • Energieversorger
    z.B. E-On und RWE: Entwicklung eines SAP Add-ons zur Freischaltabwicklung (WCM) 
  • Automobilzulieferer
    z.B. ThyssenKrupp: Komplette Eigenentwicklung eines Dispositionstools (PP und MM) und eines Werkzeuginformationssystem (PM)
  • Modulentwicklung
    z.B. im HCM: Entwicklung eines SAP Add-ons im Bereich HR/LSO

ABAP

Die Abkürzung ABAP steht für "Advanced Business Application Programming". Ursprünglich stand die Abkürzung für „Allgemeiner Berichts-Anwendungs-Prozessor“, da mit dieser Sprache nur kundenspezifische Auswertungsprogramme programmiert werden konnten, die allerdings keine Datenbankveränderungen vornehmen konnten. Der ABAP-Sprachumfang lebt immer weiter und wurde deshalb immer wieder an aktuelle Entwicklungen angepasst. ABAP ist eine proprietäre Programmiersprache, die in ihrer Syntax der Programmiersprache COBOL ähnelt und die speziell für die Massendatenverarbeitung in kommerziellen Anwendungen entwickelt wurde.

Das klassische ABAP unterstützt ein auf Unterprogrammen und Funktionsbausteinen basierendes, prozedurales Programmiermodell. Ab Release 6.10 ist ABAP um objektorientierte Sprachbefehle erweitert worden; das Programmiermodell bietet nun auf Klassen und Interfaces basierende, objektorientierte Programmiermöglichkeiten. Beide Modelle sind interoperabel, d.h. SAP betreibt bei der Weiterentwicklung von ABAP das Prinzip der Abwärtskompatibilität. Gibt es eine neuere (z. B. performantere) ABAP-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 (ABAP Objects) können einige wenige alte Bestandteile nicht mehr eingesetzt werden.

Ein Vorteil dieser Strategie liegt darin, dass bestehende Entwicklungen und Kundenprogramme funktionsfähig bleiben und sich deren Verhalten nicht ändert. Entwicklungen müssen nicht überarbeitet werden. Bei der Programmierung sollte aber drauf 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 in prozeduralem Coding ebenfalls möglich. Durch eine gezielte Kombination neuer und alter Bestandteile kann die Wirksamkeit der Sprache erhöht werden.
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.

Datenbankzugriffe auf die zentrale Datenbank werden im ABAP-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 dem gleichzeitigen Zugriff vieler Benutzer. Dieses Konzept wird als Online Transaction Processing (OLTP) bezeichnet und regelt den Zugriff in Abhängigkeit der Benutzerberechtigung sowie des gegenseitigen Ausschlusses.

Besondere Merkmale von ABAP:

  • Quellcode: Es wird der gesamte ABAP-Quellcode des SAP-Anwendungssystems ausgeliefert. Erst beim erstmaligen Ausführen wird der Quellcode kompiliert. Dies ermöglicht sehr einfache Erweiterung 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 ABAP ist die ABAP Workbench. In einer Baumstruktur werden vorhandene Programme, zusammengefasst nach inhaltlichen Aspekten in sogenannten Pakten, angezeigt, verändert und erweitert . Der Einstieg erfolgt über die Transaktion SE80. Das Besondere am ABAP 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.

(Tobias Eimermacher)

Rückrufwunsch

Hier Telefonnummer hinterlassen!

"Die Freischalt-abwicklung WCM im PM muss immer um eigene Prozesse ergänzt werden."

Tobias Eimermacher
SAP Consultant