ABAP(Advanced Business Application Programming ) yazılım ÅŸirketi SAP tarafından geliÅŸtirilmiÅŸ bir programlama dilidir.Java,C#…gibi yüksek seviyeli diller arasında yerini almaktadır.ABAP ın en temel kullanım amacı SAP üzerinde müşterinin isteklerine uygun uyarlamanın yapılmasıdır.Yani temel SAP yazılımının üzerine müşterinin istediÄŸi herhangi bir eklentinin yapılması gerektiÄŸinde ABAP devreye girer.Bunun dışında ilk ve en çok kullanım amacı ise SAP sistemindeki verilerin istenilen biçimde raporlanarak sunulması,rapor programı yazılmasıdır.Bir rapor programında amaç kullanıcının sisteme girdiÄŸi veriler üzerinde iÅŸlem yapmaktır.

ABAP ile programlamaya başlayacak birinin SAP nin temel işleyişi hakkında bilgi sahibi olması gerekli.Ancak bu işleyişi öğrenmek oldukca uzun bir süreç.Biz basit örnekler ile başlayacağız bunun içinse SAP nin kullandığı R/3 mimarini kavramak yeterli.Temelde bildiğimiz 3 katmanlı mimari yapısı.SAP R/3,3 katmandan oluşan bir client/server mimarisidir.Sırası ile Database Layer(veritabanı katmanı),Application Layer(uygulama katmanı) ve Presentation Layer (sunum katmanı).

-Database Layer : Bu katmanda iÅŸletmenin bilgileri,girilen veriler bunun yanısıra metadata yani kullnılan veritabanı  yapısını tarif eden metaveriler saklanır.Verilerle ilgli iÅŸlemler için SQL kullanılır ve daha öncede deÄŸindiÄŸimiz gibi piyasadaki pek çok veritabanını destekler.
-Application Layer : Bu katmanda SAP tarafından geliÅŸtirilmiÅŸ uygulamalar,ABAP tarafında yazılmış programlar çalışır.Yani veritabanı üzerine yerleÅŸtirilmiÅŸ uygulamalar bu katmanda çalışır diyebiliriz.
-Presentation Layer: Kullanıcı tarafından verilerin girildiÄŸi,veriler üzerinde iÅŸlem yapılabildiÄŸi katman bu katmandır.SAP GUI(graphical user ınterface) kullanıcı arayüzümüzdür.