Учебники

SAP ABAP — константы и литералы

Литералы — это безымянные объекты данных, которые вы создаете в исходном коде программы. Они полностью определяются их стоимостью. Вы не можете изменить значение литерала. Константы — это именованные объекты данных, созданные статически с помощью декларативных операторов. Константа объявляется путем присвоения ей значения, которое хранится в области памяти программы. Значение, присвоенное константе, не может быть изменено во время выполнения программы. Эти фиксированные значения также можно рассматривать как литералы. Существует два типа литералов — числовые и символьные.

Числовые литералы

Числовые литералы — это последовательности цифр, которые могут иметь префиксный знак. В числовых литералах нет десятичных разделителей и нет обозначений с мантиссой и показателем степени.

Ниже приведены некоторые примеры числовых литералов —

183. 
-97. 
+326.

Символьные литералы

Символьные литералы — это последовательности буквенно-цифровых символов в исходном коде программы ABAP, заключенные в одинарные кавычки. Символьные литералы, заключенные в кавычки, имеют предопределенный тип ABAP C и описываются как литералы текстового поля. Литералы, заключенные в «обратные кавычки», имеют тип ABAP STRING и описываются как строковые литералы. Длина поля определяется количеством символов.

Примечание. В литералах текстовых полей конечные пробелы игнорируются, но в строковых литералах они учитываются.

Ниже приведены некоторые примеры литералов символов.

Текстовые поля литералов

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

Строковые литералы поля

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

Вывод одинаков в обоих вышеуказанных случаях —

Tutorials Point  
ABAP Tutorial

Примечание. Когда мы пытаемся изменить значение константы, может возникнуть синтаксическая ошибка или ошибка времени выполнения. Константы, которые вы объявляете в части объявления класса или интерфейса, относятся к статическим атрибутам этого класса или интерфейса.

ПОСТОЯННОЕ Заявление

Мы можем объявить именованные объекты данных с помощью оператора CONSTANTS.

Ниже приводится синтаксис —

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

Оператор CONSTANTS похож на оператор DATA.

<f> указывает имя для константы. TYPE <тип> представляет константу с именем <f>, которая наследует те же технические атрибуты, что и существующий тип данных <тип>. VALUE <val> присваивает начальное значение объявленному константному имени <f>.

Примечание. Мы должны использовать предложение VALUE в выражении CONSTANTS. Предложение «VALUE» используется для присвоения начального значения константе во время ее объявления.

У нас есть 3 типа констант, таких как элементарные, комплексные и ссылочные константы. Следующий оператор показывает, как определять константы с помощью оператора CONSTANTS —

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

Выход —

The value of PQR is: 1.2356

Здесь это относится к элементарному типу данных и называется элементарной константой.

Ниже приведен пример для сложных констант:

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.

В приведенном выше фрагменте кода EMPLOYEE представляет собой сложную константу, состоящую из полей Name, Organization и Place.

Следующее утверждение объявляет постоянную ссылку —

CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.

Мы можем использовать постоянную ссылку в сравнениях или передавать ее процедурам.