SAP ABAP - Variabel

Variabel dinamai objek data yang digunakan untuk menyimpan nilai dalam area memori yang dialokasikan dari suatu program. Seperti namanya, pengguna dapat mengubah konten variabel dengan bantuan pernyataan ABAP. Setiap variabel di ABAP memiliki tipe tertentu, yang menentukan ukuran dan tata letak memori variabel; kisaran nilai yang dapat disimpan dalam memori itu; dan set operasi yang dapat diterapkan ke variabel.

Anda harus mendeklarasikan semua variabel sebelum dapat digunakan. Bentuk dasar dari deklarasi variabel adalah -

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

Di sini <f> menentukan nama variabel. Panjang nama variabel dapat mencapai 30 karakter. <type> menentukan tipe variabel. Tipe data apa pun dengan atribut teknis yang ditentukan sepenuhnya dikenal sebagai <type>. <val> menentukan nilai awal dari variabel <f>. Jika Anda menentukan variabel panjang tetap dasar, pernyataan DATA secara otomatis mengisi nilai variabel dengan nilai awal khusus jenis. Nilai lain yang mungkin untuk <val> bisa berupa klausa literal, konstanta, atau eksplisit, seperti Is INITIAL.

Berikut adalah contoh valid dari deklarasi variabel.

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

Pada potongan kode di atas, d1 adalah variabel tipe C, d2 adalah variabel tipe d1, dan nilai_minimum adalah variabel integer ABAP tipe I.

Bab ini akan menjelaskan berbagai tipe variabel yang tersedia di ABAP. Ada tiga jenis variabel di ABAP -

  • Variabel Statis
  • Variabel Referensi
  • Variabel Sistem

Variabel Statis

  • Variabel statis dideklarasikan dalam subrutin, modul fungsi, dan metode statis.

  • Seumur hidup terkait dengan konteks deklarasi.

  • Dengan pernyataan 'CLASS-DATA', Anda dapat mendeklarasikan variabel di dalam kelas.

  • Pernyataan 'PARAMETERS' dapat digunakan untuk mendeklarasikan objek data dasar yang ditautkan ke bidang masukan pada layar pemilihan.

  • Anda juga dapat mendeklarasikan tabel internal yang ditautkan ke kolom input pada layar pemilihan dengan menggunakan pernyataan 'SELECT-OPTIONS'.

Berikut adalah konvensi yang digunakan saat menamai variabel -

  • Anda tidak dapat menggunakan karakter khusus seperti "t" dan "," untuk menamai variabel.

  • Nama objek data yang sudah ditentukan sebelumnya tidak dapat diubah.

  • Nama variabel tidak boleh sama dengan kata kunci atau klausa ABAP mana pun.

  • Nama variabel harus menyampaikan arti dari variabel tersebut tanpa perlu komentar lebih lanjut.

  • Tanda hubung dicadangkan untuk mewakili komponen struktur. Oleh karena itu, Anda harus menghindari tanda hubung dalam nama variabel.

  • Karakter garis bawah dapat digunakan untuk memisahkan kata majemuk.

Program ini menunjukkan bagaimana mendeklarasikan variabel menggunakan pernyataan PARAMETERS -

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

Di sini, NAME mewakili parameter 10 karakter, CLASS menentukan parameter tipe integer dengan ukuran default dalam byte, SCORE mewakili parameter tipe yang dikemas dengan nilai hingga dua tempat desimal, dan CONNECT mengacu pada tipe MARA-MATNF dari Kamus ABAP .

Kode di atas menghasilkan keluaran sebagai berikut -

Variabel Referensi

Sintaks untuk mendeklarasikan variabel referensi adalah -

DATA <ref> TYPE REF TO <type> VALUE IS INITIAL.
  • Tambahan REF TO mendeklarasikan variabel referensi ref.

  • Spesifikasi setelah REF TO menentukan tipe statis dari variabel referensi.

  • Tipe statis membatasi kumpulan objek yang bisa dirujuk <ref>.

  • Jenis dinamis dari variabel referensi adalah jenis atau kelas data yang dirujuknya saat ini.

  • Tipe statis selalu lebih umum atau sama dengan tipe dinamis.

  • Penambahan TYPE digunakan untuk membuat jenis referensi terikat dan sebagai nilai awal, dan hanya IS INITIAL yang dapat ditentukan setelah penambahan VALUE.

Contoh

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.
  • Dalam potongan kode di atas, referensi objek Oref dan dua variabel referensi data Dref1 dan Dref2 dideklarasikan.

  • Kedua variabel referensi data sepenuhnya diketik dan dapat didereferensi menggunakan operator dereferensi → * pada posisi operan.

Variabel Sistem

  • Variabel sistem ABAP dapat diakses dari semua program ABAP.

  • Bidang ini sebenarnya diisi oleh lingkungan waktu proses.

  • Nilai di bidang ini menunjukkan status sistem pada titik waktu tertentu.

  • Anda dapat menemukan daftar lengkap variabel sistem di tabel SYST di SAP.

  • Bidang individu dari struktur SYST dapat diakses dengan menggunakan "SYST-" atau "SY-".

Contoh

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.

Kode di atas menghasilkan keluaran sebagai berikut -

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