ABAP este un acronim pentru Advanced Business Application Programming, cunoscut inițial în germană ca Allgemeiner Berichts Aufbereitungs Prozessor sau „procesor general de creare a rapoartelor”. Similar ca sintaxă cu Common Business Oriented Language (COBOL), este un limbaj de programare pentru computer dezvoltat de compania germană Systeme, Anwendungen und Produkte in der Datenverarbeitung (SAP®) pentru aplicații de afaceri la scară largă. Ca limbaj de programare, ABAP este unul dintre mai multe limbaje de generația a patra, sau 4GL, care au apărut în anii 1980. Un precursor în domeniu, dezvoltarea limbajului de către SAP® a oferit prima aplicare a conceptului bazei de date logice pentru programare.
În încarnarea sa inițială, ABAP a fost oferit clienților SAP® pentru a permite fiecărui departament de tehnologie a informației (IT) al clienților posibilitatea de a utiliza limbajul pentru construirea de rapoarte personalizate și alte instrumente. Fiecare client ar putea dezvolta propriile interfețe ale companiei pentru diverse aplicații SAP®. Pe măsură ce mediul de afaceri online computerizat și, în cele din urmă, global a progresat de la mijlocul până la sfârșitul anilor 1990, mai multe aplicații și programe SAP® au folosit limbajul ABAP. Astăzi, serverele de aplicații SAP® folosesc exclusiv ABAP.
Alte limbaje de programare similare cu ABAP includ COBOL, Java™ și unele programe C++. Spre deosebire de alte limbaje de programare, limbajul Advanced Business Application Programming reține toate informațiile, inclusiv fișierele de program, în baza de date SAP®. Codarea apare în două forme, generat și cod sursă, sursa generată având o oarecare asemănare cu bytecode-ul Java™. Diferența principală dintre limbajul de programare avansată a aplicațiilor de afaceri și alte limbaje constă în modul în care bazele de date din interfața de programare. Bazele de date ABAP gestionează automat toate comunicările dintre bazele de date și aplicații, în timp ce stochează simultan datele utilizate frecvent pentru recuperarea rapidă din memoria locală.
Programele executabile scrise în ABAP sunt fie bazate pe rapoarte, fie pe module. Programele bazate pe rapoarte returnează diverse liste sau seturi de date bazate pe parametrii stabiliți de utilizator. Programele bazate pe module se bazează pe ceea ce este văzut de utilizator pe monitorul computerului. Programele neexecutabile scrise în limbajul Advanced Business Application Programming au mai multe tipuri, dar toate sunt coduri de bibliotecă. Cu alte cuvinte, programele neexecutabile sunt bucăți de cod care îndeplinesc anumite funcții, fiecare cod fiind disponibil pentru utilizare de către alte programe, dar incapabil să se execute independent.
Înțelegerea diferitelor limbaje de programare necesită cunoștințe extinse de programare, cu toate acestea, un exemplu simplu ilustrează aceleași principii. Majoritatea consumatorilor sunt conștienți de sistemele de operare utilizate pe computerele personale. Limbajele de programare precum ABAP și Java™ funcționează la fel ca limbajele de programare utilizate pentru a construi programe și aplicații pentru diferite sisteme de operare pentru computere personale. ABAP funcționează pur și simplu pe serverele de aplicații SAP®, un sistem de operare pentru server cunoscut sub numele de SAP® Basis, destinat programelor de afaceri la scară largă și aplicațiilor răspândite pe numeroase servere. Sistemele de operare precum Windows® pentru PC și Snow Leopard pentru Mac oferă aceeași structură de bază pe o singură mașină pe care o oferă SAP® Basis pentru sistemele cu mai multe mașini și servere.