SAP ABAP - Değişkenler

Değişkenler, bir programın ayrılan bellek alanı içindeki değerleri depolamak için kullanılan adlandırılmış veri nesneleridir. Adından da anlaşılacağı gibi, kullanıcılar ABAP ifadeleri yardımıyla değişkenlerin içeriğini değiştirebilirler. ABAP'deki her değişkenin, değişken belleğinin boyutunu ve düzenini belirleyen belirli bir türü vardır; o hafızada saklanabilecek değerlerin aralığı; ve değişkene uygulanabilecek işlemler kümesi.

Kullanılmadan önce tüm değişkenleri bildirmelisiniz. Değişken bildiriminin temel biçimi -

DATA <f> TYPE <type> VALUE <val>.

Burada <f> bir değişkenin adını belirtir. Değişkenin adı en fazla 30 karakter uzunluğunda olabilir. <tür>, değişkenin türünü belirtir. Tam olarak belirtilen teknik özelliklere sahip herhangi bir veri türü, <tür> olarak bilinir. <val>, <f> değişkeninin başlangıç ​​değerini belirtir. Temel sabit uzunluklu bir değişken tanımlamanız durumunda, DATA ifadesi değişkenin değerini otomatik olarak türe özgü başlangıç ​​değeriyle doldurur. <val> için diğer olası değerler değişmez, sabit veya Is INITIAL gibi açık bir yan tümce olabilir.

Aşağıda, değişken bildirimlerinin geçerli örnekleri verilmiştir.

DATA d1(2) TYPE C.  
DATA d2 LIKE d1.  
DATA minimum_value TYPE I VALUE 10.

Yukarıdaki kod parçacığında, d1, C tipi bir değişkendir, d2, d1 tipi bir değişkendir ve minimum_value, ABAP tamsayı türü I değişkenidir.

Bu bölüm, ABAP'ta bulunan çeşitli değişken türlerini açıklayacaktır. ABAP'de üç tür değişken vardır -

  • Statik Değişkenler
  • Referans Değişkenler
  • Sistem Değişkenleri

Statik Değişkenler

  • Statik değişkenler alt yordamlarda, işlev modüllerinde ve statik yöntemlerde bildirilir.

  • Kullanım ömrü, beyannamenin içeriğiyle bağlantılıdır.

  • 'CLASS-DATA' ifadesiyle, sınıflar içindeki değişkenleri tanımlayabilirsiniz.

  • 'PARAMETERS' ifadesi, bir seçim ekranındaki giriş alanlarına bağlanan temel veri nesnelerini bildirmek için kullanılabilir.

  • Ayrıca 'SELECT-OPTIONS' ifadesini kullanarak bir seçim ekranındaki giriş alanlarına bağlanan dahili tabloları da bildirebilirsiniz.

Bir değişkeni adlandırırken kullanılan kurallar aşağıdadır -

  • Değişkenleri adlandırmak için "t" ve "," gibi özel karakterler kullanamazsınız.

  • Önceden tanımlanmış veri nesnelerinin adı değiştirilemez.

  • Değişkenin adı, herhangi bir ABAP anahtar sözcüğü veya cümlesiyle aynı olamaz.

  • Değişkenlerin adı, daha fazla yoruma gerek kalmadan değişkenin anlamını taşımalıdır.

  • Kısa çizgiler, yapıların bileşenlerini temsil etmek için ayrılmıştır. Bu nedenle, değişken adlarında tirelerden kaçınmanız gerekir.

  • Alt çizgi karakteri, bileşik kelimeleri ayırmak için kullanılabilir.

Bu program, PARAMETERS deyimini kullanarak bir değişkenin nasıl tanımlanacağını gösterir -

REPORT ZTest123_01. 
PARAMETERS: NAME(10) TYPE C, 
CLASS TYPE I, 
SCORE TYPE P DECIMALS 2, 
CONNECT TYPE MARA-MATNR.

Burada, NAME, 10 karakterlik bir parametreyi temsil eder, CLASS, bayt cinsinden varsayılan boyuta sahip bir tamsayı türü parametresini belirtir, SCORE, iki ondalık basamağa kadar değerlere sahip paketlenmiş bir tür parametresini temsil eder ve CONNECT, ABAP Sözlüğünün MARA-MATNF türünü ifade eder. .

Yukarıdaki kod aşağıdaki çıktıyı üretir -

Referans Değişkenler

Referans değişkenlerini bildirmek için sözdizimi -

DATA <ref> TYPE REF TO <type> VALUE IS INITIAL.
  • REF TO eki, bir referans değişkeni ref bildirir.

  • REF TO'dan sonraki belirtim, referans değişkeninin statik türünü belirtir.

  • Statik tür, <ref> 'in başvurabileceği nesne kümesini sınırlar.

  • Dinamik referans değişken türü, halihazırda başvurduğu veri türü veya sınıfıdır.

  • Statik tür her zaman daha geneldir veya dinamik türle aynıdır.

  • TÜR ilavesi, bağlı bir referans türü oluşturmak için ve bir başlangıç ​​değeri olarak kullanılır ve DEĞER eklemesinden sonra yalnızca IS INITIAL belirtilebilir.

Misal

CLASS C1 DEFINITION. 
PUBLIC SECTION. 
DATA Bl TYPE I VALUE 1. 
ENDCLASS. DATA: Oref TYPE REF TO C1 , 
Dref1 LIKE REF TO Oref, 
Dref2 TYPE REF TO I . 
CREATE OBJECT Oref. 
GET REFERENCE OF Oref INTO Dref1. 
CREATE DATA Dref2. 
Dref2→* = Dref1→*→Bl.
  • Yukarıdaki kod parçacığında, bir nesne referansı Oref ve iki veri referans değişkeni Dref1 ve Dref2 bildirilmiştir.

  • Her iki veri referans değişkeni de tam olarak yazılmıştır ve referans alma operatörü → * işlenen konumlarında kullanılarak referans alınabilir.

Sistem Değişkenleri

  • ABAP sistem değişkenlerine tüm ABAP programlarından erişilebilir.

  • Bu alanlar aslında çalışma zamanı ortamı tarafından doldurulur.

  • Bu alanlardaki değerler, sistemin herhangi bir zaman noktasındaki durumunu gösterir.

  • SAP'deki SYST tablosunda sistem değişkenlerinin tam listesini bulabilirsiniz.

  • SYST yapısının ayrı alanlarına “SYST-” veya “SY-” kullanılarak erişilebilir.

Misal

REPORT Z_Test123_01. 

WRITE:/'SY-ABCDE', SY-ABCDE,       
      /'SY-DATUM', SY-DATUM, 
      /'SY-DBSYS', SY-DBSYS, 
      /'SY-HOST ', SY-HOST, 
      /'SY-LANGU', SY-LANGU,
      /'SY-MANDT', SY-MANDT,
      /'SY-OPSYS', SY-OPSYS,
      /'SY-SAPRL', SY-SAPRL,
      /'SY-SYSID', SY-SYSID,
      /'SY-TCODE', SY-TCODE,
      /'SY-UNAME', SY-UNAME,
      /'SY-UZEIT', SY-UZEIT.

Yukarıdaki kod aşağıdaki çıktıyı üretir -

SY-ABCDE ABCDEFGHIJKLMNOPQRSTUVWXYZ  
SY-DATUM 12.09.2015 
SY-DBSYS ORACLE                   
SY-HOST sapserver 
SY-LANGU EN 
SY-MANDT 800 
SY-OPSYS Windows NT 
SY-SAPRL 700 
SY-SYSID DMO 
SY-TCODE SE38 
SY-UNAME SAPUSER 
SY-UZEIT 14:25:48