Строки , которые широко используются в программировании 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, которое удаляет все пробелы.