ABAP (Advanced Business Application Programming), Alman yazılım şirketi SAP AG tarafından geliştirilen, üst seviye bir nesne tabanlı programlama dilidir. SAP firmasının, iş uygulamaları geliştirmek amacıyla, NetWeaver platformunda Java ile beraber ABAP kodlama dilini kullanmaktadır.
ABAP mantıksal veri tabanı kavramını içeren ilk dillerden biridir.
ABAP proglama dili ilk olarak geliştiriciler tarafından SAP R/3 platformunu geliştirmek için kullanıldı. SAP müşterileri ise ABAP kodlama dilini, kendilerine özgü raporlar ve arayüzler ile uygulamalar geliştirmek için kullandı.
Kimler ABAP yazabilir?
Yazılım ile ilgilenenler için öğrenmesi kolaydır. ABAP programları oluşturabilmek için ilişkisel veritabanı tasarımı ve tercihen nesne odaklı kavram bilgisini içeren programlama yetenekleri gereklidir.
ABAP Kodu Hangi Ortamda Çalışır?
Tüm ABAP programları ABAP tabanlı SAP uygulamasının veri tabanında bulunur. Java ve C++ programları gibi ayrı dosyalarda depolanmazlar. ABAP programları, SAP çekirdeğinin (kernel) parçası olan çalışma zamanı sisteminin kontrolü altında çalışırlar. Çalışma zamanı sistemi ABAP komutlarını işlemekten, ekranların akış mantığını kontrol etmekten ve olaylara (kullanıcının ekran butonuna tıklaması gibi) cevap vermekten sorumludur. ABAP çalışma zamanı sisteminin anahtar bileşenlerinden biri, veri tabanından bağımsız ABAP ifadelerini (“Open SQL”), DBMS (veri tabanı yönetim sistemi) in anlayabileceği ifadelere (“Native SQL”) çeviren veri tabanı arayüzüdür. Veri tabanı arayüzü, ABAP programları adına, ilişkisel veri tabanıyla olan tüm iletişimi ele alır, aynı zamanda uygulamada sık kullanılan verileri de ara belleğe alır.
Bu sebeplerden ötürü, ABAP kodları, ABAP tabanlı SAP uygulamaları dışında derlenemez veya çalıştırılamaz.
SAP R/3 mimarisinde üç katman mevcuttur. Bunlar sunum katmanı (GUI), uygulama katmanı (programlar burada çalışır) ve kullanıcının hazırladığı durumlardan ve son kullanıcının sunum katmanından verdiği komutlardan tüm verinin kazanıldığı ve depolandığı veri tabanı katmanıdır. Sunum katmanı, kullanıcıları yerel bilgisayarlarından çalıştırdıkları SAP uygulamasıdır.
Yeni Yazılan ABAP Kodlarının Canlı Ortamda Kullanılma Stratejileri
Bir firmada sağlıklı ve sağlam bir SAP uygulaması için genel olarak 3 bağımsız sistem kullanılır: Geliştirme, Test-Kalite, Canlı. ABAP kodları geliştirme sisteminde yazılır. Test-Kalite sisteminde kontrol edilir. Onaylandığında kodlar canlı sisteme taşınır. Belirli periyotlarda canlı sisteminden veriler Test-Kalite sistemine kopyalanır. Kodların performans testi için gerekirse canlı sistemi ile aynı özellikleri olan başka bir sunucu daha açılır (Pre-prod).
Bazı firmalarda ise Geliştirme ve Test-Kalite sistemleri aynı sunucuda farklı üst birimlerde olabilir. ABAP nesneleri (Workbench) sunucu bazında tutulduğu için geliştirme sisteminde yazılan kodlar, oluşturulan tablolar vs. test sisteminde de geçerli olur. Sadece üst birim bağımlı olan tablolardaki (Tabloda MANDT alanı varsa) uygulama verileri, uyarlamalar farklıdır. Yine aynı şekilde test sisteminde onaylanan kodlar canlı sisteme taşınır.