# ABAP

ABAP (Advanced Business Application Programming) is de door SAP ontwikkelde en gebruikte hogere programmeertaal voor het schrijven van de programmatuur gebruikt in de SAP applicatieserver die een onderdeel is van het NetWeaver platform.
De taal werd ontwikkeld op SAP R/2, software voor bedrijfsbeheer die in 1982 werd uitgebracht en werkte op mainframe computers. Oorspronkelijk was de taal bedoeld om de gebruiker zelf rapporten te laten ontwikkelen. Daarom stond de afkorting "ABAP" aanvankelijk voor Allgemeiner Berichtsaufbereitungsprozessor (Algemene Rapportgeneratie Processor). Hoewel de term "rapport" nog frequent wordt gebruikt om te verwijzen naar een bepaald type van in ABAP ontwikkelde programma's, is deze term misleidend omdat ABAP niet alleen bedoeld is voor rapportage maar ook toelaat om gegevens te wijzigen.
ABAP programma's zijn in de meeste gevallen bestemd om gegevens in de onderliggende relationele database te verwerken. De toegang tot de database verloopt via database-onafhankelijke "Open SQL" statements (zie hieronder) of via "logische databases" (groepen van hiërarchisch gerelateerde tabellen). Qua syntaxis vertoont ABAP een zekere gelijkenis met COBOL.
Enkele kenmerken van de ABAP-taal per 2012:
* De complete functionaliteit van SAP-systemen is gebouwd in ABAP (en deels in Java).
* ABAP-code is altijd voor iedereen in te zien en SAP stelt haar broncode op deze wijze beschikbaar aan alle klanten. Het is daardoor niet alleen mogelijk om zelf programmatuur in ABAP te ontwikkelen, maar ook om door SAP geleverde standaardcode via specifieke technieken te wijzigen.
* ABAP maakt gebruik van een eigen Open SQL variant die ABAP-specifieke SQL-statements vertaalt naar de database specifieke SQL-smaak. Hierdoor is het mogelijk om programmatuur zonder enige aanpassing ook op andere databases te laten werken (Oracle, DB2, SQL Server e.a.). Hetzelfde geldt voor de ondersteuning van operating systemen: programma's in ABAP draaien zonder aanpassing op de meeste UNIX-varianten (inclusief Linux), Windows en IBM System i.
* ABAP wordt vertaald naar een intermediaire code, conceptueel vergelijkbaar met Java bytecode. De gegenereerde code is in het geval van ABAP echter opgeslagen in de relationele database en niet in autonome bestanden.
* Reeds in 1999 werd de programmeertaal uitgebreid met een objectgeoriënteerde syntaxis.
* ABAP is in de loop van de laatste jaren verder uitgebreid met functionaliteit ter ondersteuning van applicaties die gericht zijn op het Internet. Zo is er ondersteuning voor XML en webservices. Belangrijk in deze context is Web Dynpro ABAP, een techniek voor interactieve webtoepassingen gebaseerd op het Model-View-Controller (MVC) ontwikkelprincipe. SAP maakt de Web Dynpro technologie beschikbaar zowel voor ABAP als voor Java.

## Externe link

* (en) ABAP Eclipse Editor
ABAP · ABC · ActionScript · Ada · Algol · APL · assembleertalen · AWK · B · BASIC · BCPL · C · C++ · C# · Clean · Clipper · COBOL · COMAL · Curry · D · Eiffel · Erlang · F# · Forth · Fortran · Go · Haskell · Icon · J# · Java · Julia · Kotlin · Lisp · Logo · Lua · m4 · ML · Modula-2 · Oberon · Object Pascal · Objective-C · Ocaml · Oz · Pascal · Perl · PHP · PL/I · PL/SQL · Prolog · Prova · Python · Rexx · RPG · Ruby · Rust · SAS · Scala · Scheme · Self · Simula · Smalltalk · Swift · TCL · TypeScript · Vala · Visual Basic · Zig ·