ABAP VERİ TİPLERİ
Aşağıda ABAP programlarında kullanılan ön tanımlı tipler ve ABAP Dictionary’ de standart olarak tanımlı tipler anlatılmıştır.
Ön Tanımlı Tipler (Predefined Data Types)
Tüm ABAP programlarında kullanılabilirler.
Sabit Uzunluklu Veri Tipleri (Fixed Length Data Types)
Uzunluğu daima sabit olan veri tipleridir.
Veri Tipi | Tanım | Başlangıç uzunluğu
(Byte) |
Geçerli alan uzunluğu
(Byte) |
Başlangıç değeri | Açıklama |
Karakter | |||||
C | Karakter | 1 | 1 – 65535 | yok | |
N | Nümerik metin | 1 | 1 – 65535 | 0 | |
D | Tarih | 8 | 8 | ‘00000000’ | |
T | Zaman | 6 | 6 | 0 | |
Nümerik | |||||
I | Tam sayı | 4 | 4 | 0 | |
P | Ondalıklı sayı | 8 | 1-16 | 0 | |
F | Ondalıklı sayı | 8 | 8 | 0 | |
decfloat16 | Ondalıklı sayı | 8 | 8 | 0 | 7.0 EHP2’ de eklendi |
decfloat34 | Ondalıklı sayı | 16 | 16 | 0 | 7.0 EHP2’ de eklendi |
Heksadesimal | |||||
X | On altılı sayı | 1 | 1 – 65535 | X’0′ |
C, N, P ve X veri tipleri genel tiplerdir. Kullanılmadan önce alan uzunluklarının belirtilmesi gerekir. P tipi için ondalık alanının da tanımlanması gerekir.
Değişken Uzunluklu Veri Tipleri
Çalışma anına kadar uzunlukları belirlenemeyen veri tipleridir.
Veri Tipi | Tanım |
STRING | Karakter Dizisi |
XSTRING | Heksa decimal tiinde bir byte karakterter |
ABAP Dictionary Ön Tanımlı Veri Tipleri
ABAP dictionary’ de standart olarak tanımlanmış veri tipleri aşağıdaki gibidir.
Veri tipi | Tanım | Maksimum uzunluk n | ABAP veri tipi |
DEC | Hesap/miktar alanı | 1-31, 1-17 tabloda | P((n+1)/2) |
INT1 | Bir byte tam sayı | 3 | Dahili kullanım |
INT2 | İki byte tam sayı | 5 | Dahili kullanım |
INT4 | Dört byte tam sayı | 10 | I |
CURR | Para birimi alanı BCD formatında | 1-17 | P((n+1)/2) |
CUKY | Para birimi alanı için para birimi anahtarı | 5 | C(5) |
QUAN | BCD formatında miktar alanı | 1-17 | P((n+1)/2) |
UNIT | Miktar alanları için birim anahtarı | 2-3 | C(n) |
PREC | Artık kullanılmıyor | 16 | Dahili kullanım |
FLTP | Kayan noktalı sayı | 16 | F(8) |
NUMC | Nümerik metin | 1-255 | N(n) |
CHAR | Karakter dizisi | 1-255 | C(n) |
LCHR | Uzun byte karakter dizisi | 256-max | C(n) |
STRING | Değişken uzunlukta String | 1-maksimum | STRING |
RAWSTRING | Değişken uzunlukta Byte dizisi | 1-maksimum | XSTRING |
DATS | Tarih | 8 | D |
ACCP | Muhasebe dönemi YYYYMM | 6 | N(6) |
TIMS | Zaman HHMMSS | 6 | T |
RAW | Byte dizisi | 1-255 | X(n) |
LRAW | Uzun byte dizisi | 256-max | X(n) |
CLNT | Üst birim | 3 | C(3) |
LANG | Dil | internal 1, external 2 | C(1) |
Kullanıcı Tanımlı Veri Tipleri (User Defined Data Types)
TYPES anahtar kelimesi kullanılarak program içerisinde kullanıcı tanımlı tipler tanımlanabilir.
Örnek: Kullanıcı tanımlı veri tipi kullanımını gösteren örnek.
TYPES: ty_isim TYPE c LENGTH 20,
ty_id TYPE n,
ty_sonuc TYPE p DECIMALS 2,
ty_sira TYPE i.
DATA: gv_isim TYPE ty_isim VALUE ‘ibrahim’,
gv_id TYPE ty_id VALUE ‘1’,
gv_sonuc TYPE ty_sonuc VALUE ‘89.20’,
gv_sira TYPE ty_sira VALUE 193.
WRITE : gv_isim, gv_id, gv_sonuc, gv_sira.
Yapısal Veri Tipleri (Structured Data Types)
Veri tiplerini bir isim altında gruplandırılarak oluşturulan veri tipleridir. Veri tipindeki bileşenlere tire (-) işareti ile erişilir.
BEGIN OF ve END OF anahtar kelimeleri arasında bileşenler tanımlanır.
Örnek: Yapısal veri tipi kullanımını gösteren örnek.
TYPES: ty_isim(20) TYPE c,
ty_id TYPE n,
ty_sonuc TYPE p DECIMALS 2,
ty_sira TYPE i.
TYPES: BEGIN OF ty_aday,
isim TYPE ty_isim,
id TYPE ty_id,
sonuc TYPE ty_sonuc,
sira TYPE ty_sira,
adres(30) TYPE c,
tarih TYPE sy-datum,
END OF ty_aday.
DATA: gs_aday TYPE ty_aday.
gs_aday-isim = ‘ibrahim’.
gs_aday-id = ‘1’.
gs_aday-sonuc = ‘89.20’.
gs_aday-sira = 193.
gs_aday-adres = ‘Abap sokak’.
gs_aday-tarih = sy-datum.
WRITE: / gs_aday-isim, gs_aday-id, gs_aday-sonuc,
gs_aday-sira, gs_aday-adres, gs_aday-tarih.
SABİTLER (CONSTANTS)
Hafızada değiştirilemeyecek (sabit) verilerin tutulmasını sağlayan nesnelerdir. Değer, sabit tanımı yapılırken atanır ve daha sonra değiştirilemez.
Sabit tanımlamak için CONSTANTS anahtar kelimesi kullanılır. Değer atamak için VALUE ifadesi kullanılır.
XSTRING tipinde, referanslarda, internal tablolar ve internal tablo içeren yapılarda kullanılamaz.
Örnek 1: Sabit tanımlama örneği.
CONSTANTS : ay TYPE i VALUE 12,
gun TYPE i VALUE 365,
saat TYPE i VALUE 6.
WRITE: ay, gun, saat.
Örnek 2: Yapısal sabit tanımlama örneği.
CONSTANTS: BEGIN OF aday,
isim(20) TYPE c VALUE ‘ibrahim’,
id TYPE n VALUE ‘1’,
sonuc TYPE p DECIMALS 2 VALUE ‘89.20’,
sira TYPE i VALUE 193,
END OF aday.
WRITE: / aday-isim, aday-id, aday-sonuc, aday-sira.