SAP ABAP - Sabitler ve Değişmezler
Değişmezler, bir programın kaynak kodu içinde oluşturduğunuz isimsiz veri nesneleridir. Tamamen değerleriyle tanımlanırlar. Bir değişmezin değerini değiştiremezsiniz. Sabitler, bildirime dayalı ifadeler kullanılarak statik olarak oluşturulan veri nesneleri olarak adlandırılır. Bir sabit, programın hafıza alanında saklanan bir değer atanarak tanımlanır. Bir sabite atanan değer, programın yürütülmesi sırasında değiştirilemez. Bu sabit değerler, değişmez değerler olarak da kabul edilebilir. İki tür değişmez değer vardır - sayısal ve karakter.
Sayısal Değişmezler
Sayı değişmezleri, ön ekli bir işarete sahip olabilen rakam dizileridir. Sayı değişmezlerinde ondalık ayırıcılar ve mantis ve üslü gösterim yoktur.
Aşağıda, sayısal değişmez değerlere bazı örnekler verilmiştir -
183.
-97.
+326.
Karakter Değişmezleri
Karakter değişmezleri, tek tırnak işaretleri içine alınmış bir ABAP programının kaynak kodundaki alfanümerik karakter dizileridir. Tırnak işaretleri arasında yer alan karakter değişmezleri, önceden tanımlanmış ABAP C tipine sahiptir ve metin alanı değişmezleri olarak tanımlanır. "Ters tırnak" içine alınan değişmezler ABAP türü STRING'e sahiptir ve dizge değişmezleri olarak tanımlanır. Alan uzunluğu, karakter sayısı ile tanımlanır.
Note - Metin alanı değişmez değerlerinde, sondaki boşluklar göz ardı edilir, ancak dize değişmezlerinde bunlar dikkate alınır.
Aşağıda, karakter değişmezlerinin bazı örnekleri verilmiştir.
Metin alanı değişmez değerleri
REPORT YR_SEP_12.
Write 'Tutorials Point'.
Write / 'ABAP Tutorial'.
Dize alanı değişmez değerleri
REPORT YR_SEP_12.
Write `Tutorials Point `.
Write / `ABAP Tutorial `.
Yukarıdaki her iki durumda da çıktı aynıdır -
Tutorials Point
ABAP Tutorial
Note- Sabitin değerini değiştirmeye çalıştığımızda, bir sözdizimi veya çalışma zamanı hatası oluşabilir. Bir sınıfın veya bir arabirimin bildirim bölümünde bildirdiğiniz sabitler, o sınıfın veya arabirimin statik özniteliklerine aittir.
CONSTANTS İfadesi
Adı verilen veri nesnelerini CONSTANTS deyimi yardımıyla bildirebiliriz.
Sözdizimi aşağıdadır -
CONSTANTS <f> TYPE <type> VALUE <val>.
CONSTANTS ifadesi DATA ifadesine benzer.
<f> sabit için bir isim belirtir. TYPE <type>, mevcut veri türü <type> ile aynı teknik özellikleri devralan <f> adlı bir sabiti temsil eder. VALUE <val>, bildirilen <f> sabit adına bir başlangıç değeri atar.
Note- CONSTANTS ifadesindeki VALUE cümlesini kullanmalıyız. 'VALUE' cümlesi, bildirimi sırasında sabite bir başlangıç değeri atamak için kullanılır.
Temel, karmaşık ve referans sabitler olmak üzere 3 tip sabitimiz var. Aşağıdaki ifade, SABİTLER ifadesini kullanarak sabitlerin nasıl tanımlanacağını gösterir -
REPORT YR_SEP_12.
CONSTANTS PQR TYPE P DECIMALS 4 VALUE '1.2356'.
Write: / 'The value of PQR is:', PQR.
Çıktı -
The value of PQR is: 1.2356
Burada temel veri türünü ifade eder ve temel sabit olarak bilinir.
Aşağıda karmaşık sabitler için bir örnek verilmiştir -
BEGIN OF EMPLOYEE,
Name(25) TYPE C VALUE 'Management Team',
Organization(40) TYPE C VALUE 'Tutorials Point Ltd',
Place(10) TYPE C VALUE 'India',
END OF EMPLOYEE.
Yukarıdaki kod parçacığında ÇALIŞAN, Ad, Organizasyon ve Yer alanlarından oluşan karmaşık bir sabittir.
Aşağıdaki ifade sabit bir referans bildirir -
CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.
Sabit referansı karşılaştırmalarda kullanabiliriz veya prosedürlere aktarabiliriz.