ABAP (Advanced Business Application Programming) is de primaire programmeertaal die wordt ondersteund op het SAP NetWeaver ABAP application server platform en applicaties die daarop draaien, zoals SAP ERP (voorheen R/3), S/4HANA en CRM.

SAP gebruikt ABAP om zijn eigen applicaties op het NetWeaver ABAP-platform te implementeren, en SAP-klanten gebruiken ABAP om de functionaliteit van SAP-applicaties aan te passen of hun eigen applicaties op het NetWeaver ABAP-platform te bouwen. ABAP is de oudste en waarschijnlijk de meest gebruikte van SAP ‘ S vier grote applicatieplatforms, waaronder ook SAP NetWeaver Java, SAP HANA en SAP Cloud Platform.

ontwikkeling van ABAP

SAP ABAP begon in de jaren tachtig als een rapportgeneratietaal in SAP-producten. Het nam een centrale rol op in SAP R/3 als de primaire implementatie-en uitbreidingstaal van het enterprise resource planning (ERP) – systeem. In de loop der jaren kreeg het nieuwe functies, met name de introductie van objectgeoriënteerde constructies, aangeduid als ABAP-objecten, in 1999 en de introductie van nieuwe toegangsmethoden voor databases en een grote hoeveelheid nieuwe syntaxis vanaf ongeveer 2010.

ABAP functies zijn nauw gekoppeld aan de SAP R/3 of NetWeaver release die wordt gebruikt. De enige manier om toegang te krijgen tot nieuwe functies van de taal is door te upgraden naar een nieuwere versie van de ABAP application server. In veel gevallen worden programma ‘ s die zijn geschreven met behulp van functies van een nieuwere versie van de toepassingsserver niet uitgevoerd op oudere SAP-systemen.

ABAP-ontwikkeltools

veruit de grootste ontwikkelaar van ABAP-code is SAP zelf. Vele duizenden ABAP-ontwikkelaars werken echter samen met SAP-klanten en adviesbureaus om SAP-systemen te onderhouden en aan te passen. ABAP staat regelmatig in de top 30 van de Tiobe Index, die ruwweg de populariteit van programmeertalen volgt.

ontwikkelaars die in ABAP werken doen dit meestal ofwel in de ABAP ontwikkeltools (een set van plug-ins voor het Eclipse open source Java ontwikkelplatform) of in de ABAP Workbench transactie in de SAP graphical user interface (GUI). Beide omgevingen bieden een set tools om de ontwikkeling te ondersteunen, van het aanvullen van code tot geautomatiseerde testtools.

ABAP Class in Eclipse
een lege ABAP Class in de ABAP Developer tools zoals te zien in Eclipse.

SAP Solution Manager biedt ook tools voor het beheren van de ontwikkelingscyclus van ABAP-code. Er is weinig ondersteuning voor development tooling buiten wat SAP biedt, hoewel sommige klanten hun eigen integraties hebben gebouwd met third-party continue integratie, versiebeheer en bug tracking tools.

speciale functies en de grotere ABAP-infrastructuur

ABAP staat niet op zichzelf en is sterk geïntegreerd met andere functies van de SAP NetWeaver ABAP-toepassingsserver. Onder deze zijn de volgende:

  • logische databaseverbindingen, waarmee code kan worden geabstraheerd uit een specifieke database. De feitelijke databaseverbindingen worden buiten de ABAP-code geconfigureerd, waardoor dezelfde code in verschillende databaseomgevingen kan worden gebruikt.
  • Open sql, een abstractie van SQL-syntaxis die deel uitmaakt van de ABAP-taal en die de ABAP runtime-omgeving converteert naar native SQL die geschikt is voor de gebruikte database. Open SQL heeft veel overeenkomsten met Microsoft.NET ‘ s Language Integrated Query (LINQ) concept.
  • interne tabellen, die Verzamelingen bevatten van objecten die toegankelijk zijn met behulp van speciale taal keywords of Open SQL. Dit ABAP concept contrasteert met het concept van getypte arrays zoals in Java of C++.
  • beveiliging, waarin ABAP is geïntegreerd met de beveiligingsinfrastructuur van SAP NetWeaver.
  • Data Dictionary, een universeel woordenboek met definities van gegevensstructuren, vaak inclusief business logic, dat beschikbaar is voor alle ABAP-programma ‘ s in een systeem.
  • Change and Transport System (CTS), dat veranderingen in ontwikkelingsobjecten volgt en de bevordering van ontwikkelingsobjecten in kwaliteitsborgings-en productieomgevingen beheert.
  • gedeeld ontwikkelingssysteem, een belangrijk aspect van ABAP. ABAP verschilt van de meeste nieuwere talen doordat de ontwikkeling meestal plaatsvindt op een gedeeld systeem, waarbij alle ontwikkelaars tegelijkertijd aan dezelfde set ontwikkelingsobjecten werken.

ABAP en HANA

ABAP blijft een belangrijk onderdeel van de technologiestack van SAP.

hoewel het een kleinere rol heeft gespeeld in veel producten met de komst van het Hana-platform, staat het nog steeds centraal in SAP ’s meest gebruikte producten, speelt het een belangrijke rol in SAP’ S volgende generatie S/4HANA ERP-platform en is het aangekondigd als een runtime voor het SAP Cloud Platform.