HATA AYIKLAMA (DEBUGGING)

ABAP kodunda hataları ayıklamak için güçlü bir hata ayıklama aracı bulunur. Hata ayıklamayı kolaylaştıracak birçok özelliği barındırır.
ABAP Düzenleyici’ de iken, Yardımcı programlar ® Ayarlar ® Debugging ile hata ayıklama seçenekler yönetilebilir. Harici hata ayıklama için kullanıcı seçimi yapılabilir. Hata ayıklama için eski veya yeni hata ayıklama kullanılabilir. Hata ayıklama aÅŸağıdaki durumlarda baÅŸlatılabilir.
· program çalışırken
· programı çalıştırmadan önce,
o kod içerisine kesme noktası eklenerek
o koda hata ayıklama ifadesi eklenerek
Program Çalışırken Hata Ayıklama Programını Çalıştırmak
Uygulama çalışırken hata ayıklama programını çalıştırmak ve sonlandırmak için aşağıdaki fonksiyon kodları komut alanına yazılarak kullanılabilir.
Fonksiyon kodu Anlamı
/h ABAP ve ekran ifadeleri için hata ayıklama programını çalıştırır.
/hs ABAP, ekran ifadeleri ve sistem fonksiyonlarını da içerecek şekilde hata ayıklama programını çalıştırır.
/hx Sadece ABAP ifadeleri için hata ayıklama programını çalıştırır.
/ha Çalıştırılmış olan hata ayıklama oturumunu (kullanıcı girişi beklediği anda) sonlandırır.
Programı çalıştırmadan önce
Kod içerisine BREAK-POINT ifadesi veya BREAK makrosu eklenebilir.
BREAK-POINT: ABAP kodunda kesme noktası oluşturmak için kullanılır. ID eki kullanılmadı sürece sürekli aktif olur ve program kodu bu satıra her erişiminde hata ayıklama programı çalışır. Kullanımı aşağıdaki şekildedir.
BREAK-POINT { [ID group]
| [log_text] }.
ID group: Kontrol noktası grubu veya aktivasyon düzeni kullanılarak ifadenin aktif olması program dışarısında kontrol edilir.
log_text: Sistem logları için ek metin belirtmek için kullanılır.
Not: BREAK kullanici_adi ifadesi ön tanımlı makrodur. Makroda kullanılan kullanıcı programı çalıştırdığında bu satıra ulaşılınca hata ayıklama programı çalışır.
ABAP Düzenleyici içerisinden Yardımcı programlar menüsünden kesme noktası eklenebilir.


ABAP düzenleyici ekranında numaraların yanındaki boÅŸ alana mouse’ un sol tuÅŸuna tıklayarak da kesme noktası eklenebilir eklenebilir.


Aynı boş alana sağ tıklayarak çıkan menüden de kesme noktası eklenebilir.


Hata Ayıklama Programı

ABAP hata ayıklama programı çalıştığında aÅŸağıdaki ekran açılır. AÅŸağıdaki ekran görüntüsü yeni hata ayıklama programının ekran görüntüsüdür. Kullanıcı ABAP düzenleyicide bulunan Yardımcı programlar->Ayarlar->Debugging menüsünden ABAP Debugger seçeneÄŸini deÄŸiÅŸtirmedi ise veya oturum sayısı 6’ ya ulaÅŸmadı ise yeni hata ayıklama programı çalışır. DiÄŸer durumlarda eski hata ayıklama programı çalışır.


Araç çubuğunda aşağıdaki butonlar yer alır.


Buton Tanım Kısayol Açıklama
Single Step F5 Programın akışını bir sonraki satıra geçirmek için kullanılır. Eğer ifade bir işlem bloğu çağırıyor ise o işlem bloğuna girer.
Execute F6 Programın akışını bir sonraki satıra geçirmek için kullanılır. Eğer çalıştırılacak satır bir işlem bloğuna dallanacak ise ise o işlem bloğu çalıştırılır ve ilerler.
Return F7 İçinde bulunan işlem bloğu içerisindeki tüm alt satırlar çalıştırılır. İşlem bloğu dışındaki bir sonraki ifadeye geçilir. Döngü içerisinde kullanıldı ise döngü bitene kadar kesme noktası satırına döner.
Continue F8 Altında bulunan tüm satırları çalıştırır. Döngü içerisinde kullanıldı ise döngü bitene kadar kesme noktası satırına döner.
Create Breakpoint in Command, Method,… F9 Belirtilen ABAP anahtar kelimesi, yöntem, fonksiyon, … için kesme noktası ekler.
Create Watchpoint Shift+F4 Watchpoint oluşturmak için kullanılır. Watchpoint, belirtilen değişkenin satırına yönlenmeyi sağlar. Koşul girilebilir. Koşula göre yönlenme sağlanır.
Save layout Ctrl+Shift+F3 Hata ayıklama ekranında kullanılan düzeni saklamak için kullanılır.

Araç çubuğunun altındaki bilgi kutularında şu bilgiler bulunur.
  • program ismi,
  • include ismi,
  • çalıştırılan olay,
  • imlecin bulunduÄŸu satır numarası,
  • sy-subrc sistem deÄŸiÅŸkeninin deÄŸeri,
  • sy-tabix sistem deÄŸiÅŸkeninin deÄŸeri

Bilgi kutularının altında veri nesnelerini gösteren sekmeler bulunur.
Bilgi kutularının altında veri nesneleri, olaylar, kesme noktaları, watchpoint’ ler ve diÄŸer nesneleri görüntüleyen sekmeler bulunur.


Desktop 1 sekmesinde değişkenler değerleri görülebilir. Kod satırından herhangi bir değişken, yapı, dahili tablo çift tıklanırsa veya Variable tablosundaki alana yazılırsa o değişkenle ilgili bilgilere ulaşılabilir.
Değişken değerleri tablodaki Val. Alanında görülebilir. Değişkenin değerleri alanında yanında bulunan kalem simgesine tıklayarak değiştirilebilir.


Locals ve Globals sekmelerinde program içerisinde tanımlı yerel ve global değişkenler görülebilir.

Dahili tabloların içeriğini görmek için tablo ismi veya yanında mavi kutu var ise üzerine çift tıklamak gerekir. Seçilen tablo için Tables sekmesine yönlenir ve burada tablo içeriği görüntülenir.

 ***************************************************************
Serkan AKKAVAK
Bilgisayar Mühendisi
serkurumsal@yandex.com
SAP ve ABAP ile ilgili tüm sorun ve sorularınızı gönderebilirsiniz.