ABAP VERİ TİPLERİ

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.