ABAP Data Dictionary veri ögeleri ve veritabanı tablolarını kullanabileceğimiz sözlüktür. ABAP geliştirilmeye başlandığı zamanlarda veritabanı tablolarını kullanmak ve görüntülemek için tasarlanmıştır. Bu yüzden SAP’nin önemli konuları arasında yer alır. ABAP DDIC ile çalışmak için SE11 işlem kodu kullanılır. Bu kod kullanıldığında ekrana şöyle bir menü gelir;
Kategori: SAP / ABAP
ABAP 4’te Alt Program(Subroutine) Kavramı
Alt programlar, program içinde kullanılacak işlemleri defalarca yazmanın önüne geçmek için kullanılır. Değişik parametrelerle istendiği kadar kullanılabilir. Alt programın içinde parametre tanımlanmışsa bunlara formal parametreler denir. Yinelemeli olarak da kullanılabilir. Aşağıda bir alt program kullanımının örneği verilmiştir.
tecrube_hesapla adlı form, doğum yılı 1985’ten büyük kayıtları yazdırırken, tablo_doldur formu oyuncu_kaydı tablosunu dolduruyor.
Created with colorer-take5 library. Type 'abap4' TYPES: yil TYPE n LENGTH 4, tecrube TYPE c, adsoyad TYPE c LENGTH 15. TYPES: BEGIN OF oyuncu, ad TYPE adsoyad, soyad TYPE adsoyad, dogum_yili TYPE yil, o_tecrube TYPE tecrube, END OF oyuncu. data: t_oyuncu TYPE STANDARD TABLE OF oyuncu. DATA: oyuncu_kaydi TyPE oyuncu, oyuncu_kaydi_tablosu like t_oyuncu. PERFORM tablo_doldur USING 'Isil' 'Alben' '1986' CHANGING oyuncu_kaydi_tablosu. PERFORM tablo_doldur USING 'Nevriye' 'Yilmaz' '1980' CHANGING oyuncu_kaydi_tablosu. PERFORM tablo_doldur USING 'Tugba' 'Palazoglu' '1980' CHANGING oyuncu_kaydi_tablosu. PERFORM tablo_doldur USING 'Yasemin' 'Horasan' '1983' CHANGING oyuncu_kaydi_tablosu. PERFORM tablo_doldur USING 'Nilay' 'Yigit' '1979' CHANGING oyuncu_kaydi_tablosu. LOOP AT oyuncu_kaydi_tablosu INTO oyuncu_kaydi. IF sy-tabix = 1. WRITE :/5 'Ad', 15 'Soyad' , 40 'Dogum Yili'. ULINE. ENDIF. PERFORM tecrube_hesapla USING oyuncu_kaydi-dogum_yili CHANGING oyuncu_kaydi-o_tecrube. MODIFY oyuncu_kaydi_tablosu from oyuncu_kaydi TRANSPORTING o_tecrube. CLEAR oyuncu_kaydi. ENDLOOP. LOOP AT oyuncu_kaydi_tablosu INTO oyuncu_kaydi where o_tecrube = 't'. WRITE :/ oyuncu_kaydi-ad UNDER 'Ad', oyuncu_kaydi-soyad UNDER 'Soyad', oyuncu_kaydi-dogum_yili UNDER 'Dogum Yili'. ENDLOOP. FORM tecrube_hesapla USING p_dogum_yili TYPE yil CHANGING p_tecrube TYPE tecrube. IF p_dogum_yili <= 1988. p_tecrube = 't'. ELSE. p_tecrube = 'g'. ENDIF. ENDFORM. FORM tablo_doldur USING p_ad p_soyad p_dogum_yili CHANGING p_oyuncu_tablosu like t_oyuncu. DATA: oyuncu_kaydi_form TYPE oyuncu. oyuncu_kaydi_form-ad = p_ad. oyuncu_kaydi_form-soyad = p_soyad. oyuncu_kaydi_form-dogum_yili = p_dogum_yili. APPEND oyuncu_kaydi_form to p_oyuncu_tablosu. ENDFORM.
ABAP 4 Programlamada Küçük Noktalar
1. SKIP ve ULINE deyimleri
SKIP ile istenen satır kadar boş satır bırakılabiliyor. ULINE ise yatay bir çizgi çekerek bölümlendirme de işe yarıyor.
ABAP 4’te Kontrol Yapıları ve Döngüler
ABAP 4’te Sistem Değişkenleri
Sistem değişkenleri, programlarda bilgi verici olarak kullanılır ve değerleri sistem tarafından otomatik olarak girilir. Diğer değişkenler gibi kullanıcı tarafından değerler atanabilir ancak bu yöntem uygun değildir. Çoğu zaman çalışma zamanı hatalarına sebep olur.
WRITE :/ sy-repid ‘adlı program’, sy-datum ‘tarihinde’, sy-uzeit’ zamanında, sy-uname ‘kullanıcısı tarafından’ sy-tcode ‘islem koduyla calistirilmistir.’
sy-index ve sy-tabix değişkenleri döngülerde sayaç olarak yararlanılır.
ABAP 4 Veri Türleri
ABAP dilinde değişkenler standart veri türleri ve tam olmayan standart veri türleri olarak ikiye ayrılmıştır. Aralarındaki fark; tam olarak belirtilen veri türlerinin uzunluklarının önceden belirlenmiş olması ve tam olmayan veri türlerinin ise kullanıcı ile belirlenebilir olmasıdır.
SAP Transaction Kodları
SAP’de her fonksiyon bir işlem kodu ile bağlantılandırılmıştır. İşlem kodu harf ve sayılardan oluşur.
Önemli İşlem Kodları
Diğer işlem kodlarına buradan bakabilirsiniz.
SAP ve Mimarisi
SAP 1972 yılında 5 eski IBM çalışanının Almanya’da kurduğu Avrupa’nın en büyük yazılım şirketidir. Orjinal adı System Anwendugen Produkte (System Applications and Product) ve SAP olarak bilinen şirketin ürünleri, son dönemde Türkiye’de yaygınlaşmasıyla birlikte 120 ülkeye hizmet ediyor. Bugün Türkiye’de Sabancı Holding, Ülker Grubu, dünyada Microsoft, IBM gibi büyük firmalar tarafından tercih ediliyor. Diğer yandan iş ilanlarında ‘SAP bilen eleman aranıyor.’ deyimi yoğun bir biçimde kullanılıyor. Peki tam olarak SAP nedir, bir şirket mi, yazılım mı?