ABAP’ta en temel çıktı alma yöntemlerinden biri WRITE komutudur.
Genellikle raporlama ekranlarında, hızlı testlerde ve basit liste çıktılarında kullanılır.
WRITE ile birlikte kullanılan bazı liste komutları (ULINE, SKIP, POSITION, FORMAT vb.) çıktının daha düzenli ve okunabilir görünmesini sağlar.
1) Temel WRITE Kullanımı
WRITE 'Hello SAP'.
2) Değişken Yazdırma
DATA lv_text TYPE string VALUE 'ABAP öğreniyorum'.
WRITE lv_text.
3) Satır Atlama (/)
WRITE: / 'Birinci satır',
/ 'İkinci satır'.
/ işareti yeni satır anlamına gelir.
4) ULINE Kullanımı
ULINE, ekrana yatay çizgi çizer.
WRITE: / 'Material List'.
ULINE.
5) SKIP Kullanımı
WRITE 'Başlık'.
SKIP.
WRITE 'Detay Alanı'.
SKIP 2.
WRITE ile Formatlama İşlemleri
6) LEFT-JUSTIFIED / RIGHT-JUSTIFIED
WRITE: / lv_text LEFT-JUSTIFIED.
WRITE: / lv_text RIGHT-JUSTIFIED.
7) CENTERED Kullanımı
WRITE: / 'ABAP REPORT' CENTERED.
8) UNDER Kullanımı
WRITE: / 'Material',
/ lv_matnr UNDER 'Material'.
9) NO-ZERO Kullanımı
WRITE lv_num NO-ZERO.
Örnek:
0000123 -> 123
10) DECIMALS Kullanımı
WRITE lv_amount DECIMALS 2.
11) CURRENCY Kullanımı
WRITE lv_price CURRENCY 'EUR'.
12) DATE ve TIME Formatlama
WRITE sy-datum DD/MM/YYYY.
WRITE sy-uzeit.
13) POSITION Kullanımı
POSITION 20.
WRITE 'ABAP'.
14) FORMAT COLOR Kullanımı
FORMAT COLOR COL_HEADING.
WRITE: / 'Başlık'.
FORMAT RESET.
15) Örnek Liste Çıktısı
WRITE: / 'Material Report' CENTERED.
ULINE.
SKIP.
FORMAT COLOR COL_HEADING.
WRITE: / 'Material No', 20 'Description'.
FORMAT RESET.
ULINE.
LOOP AT lt_table INTO DATA(ls_line).
WRITE: / ls_line-matnr NO-ZERO,
20 ls_line-maktx.
ENDLOOP.
16) Örnek Liste Çıktısı (WRITE)
Aşağıda, basit bir “Material Report” çıktısını WRITE ile üreten örnek var. Örnek kendi içinde çalışsın diye tabloyu ve örnek veriyi de ekledim.
REPORT z_demo_write_report.
TYPES: BEGIN OF ty_line,
matnr TYPE c LENGTH 10,
maktx TYPE c LENGTH 40,
END OF ty_line.
DATA lt_table TYPE STANDARD TABLE OF ty_line WITH EMPTY KEY.
"Örnek veri
APPEND VALUE #( matnr = '0000000123' maktx = 'Kalem' ) TO lt_table.
APPEND VALUE #( matnr = '0000000456' maktx = 'Defter' ) TO lt_table.
APPEND VALUE #( matnr = '0000000789' maktx = 'Silgi' ) TO lt_table.
WRITE: / 'Material Report' CENTERED.
ULINE.
SKIP.
FORMAT COLOR COL_HEADING.
WRITE: / 'Material No', 20 'Description'.
FORMAT RESET.
ULINE.
LOOP AT lt_table INTO DATA(ls_line).
WRITE: / ls_line-matnr NO-ZERO,
20 ls_line-maktx.
ENDLOOP.
WRITE vs ALV
WRITE:
- Basit liste çıktıları
- Hızlı testler
- Sınırlı formatlama
ALV:
- Filtreleme ve sıralama
- Kullanıcı dostu arayüz
- Profesyonel raporlama
Sonuç
WRITE komutu ABAP’ın en temel çıktı alma yöntemlerinden biridir.
ULINE, SKIP, POSITION ve FORMAT gibi yardımcı komutlarla birlikte kullanıldığında daha düzenli ve okunabilir raporlar oluşturulabilir.
Her ne kadar modern SAP projelerinde ALV tercih edilse de, WRITE hâlâ hızlı testler ve basit listeleme işlemleri için oldukça kullanışlıdır.
Abap’te string işlemleri için bu yazıyı inceleyebilirsiniz.
Link : https://www.mustafahamit.com/abapta-en-sik-kullanilan-string-islemleri/
![]()