SAP ABAP - Konstanta & Literal

Literal adalah objek data tanpa nama yang Anda buat dalam kode sumber program. Mereka sepenuhnya ditentukan oleh nilainya. Anda tidak dapat mengubah nilai literal. Konstanta diberi nama objek data yang dibuat secara statis dengan menggunakan pernyataan deklaratif. Sebuah konstanta dideklarasikan dengan memberikan nilai yang disimpan di area memori program. Nilai yang ditetapkan ke sebuah konstanta tidak dapat diubah selama eksekusi program. Nilai tetap ini juga dapat dianggap sebagai literal. Ada dua jenis literal - numerik dan karakter.

Literal Numerik

Literal angka adalah urutan angka yang dapat memiliki tanda awalan. Dalam literal bilangan, tidak ada pemisah desimal dan tidak ada notasi dengan mantissa dan eksponen.

Berikut adalah beberapa contoh literal numerik -

183. 
-97. 
+326.

Karakter Literal

Literal karakter adalah urutan karakter alfanumerik dalam kode sumber program ABAP yang diapit oleh tanda kutip tunggal. Literal karakter yang diapit tanda kutip memiliki tipe ABAP C yang ditentukan sebelumnya dan dijelaskan sebagai literal bidang teks. Literal yang diapit "tanda kutip belakang" memiliki tipe ABAP STRING dan dijelaskan sebagai literal string. Panjang bidang ditentukan oleh jumlah karakter.

Note - Dalam literal bidang teks, tanda kosong akan diabaikan, tetapi dalam literal string hal itu diperhitungkan.

Berikut adalah beberapa contoh literal karakter.

Literal bidang teks

REPORT YR_SEP_12. 
Write 'Tutorials Point'. 
Write / 'ABAP Tutorial'.

Literal bidang string

REPORT YR_SEP_12. 
Write `Tutorials Point `. 
Write / `ABAP Tutorial `.

Outputnya sama dalam kedua kasus di atas -

Tutorials Point  
ABAP Tutorial

Note- Saat kami mencoba mengubah nilai konstanta, sintaks atau kesalahan waktu berjalan dapat terjadi. Konstanta yang Anda deklarasikan di bagian deklarasi kelas atau antarmuka milik atribut statis kelas atau antarmuka tersebut.

Pernyataan KONSTAN

Kita dapat mendeklarasikan objek data bernama dengan bantuan pernyataan CONSTANTS.

Berikut ini adalah sintaksnya -

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

Pernyataan CONSTANTS mirip dengan pernyataan DATA.

<f> menentukan nama untuk konstanta. TYPE <type> mewakili sebuah konstanta bernama <f>, yang mewarisi atribut teknis yang sama dengan tipe data <type> yang ada. VALUE <val> memberikan nilai awal ke nama konstanta yang dideklarasikan <f>.

Note- Kita harus menggunakan klausa NILAI dalam pernyataan KONSTAN. Klausa 'VALUE' digunakan untuk menetapkan nilai awal ke konstanta selama deklarasinya.

Kami memiliki 3 jenis konstanta seperti konstanta dasar, kompleks dan referensi. Pernyataan berikut menunjukkan bagaimana mendefinisikan konstanta dengan menggunakan pernyataan CONSTANTS -

REPORT YR_SEP_12. 
CONSTANTS PQR TYPE P DECIMALS 4 VALUE '1.2356'. 
Write: / 'The value of PQR is:', PQR.

Outputnya adalah -

The value of PQR is: 1.2356

Di sini mengacu pada tipe data elementer dan dikenal sebagai konstanta elementer.

Berikut adalah contoh konstanta kompleks -

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.

Dalam potongan kode di atas, EMPLOYEE adalah konstanta kompleks yang terdiri dari bidang Nama, Organisasi, dan Tempat.

Pernyataan berikut menyatakan referensi konstan -

CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.

Kami dapat menggunakan referensi konstan dalam perbandingan atau kami dapat meneruskannya ke prosedur.