SAP Ballog (Application Log)

SAP projelerinde geliştirilen uygulamaların loglama stratejisi, sistemin izlenebilirliği ve hataların hızlı çözümü açısından kritik öneme sahiptir.
Bu yazıda, Application Log (Ballog) yapısının ne olduğunu, SLG0/SLG1 üzerinden nasıl yönetildiğini ve örnek bir ABAP implementasyonu ile nasıl kullanılabileceğini adım adım anlatacağım.

📌 Ballog Nedir?

SAP, uygulama bazlı log kayıtlarını saklamak için Application Log adında standart bir altyapı sunar.
Bu altyapı sayesinde, geliştirilen fonksiyonlarda oluşan bilgi, uyarı ve hata mesajları, daha sonra sistem üzerinden kolayca görüntülenebilir.

Avantajları:

  • Log kayıtları SLG1 transaction’ı ile merkezi olarak izlenebilir.
  • SLG0 transaction’ı üzerinden kategoriler (Object/Subobject) belirlenir.
  • Loglar belirli bir anahtar (External Number) ile ilişkilendirilir.
  • Aynı key ile log oluşturabilir, okuyabilir ve silebilirsiniz.

🔹 SLG0 Tanımlamaları

Ballog kullanabilmek için öncelikle SLG0 üzerinden Object ve Subobject tanımlamaları yapılır.

Örneğin:

Bu tanımlar, SLG1 ekranında logları filtrelemeyi kolaylaştırır.

SAP-SS1
SAP-SS2

🔹 Kullanım Örneği (PP Modülü)

FORM create_ballog USING iv_extnumber TYPE balnrext
                         is_return   TYPE bapiret2.

  DATA: lo_ballog TYPE REF TO zpp_cl001,
        ls_search TYPE zpp_cl001=>ts_search_param,
        ls_create TYPE zpp_cl001=>ts_create_param.

  " Log arama parametreleri
  ls_search-object    = 'ZPP'.
  ls_search-subobject = 'ZPP_001'.
  ls_search-extnumber = |{ iv_extnumber ALPHA = OUT }|.

  " Mevcut logu bulmaya çalış
  CREATE OBJECT lo_ballog
    EXPORTING is_search = ls_search
    EXCEPTIONS ... .

  " Log bulunamazsa yarat
  CASE sy-subrc.
    WHEN 2.
      MOVE-CORRESPONDING ls_search TO ls_create.
      CREATE OBJECT lo_ballog
        EXPORTING is_create = ls_create
        EXCEPTIONS ... .
  ENDCASE.

  " Mesaj ekle ve kaydet
  IF sy-subrc = 0.
    lo_ballog->add_msg_bapiret2( EXPORTING is_return = is_return ).
    lo_ballog->save_log( ).
  ENDIF.

ENDFORM.

Önemli Nokta:

  • extnumber alanı, logun benzersiz anahtarıdır.
  • CHAR100 sınırını aşmamalıdır.
  • Aynı key ile loga erişebilir, mesaj ekleyebilir veya silebilirsiniz.

🔹 Logları Görüntüleme

Oluşturulan log kayıtlarını görüntülemek için SLG1 transaction’ını açın ve:

  • Object
  • Subobject
  • External Number (Key) 

alanlarını doldurarak arama yapın.

🧩 Neden Kullanmalıyız?

  • Hata analizini hızlandırır.
  • Kullanıcıya daha anlamlı geri bildirim sağlar.
  • Farklı modüllerde standart bir loglama yaklaşımı oluşur.
  • Geçiş projelerinde, modüllerde süreç takibini kolaylaştırır.

🎯 Sonuç

Ballog (Application Log) yapısı, SAP geliştirmelerinde görünmeyen ama hayati öneme sahip bir bileşendir.
SLG0 üzerinden doğru tanımlamalar yapıldığında ve ABAP içinde standart şekilde kullanıldığında, hem teknik ekip hem de iş birimleri için süreç yönetimi çok daha şeffaf hale gelir.

Eğer kendi modülünüzde ballog uygulamasını başlatmak isterseniz, Object/Subobject tanımlarınızı yaparak başlayabilir, ardından yukarıdaki örnek kodu kendi namespace’inize uyarlayabilirsiniz.


İletişim

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir