ABAP je akronim za Advanced Business Application Programming, izvorno poznat na njemačkom kao Allgemeiner Berichts Aufbereitungs Prozessor ili “generalni procesor za kreiranje izvješća”. Sličan po sintaksi Common Business Oriented Language (COBOL), to je računalni programski jezik koji je razvila njemačka tvrtka Systeme, Anwendungen und Produkte in der Datenverarbeitung (SAP®) za velike poslovne aplikacije. Kao programski jezik, ABAP je jedan od nekoliko jezika četvrte generacije, ili 4GL, koji su se pojavili 1980-ih. Preteča na tom području, SAP®-ov razvoj jezika omogućio je prvu primjenu koncepta logičke baze podataka za programiranje.
U svojoj izvornoj inkarnaciji, ABAP je bio dostavljen SAP® kupcima kako bi svakom odjelu za informacijsku tehnologiju (IT) omogućio mogućnost korištenja jezika za izradu prilagođenih izvješća i drugih alata. Svaki kupac mogao je razviti vlastita sučelja tvrtke za različite SAP® aplikacije. Kako je kompjuterizirano i konačno globalno poslovno okruženje napredovalo od sredine do kasnih 1990-ih, sve više SAP® aplikacija i programa koristilo je ABAP jezik. Danas, SAP® aplikacijski poslužitelji koriste isključivo ABAP.
Ostali programski jezici slični ABAP-u uključuju COBOL, Java™ i neke C++ programe. Za razliku od drugih programskih jezika, programski jezik naprednih poslovnih aplikacija zadržava sve informacije, uključujući programske datoteke, unutar SAP® baze podataka. Kodiranje se pojavljuje u dva oblika, generiranom i izvornom kodu, s generiranim izvorom koji ima neku sličnost s Java™ bajt kodom. Primarna razlika između programskog jezika naprednih poslovnih aplikacija i drugih jezika počiva u načinu na koji se baze podataka nalaze unutar programskog sučelja. ABAP baze podataka automatski obrađuju svu komunikaciju između baza podataka i aplikacija, dok istovremeno pohranjuju često korištene podatke za brzo preuzimanje iz lokalne memorije.
Izvršni programi napisani u ABAP-u temelje se na izvješću ili modulu. Programi temeljeni na izvješćima vraćaju različite popise ili skupove podataka na temelju parametara koje je postavio korisnik. Programi bazirani na modulima oslanjaju se na ono što korisnik vidi na monitoru računala. Neizvršivi programi napisani u naprednom poslovnom aplikacijskom programskom jeziku imaju nekoliko tipova, ali svi su kodovi biblioteke. Drugim riječima, neizvršni programi su dijelovi koda koji obavljaju određene funkcije, pri čemu je svaki kod dostupan za korištenje drugim programima, ali ne može se izvršiti samostalno.
Razumijevanje različitih programskih jezika zahtijeva opsežno poznavanje programiranja, međutim, jednostavan primjer ilustrira ista načela. Većina potrošača svjesna je operativnih sustava koji se koriste na osobnim računalima. Programski jezici kao što su ABAP i Java™ rade na isti način kao i programski jezici koji se koriste za izradu programa i aplikacija za različite operativne sustave osobnih računala. ABAP jednostavno radi na SAP® aplikacijskim poslužiteljima, poslužiteljskom operativnom sustavu poznatom kao SAP® Basis, namijenjenom velikim poslovnim programima i aplikacijama raširenim na brojnim poslužiteljima. Operativni sustavi kao što su Windows® za računala i Snow Leopard za Macove pružaju istu osnovnu strukturu na jednom stroju koju SAP® Basis pruža za sustave s više strojeva i poslužitelja.