ABAP (Advanced Business Application Programming) er det primære programmeringssprog, der understøttes på SAP-Applikationsserverplatformen og applikationer, der kører på den, såsom SAP ERP (tidligere R/3), S/4HANA og CRM.

SAP bruger ABAP til at implementere sine egne applikationer på ABAP-platformen, og SAP-kunder bruger ABAP til at ændre funktionaliteten i SAP-applikationer eller bygge deres egne på ABAP-platformen. ABAP er den ældste og sandsynligvis den mest anvendte af SAPS fire store applikationsplatforme, som også inkluderer SAP Netvævning Java, SAP HANA og SAP Cloud Platform.

Evolution of ABAP

SAP ABAP begyndte i 1980 ‘ erne som et rapportgenerationssprog i SAP-produkter. Det tog en central rolle i SAP R / 3 som enterprise resource planning (ERP) systemets primære implementerings-og udvidelsessprog. I årenes løb fik det nye funktioner, især introduktionen af objektorienterede konstruktioner, kaldet ABAP-objekter, i 1999 og introduktionen af nye databaseadgangsmetoder og en stor mængde ny syntaks, der startede omkring 2010.

ABAP-funktioner er tæt forbundet med SAP R/3-eller Netvæverudgivelsen, der bruges. Den eneste måde at få adgang til nye funktioner på sproget er at opgradere til en nyere version af ABAP-applikationsserveren. I mange tilfælde kører programmer, der er skrevet ved hjælp af funktioner i en nyere applikationsserverversion, ikke på ældre SAP-systemer.

ABAP udviklingsværktøjer

langt den største udvikler af ABAP-kode er SAP selv. Imidlertid arbejder mange tusinder af ABAP-udviklere med SAP-kunder og konsulentfirmaer for at vedligeholde og ændre SAP-systemer. ABAP er regelmæssigt i top 30 af Tiobe-indekset, som groft sporer populariteten af programmeringssprog.

udviklere, der arbejder i ABAP, gør det normalt enten i ABAP-udviklingsværktøjerne (et sæt plug-ins til Eclipse open source Java-udviklingsplatformen) eller i ABAP-Arbejdsbænktransaktionen i SAP graphical user interface (GUI). Begge miljøer tilbyder et sæt værktøjer til at hjælpe udviklingen, fra kode færdiggørelse til automatiserede testværktøjer.

ABAP klasse i Eclipse
en tom ABAP klasse i ABAP Developer tools som set i Eclipse.

SAP Solution Manager tilbyder også værktøjer til styring af udviklingslivscyklussen for ABAP-kode. Der er lidt støtte til udviklingsværktøj ud over, hvad SAP leverer, selvom nogle kunder har bygget deres egne integrationer med tredjeparts kontinuerlig integration, versionskontrol og fejlsporingsværktøjer.

specielle funktioner og den større ABAP-infrastruktur

ABAP står ikke alene, og den er stærkt integreret med andre funktioner på SAP-applikationsserveren. Blandt disse er følgende:

  • logiske databaseforbindelser, som gør det muligt at abstrahere kode fra en bestemt database. De faktiske databaseforbindelser konfigureres uden for ABAP-kode, så den samme kode kan bruges i forskellige databasemiljøer.
  • Åbn syntaks, en abstraktion af syntaks, der er en del af ABAP-sproget, og som ABAP-runtime-miljøet konverterer til indbygget kvm, der er passende for den database, der bruges. Microsoft.NET har mange ligheder med Microsoft. NET ‘ s Language Integrated forespørgsel (link) koncept.
  • interne tabeller, der indeholder samlinger af objekter, der er adgang til ved hjælp af specielle sprognøgleord eller åbne kvm. Dette ABAP-koncept står i kontrast til begrebet typede arrays som i Java eller C++.
  • sikkerhed, hvor ABAP er integreret med SAP ‘ s sikkerhedsinfrastruktur.
  • Data Dictionary, En universel ordbog over datastrukturdefinitioner, ofte inklusive forretningslogik, som er tilgængelig for alle ABAP-programmer i et system.
  • Change and Transport System (CTS), der sporer ændringer i udviklingsobjekter og styrer fremme af udviklingsobjekter til kvalitetssikrings-og produktionsmiljøer.
  • delt udviklingssystem, som er et vigtigt aspekt af ABAP. ABAP adskiller sig fra de fleste nyere sprog, idet udviklingen normalt finder sted på et delt system, hvor alle udviklere arbejder på det samme sæt udviklingsobjekter på samme tid.

ABAP og HANA

ABAP fortsætter med at være en vigtig del af SAPS teknologi stak.

selvom det har spillet en reduceret rolle i mange produkter med fremkomsten af Hana-platformen, er det stadig centralt for SAPS mest udbredte produkter, spiller en vigtig rolle i SAPs næste generations S/4HANA ERP-platform og er blevet annonceret som en runtime for SAP Cloud-platformen.