ABAP (Advanced Business Application Programming) är det primära programmeringsspråket som stöds på SAP NetWeaver ABAP application server-plattformen och applikationer som körs på den, till exempel SAP ERP (tidigare R/3), S/4HANA och CRM.

SAP använder ABAP för att implementera sina egna applikationer på NetWeaver ABAP-plattformen, och SAP-kunder använder ABAP för att ändra funktionaliteten i SAP-applikationer eller bygga sina egna på NetWeaver ABAP-plattformen. ABAP är den äldsta och sannolikt den mest använda av SAP: s fyra stora applikationsplattformar, som också inkluderar SAP NetWeaver Java, SAP HANA och SAP Cloud Platform.

utveckling av ABAP

SAP ABAP började på 1980-talet som ett rapportgenereringsspråk i SAP-produkter. Det tog en central roll i SAP R / 3 som ERP-systemets primära implementerings-och förlängningsspråk. Under åren fick det nya funktioner, framför allt införandet av objektorienterade konstruktioner, kallade ABAP-objekt, 1999 och införandet av nya databasåtkomstmetoder och en stor mängd ny syntax från och med 2010.

ABAP-funktioner är tätt kopplade till SAP R/3-eller NetWeaver-utgåvan som används. Det enda sättet att komma åt nya funktioner i språket är att uppgradera till en nyare version av ABAP-applikationsservern. I många fall kommer program som skrivs med funktioner i en nyare applikationsserverversion inte att köras på äldre SAP-system.

ABAP utvecklingsverktyg

den överlägset största utvecklaren av ABAP-kod är SAP själv. Men tusentals ABAP-utvecklare arbetar med SAP-kunder och konsultföretag för att underhålla och modifiera SAP-system. ABAP är regelbundet i topp 30 i Tiobe Index, som ungefär spårar populariteten för programmeringsspråk.

utvecklare som arbetar i ABAP gör det vanligtvis antingen i ABAP-utvecklingsverktygen (en uppsättning plugin-program för Eclipse open source Java development platform) eller i ABAP Workbench-transaktionen i SAP graphical user interface (GUI). Båda miljöerna erbjuder en uppsättning verktyg för att hjälpa utvecklingen, från kodkomplettering till automatiserade testverktyg.

ABAP-klass i Eclipse
en tom ABAP-klass i ABAP-utvecklarverktygen som ses i Eclipse.

SAP Solution Manager erbjuder också verktyg för att hantera utvecklingslivscykeln för ABAP-kod. Det finns lite stöd för utvecklingsverktyg utöver vad SAP tillhandahåller, även om vissa kunder har byggt sina egna integrationer med tredjeparts kontinuerlig integration, versionskontroll och felspårningsverktyg.

specialfunktioner och den större ABAP-infrastrukturen

ABAP står inte ensam, och den är mycket integrerad med andra funktioner i SAP NetWeaver ABAP-applikationsservern. Bland dessa är följande:

  • logiska databasanslutningar, som gör att kod kan abstraheras från en specifik databas. De faktiska databasanslutningarna är konfigurerade utanför ABAP-koden, vilket gör att samma kod kan användas i olika databasmiljöer.
  • öppna SQL, en abstraktion av SQL-syntax som ingår i ABAP-språket och som ABAP runtime-miljön konverterar till inbyggd SQL som är lämplig för databasen som används. Open SQL har många likheter med Microsoft. NET: s Linq-koncept (Language Integrated Query).
  • interna tabeller, som innehåller samlingar av objekt som nås med speciella språkord eller öppna SQL. Detta ABAP-koncept står i kontrast till begreppet typade arrayer som i Java eller C++.
  • säkerhet, där ABAP är integrerad med SAP Netweavers säkerhetsinfrastruktur.
  • Data Dictionary, en universell ordbok för datastrukturdefinitioner, ofta inklusive affärslogik, som är tillgänglig för alla ABAP-program i ett system.
  • Change and Transport System (CTS), som spårar förändringar i utvecklingsobjekt och hanterar främjande av utvecklingsobjekt till kvalitetssäkring och produktionsmiljöer.
  • delat utvecklingssystem, vilket är en viktig aspekt av ABAP. ABAP skiljer sig från de flesta nyare språk genom att utvecklingen vanligtvis sker på ett gemensamt system, där alla utvecklare arbetar med samma uppsättning utvecklingsobjekt samtidigt.

ABAP och Hana

ABAP fortsätter att vara en viktig del av SAP: s teknikstack.

även om det har spelat en minskad roll i många produkter med tillkomsten av Hana-plattformen, är det fortfarande centralt för SAP: s mest distribuerade produkter, spelar en viktig roll i SAP: s nästa generations S/4HANA ERP-plattform och har tillkännagivits som en körtid för SAP-molnplattformen.