ABAP(Advanced Business Application Programming ) SAP yazılım şirketi tarafından geliştirilmiş bir programlama dilidir. ABAP ın en temel kullanım amacı SAP üzerinde kilit kullanıcıların isteklerine uygun uyarlamaların yapılmasıdır. Kilit kullanıcıların istediği herhangi bir eklentinin yapılması gerektiğinde ABAP devreye girer. Bunun dışında SAP sistemindeki verilerin istenilen biçimde raporlanarak sunulması için rapor hazırlamak için de kullanılmaktadır. ABAP ile gerekli bilgileri veritabanından okuyan ve ekrana sunan report programlar, sisteme bilgi girilmesini sağlayan dialog programlar ve SAP ile diğer sistemler arası veri alışverişini sağlayan Interface ler yazılabilir.
ABAP ile programlamaya başlayacak birinin SAP nin temel işleyişi hakkında bilgi sahibi olması gerekli. SAP nin kullandığı R/3 mimarini kavramak gerekir. 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.
ABAP GELİŞTİRME ORTAMI
Geliştirmeleri yaptığımız ortam ABAP Workbench. Bu çalışma ortamını tam anlamıyla kullanmak için SAP sistemine erişiminizin olması gerekmektedir. Ancak bu erişime sahip değilseniz ve ABAP programlama dilini öğrenmek istiyorsanız http://www.sdn.sap.com/irj/scn/downloads adresinden bilgisayınızla uyumlu deneme versiyonlarını indirip kurabilirsiniz.
ABAP Workbench: ABAP kod editörü(ABAP editör), fonksiyon modül editörü(function builder), kullanıcı ekran oluşturucu(screen painter), veri türü sözlüğü(data dictionary) ve sınıf oluşturucudan(class builder) oluşur. SAP pek çok modülü kapsayan, ayrıntısı oldukca fazla olan bir sistemdir. Bu sistem içerisinde ilgili alanlara erişebilmek için transaction kodları dediğimiz kısa yollar mevcuttur. ABAP ın bütün parçalarına eriştiğimiz transaction kodu : SE80 dir. Sadece kod geliştirme ortamına erişmek için kullandığımız kod ise SE38 dir.