Учебники

SAP ABAP — Строки

Строки , которые широко используются в программировании ABAP, представляют собой последовательность символов.

Мы используем переменные типа C для хранения буквенно-цифровых символов, с минимальным 1 символом и максимальным 65 535 символами. По умолчанию они выровнены по левому краю.

Создание строк

Следующее объявление и инициализация создает строку, состоящую из слова «Hello». Размер строки соответствует количеству символов в слове «Hello».

Data my_Char(5) VALUE 'Hello'.

Следующая программа является примером создания строк.

REPORT YT_SEP_15. 
DATA my_Char(5) VALUE 'Hello'. 
Write my_Char.

Приведенный выше код производит следующий вывод —

Hello

Длина строки

Чтобы узнать длину символьных строк, мы можем использовать оператор STRLEN . Функция STRLEN () возвращает количество символов, содержащихся в строке.

пример

REPORT YT_SEP_15. 
DATA: title_1(10) VALUE 'Tutorials',
      length_1 TYPE I. 
	
length_1 = STRLEN( title_1 ). 
Write: / 'The Length of the Title is:', length_1.

Приведенный выше код производит следующий вывод —

The Length of the Title is: 9 

ABAP поддерживает широкий спектр операторов, управляющих строками.

S.No. Заявление и цель
1

CONCATENATE

Две строки соединяются, чтобы сформировать третью строку.

2

конденсироваться

Это утверждение удаляет символы пробела.

3

STRLEN

Используется для определения длины поля.

4

ЗАМЕНА

Используется для замены символов.

5

ПОИСК

Для запуска поиска в символьных строках.

6

СДВИГ

Используется для перемещения содержимого строки влево или вправо.

7

ТРЕЩИНА

Используется для разделения содержимого поля на два или более полей.

CONCATENATE

Две строки соединяются, чтобы сформировать третью строку.

конденсироваться

Это утверждение удаляет символы пробела.

STRLEN

Используется для определения длины поля.

ЗАМЕНА

Используется для замены символов.

ПОИСК

Для запуска поиска в символьных строках.

СДВИГ

Используется для перемещения содержимого строки влево или вправо.

ТРЕЩИНА

Используется для разделения содержимого поля на два или более полей.

В следующем примере используются некоторые из вышеупомянутых утверждений:

пример

REPORT YT_SEP_15. 
DATA: title_1(10) VALUE 'Tutorials', 
      title_2(10) VALUE 'Point',
      spaced_title(30) VALUE 'Tutorials  Point  Limited',
      sep,
      dest1(30),
      dest2(30).
	
CONCATENATE title_1 title_2 INTO dest1. 
Write: / 'Concatenation:', dest1. 

CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep. 
Write: / 'Concatenation with Space:', dest2. 

CONDENSE spaced_title.
Write: / 'Condense with Gaps:', spaced_title. 

CONDENSE spaced_title NO-GAPS. 
Write: / 'Condense with No Gaps:', spaced_title.

Приведенный выше код производит следующий вывод —

Concatenation: TutorialsPoint 
Concatenation with Space: Tutorials Point 
Condense with Gaps: Tutorials Point Limited 
Condense with No Gaps: TutorialsPointLimited

Примечание

В случае конкатенации ‘sep’ вставляет пробел между полями.

Оператор CONDENSE удаляет пробелы между полями, но оставляя только 1 символьный пробел.

«NO-GAPS» является необязательным дополнением к выражению CONDENSE, которое удаляет все пробелы.