ABAP je kratica za Advanced Business Application Programming, prvotno znana v nemščini kot Allgemeiner Berichts Aufbereitungs Prozessor ali »generalni procesor za ustvarjanje poročil«. Po sintaksi podoben Common Business Oriented Language (COBOL) je računalniški programski jezik, ki ga je razvilo nemško podjetje Systeme, Anwendungen und Produkte in der Datenverarbeitung (SAP®) za obsežne poslovne aplikacije. Kot programski jezik je ABAP eden od več jezikov četrte generacije ali 4GL, ki so se pojavili v osemdesetih letih prejšnjega stoletja. SAP®-jev razvoj jezika je predhodnik na tem področju zagotovil prvo uporabo koncepta logične baze podatkov za programiranje.
V svoji prvotni inkarnaciji je bil ABAP zagotovljen strankam SAP®, da je vsakemu oddelku za informacijsko tehnologijo (IT) omogočil uporabo jezika za izdelavo prilagojenih poročil in drugih orodij. Vsaka stranka je lahko razvila lastne vmesnike podjetja za različne aplikacije SAP®. Ko je računalniško podprto in sčasoma globalno spletno poslovno okolje napredovalo od sredine do konca devetdesetih let prejšnjega stoletja, je več aplikacij in programov SAP® uporabljalo jezik ABAP. Danes aplikacijski strežniki SAP® uporabljajo izključno ABAP.
Drugi programski jeziki, podobni ABAP, vključujejo COBOL, Java™ in nekatere programe C++. Za razliko od drugih programskih jezikov programski jezik za napredne poslovne aplikacije ohranja vse informacije, vključno s programskimi datotekami, v bazi podatkov SAP®. Kodiranje se pojavlja v dveh oblikah, generirani in izvorni kodi, pri čemer je ustvarjeni izvor nekoliko podoben bajtno kodi Java™. Glavna razlika med programskim jezikom naprednih poslovnih aplikacij in drugimi jeziki je v tem, kako so baze podatkov znotraj programskega vmesnika. Baze podatkov ABAP samodejno upravljajo vso komunikacijo med bazami podatkov in aplikacijami, hkrati pa shranjujejo pogosto uporabljene podatke za hitro iskanje iz lokalnega pomnilnika.
Izvedljivi programi, napisani v ABAP, temeljijo na poročilih ali modulih. Programi, ki temeljijo na poročilih, vrnejo različne sezname ali nize podatkov na podlagi parametrov, ki jih nastavi uporabnik. Programi, ki temeljijo na modulih, se zanašajo na to, kar uporabnik vidi na računalniškem monitorju. Neizvedljivi programi, napisani v naprednem programskem jeziku za poslovne aplikacije, imajo več vrst, vendar so vsi knjižnične kode. Z drugimi besedami, neizvedljivi programi so kosi kode, ki izvajajo določene funkcije, pri čemer je vsaka koda na voljo za uporabo drugim programom, vendar se ne more izvajati neodvisno.
Razumevanje različnih programskih jezikov zahteva obsežno znanje programiranja, vendar preprost primer ponazarja ista načela. Večina potrošnikov pozna operacijske sisteme, ki se uporabljajo na osebnih računalnikih. Programski jeziki, kot sta ABAP in Java™, delujejo podobno kot programski jeziki, ki se uporabljajo za gradnjo programov in aplikacij za različne operacijske sisteme osebnih računalnikov. ABAP preprosto deluje na aplikacijskih strežnikih SAP®, strežniškem operacijskem sistemu, znanem kot SAP® Basis, ki je namenjen obsežnim poslovnim programom in aplikacijam, razširjenim po številnih strežnikih. Operacijski sistemi, kot sta Windows® za osebne računalnike in Snow Leopard za Mac, zagotavljajo enako osnovno strukturo na enem samem računalniku, kot jo SAP® Basis zagotavlja za sisteme z več stroji in strežniki.