Friday, September 22, 2017

Tutorial Variable SAP ABAP

Variabel diberi nama objek data yang digunakan untuk menyimpan nilai dalam area memori yang dialokasikan dari sebuah program. Seperti namanya, pengguna bisa mengubah isi variabel dengan bantuan ABAP statements. Setiap variabel dalam ABAP memiliki tipe tertentu, yang menentukan ukuran dan tata letak memori variabel

 Anda harus mendeklarasikan semua variabel sebelum bisa digunakan. Bentuk dasar deklarasi variabel adalah:

DATA <f> TYPE <type> VALUE <val>
Disini <f> menentukan nama sebuah variabel. Nama variabel bisa sampai 30 karakter. <type> menentukan jenis variabel. Setiap tipe data dengan atribut teknis yang ditentukan sepenuhnya dikenal sebagai <type>. Nilai <val> menentukan nilai awal dari variabel <f>. Jika Anda menentukan variabel fixed-length dasar, DATA statement secara otomatis akan mengisi nilai variabel dengan nilai awal spesifik tipe. Nilai lain yang mungkin untuk <val> dapat berupa klausa literal, konstanta, atau klausa eksplisit, seperti INITIAL.

Baca Juga: Tutorial Lengkap SAP ABAP


Jenis variabel yang tersedia di ABAP. Ada tiga jenis variabel dalam ABAP -
  • Static Variable 
  • Referensi Variable 
  • System Variable 

Static Variable

Static Variable dinyatakan dalam subrutin, modul fungsi, dan metode statis. Masa hidup terkait dengan konteks deklarasi tersebut. Dengan pernyataan 'CLASS-DATA', Anda dapat mendeklarasikan variabel di dalam class Statement 'PARAMETERS' dapat digunakan untuk mendeklarasikan objek data elementer yang terkait dengan bidang input pada layar pilihan. Anda juga dapat mendeklarasikan tabel internal yang terhubung ke bidang masukan pada layar pilihan dengan menggunakan pernyataan 'SELECT-OPTIONS'. Berikut adalah konvensi yang digunakan saat menamai variabel
  • Anda tidak dapat menggunakan karakter khusus seperti "t" dan "," untuk memberi nama variabel.
  • Nama objek data yang telah ditentukan tidak dapat diubah.
  • Nama variabel tidak boleh sama dengan kata kunci ABAP atau klausa lainnya.
  • Nama variabel harus menyampaikan makna variabel tanpa perlu komentar lebih lanjut.
Berikut program bagaimana cara mendeklarasikan variabel dengan menggunakan statemen 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 satuan byte, SCORE mewakili parameter dengan nilai hingga dua desimal, dan CONNECT mengacu pada tipe ABAP

Kode di atas menghasilkan output sebagai berikut:
static-variable-abap

Referensi Variable Sintaks untuk mendeklarasikan variabel referensi adalah sebagai berikut:

DATA  TYPE REF TO  VALUE IS INITIAL.
  • REF TO addition mendeklarasikan variabel referensi ref 
  • Spesifikasi setelah REF TO menentukan tipe statis dari variabel referensi. 
  • Tipe statis membatasi kumpulan objek yang dapat merujuk oleh referensi. 
  • Tipe dinamis dari variabel referensi adalah tipe data atau kelas yang berhubungan

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 kode di atas, referensi objek Oref dan dua variabel referensi data Dref1 dan Dref2 dideklarasikan. Kedua variabel referensi data sepenuhnya diketik dan dapat dereferenced menggunakan operator dereferencing → * pada posisi operan

System Variable


  • System Variable ABAP dapat diakses dari semua program ABAP.
  • Bidang ini benar-benar diisi oleh lingkungan run-time.
  • Nilai dalam bidang ini menunjukkan keadaan sistem pada suatu titik waktu tertentu.
  • Anda dapat menemukan daftar lengkap variabel sistem di tabel SYST di SAP.
  • Masing-masing bidang struktur SYST dapat diakses dengan menggunakan "SYST-" atau "SY-".

Contohnya:

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.
Outpunya adalah:

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


EmoticonEmoticon