SAP ABAP - stałe i literały
Literały to nienazwane obiekty danych, które tworzysz w kodzie źródłowym programu. Są w pełni zdefiniowane przez ich wartość. Nie możesz zmienić wartości literału. Stałe to nazwane obiekty danych tworzone statycznie przy użyciu deklaratywnych instrukcji. Stała jest deklarowana poprzez przypisanie jej wartości, która jest przechowywana w obszarze pamięci programu. Wartość przypisana do stałej nie może zostać zmieniona podczas wykonywania programu. Te stałe wartości można również traktować jako literały. Istnieją dwa rodzaje literałów - numeryczne i znakowe.
Literały numeryczne
Literały liczbowe to sekwencje cyfr, które mogą mieć prefiks. W literałach liczbowych nie ma separatorów dziesiętnych ani notacji z mantysą i wykładnikiem.
Oto kilka przykładów literałów numerycznych -
183.
-97.
+326.
Literały postaci
Literały znakowe to sekwencje znaków alfanumerycznych w kodzie źródłowym programu ABAP ujęte w pojedyncze cudzysłowy. Literały znakowe ujęte w cudzysłów mają predefiniowany typ C ABAP i są opisane jako literały pól tekstowych. Literały ujęte w „cudzysłowy” mają typ ABAP STRING i są opisywane jako literały łańcuchowe. Długość pola jest określana przez liczbę znaków.
Note - W literałach pól tekstowych końcowe spacje są ignorowane, ale w literałach łańcuchowych są brane pod uwagę.
Poniżej znajduje się kilka przykładów literałów znakowych.
Literały pól tekstowych
REPORT YR_SEP_12.
Write 'Tutorials Point'.
Write / 'ABAP Tutorial'.
Literały pola ciągów
REPORT YR_SEP_12.
Write `Tutorials Point `.
Write / `ABAP Tutorial `.
Wynik jest taki sam w obu powyższych przypadkach -
Tutorials Point
ABAP Tutorial
Note- Kiedy próbujemy zmienić wartość stałej, może wystąpić błąd składni lub błąd wykonania. Stałe, które deklarujesz w deklaracji części klasy lub interfejsu, należą do statycznych atrybutów tej klasy lub interfejsu.
Oświadczenie CONSTANTS
Możemy zadeklarować wymienione obiekty danych przy pomocy instrukcji CONSTANTS.
Poniżej znajduje się składnia -
CONSTANTS <f> TYPE <type> VALUE <val>.
Instrukcja CONSTANTS jest podobna do instrukcji DATA.
<f> określa nazwę stałej. TYPE <typ> reprezentuje stałą o nazwie <f>, która dziedziczy te same atrybuty techniczne, co istniejący typ danych <typ>. WARTOŚĆ <wartość> przypisuje wartość początkową do zadeklarowanej nazwy stałej <f>.
Note- Powinniśmy użyć klauzuli VALUE w instrukcji CONSTANTS. Klauzula „VALUE” służy do przypisywania wartości początkowej stałej podczas jej deklaracji.
Mamy 3 rodzaje stałych, takie jak stałe elementarne, złożone i referencyjne. Poniższa instrukcja pokazuje, jak definiować stałe przy użyciu instrukcji CONSTANTS -
REPORT YR_SEP_12.
CONSTANTS PQR TYPE P DECIMALS 4 VALUE '1.2356'.
Write: / 'The value of PQR is:', PQR.
Wynik to -
The value of PQR is: 1.2356
Tutaj odnosi się do elementarnego typu danych i jest znany jako elementarna stała.
Poniżej znajduje się przykład złożonych stałych -
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.
W powyższym fragmencie kodu PRACOWNIK jest stałą złożoną, która składa się z pól Nazwa, Organizacja i Miejsce.
Poniższa instrukcja deklaruje stałe odwołanie -
CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.
Możemy użyć stałego odniesienia w porównaniach lub możemy przekazać go procedurom.