ABAP, SAP tarafından geliştirilmiştir, Java, C# gibi yüksek seviye programlama dilleri arasına girer. 5 eski ibm çalışanının 1972 yılında inşa etmeye başladığı sap kurumsal kaynak planlaması programının geliştirme dilidir. yani bu aşmış insanlar öncelikle kendi dillerini yaratmışlar daha sonra bu programlama dili ile sap modüllerini geliştirmeye başlamışlardır.

ABAP’ın temel kullanım amacı SAP üzerinde müşteri istekleri doğrultusunda geliştirmeler yapılabilmesidir. Örnek olarak SAP yazılımında bir müşterinin istediği herhangi bir değişiklik yada eklenti istemesi durumunda ABAP kullanılabilir.

Bir diğer amaç ise SAP üzerindeki verilerin istekler doğrultusunda raporlanarak sunulmasıdır. Örnek olarak bir fabrika sahibisiniz ve ürettiniz malın günlük, aylık veya yıllık olarak ne kadar satıldığını raporlamak istiyorsunuz, bu noktada ABAP devreye girer ve sizin bu raporu alabilmenizi sağlayacak eklenti yazılır.

Genel olarak ABAP ile, gerekli bilgileri veritabanından okuyan ve ekrana sunan rapor programları, sisteme kayıt eklenebilmesi için gerekli alanlar, ve SAP sistemler arası veri alışverişini sağlayan kullanıcı arayüzleri yazılabilir. Ayrıca önemli bir diğer özelliği olan çoklu dil desteğini unutmamak gerekir.

ABAP Open-Sql, Mssql ve Oracle gibi veritabanlarını destekler.

ABAP dili ile sap için çeşitli modüller geliştiren, raporlar yazıp çıktılar tasarlayan kişiye Abap danışmanı denir. halk arasında abapçı olarak bilinir. abap danışmanı ya bir şirkete bağlı olarak çalışır ya da kendi müşteri portföyü oluşturup freelance olarak iş hayatına devam eder. bu cümleden de anlaşılacağı gibi bir abap danışmanı sürekli müşteriler arasında mekik dokur, sabit bir yeri yoktur.

Yazılımcılar için öğrenmesi oldukça kolaydır fakat yazılımcı olmayanlar için direkt kullanılabilecek bir araç değildir. ABAP programları oluşturabilmek için ilişkisel veritabanı tasarımı ve tercihen nesne odaklı kavram bilgisini içeren programlama yetenekleri gereklidir.

Abap kodu yazmak için ihtiyacınız olan şey sap gui programıdır. Tüm abap programları sap sunucusunda bulunur. Abap programları gerçek anlamda derlenmez sadece sözdizimsel olarak kontrol edilip aktif hale getirilir. program çalıştırılacağı zaman abap kodları ABAP LOAD denen ara bir yapıya alınır daha sonra bu ABAP LOAD yapısı abap virtual machine tarafından yorumlanır

Abap kodunun mantığını anlamak adına bir kaç örnek yapalım.

Örnek 1 :
Abap Programlama dilinde adından da anlaşılacağı gibi zincir durumları sözkonusudur. Nitelemek gerekirse :

WRITE ‘merhaba’.
WRITE ‘Abap’.
WRITE ‘ben geldim’.

//yazmak yerine aşağıdaki gibi yazılabilir.
WRITE: ‘merhaba’,
‘Abap’,
‘ben geldim’.

//Yine Aynı şekilde syntax olarak birbirine benzeyen alt alta satırlar varsa :
SUM  =  SUM + 1.
SUM  =  SUM + 2.
SUM  =  SUM + 3.
SUM  =  SUM + 4.

//bu deseni de şöyle yazabiliriz.
SUM  =  SUM  +  :  1,  2,  3,  4.

Gördüğünüz gibi benzer durumları zincir yapıp birleştirdik.

Örnek 2:

Şimdi basit bir örnek daha yapalım.  Önce integer tipinde bir değişken tanımlayalım , bu değişkeni döngünün içerisinde 2 şer 2 şer arttıralım ve her defasında ekrana yazdıralım. Değişkenimiz 20 olduğunda döngü bitsin.

DATA i TYPE i.
DO 50 TIMES.
   i = i + 2.
   WRITE: / i.
   IF i = 20.
 EXIT.
   ENDIF.
ENDDO.

Şimdi yukarıdaki örnekde öncelikle DO TIMES döngümüze 50 defa dön dedik. Döngü içerisinde i değişkenimizi 2 şer 2 şer arttırdık ve ekrana yazdırdık. Daha sonra i değişkeni 20 olduğunda programı sonlandır dedik. Yukarıdaki kodları çalıştırdığımızda ekran çıktısı aşağıdaki şekilde olacaktır.

Örnek 3:

Değişken tanımlarken DATA ile başlanır değişkenin adı yazılır TYPE yazılır ve değişkenin türü yazılır yani;

DATA degiskenadi TYPE türü.

data adi(30) type c.
data soyadi(35) type c.
data adres type string.
data yas(3) type n.
data para type p decimals 2. ” burada decimals 2 demek , virgülden sonra 2 basamak gözüksün demektir.
data tarih type d.

Yukarıda gördüğünüz gibi değişken tanımlamak diğer dillerde olduğu gibi çok basit. Character türünde yani “C” türünde değişken tanımlarken değişkenin boyutunu vermemiz gerekiyor. Yani yukarıdaki “adi” değişkenin yanındaki 30 sayısı adı değişkeninin maximum 30 karakter olacağını belirtiyor. Daha fazla veya daha az da değer girebilirdik.

Şimdi oluşturduğumuz bu değişkenlere hemen birer değer atayalım. Ben aşağıdaki gibi değerlerini verdim. Sizde istediğiniz değerleri kendiniz verebilirsiniz.

adi = ‘Kadir Yunus’.
soyadi = ‘Koç’.
adres = ‘Deneme adres‘.
yas = 20.
para = ’200′.
tarih = ‘05112013’.

Değişkenlerimizi tek tek oluşturduk. İçerilerine değerlerimizi tek tek girdik. Şimdi son olarak da bu değişkenlerimizi ekrana yazdıralım.

WRITE: / ‘Adınız : ‘ , adi.
WRITE: / ‘Soyadınız : ‘, soyadi.
WRITE: / ‘Adres : ‘ , adres.
WRITE: / ‘YAŞ : ‘, yas.
WRITE: / ‘PARA :’, para.
WRITE: / ‘TARİH : ‘,tarih.

Son olarak da yukarıdaki gibi bütün değişkenlerimizi tek tek ekrana yazdırdıktan sonra ekran görüntümüzün aşağıdaki gibi olması gerekmektedir.