Listeleme komutları kullanılarak metin çıktısı oluşturmak mümkündür.
WRITE
Veri nesnesinin içeriğini biçimlendirmek ve yazdırmak için kullanılır.
WRITE {[AT] [/][pozisyon][(uzunluk|*|**)]} veri_nesnesi
[UNDER diger_veri_nesnesi]
[NO-GAP]
[dahili_bicimlendirme_secenekleri]
[harici_bicimlendirme_secenekleri]
[liste_elemanları]
[QUICKINFO bilgi].
Ekler:
AT: Yazdırma pozisyonunu ve uzunluğunu belirtmek için kullanılır.
/: Bir sonraki satıra geçmek için kullanılır.
pozisyon: Yazdırma pozisyonu belirlemek için kullanılır. Tamsayı değerdir.
uzunluk: Veri nesnesinin çıktı uzunluğunu belirtir. Tamsayı değerdir.
* | **: Farklı veri tipleri için farklı veri tipi uzunluğuna bağlı seçenekler sunar.
Veri_nesnesi: Yazdırılacak veri nesnesidir.
UNDER diger_veri_nesnesi: Direkt olarak diger_veri_nesnesi ile belirtilen veri nesnesinin altına yazdırmak için kullanılır.
NO-GAP: İmleç direkt olarak çıktı bitimine konumlandırılır. Boşluk bırakılmaz.
dahili_bicimlendirme_secenekleri: Çıktıyı biçimlendirmek için ek seçenekler içerir.
… [LEFT-JUSTIFIED|CENTERED|RIGHT-JUSTIFIED]
{ { [EXPONENT exponent]
[NO-GROUPING]
[NO-SIGN]
[NO-ZERO]
[CURRENCY para_birimi]
{ { [DECIMALS ondalik_hane]
[ROUND olcek] }
| [UNIT birim] } }
| { [ENVIRONMENT TIME FORMAT]
[TIME ZONE zaman_dilimi]
[STYLE stil] }
[USING { {NO EDIT MASK}|{EDIT MASK maske} }]
[ DD/MM/YY | MM/DD/YY
| DD/MM/YYYY | MM/DD/YYYY
| DDMMYY | MMDDYY
| YYMMDD ] … .
harici_bicimlendirme_secenekleri: Çıktıyı biçimlendirmek için ek seçenekleri belirtir.
… [COLOR {{{color [ON]}|OFF}|{= renk}}]
[INTENSIFIED [{ON|OFF}|{= flag}]]
[INVERSE [{ON|OFF}|{= flag}]]
[HOTSPOT [{ON|OFF}|{= flag}]]
[INPUT [{ON|OFF}|{= flag}]]
[FRAMES [{ON|OFF}|{= flag}]]
[RESET] … .
list_elements: Özel liste elemanları kullanılmasını sağlar.
… {AS CHECKBOX}
| {AS ICON}
| {AS SYMBOL}
| {AS LINE} … .
QUICKINFO bilgi: Fare imleci veri nesnesi üzerine konumlandırıldığında görüntülenecek bilgi metnidir. 40 karakter uzunluğunda olabilir.
WRITE Komutu Çıktı Biçimleri
Bütün veri tipleri için geçerli olanlar.
Opsiyon |
Fonksiyonu |
LEFT-JUSTIFIED |
Çıktıyı sola dayalı olacak şekilde biçimlendirir. |
CENTERED |
Çıktıyı ortalanmış olarak biçimlendirir. |
RIGHT-JUSTIFIED |
Çıktıyı sağa dayalı olacak şekilde biçimlendirir. |
UNDER diger_veri_nesnesi |
Çıktı direkt diger_veri_nesnesi alanının altından başlar. |
NO-GAP |
İmleç direkt olarak çıktı bitimine konumlandırılır. Boşluk bırakılmaz. |
USING EDIT MASK maske |
Çıktıya şablon uygulamak için kullanılır. |
USING NO EDIT MASK |
ABAP Dictionary’ de belirlenmiş bir formatın devralınmamasını sağlar. |
NO-ZERO |
Eğer bir alan sadece sıfır içeriyorsa, sıfırlar boşluk (space) ile değiştirilir. C ve N tipi alanlar için baştaki sıfırlar otomatik olarak boşlukla karakteri ile değiştirilir. |
|
|
|
|
|
|
Sayısal veri tipi için geçerli olanlar.
Opsiyon |
Fonksiyon |
NO-SIGN |
Nümerik alanın işaretlerini kaldırır. |
DECIMALS ondalik_hane |
Ondalık hane sayısını belirtmek için kullanılır. |
EXPONENT exponent |
F tipi alanlar için, üs değeri exponent ile ayarlanır. |
ROUND olcek |
P tipi alanlar 10**(-olcek) ile çarpılır daha sonra yuvarlanır. |
CURRENCY para_birimi |
TCURX tablosuna göre para alanlarını biçimler |
UNIT birim |
P tipi alanlar için T006 tablosundaki birime göre desimal alanları sabitler. |
NO-GROUPING |
S, i, p, decfloat16, decfloat34 veri tiplerini biçimlendirirken binlik ayracı gizler. |
Tarih veri tipi için geçerli olanlar biçimlendirmeler. |
|
Opsiyon |
Fonksiyon |
DD/MM/YY |
Kullanıcının tanımında olan ayraça göre gün, ay, yıl (son iki hane) şeklinde biçimler. |
MM/DD/YY |
Kullanıcının tanımında olan ayraca göre ay, gün, yıl (son iki hane) şeklinde biçimler. |
DD/MM/YYYY |
Kullanıcının tanımında olan ayraça göre gün, ay, yıl şeklinde biçimler. |
MM/DD/YYYY |
Kullanıcının tanımında olan ayraça göre ay, gün, yıl şeklinde biçimler. |
DDMMYY |
Ayraç olmadan, gün, ay, yıl şeklinde biçimler. |
MMDDYY |
Ayraç olmadan, ay, gün, yıl şeklinde biçimler. |
YYMMDD |
Ayraç olmadan, yıl (son iki hane), ay, gün şeklinde biçimler. |
|
|
WRITE İfadesi Biçimlendirme Örnekleri
|
|
1. Bir sonraki satıra geçmeyi ve pozisyon kullanımını gösteren örnek.
WRITE ‘İlk satır.’.
WRITE ‘Hala ilk satır.’.
WRITE / ‘İkinci satır.’.
WRITE /13 ‘Üçüncü satır’.
2. AT eki kullanımını gösteren örnek.
DATA: uzunluk TYPE i VALUE 10,
pozisyon TYPE i VALUE 8,
metin(10) TYPE c VALUE ‘1234567890’.
WRITE ‘Metin ———— boşlukta belirecek.’.
WRITE AT pozisyon(uzunluk) metin.
3. Farklı veri tiplerine sahip nesnelerin uzunluk eki kullanımını gösteren örnek.
DATA: numerik TYPE i VALUE 1234567890,
metin(10) TYPE c VALUE ‘abcdefghij’.
WRITE: (5) numerik, /(5) metin.
Nümerik alan sol taraftan kırpılmıştır. Alan uzunluğu yetmediği için ilk karakteri yıldız (*) yapılmıştır. Metin alanında ise kırpma işlemi sağ taraftan yapılmıştır.
4. Sola, sağa dayalı ve ortalanmış çıktı örnekleri.
DATA gv_sayi TYPE p DECIMALS 2 VALUE ‘123.56’.
WRITE ‘Sayısal değer’.
WRITE / gv_sayi.
WRITE / ‘Sola dayalı sayısal değer’.
WRITE / gv_sayi LEFT-JUSTIFIED.
WRITE /(80) ‘Ortalanmış yazı’ CENTERED.
WRITE /(80) ‘Sağa Dayalı yazı’ RIGHT-JUSTIFIED.
5. Under parametresi kullanımı.
DATA: a TYPE c LENGTH 20,
b TYPE c LENGTH 20.
a = ‘birinci değişken’.
b = ‘ikinci değişiken’.
WRITE: a, b.
WRITE: /40 a,
/ b UNDER a.
6. NO-GAP örneği.
DATA : gv_metin1(9) TYPE c VALUE ‘İlk metin’,
gv_metin2(30) TYPE c VALUE ‘İkinci metin’.
WRITE: gv_metin1, gv_metin2.
WRITE:/ gv_metin1 NO-GAP, gv_metin2.
7. USING EDIT MASK örneği.
DATA gv_saat(10) TYPE c.
gv_saat = ‘203020’.
WRITE / gv_saat.
WRITE / gv_saat USING EDIT MASK ‘__:__:__’.
8. Değişkenin başındaki sıfırları kaldıran bir örnek.
DATA: a TYPE c LENGTH 10,
b TYPE c LENGTH 10.
a = ‘0023’.
b = ‘0001’.
WRITE : /10 a NO-ZERO,
/10 b NO-ZERO.
9. No-SIGN ve DECIMALS örnekleri
DATA : gv_number TYPE p DECIMALS 4 VALUE ‘-22.2445’.
WRITE :/ ‘Değişkenin ilk hali’, 25 gv_number RIGHT-JUSTIFIED.
WRITE :/ ‘İşareti kaldırıldı’, 25 gv_number NO-SIGN RIGHT-JUSTIFIED.
WRITE :/ ‘İki ondalık hane’, 25 gv_number DECIMALS 2 RIGHT-JUSTIFIED.
10. Renk COLOR biçimlendirme ekini kullanan örnek.
WRITE / ‘Arka plan’ COLOR COL_BACKGROUND.
WRITE / ‘Başlık’ COLOR COL_HEADING.
WRITE / ‘Normal’ COLOR COL_NORMAL.
WRITE / ‘Toplam’ COLOR COL_TOTAL.
WRITE / ‘Anahtar’ COLOR COL_KEY.
WRITE / ‘Pozitif’ COLOR COL_POSITIVE.
WRITE / ‘Negatif yazı’ COLOR COL_NEGATIVE.
WRITE / ‘Grup’ COLOR COL_GROUP.
SKIP.
WRITE / ‘Metin Renk kodu 1’ COLOR 1.
WRITE / ‘Metin Renk kodu 2’ COLOR 2.
WRITE / ‘Metin Renk kodu 3’ COLOR 3.
WRITE / ‘Metin Renk kodu 4’ COLOR 4.
WRITE / ‘Metin Renk kodu 5’ COLOR 5.
WRITE / ‘Metin Renk kodu 6’ COLOR 6.
WRITE / ‘Metin Renk kodu 7’ COLOR 7.
11. Tarih biçimlendirmelerini gösteren örnek.
DATA A TYPE D VALUE ‘20130313’.
WRITE / A.
WRITE / A DD/MM/YY.
WRITE / A MM/DD/YY.
WRITE / A DD/MM/YYYY.
WRITE / A MM/DD/YYYY.
WRITE / A DDMMYY.
WRITE / A MMDDYY.
WRITE / A YYMMDD.
12. Checkbox kullanımını gösteren örnek.
DATA: cbox1 TYPE c LENGTH 1,
cbox2 TYPE c LENGTH 1,
cbox3 TYPE c LENGTH 1.
cbox1 = ‘X’.
WRITE:/ ‘Checkbox1’, cbox1 AS CHECKBOX,
/ ‘Checkbox2’, cbox2 AS CHECKBOX,
/ ‘Checkbox3’, cbox3 AS CHECKBOX.
13. Çizgi kullanımını gösteren örnek.
ULINE AT /(21).
DO 5 TIMES.
WRITE:/ sy-vline, ‘Satır’, sy-index, sy-vline.
ENDDO.
ULINE AT /(21).
|
|
Sembol ve Simge Yazdırma
|
|
Sembol ve ikon yazdırmak için <SYMBOL> veya <IKON> include’ unun dahil edilmesi gereklidir veya sadece <LIST> include’ u dahil edilmelidir. Kullanımı aşağıdaki şekildedir.
WRITE <symbol-name> AS SYMBOL.
WRITE <icon-name> AS ICON.
WRITE İfadesi Sembol ve Simge Yazdırma Örneği
1. Telefon sembolü ve alarm simgesi yazdıran örnek.
INCLUDE <symbol>.
INCLUDE <icon>.
WRITE: ‘Telefon sembolü’, sym_phone AS SYMBOL.
SKIP.
WRITE:/ ‘Alarm simgesi’, icon_alarm AS ICON.
|
|
BOŞLUK SATIRLARI ve ÇİZGİLER
ULINE
Alt çizgi ekler. AT anahtar kelimesi ile aldığı parametreler WRITE komutundakiler ile aynıdır.
ULINE {[AT] [/][pozisyon][(uzunluk)]} [NO-GAP].
[AT]: Çizgi belirtilen sütun pozisyonundan başlatmak için kullanılır.
[/]: Yeni bir satıra geçmek için kullanılır.
[pozisyon]: Pozisyonu (sütun numarası) gösteren numaradır.
[(uzunluk)]: Değişkenin çıktı uzunluğunu belirtir.
ULINE Örnekler
1. ULINE kullanımını gösteren örnek.
ULINE.
WRITE AT 12 ‘Başlık metni’.
ULINE AT /10(15) .
WRITE AT :/12 ‘Detay metni 1’,
/12 ‘Detay metni 2’.
ULINE AT /10(15) .
ULINE.
DİKEY ÇİZGİ
WRITE [AT [/][<pos>]] SY-VLINE.
Veya
WRITE [AT [/][<pos>]] ‘|’.
Cümleleri ile dikey çizgi elde yazdırılabilir.
SKIP
Belirtilen satır kadar kursor aşağıya gider.
SKIP [<n>].
[<n>]: Eğer bu parametre verilmezse kursor bir satır aşağıya gider.
SKIP TO LINE
Kursor belirlenen satıra gider.
SKIP TO LINE <n>.
<n>: Satır numarası