Bu liste, ABAP’ta günlük kullanımda ihtiyaç duyacağın tüm IF operatörlerini kapsar. ABAP’ta IF koşulları veri kontrolü ve iş mantığı kurmanın temelidir. Bu yazıda tüm operatörleri kategorize ederek tek sayfada topladım.
1) Karşılaştırma Operatörleri
IF a = b. " eşit
IF a <> b. " eşit değil
IF a > b.
IF a < b.
IF a >= b.
IF a <= b.
Eski stil (hala kullanılabilir):
IF a EQ b.
IF a NE b.
IF a GT b.
IF a LT b.
IF a GE b.
IF a LE b.
2) Mantıksal Operatörler
IF a = 1 AND b = 2.
IF a = 1 OR b = 2.
IF NOT a = 1.
Parantez kullanımı:
IF ( a = 1 OR a = 2 ) AND b = 3.
3) Boş (Initial) Kontrolü
IF lv_var IS INITIAL.
IF lv_var IS NOT INITIAL.
4) String / Pattern Operatörleri
IF lv_text CP 'A*'. " pattern (wildcard)
IF lv_text NP 'A*'. " not pattern
IF lv_text CS 'ABC'. " contains string
IF lv_text NS 'ABC'. " not contains
IF lv_text CO 'ABC'. " sadece bu karakterlerden oluşur
IF lv_text CN 'ABC'.
IF lv_text CA 'ABC'. " herhangi biri varsa
IF lv_text NA 'ABC'.
5) Aralık (Range) Kontrolü
IF lv_num BETWEEN 1 AND 10.
6) Internal Table Kontrolü
Klasik yöntem:
READ TABLE lt_tab WITH KEY field = 'X'.
IF sy-subrc = 0.
Modern yöntem:
IF line_exists( lt_tab[ field = 'X' ] ).
7) Referans Kontrolü
IF lo_obj IS BOUND.
IF lo_obj IS NOT BOUND.
8) Nesne Türü Kontrolü
IF lo_obj IS INSTANCE OF cl_gui_textedit.
9) Birleşik Örnek
IF lv_supplier IS NOT INITIAL
AND lv_waers = 'EUR'
AND lines( lt_items ) < 5.
" işlem
ENDIF.
10) Modern ABAP Kullanımı
IF line_exists( lt_po_group[ supplier = lv_supplier waers = lv_waers ] ).
Özet
- Temel karşılaştırma:
= <> > < - Mantık:
AND OR NOT - Boş kontrol:
IS INITIAL - String kontrol:
CP, CS, CA - Tablo kontrol:
line_exists - Nesne kontrol:
IS BOUND
![]()